diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index c1809384158f..d5be3c2c9470 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -74,11 +74,10 @@ /pkg/sql/importer/ @cockroachdb/sql-queries-prs /pkg/ccl/importerccl/ @cockroachdb/sql-queries-prs -/pkg/sql/appstatspb @cockroachdb/obs-prs -/pkg/sql/execstats/ @cockroachdb/obs-prs -/pkg/sql/scheduledlogging/ @cockroachdb/obs-prs -/pkg/sql/sqlstats/ @cockroachdb/obs-prs -/pkg/sql/tablemetadatacache/ @cockroachdb/obs-prs +/pkg/sql/appstatspb @cockroachdb/obs-prs +/pkg/sql/execstats/ @cockroachdb/obs-prs +/pkg/sql/scheduledlogging/ @cockroachdb/obs-prs +/pkg/sql/sqlstats/ @cockroachdb/obs-prs /pkg/ccl/testccl/sqlstatsccl/ @cockroachdb/obs-prs /pkg/sql/sem/tree/ @cockroachdb/sql-syntax-prs @@ -89,7 +88,7 @@ /pkg/sql/crdb_internal.go @cockroachdb/sql-foundations /pkg/sql/pg_catalog.go @cockroachdb/sql-foundations -/pkg/sql/pgwire/ @cockroachdb/sql-foundations @cockroachdb/server-prs @cockroachdb/product-security +/pkg/sql/pgwire/ @cockroachdb/sql-foundations @cockroachdb/server-prs /pkg/sql/pgwire/auth.go @cockroachdb/sql-foundations @cockroachdb/server-prs @cockroachdb/prodsec /pkg/sql/sem/builtins/ @cockroachdb/sql-foundations /pkg/sql/vtable/ @cockroachdb/sql-foundations @@ -128,8 +127,8 @@ # functionality into sub-packages assigned to their respective teams. # #!/pkg/cli/ @cockroachdb/unowned -/pkg/cli/auth.go @cockroachdb/prodsec @cockroachdb/cli-prs @cockroachdb/product-security -/pkg/cli/cert*.go @cockroachdb/prodsec @cockroachdb/cli-prs @cockroachdb/product-security +/pkg/cli/auth.go @cockroachdb/prodsec @cockroachdb/cli-prs +/pkg/cli/cert*.go @cockroachdb/prodsec @cockroachdb/cli-prs /pkg/cli/cli.go @cockroachdb/cli-prs /pkg/cli/cli_debug*.go @cockroachdb/kv-prs @cockroachdb/cli-prs /pkg/cli/cli_test.go @cockroachdb/cli-prs @@ -143,8 +142,8 @@ /pkg/cli/convert_url* @cockroachdb/sql-foundations @cockroachdb/cli-prs /pkg/cli/debug*.go @cockroachdb/kv-prs @cockroachdb/cli-prs /pkg/cli/debug_job_trace*.go @cockroachdb/jobs-prs @cockroachdb/disaster-recovery -/pkg/cli/debug_logconfig.go @cockroachdb/obs-prs @cockroachdb/cli-prs @cockroachdb/obs-india-prs -/pkg/cli/debug_merge_logs*.go @cockroachdb/obs-prs @cockroachdb/cli-prs @cockroachdb/obs-india-prs +/pkg/cli/debug_logconfig.go @cockroachdb/obs-prs @cockroachdb/cli-prs +/pkg/cli/debug_merg_logs*.go @cockroachdb/obs-prs @cockroachdb/cli-prs /pkg/cli/declarative_* @cockroachdb/sql-foundations /pkg/cli/decode*.go @cockroachdb/kv-prs @cockroachdb/cli-prs /pkg/cli/demo*.go @cockroachdb/sql-foundations @cockroachdb/server-prs @cockroachdb/cli-prs @@ -152,10 +151,10 @@ /pkg/cli/doctor*.go @cockroachdb/sql-foundations @cockroachdb/cli-prs /pkg/cli/flags*.go @cockroachdb/cli-prs /pkg/cli/import*.go @cockroachdb/sql-foundations @cockroachdb/cli-prs -/pkg/cli/inflight_trace_dump/ @cockroachdb/obs-prs @cockroachdb/cli-prs @cockroachdb/obs-india-prs +/pkg/cli/inflight_trace_dump/ @cockroachdb/obs-prs @cockroachdb/cli-prs /pkg/cli/init.go @cockroachdb/kv-prs @cockroachdb/cli-prs -/pkg/cli/log*.go @cockroachdb/obs-prs @cockroachdb/cli-prs @cockroachdb/obs-india-prs -/pkg/cli/mt_cert* @cockroachdb/prodsec @cockroachdb/product-security +/pkg/cli/log*.go @cockroachdb/obs-prs @cockroachdb/cli-prs +/pkg/cli/mt_cert* @cockroachdb/prodsec /pkg/cli/mt_proxy.go @cockroachdb/sqlproxy-prs @cockroachdb/server-prs /pkg/cli/mt_start_sql.go @cockroachdb/sqlproxy-prs @cockroachdb/server-prs /pkg/cli/mt_test_directory.go @cockroachdb/sqlproxy-prs @cockroachdb/server-prs @@ -167,10 +166,10 @@ /pkg/cli/syncbench/ @cockroachdb/storage @cockroachdb/kv-prs /pkg/cli/swappable_fs* @cockroachdb/storage /pkg/cli/testutils.go @cockroachdb/test-eng -/pkg/cli/tsdump.go @cockroachdb/obs-prs @cockroachdb/obs-india-prs +/pkg/cli/tsdump.go @cockroachdb/obs-prs /pkg/cli/userfile.go @cockroachdb/disaster-recovery /pkg/cli/workload* @cockroachdb/sql-foundations -/pkg/cli/zip*.go @cockroachdb/obs-prs @cockroachdb/cli-prs @cockroachdb/obs-india-prs +/pkg/cli/zip*.go @cockroachdb/obs-prs @cockroachdb/cli-prs # Beware to not assign the entire server package directory to a single # team, at least until we heavily refactor the package to extract @@ -180,8 +179,8 @@ #!/pkg/server/ @cockroachdb/unowned /pkg/server/admin*.go @cockroachdb/obs-prs @cockroachdb/server-prs /pkg/server/api_v2*.go @cockroachdb/obs-prs @cockroachdb/server-prs -/pkg/server/api_v2_auth*.go @cockroachdb/obs-prs @cockroachdb/server-prs @cockroachdb/prodsec @cockroachdb/product-security -/pkg/server/authentication*.go @cockroachdb/prodsec @cockroachdb/server-prs @cockroachdb/product-security +/pkg/server/api_v2_auth*.go @cockroachdb/obs-prs @cockroachdb/server-prs @cockroachdb/prodsec +/pkg/server/authentication*.go @cockroachdb/prodsec @cockroachdb/server-prs /pkg/server/clock_monotonicity.go @cockroachdb/kv-prs /pkg/server/combined_statement_stats*.go @cockroachdb/obs-prs /pkg/server/critical_nodes*.go @cockroachdb/obs-prs @@ -220,7 +219,7 @@ /pkg/server/server_obs* @cockroachdb/obs-prs /pkg/server/server_systemlog* @cockroachdb/obs-prs /pkg/server/serverpb/ @cockroachdb/obs-prs @cockroachdb/server-prs -/pkg/server/serverpb/authentication* @cockroachdb/obs-prs @cockroachdb/prodsec @cockroachdb/server-prs @cockroachdb/product-security +/pkg/server/serverpb/authentication* @cockroachdb/obs-prs @cockroachdb/prodsec @cockroachdb/server-prs /pkg/server/serverpb/index_reco* @cockroachdb/obs-prs /pkg/server/serverrules/ @cockroachdb/obs-prs @cockroachdb/server-prs /pkg/server/settings_cache*.go @cockroachdb/server-prs @@ -239,21 +238,21 @@ /pkg/server/tenantsettingswatcher/ @cockroachdb/server-prs /pkg/server/testserver*.go @cockroachdb/test-eng @cockroachdb/server-prs /pkg/server/tracedumper/ @cockroachdb/obs-prs @cockroachdb/server-prs -/pkg/server/user*.go @cockroachdb/obs-prs @cockroachdb/server-prs @cockroachdb/prodsec @cockroachdb/product-security +/pkg/server/user*.go @cockroachdb/obs-prs @cockroachdb/server-prs @cockroachdb/prodsec /pkg/server/version_cluster*.go @cockroachdb/dev-inf /pkg/ccl/jobsccl/ @cockroachdb/jobs-prs @cockroachdb/disaster-recovery /pkg/ccl/changefeedccl/ @cockroachdb/cdc-prs -/pkg/ccl/crosscluster/ @cockroachdb/disaster-recovery +/pkg/ccl/streamingccl/ @cockroachdb/disaster-recovery /pkg/ccl/backupccl/ @cockroachdb/disaster-recovery /pkg/ccl/backupccl/*_job.go @cockroachdb/disaster-recovery @cockroachdb/jobs-prs /pkg/ccl/revertccl/ @cockroachdb/disaster-recovery /pkg/ccl/storageccl/ @cockroachdb/disaster-recovery /pkg/ccl/cloudccl/ @cockroachdb/disaster-recovery /pkg/cloud/ @cockroachdb/disaster-recovery -/pkg/sql/distsql_plan_bulk* @cockroachdb/disaster-recovery +/pkg/sql/distsql_plan_csv.go @cockroachdb/disaster-recovery /pkg/geo/ @cockroachdb/spatial @@ -267,9 +266,9 @@ /pkg/kv/bulk/ @cockroachdb/disaster-recovery /pkg/kv/kvbase/ @cockroachdb/kv-prs /pkg/kv/kvclient/ @cockroachdb/kv-prs -/pkg/kv/kvclient/kvcoord/*rangefeed* @cockroachdb/kv-prs +/pkg/kv/kvclient/kvcoord/*rangefeed* @cockroachdb/repl-prs /pkg/kv/kvclient/kvstreamer @cockroachdb/sql-queries-prs -/pkg/kv/kvclient/rangefeed/ @cockroachdb/kv-prs +/pkg/kv/kvclient/rangefeed/ @cockroachdb/repl-prs /pkg/kv/kvnemesis/ @cockroachdb/kv-prs /pkg/kv/kvpb/ @cockroachdb/kv-prs /pkg/kv/kvpb/.gitattributes @cockroachdb/dev-inf @@ -287,24 +286,24 @@ /pkg/kv/kvprober/ @cockroachdb/kv-prs # Same subdirectory rule as above for `/pkg/kv` /pkg/kv/kvserver/*.* @cockroachdb/kv-prs -/pkg/kv/kvserver/*circuit*.go @cockroachdb/kv-prs -/pkg/kv/kvserver/*closed*ts*.go @cockroachdb/kv-prs -/pkg/kv/kvserver/*_app*.go @cockroachdb/kv-prs -/pkg/kv/kvserver/*closed_timestamp*.go @cockroachdb/kv-prs -/pkg/kv/kvserver/*consistency*.go @cockroachdb/kv-prs -/pkg/kv/kvserver/*probe*.go @cockroachdb/kv-prs -/pkg/kv/kvserver/*proposal*.go @cockroachdb/kv-prs -/pkg/kv/kvserver/*raft*.go @cockroachdb/kv-prs -/pkg/kv/kvserver/*raft*/ @cockroachdb/kv-prs -/pkg/kv/kvserver/*rangefeed*.go @cockroachdb/kv-prs -/pkg/kv/kvserver/*sideload*.go @cockroachdb/kv-prs +/pkg/kv/kvserver/*circuit*.go @cockroachdb/repl-prs +/pkg/kv/kvserver/*closed*ts*.go @cockroachdb/repl-prs +/pkg/kv/kvserver/*_app*.go @cockroachdb/repl-prs +/pkg/kv/kvserver/*closed_timestamp*.go @cockroachdb/repl-prs +/pkg/kv/kvserver/*consistency*.go @cockroachdb/repl-prs +/pkg/kv/kvserver/*probe*.go @cockroachdb/repl-prs +/pkg/kv/kvserver/*proposal*.go @cockroachdb/repl-prs +/pkg/kv/kvserver/*raft*.go @cockroachdb/repl-prs +/pkg/kv/kvserver/*raft*/ @cockroachdb/repl-prs +/pkg/kv/kvserver/*rangefeed*.go @cockroachdb/repl-prs +/pkg/kv/kvserver/*sideload*.go @cockroachdb/repl-prs /pkg/kv/kvserver/abortspan/ @cockroachdb/kv-prs /pkg/kv/kvserver/allocator/ @cockroachdb/kv-prs -/pkg/kv/kvserver/apply/ @cockroachdb/kv-prs +/pkg/kv/kvserver/apply/ @cockroachdb/repl-prs /pkg/kv/kvserver/asim/ @cockroachdb/kv-prs /pkg/kv/kvserver/batcheval/ @cockroachdb/kv-prs /pkg/kv/kvserver/benignerror/ @cockroachdb/kv-prs -/pkg/kv/kvserver/closedts/ @cockroachdb/kv-prs +/pkg/kv/kvserver/closedts/ @cockroachdb/repl-prs /pkg/kv/kvserver/concurrency/ @cockroachdb/kv-prs /pkg/kv/kvserver/constraint/ @cockroachdb/kv-prs /pkg/kv/kvserver/diskmap/ @cockroachdb/kv-prs @@ -315,18 +314,17 @@ /pkg/kv/kvserver/kvflowcontrol/ @cockroachdb/admission-control /pkg/kv/kvserver/kvserverbase/ @cockroachdb/kv-prs /pkg/kv/kvserver/kvserverpb/ @cockroachdb/kv-prs -/pkg/kv/kvserver/kvstorage/ @cockroachdb/kv-prs -/pkg/kv/kvserver/leases/ @cockroachdb/kv-prs +/pkg/kv/kvserver/kvstorage/ @cockroachdb/repl-prs /pkg/kv/kvserver/liveness/ @cockroachdb/kv-prs /pkg/kv/kvserver/load/ @cockroachdb/kv-prs /pkg/kv/kvserver/lockspanset/ @cockroachdb/kv-prs -/pkg/kv/kvserver/logstore/ @cockroachdb/kv-prs -/pkg/kv/kvserver/loqrecovery/ @cockroachdb/kv-prs +/pkg/kv/kvserver/logstore/ @cockroachdb/repl-prs +/pkg/kv/kvserver/loqrecovery/ @cockroachdb/repl-prs /pkg/kv/kvserver/multiqueue/ @cockroachdb/kv-prs /pkg/kv/kvserver/protectedts/ @cockroachdb/kv-prs -/pkg/kv/kvserver/rangefeed/ @cockroachdb/kv-prs +/pkg/kv/kvserver/rangefeed/ @cockroachdb/repl-prs /pkg/kv/kvserver/rangelog/ @cockroachdb/kv-prs -/pkg/kv/kvserver/rditer/ @cockroachdb/kv-prs +/pkg/kv/kvserver/rditer/ @cockroachdb/repl-prs /pkg/kv/kvserver/readsummary/ @cockroachdb/kv-prs /pkg/kv/kvserver/replicastats/ @cockroachdb/kv-prs /pkg/kv/kvserver/reports/ @cockroachdb/kv-prs @@ -334,7 +332,6 @@ /pkg/kv/kvserver/spanset/ @cockroachdb/kv-prs /pkg/kv/kvserver/split/ @cockroachdb/kv-prs /pkg/kv/kvserver/stateloader/ @cockroachdb/kv-prs -/pkg/kv/kvserver/storeliveness/ @cockroachdb/kv-prs /pkg/kv/kvserver/tenantrate/ @cockroachdb/kv-prs #!/pkg/kv/kvserver/testdata/ @cockroachdb/kv-prs-noreview /pkg/kv/kvserver/tscache/ @cockroachdb/kv-prs @@ -342,9 +339,9 @@ /pkg/kv/kvserver/txnwait/ @cockroachdb/kv-prs /pkg/kv/kvserver/uncertainty/ @cockroachdb/kv-prs -# The KV team owns integration with raft. +# KV/replication team owns integration with raft. # -/pkg/raft/ @cockroachdb/kv-prs +/pkg/raft/ @cockroachdb/repl-prs /pkg/ccl/spanconfigccl/ @cockroachdb/kv-prs @cockroachdb/sql-foundations /pkg/ccl/spanconfigccl/spanconfigkvaccessorccl/ @cockroachdb/kv-prs @@ -381,23 +378,22 @@ /pkg/ccl/cmdccl/stub-schema-registry/ @cockroachdb/cdc-prs /pkg/ccl/cmdccl/clusterrepl/ @cockroachdb/disaster-recovery /pkg/ccl/gqpccl/ @cockroachdb/sql-queries-prs -/pkg/ccl/gssapiccl/ @cockroachdb/product-security -/pkg/ccl/jwtauthccl/ @cockroachdb/cloud-identity @cockroachdb/product-security +#!/pkg/ccl/gssapiccl/ @cockroachdb/unowned +/pkg/ccl/jwtauthccl/ @cockroachdb/cloud-identity #!/pkg/ccl/kvccl/ @cockroachdb/kv-noreview /pkg/ccl/kvccl/kvtenantccl/ @cockroachdb/server-prs -/pkg/ccl/ldapccl/ @cockroachdb/prodsec @cockroachdb/product-security -#!/pkg/ccl/upgradeccl/ @cockroachdb/release-eng-prs @cockroachdb/upgrade-prs +#!/pkg/ccl/upgradeccl/ @cockroachdb/release-eng #!/pkg/ccl/logictestccl/ @cockroachdb/sql-queries-noreview #!/pkg/ccl/sqlitelogictestccl/ @cockroachdb/sql-queries-noreview /pkg/ccl/multiregionccl/ @cockroachdb/sql-foundations /pkg/ccl/multitenantccl/ @cockroachdb/server-prs /pkg/ccl/multitenant/tenantcostclient/ @cockroachdb/sqlproxy-prs /pkg/ccl/multitenant/tenantcostserver/ @cockroachdb/sqlproxy-prs -/pkg/ccl/oidcccl/ @cockroachdb/product-security +/pkg/ccl/oidcccl/ @cockroachdb/obs-prs /pkg/ccl/partitionccl/ @cockroachdb/sql-foundations /pkg/ccl/pgcryptoccl/ @cockroachdb/sql-foundations /pkg/ccl/plpgsqlccl/ @cockroachdb/sql-queries-prs -/pkg/ccl/securityccl/ @cockroachdb/prodsec @cockroachdb/product-security + #!/pkg/ccl/serverccl/ @cockroachdb/unowned /pkg/ccl/serverccl/diagnosticsccl/ @cockroachdb/obs-prs /pkg/ccl/serverccl/server_sql* @cockroachdb/server-prs @@ -410,7 +406,7 @@ /pkg/ccl/telemetryccl/ @cockroachdb/obs-prs -/pkg/ccl/testccl/authccl/ @cockroachdb/cloud-identity @cockroachdb/prodsec @cockroachdb/product-security +/pkg/ccl/testccl/authccl/ @cockroachdb/cloud-identity @cockroachdb/prodsec /pkg/ccl/testccl/sqlccl/ @cockroachdb/sql-queries-prs /pkg/ccl/testccl/workload/schemachange/ @cockroachdb/sql-foundations #!/pkg/ccl/testutilsccl/ @cockroachdb/test-eng-noreview @@ -419,7 +415,6 @@ /pkg/ccl/workloadccl/ @cockroachdb/test-eng #! @cockroachdb/sql-foundations-noreview /pkg/ccl/benchccl/rttanalysisccl/ @cockroachdb/sql-foundations #!/pkg/clusterversion/ @cockroachdb/dev-inf-noreview @cockroachdb/kv-prs-noreview @cockroachdb/test-eng-prs -/pkg/clusterversion/cockroach_versions.go @cockroachdb/release-eng-prs @cockroachdb/upgrade-prs /pkg/cmd/allocsim/ @cockroachdb/kv-prs /pkg/cmd/bazci/ @cockroachdb/dev-inf /pkg/cmd/cloudupload/ @cockroachdb/dev-inf @@ -462,6 +457,7 @@ /pkg/cmd/release/ @cockroachdb/dev-inf /pkg/cmd/returncheck/ @cockroachdb/dev-inf /pkg/cmd/roachprod/ @cockroachdb/test-eng +/pkg/cmd/roachprod/vm/azure/auth.go @cockroachdb/test-eng @cockroachdb/prodsec /pkg/cmd/roachprod-microbench/ @cockroachdb/test-eng /pkg/cmd/roachprod-stress/ @cockroachdb/test-eng /pkg/cmd/roachtest/ @cockroachdb/test-eng @@ -522,7 +518,7 @@ /pkg/keysbase/ @cockroachdb/kv-prs # Don't ping KV on updates to reserved descriptor IDs and such. #!/pkg/keys/constants.go @cockroachdb/kv-prs-noreview -/pkg/upgrade/ @cockroachdb/release-eng-prs @cockroachdb/upgrade-prs +/pkg/upgrade/ @cockroachdb/release-eng /pkg/keyvisualizer/ @cockroachdb/obs-prs /pkg/multitenant/ @cockroachdb/server-prs /pkg/release/ @cockroachdb/dev-inf @@ -542,11 +538,12 @@ #!/pkg/roachpb/version* @cockroachdb/unowned /pkg/roachprod/ @cockroachdb/test-eng /pkg/rpc/ @cockroachdb/kv-prs -/pkg/rpc/auth.go @cockroachdb/kv-prs @cockroachdb/prodsec @cockroachdb/product-security -/pkg/rpc/auth_tenant.go @cockroachdb/server-prs @cockroachdb/prodsec @cockroachdb/product-security +/pkg/rpc/auth.go @cockroachdb/kv-prs @cockroachdb/prodsec +/pkg/rpc/auth_tenant.go @cockroachdb/server-prs @cockroachdb/prodsec /pkg/scheduledjobs/ @cockroachdb/jobs-prs @cockroachdb/disaster-recovery -/pkg/security/ @cockroachdb/prodsec @cockroachdb/server-prs @cockroachdb/product-security -/pkg/security/clientsecopts/ @cockroachdb/sql-foundations @cockroachdb/prodsec @cockroachdb/product-security +/pkg/security/ @cockroachdb/prodsec @cockroachdb/server-prs +/pkg/security/clientsecopts/ @cockroachdb/sql-foundations @cockroachdb/prodsec +/pkg/ccl/securityccl/ @cockroachdb/prodsec #!/pkg/settings/ @cockroachdb/unowned /pkg/spanconfig/ @cockroachdb/kv-prs @cockroachdb/sql-foundations /pkg/spanconfig/spanconfigbounds/ @cockroachdb/sql-foundations @@ -571,15 +568,14 @@ /pkg/ts/ @cockroachdb/kv-prs /pkg/ts/catalog/ @cockroachdb/obs-prs #!/pkg/util/ @cockroachdb/unowned +/pkg/util/log/ @cockroachdb/obs-prs /pkg/util/addr/ @cockroachdb/obs-prs -/pkg/util/log/ @cockroachdb/obs-prs @cockroachdb/obs-india-prs -/pkg/util/metric/ @cockroachdb/obs-prs @cockroachdb/obs-india-prs -/pkg/util/tracing @cockroachdb/obs-prs @cockroachdb/obs-india-prs +/pkg/util/metric/ @cockroachdb/obs-prs /pkg/util/stop/ @cockroachdb/kv-prs /pkg/util/grunning/ @cockroachdb/admission-control /pkg/util/admission/ @cockroachdb/admission-control /pkg/util/schedulerlatency/ @cockroachdb/admission-control -/pkg/util/mon @cockroachdb/sql-queries-prs +/pkg/util/tracing @cockroachdb/obs-prs /pkg/workload/ @cockroachdb/test-eng #! @cockroachdb/sql-foundations-noreview /pkg/obs/ @cockroachdb/obs-prs /pkg/obsservice/ @cockroachdb/obs-prs diff --git a/.github/workflows/check-pebble-dep.yml b/.github/workflows/check-pebble-dep.yml deleted file mode 100644 index 009eec067e2a..000000000000 --- a/.github/workflows/check-pebble-dep.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: Check Pebble dep -on: - schedule: - - cron: '0 8 * * 0,3' # Every Sun and Wed at 8:00 UTC - -jobs: - check-pebble-dep: - runs-on: ubuntu-latest - env: - GH_TOKEN: ${{ github.token }} - steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Check Pebble deps - shell: bash - run: scripts/check-pebble-dep.sh diff --git a/.github/workflows/crdb-api-client-npm-publish.yml b/.github/workflows/crdb-api-client-npm-publish.yml deleted file mode 100644 index 585b59124d2f..000000000000 --- a/.github/workflows/crdb-api-client-npm-publish.yml +++ /dev/null @@ -1,135 +0,0 @@ -# This workflow establishes two-step process of building and publishing `crdb-api-client` NPM package -# when the produced outputs are changed comparing to last published version. -# 1st step (first CI run) checks that built files contain changes comparing to previous version and -# if NPM package version incremented: -# - if yes, it publishes to NPM registry -# - if no, new PR created (with incremented version in package.json file) which should be merged and -# then second step is executed (runs workflow again) and publishes package. -name: Publish crdb-api-client package to NPM registry -on: - workflow_dispatch: - push: - branches: - - master - paths: - - 'pkg/ui/workspaces/crdb-api-client' - - 'pkg/**/*.proto' - -jobs: - publish_crdb_api_client: - if: github.repository == 'cockroachdb/cockroach' - environment: ${{ github.ref_name == 'master' && 'master' || null }} - runs-on: ubuntu-latest - env: - GH_TOKEN: ${{ github.token }} - - steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - name: Bazel Cache - uses: actions/cache@v3 - with: - path: ~/.cache/bazel - key: ${{ runner.os }}-bazel-cache - - - uses: pnpm/action-setup@v2 - with: - version: "8.6.10" - - - name: Setup NodeJS - uses: actions/setup-node@v3 - with: - node-version: 16 - registry-url: 'https://registry.npmjs.org' - always-auth: true - cache: 'pnpm' - cache-dependency-path: "${{ github.workspace }}/pkg/ui/pnpm-lock.yaml" - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - - - name: Build crdb-api-client package - id: bazel-build - run: | - pnpm --dir pkg/ui install - bazel build //pkg/ui/workspaces/crdb-api-client:crdb-api-client - PACKAGE_PATH=$(bazel info execution_root)/$(bazel cquery //pkg/ui/workspaces/crdb-api-client:crdb-api-client --output=files) - echo "package_path=$PACKAGE_PATH" >> $GITHUB_OUTPUT - - - name: Check for changes - id: check-changes - working-directory: ${{ steps.bazel-build.outputs.package_path }} - shell: bash - run: | - if [[ $(npm diff) ]]; then - echo "modified=true" >> $GITHUB_OUTPUT - else - echo "modified=false" >> $GITHUB_OUTPUT - fi - PUBLISHED_VERSION=$(npm view @cockroachlabs/crdb-api-client version); - PACKAGE_VERSION=$(cat ./package.json | jq -r ".version"); - echo "package_version=$PACKAGE_VERSION" >> $GITHUB_OUTPUT; - if [[ $PUBLISHED_VERSION == $PACKAGE_VERSION ]]; then - echo "same_version=true" >> $GITHUB_OUTPUT - else - echo "same_version=false" >> $GITHUB_OUTPUT - fi - # Check if PR to increment package version already exists. - prs=$(gh pr list \ - --repo "${{ github.repository }}" \ - --head 'crdb-api-client-increment-version' \ - --base 'master' \ - --author 'cockroach-teamcity' \ - --json title \ - --jq 'length') - if ((prs > 0)); then - echo "has_pr=true" >> "$GITHUB_OUTPUT" - else - echo "has_pr=false" >> "$GITHUB_OUTPUT" - fi - - - name: Increment version - if: | - steps.check-changes.outputs.modified == 'true' && \ - steps.check-changes.outputs.same_version == 'true' && \ - steps.check-changes.outputs.has_pr == 'false' - working-directory: pkg/ui/workspaces/crdb-api-client - run: npm version patch - - - name: Create PR to increment package version - if: | - steps.check-changes.outputs.modified == 'true' && \ - steps.check-changes.outputs.same_version == 'true' && \ - steps.check-changes.outputs.has_pr == 'false' - uses: peter-evans/create-pull-request@v5 - with: - base: master - token: ${{ secrets.GH_TOKEN_PR }} - push-to-fork: "cockroach-teamcity/cockroach" - add-paths: pkg/ui/workspaces/crdb-api-client/package.json - branch: "crdb-api-client-increment-version" - title: "ui: Increment @cockroachlabs/crdb-api-client version" - author: "CRL Release bot " - reviewers: koorosh - body: | - Update pkg/ui/workspaces/crdb-api-client/package.json file with incremented patch version. - - Epic: None - Release note: None - Release justification: non-production code changes - commit-message: | - ui: Increment crdb-api-client version to ${{ steps.check-changes.outputs.package_version }} - - Update pkg/ui/workspaces/crdb-api-client/package.json - file with incremented patch version. - - Epic: None - Release note: None - Release justification: non-production code changes - delete-branch: true - - - name: Publish package - if: steps.check-changes.outputs.modified == 'true' && steps.check-changes.outputs.same_version == 'false' - working-directory: pkg/ui/workspaces/crdb-api-client - run: npm publish --access public --tag latest --ignore-scripts diff --git a/.github/workflows/github-actions-essential-ci.yml b/.github/workflows/github-actions-essential-ci.yml index c981ce87951d..797cd7387460 100644 --- a/.github/workflows/github-actions-essential-ci.yml +++ b/.github/workflows/github-actions-essential-ci.yml @@ -345,56 +345,3 @@ jobs: - name: clean up run: ./build/github/cleanup-engflow-keys.sh if: always() - cockroach-microbench-ci: - runs-on: [ self-hosted, basic_runner_group ] - # TODO(sambhav-jain-16): enable this for pull requests also - if: ${{ github.event_name == 'push' }} - timeout-minutes: 60 - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 1 # Fetch only the latest commit - - - name: Get the latest commit of the target branch - id: get_latest_commit_target_branch - run: | - # Get the target branch name - TARGET_BRANCH=${{ github.event.pull_request.base.ref }} - - # Fetch the latest commit of the target branch - git fetch origin $TARGET_BRANCH --depth=1 - - # Get the latest commit hash of the target branch - LATEST_COMMIT=$(git rev-parse FETCH_HEAD) - - # Output the latest commit hash - echo "Latest commit on target branch ($TARGET_BRANCH): $LATEST_COMMIT" - - # Set the latest commit hash as an output variable - echo "latest_commit=$LATEST_COMMIT" >> $GITHUB_OUTPUT - if: ${{ github.event_name != 'push' }} - - uses: actions/checkout@v4 - with: - ref: ${{ github.event.pull_request.head.sha || github.ref }} - - name: compute metadata - run: echo GITHUB_ACTIONS_BRANCH=${{ github.event.pull_request.number || github.ref_name}} >> "$GITHUB_ENV" - - run: ./build/github/get-engflow-keys.sh - - run: ./build/github/prepare-summarize-build.sh - - name: run scripts - run: ./build/github/cockroach-microbench-ci.sh - env: - COMPARE_THRESHOLD: "5.00" - PUSH_STEP: ${{ github.event_name == 'push' && env.GITHUB_ACTIONS_BRANCH != 'staging' }} - BASE_SHA: ${{ steps.get_latest_commit_target_branch.outputs.latest_commit }} - - # TODO(sambhav-jain-16): add Performance note check and use this flag. Currently set to false (https://github.com/cockroachdb/cockroach/issues/106661) - SKIP_COMPARISON: ${{ env.GITHUB_ACTIONS_BRANCH == 'staging' }} - - name: upload build results - run: ./build/github/summarize-build.sh bes.bin - if: always() - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: clean up - run: ./build/github/cleanup-engflow-keys.sh - if: always() - diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 689e4f295530..05917aa1bc9f 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -1,4 +1,4 @@ -name: Close stale test failures and sentry issues +name: Mark stale issues and pull requests on: schedule: @@ -18,14 +18,17 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} stale-issue-message: | We have marked this issue as stale because it has been inactive for - 12 months. If this issue is still relevant, removing the stale label + 18 months. If this issue is still relevant, removing the stale label or adding a comment will keep it active. Otherwise, we'll close it in - 10 days to keep the issue queue tidy. + 10 days to keep the issue queue tidy. Thank you for your contribution + to CockroachDB! + stale-pr-message: 'Stale pull request message' stale-issue-label: 'no-issue-activity' + stale-pr-label: 'no-pr-activity' close-issue-label: 'X-stale' + close-pr-label: 'X-stale' # Disable this for PR's, by setting a very high bar days-before-pr-stale: 99999 - days-before-issue-stale: 366 + days-before-issue-stale: 540 days-before-close: 10 - any-of-issue-labels: 'C-test-failure,O-sentry' exempt-issue-labels: 'release-blocker,X-anchored-telemetry,X-nostale' diff --git a/.github/workflows/update_releases.yaml b/.github/workflows/update_releases.yaml index cb65bf0eab4c..04b7b4ac8d19 100644 --- a/.github/workflows/update_releases.yaml +++ b/.github/workflows/update_releases.yaml @@ -14,23 +14,18 @@ on: schedule: - - cron: 0 0 * * * + - cron: 0 0 * * * # Allows you to run this workflow manually from the Actions tab workflow_dispatch: + name: Update pkg/testutils/release/cockroach_releases.yaml jobs: update-crdb-releases-yaml: if: github.repository == 'cockroachdb/cockroach' - environment: ${{ github.ref_name == 'master' && 'master' || null }} strategy: matrix: - branch: - - "master" - - "release-23.1" - - "release-23.2" - - "release-24.1" - - "release-24.2" + branch: ["master", "release-23.1", "release-23.2"] name: Update pkg/testutils/release/cockroach_releases.yaml on ${{ matrix.branch }} runs-on: ubuntu-latest steps: @@ -51,11 +46,9 @@ jobs: uses: peter-evans/create-pull-request@v5 with: base: "${{ matrix.branch }}" - branch: "crdb-releases-yaml-update-${{ matrix.branch }}" - push-to-fork: "cockroach-teamcity/cockroach" + branch: 'crdb-releases-yaml-update-${{ matrix.branch }}' title: "${{ matrix.branch }}: Update pkg/testutils/release/cockroach_releases.yaml" author: "CRL Release bot " - token: "${{ secrets.GH_TOKEN_PR }}" reviewers: rail,jlinder,celiala body: | Update pkg/testutils/release/cockroach_releases.yaml with recent values. diff --git a/.gitignore b/.gitignore index af6d232c838b..81f813ba2aa8 100644 --- a/.gitignore +++ b/.gitignore @@ -30,8 +30,7 @@ work-Fuzz* /.vendor.tmp.* # The Observability Service binary. /obsservice -# The Workload Binary -/workload + # Instrumentation artifacts. /instrument* .instrumentor_exclusions.tmp @@ -42,8 +41,6 @@ customenv.mk # Generated files containing include paths. zcgo_flags*.go build/Railroad.jar -# Legacy `make` content. -build/variables.mk # Bazel generated symlinks /_bazel @@ -63,6 +60,3 @@ pkg/testutils/serverutils/*_generated.go # Temporary directories during gomock generate **/gomock_reflect_* - -.DS_Store -.idea/ diff --git a/AUTHORS b/AUTHORS index 2f243f0c6e9b..5170b0e25908 100644 --- a/AUTHORS +++ b/AUTHORS @@ -77,8 +77,6 @@ Angela Chang changangela Angela Wen angelapwen Angela Xu angelazxu -Anish Shanbhag anish-shanbhag -Anna Wang Anne Zhu Annie Pompa Antoine Grondin @@ -98,7 +96,6 @@ Barry He bc Ben Bardin Ben Darnell -Bergin Dedej Bhaskarjyoti Bora Bilal Akhtar Bill Cao @@ -111,7 +108,6 @@ Brad Seiler Bram Gruneir Brandon Gonzalez Brett Snyder -Brian Dillmann Bryan Kwon Cameron Nunez Casper Liu @@ -119,7 +115,6 @@ Cathy Wang Catherine J <87989074+catj-cockroach@users.noreply.github.com> Celia La Céline O'Neil -Chandra Thumuluru Charlie Vieth Chen Chen chengwei <252684445@qq.com> @@ -196,7 +191,6 @@ George Papadrosou George Utsin Georgia Hong Gerardo Torres -Gourav Kumar Gustav Paul Haines Chan hainesc Harshit Chopra @@ -205,7 +199,6 @@ Helen He <@cockroachlabs.com> Herko Lategan Howard Ma Ibrahim AshShohail -Ibrahim Kettaneh Ian Evans Igor Kharin il9ue @@ -224,7 +217,6 @@ James Jung James H. Linder Jan Owsiany Jane Xing -Jasmine Sun Jason E. Aten Jason Chan Jason Chen @@ -289,7 +281,6 @@ Kevin Zheng kiran Kristy Gao gaoxk Kyle Patron -Kyle Wong lanzao <395818758@qq.com> Lasantha Pambagoda Lasse Nordahl @@ -301,7 +292,6 @@ Liam Gillies Lidor Carmel Lina Qiu Lindsey Jin -Linh Chu Liv Lobo liyanan Lizhong @@ -328,11 +318,9 @@ Martin Bertschler Marylia Gutierrez Masha Schneider Matt Jibson <@cockroachlabs.com> -Matt Linville Matt Sherman -Matt Spilchen +Matt Linville Matt Tracy -Matt White Matthew O'Connor Matthew Todd Max Lang @@ -345,7 +333,6 @@ Mike Bookham mike czabator Mike Lewis Milad Heydari -Miles Frankel asg0451 Mira Radeva Miral Gadani Mo Firouz @@ -360,11 +347,9 @@ Nate Stewart Nate Nathan VanBenschoten <@cockroachlabs.com> Nathan Stilwell -Naveen Setlur neeral Neha George ngaut liuqi goroutine -Nicholas Tao Nick Nick Gottlieb Nick Lamb @@ -373,9 +358,7 @@ Nick Vigilante Nihal Pednekar Nikhil Benesch <@cockroachlabs.com> Nishant Gupta -Noam Hacker noonan -Nukit Tailor Oleg Afanasyev Oliver Tan Owen Qian @@ -398,7 +381,6 @@ pocockn Pooja Maniar Poornima Malepati Poornima Pransu Dash -Pritesh Lahoti Rachael Harding Rachit Srivastava Radu Berinde RaduBerinde @@ -428,13 +410,10 @@ Rushi Agrawal Russ Sevinsky Ryan Case Ryan Min -Ryan Punt rpunt Ryan Zhao ryanzhao Sai Ravula Sajjad Rizvi Sam Huang -Sambhav Jain sambhav-jain-16 -Sanchit Khanna Sankt Petersbug Sean Barag sjbarag Sean Chittenden @@ -442,14 +421,12 @@ Sean Loiselle Seif Lotfy Sergei Turukin Seth Bunce -Shailendra Patel shakeelrao Shaun McVey Shawn Morel Sherman Grewal Shiranka Miskin Shivam Saraf -Shubham Dhama shubhamdhama Sideny silvano Solon Gordon solongordon @@ -492,11 +469,9 @@ Txiaozhe Tyler Neely Tyler Roberts Tyler314 Umesh Yadav -Uzair Ahmad vagrant veteranlu <23907238@qq.com> Victor Chen -Vidit Bhat Vijay Karthik Vivek Menezes vivekmenezes Vlad Artamonov Vlad <@cockroachlabs.com> @@ -534,4 +509,3 @@ Zachary Smith Zachary.smith Zane Teh 何羿宏 智雅楠 -Mohini Pandey diff --git a/DEPS.bzl b/DEPS.bzl index a11376ca2eb1..a8e5e108827b 100644 --- a/DEPS.bzl +++ b/DEPS.bzl @@ -15,11 +15,6 @@ load("@bazel_gazelle//:deps.bzl", "go_repository") # The `remote` can be EITHER a URL, or an absolute local path to a clone, such # as `/Users/ricky/go/src/github.com/cockroachdb/sentry-go`. Bazel will clone # from the remote and check out the commit you specify. -# -# If the dependency has a WORKSPACE and BUILD.bazel files, you can build against -# it directly using the --override_repository flag. For example: -# dev build short -- --override_repository=com_github_cockroachdb_pebble=~/go/src/github.com/cockroachdb/pebble -# In Pebble, `make gen-bazel` can be used to generate the necessary files. def go_deps(): # NOTE: We ensure that we pin to these specific dependencies by calling @@ -339,6 +334,16 @@ def go_deps(): "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/apache/thrift/com_github_apache_thrift-v0.16.0.zip", ], ) + go_repository( + name = "com_github_araddon_dateparse", + build_file_proto_mode = "disable_global", + importpath = "github.com/araddon/dateparse", + sha256 = "8fe74d5b36a9aa66c1350657009296469f8aa5b6925acd178044cd248023fc5a", + strip_prefix = "github.com/araddon/dateparse@v0.0.0-20210429162001-6b43995a97de", + urls = [ + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/araddon/dateparse/com_github_araddon_dateparse-v0.0.0-20210429162001-6b43995a97de.zip", + ], + ) go_repository( name = "com_github_ardielle_ardielle_go", build_file_proto_mode = "disable_global", @@ -459,16 +464,6 @@ def go_deps(): "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-lambda-go/com_github_aws_aws_lambda_go-v1.13.3.zip", ], ) - go_repository( - name = "com_github_aws_aws_msk_iam_sasl_signer_go", - build_file_proto_mode = "disable_global", - importpath = "github.com/aws/aws-msk-iam-sasl-signer-go", - sha256 = "b5f99e40aae3664b1a58b312efda28e432b4e976dd3296e24520cc79b9651a14", - strip_prefix = "github.com/aws/aws-msk-iam-sasl-signer-go@v1.0.0", - urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-msk-iam-sasl-signer-go/com_github_aws_aws_msk_iam_sasl_signer_go-v1.0.0.zip", - ], - ) go_repository( name = "com_github_aws_aws_sdk_go", build_file_proto_mode = "disable_global", @@ -483,100 +478,70 @@ def go_deps(): name = "com_github_aws_aws_sdk_go_v2", build_file_proto_mode = "disable_global", importpath = "github.com/aws/aws-sdk-go-v2", - sha256 = "738e20fcbcfa2f419f5adc8c4724abf0da6164f13270033a7c92d77c852fe189", - strip_prefix = "github.com/aws/aws-sdk-go-v2@v1.30.4", + sha256 = "db9f1deea94002f8a40a665ab86b58d9c713fda9358997c75b4859668d66802a", + strip_prefix = "github.com/aws/aws-sdk-go-v2@v1.17.3", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/com_github_aws_aws_sdk_go_v2-v1.30.4.zip", - ], - ) - go_repository( - name = "com_github_aws_aws_sdk_go_v2_aws_protocol_eventstream", - build_file_proto_mode = "disable_global", - importpath = "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream", - sha256 = "480949d2a72f1c6172b9bf01c289a5e0850ec62dadd62a6f1e03708551a07210", - strip_prefix = "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream@v1.6.4", - urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/com_github_aws_aws_sdk_go_v2_aws_protocol_eventstream-v1.6.4.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/com_github_aws_aws_sdk_go_v2-v1.17.3.zip", ], ) go_repository( name = "com_github_aws_aws_sdk_go_v2_config", build_file_proto_mode = "disable_global", importpath = "github.com/aws/aws-sdk-go-v2/config", - sha256 = "5d063d3793ae595bdc5c3f5cdac9f8015009cecbe1ddfe2280d00004bdd8c76c", - strip_prefix = "github.com/aws/aws-sdk-go-v2/config@v1.27.31", + sha256 = "9a3c9618ee70f5981194af7436a9054b35102d4f1bfa0fce78d60667d648b6f6", + strip_prefix = "github.com/aws/aws-sdk-go-v2/config@v1.15.3", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/config/com_github_aws_aws_sdk_go_v2_config-v1.27.31.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/config/com_github_aws_aws_sdk_go_v2_config-v1.15.3.zip", ], ) go_repository( name = "com_github_aws_aws_sdk_go_v2_credentials", build_file_proto_mode = "disable_global", importpath = "github.com/aws/aws-sdk-go-v2/credentials", - sha256 = "9a631647ab7d062fed94e3e24f3bb6f24646786054106f7d1f3d6307fe6732a3", - strip_prefix = "github.com/aws/aws-sdk-go-v2/credentials@v1.17.30", + sha256 = "88fc13b9995c5f862299280d9a0dbca54661149500c04ab8e14f543353974a25", + strip_prefix = "github.com/aws/aws-sdk-go-v2/credentials@v1.11.2", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/credentials/com_github_aws_aws_sdk_go_v2_credentials-v1.17.30.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/credentials/com_github_aws_aws_sdk_go_v2_credentials-v1.11.2.zip", ], ) go_repository( name = "com_github_aws_aws_sdk_go_v2_feature_ec2_imds", build_file_proto_mode = "disable_global", importpath = "github.com/aws/aws-sdk-go-v2/feature/ec2/imds", - sha256 = "7f5b3ae98e905d96256fc742c0538f18f145a381d7d5ebebf22f2d8c09874fd9", - strip_prefix = "github.com/aws/aws-sdk-go-v2/feature/ec2/imds@v1.16.12", - urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/com_github_aws_aws_sdk_go_v2_feature_ec2_imds-v1.16.12.zip", - ], - ) - go_repository( - name = "com_github_aws_aws_sdk_go_v2_feature_s3_manager", - build_file_proto_mode = "disable_global", - importpath = "github.com/aws/aws-sdk-go-v2/feature/s3/manager", - sha256 = "a922bbd49b42eeb5cd4cb0df9d269ab7284d0c12467fffd5d36caa310238a910", - strip_prefix = "github.com/aws/aws-sdk-go-v2/feature/s3/manager@v1.17.16", + sha256 = "5561425aaec7bca20634d8055bddd2894975d043bcc4f159f1862b14ea3dd8d5", + strip_prefix = "github.com/aws/aws-sdk-go-v2/feature/ec2/imds@v1.12.3", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/feature/s3/manager/com_github_aws_aws_sdk_go_v2_feature_s3_manager-v1.17.16.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/com_github_aws_aws_sdk_go_v2_feature_ec2_imds-v1.12.3.zip", ], ) go_repository( name = "com_github_aws_aws_sdk_go_v2_internal_configsources", build_file_proto_mode = "disable_global", importpath = "github.com/aws/aws-sdk-go-v2/internal/configsources", - sha256 = "1166aee3aba666df11717e5d48b7c5f8c7a9647ea9970b25b2508400cd186ba1", - strip_prefix = "github.com/aws/aws-sdk-go-v2/internal/configsources@v1.3.16", + sha256 = "e7f6ed262a89b7de55994c3534734660cae21f07e138ca1ed48796048708f896", + strip_prefix = "github.com/aws/aws-sdk-go-v2/internal/configsources@v1.1.27", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/internal/configsources/com_github_aws_aws_sdk_go_v2_internal_configsources-v1.3.16.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/internal/configsources/com_github_aws_aws_sdk_go_v2_internal_configsources-v1.1.27.zip", ], ) go_repository( name = "com_github_aws_aws_sdk_go_v2_internal_endpoints_v2", build_file_proto_mode = "disable_global", importpath = "github.com/aws/aws-sdk-go-v2/internal/endpoints/v2", - sha256 = "e8ffd7b794ba83ff7eafd5c90d9c12ee9ffb5101c8018067f1ca8dfdda6bf8ff", - strip_prefix = "github.com/aws/aws-sdk-go-v2/internal/endpoints/v2@v2.6.16", + sha256 = "4c1baeacdb316aa7d37e16045c343e53157a1a8b5209d9cbf0bcb9b0b94781bc", + strip_prefix = "github.com/aws/aws-sdk-go-v2/internal/endpoints/v2@v2.4.21", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/com_github_aws_aws_sdk_go_v2_internal_endpoints_v2-v2.6.16.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/com_github_aws_aws_sdk_go_v2_internal_endpoints_v2-v2.4.21.zip", ], ) go_repository( name = "com_github_aws_aws_sdk_go_v2_internal_ini", build_file_proto_mode = "disable_global", importpath = "github.com/aws/aws-sdk-go-v2/internal/ini", - sha256 = "30ceb160c10eee87c002f89ce5a89100463ec2935a980a3652fc53fff4efe21a", - strip_prefix = "github.com/aws/aws-sdk-go-v2/internal/ini@v1.8.1", + sha256 = "353a01da6df6ec898baeed901980429745decb28aff68ef8b85eefe5ae515ec9", + strip_prefix = "github.com/aws/aws-sdk-go-v2/internal/ini@v1.3.10", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/internal/ini/com_github_aws_aws_sdk_go_v2_internal_ini-v1.8.1.zip", - ], - ) - go_repository( - name = "com_github_aws_aws_sdk_go_v2_internal_v4a", - build_file_proto_mode = "disable_global", - importpath = "github.com/aws/aws-sdk-go-v2/internal/v4a", - sha256 = "9f044285cf122648dd733eeca16bafa3bb915bd93cf8f9dda530ff7ded3d9442", - strip_prefix = "github.com/aws/aws-sdk-go-v2/internal/v4a@v1.3.16", - urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/internal/v4a/com_github_aws_aws_sdk_go_v2_internal_v4a-v1.3.16.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/internal/ini/com_github_aws_aws_sdk_go_v2_internal_ini-v1.3.10.zip", ], ) go_repository( @@ -613,64 +578,14 @@ def go_deps(): "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/iam/com_github_aws_aws_sdk_go_v2_service_iam-v1.18.3.zip", ], ) - go_repository( - name = "com_github_aws_aws_sdk_go_v2_service_internal_accept_encoding", - build_file_proto_mode = "disable_global", - importpath = "github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding", - sha256 = "2a75cd6211d8ee88f65c55df4ce8849491ec587b694015f3e7becc079a50ab9b", - strip_prefix = "github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding@v1.11.4", - urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/com_github_aws_aws_sdk_go_v2_service_internal_accept_encoding-v1.11.4.zip", - ], - ) - go_repository( - name = "com_github_aws_aws_sdk_go_v2_service_internal_checksum", - build_file_proto_mode = "disable_global", - importpath = "github.com/aws/aws-sdk-go-v2/service/internal/checksum", - sha256 = "6a91d3c79a89fac1491ae3a37373596df4720917d02a2db5101fb161751e2775", - strip_prefix = "github.com/aws/aws-sdk-go-v2/service/internal/checksum@v1.3.18", - urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/internal/checksum/com_github_aws_aws_sdk_go_v2_service_internal_checksum-v1.3.18.zip", - ], - ) go_repository( name = "com_github_aws_aws_sdk_go_v2_service_internal_presigned_url", build_file_proto_mode = "disable_global", importpath = "github.com/aws/aws-sdk-go-v2/service/internal/presigned-url", - sha256 = "97ea77a8eab61c8a7018148d2435c9d629918a75d50dd82db3f38c3311ea31d6", - strip_prefix = "github.com/aws/aws-sdk-go-v2/service/internal/presigned-url@v1.11.18", + sha256 = "a4748c20c2dd79d2a7503439778d2a52e6fdd657be31324b27caf18288968d92", + strip_prefix = "github.com/aws/aws-sdk-go-v2/service/internal/presigned-url@v1.9.3", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/com_github_aws_aws_sdk_go_v2_service_internal_presigned_url-v1.11.18.zip", - ], - ) - go_repository( - name = "com_github_aws_aws_sdk_go_v2_service_internal_s3shared", - build_file_proto_mode = "disable_global", - importpath = "github.com/aws/aws-sdk-go-v2/service/internal/s3shared", - sha256 = "65083f6cf54a986cdc8a070a0f2abbde44c6dbf8e494f936291d5c55b14e89d1", - strip_prefix = "github.com/aws/aws-sdk-go-v2/service/internal/s3shared@v1.17.16", - urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/com_github_aws_aws_sdk_go_v2_service_internal_s3shared-v1.17.16.zip", - ], - ) - go_repository( - name = "com_github_aws_aws_sdk_go_v2_service_kafka", - build_file_proto_mode = "disable_global", - importpath = "github.com/aws/aws-sdk-go-v2/service/kafka", - sha256 = "6bcabd3e2d2abad2e21d01ee0a43a80bf2ec1b42506ce3ed7e3c5312cbdbaa2f", - strip_prefix = "github.com/aws/aws-sdk-go-v2/service/kafka@v1.21.0", - urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/kafka/com_github_aws_aws_sdk_go_v2_service_kafka-v1.21.0.zip", - ], - ) - go_repository( - name = "com_github_aws_aws_sdk_go_v2_service_kms", - build_file_proto_mode = "disable_global", - importpath = "github.com/aws/aws-sdk-go-v2/service/kms", - sha256 = "48402147f5da42fa55b4e7d61322db3906b3e7944289531c8e1fed906c639e3c", - strip_prefix = "github.com/aws/aws-sdk-go-v2/service/kms@v1.35.5", - urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/kms/com_github_aws_aws_sdk_go_v2_service_kms-v1.35.5.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/com_github_aws_aws_sdk_go_v2_service_internal_presigned_url-v1.9.3.zip", ], ) go_repository( @@ -683,16 +598,6 @@ def go_deps(): "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/rds/com_github_aws_aws_sdk_go_v2_service_rds-v1.18.4.zip", ], ) - go_repository( - name = "com_github_aws_aws_sdk_go_v2_service_s3", - build_file_proto_mode = "disable_global", - importpath = "github.com/aws/aws-sdk-go-v2/service/s3", - sha256 = "0f8751f1eaee1fc296f2892cf2d28c1f7c0eaaa7cb06666e8e704832a01c9577", - strip_prefix = "github.com/aws/aws-sdk-go-v2/service/s3@v1.61.0", - urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/s3/com_github_aws_aws_sdk_go_v2_service_s3-v1.61.0.zip", - ], - ) go_repository( name = "com_github_aws_aws_sdk_go_v2_service_secretsmanager", build_file_proto_mode = "disable_global", @@ -707,40 +612,30 @@ def go_deps(): name = "com_github_aws_aws_sdk_go_v2_service_sso", build_file_proto_mode = "disable_global", importpath = "github.com/aws/aws-sdk-go-v2/service/sso", - sha256 = "9c4003dd15799bdc71c02fe5d0c67c72e4eaa625be1d3678f3aaa9984352cae3", - strip_prefix = "github.com/aws/aws-sdk-go-v2/service/sso@v1.22.5", - urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/sso/com_github_aws_aws_sdk_go_v2_service_sso-v1.22.5.zip", - ], - ) - go_repository( - name = "com_github_aws_aws_sdk_go_v2_service_ssooidc", - build_file_proto_mode = "disable_global", - importpath = "github.com/aws/aws-sdk-go-v2/service/ssooidc", - sha256 = "3c1e0b5e33db7ebf1adc363c31b14a91d00a89ed87f15dcd76a43300d7cc85ca", - strip_prefix = "github.com/aws/aws-sdk-go-v2/service/ssooidc@v1.26.5", + sha256 = "49f04cbd2199e505307269240d3fd3e587ca3e4ba2cbd7f8d62262475a4992c1", + strip_prefix = "github.com/aws/aws-sdk-go-v2/service/sso@v1.11.3", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/ssooidc/com_github_aws_aws_sdk_go_v2_service_ssooidc-v1.26.5.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/sso/com_github_aws_aws_sdk_go_v2_service_sso-v1.11.3.zip", ], ) go_repository( name = "com_github_aws_aws_sdk_go_v2_service_sts", build_file_proto_mode = "disable_global", importpath = "github.com/aws/aws-sdk-go-v2/service/sts", - sha256 = "7fa5bdfbe752f0b59584ef0b1300aa31aa561e3a733645636f415abb59bf9ba0", - strip_prefix = "github.com/aws/aws-sdk-go-v2/service/sts@v1.30.5", + sha256 = "a17741c144807b854a48db54b08d5929a65ff8bc1728ac3cbbff12266d8bcb27", + strip_prefix = "github.com/aws/aws-sdk-go-v2/service/sts@v1.16.3", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/sts/com_github_aws_aws_sdk_go_v2_service_sts-v1.30.5.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/sts/com_github_aws_aws_sdk_go_v2_service_sts-v1.16.3.zip", ], ) go_repository( name = "com_github_aws_smithy_go", build_file_proto_mode = "disable_global", importpath = "github.com/aws/smithy-go", - sha256 = "6cf9bffdb7c793f43125f498a47ea6d37191e7a0aa81435635f47fb75dadc978", - strip_prefix = "github.com/aws/smithy-go@v1.20.4", + sha256 = "864667edd8459bff1f750d65f40922263b995a06dcb85240536539e239e911e4", + strip_prefix = "github.com/aws/smithy-go@v1.13.5", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/smithy-go/com_github_aws_smithy_go-v1.20.4.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/smithy-go/com_github_aws_smithy_go-v1.13.5.zip", ], ) go_repository( @@ -801,10 +696,10 @@ def go_deps(): patches = [ "@com_github_cockroachdb_cockroach//build/patches:com_github_azure_azure_sdk_for_go.patch", ], - sha256 = "c40d67ce49f8e2bbf4ca4091cbfc05bd3d50117f21d789e32cfa19bdb11ec50c", - strip_prefix = "github.com/Azure/azure-sdk-for-go@v68.0.0+incompatible", + sha256 = "7232ccaf96ab411dce27e8c61f4ec0e20835f60e192ffc7b56b7c3a308e29978", + strip_prefix = "github.com/Azure/azure-sdk-for-go@v57.1.0+incompatible", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/Azure/azure-sdk-for-go/com_github_azure_azure_sdk_for_go-v68.0.0+incompatible.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/Azure/azure-sdk-for-go/com_github_azure_azure_sdk_for_go-v57.1.0+incompatible.zip", ], ) go_repository( @@ -857,46 +752,6 @@ def go_deps(): "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/Azure/azure-sdk-for-go/sdk/keyvault/internal/com_github_azure_azure_sdk_for_go_sdk_keyvault_internal-v0.7.0.zip", ], ) - go_repository( - name = "com_github_azure_azure_sdk_for_go_sdk_resourcemanager_compute_armcompute", - build_file_proto_mode = "disable_global", - importpath = "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute", - sha256 = "7f0b10080e81a23d259a4449509485c58d862c4ff4757f7c2a234bbf6e9ac6c4", - strip_prefix = "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute@v1.0.0", - urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/com_github_azure_azure_sdk_for_go_sdk_resourcemanager_compute_armcompute-v1.0.0.zip", - ], - ) - go_repository( - name = "com_github_azure_azure_sdk_for_go_sdk_resourcemanager_internal", - build_file_proto_mode = "disable_global", - importpath = "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal", - sha256 = "e5a50bbc42b4be222b7bafd509316a14388ccc190947545df1abfbdd3727e54c", - strip_prefix = "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal@v1.0.0", - urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/com_github_azure_azure_sdk_for_go_sdk_resourcemanager_internal-v1.0.0.zip", - ], - ) - go_repository( - name = "com_github_azure_azure_sdk_for_go_sdk_resourcemanager_network_armnetwork", - build_file_proto_mode = "disable_global", - importpath = "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork", - sha256 = "e09bacbe7fe4532f9887151a51e092ac89a143034da0fb1729126422f9e1212b", - strip_prefix = "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork@v1.0.0", - urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/com_github_azure_azure_sdk_for_go_sdk_resourcemanager_network_armnetwork-v1.0.0.zip", - ], - ) - go_repository( - name = "com_github_azure_azure_sdk_for_go_sdk_resourcemanager_resources_armresources", - build_file_proto_mode = "disable_global", - importpath = "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources", - sha256 = "09d235afd45048829677351d042fba2c57754df4ae4dde8b25168e39e903db07", - strip_prefix = "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources@v1.0.0", - urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources/com_github_azure_azure_sdk_for_go_sdk_resourcemanager_resources_armresources-v1.0.0.zip", - ], - ) go_repository( name = "com_github_azure_azure_sdk_for_go_sdk_storage_azblob", build_file_proto_mode = "disable_global", @@ -1751,24 +1606,14 @@ def go_deps(): "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/crlfmt/com_github_cockroachdb_crlfmt-v0.0.0-20221214225007-b2fc5c302548.zip", ], ) - go_repository( - name = "com_github_cockroachdb_crlib", - build_file_proto_mode = "disable_global", - importpath = "github.com/cockroachdb/crlib", - sha256 = "bc618ad0028237b72a7b2a8d9383a4721333f577822ac73aa5a30cf382840e55", - strip_prefix = "github.com/cockroachdb/crlib@v0.0.0-20240904210011-3474b320e3bf", - urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/crlib/com_github_cockroachdb_crlib-v0.0.0-20240904210011-3474b320e3bf.zip", - ], - ) go_repository( name = "com_github_cockroachdb_datadriven", build_file_proto_mode = "disable_global", importpath = "github.com/cockroachdb/datadriven", - sha256 = "f4cb70fec2b2904a56bfbda6a6c8bf9ea1d568a5994ecdb825f770671119b63b", - strip_prefix = "github.com/cockroachdb/datadriven@v1.0.3-0.20240530155848-7682d40af056", + sha256 = "3f1ac51e496ac26ae297c9846bb78eb416fd50b7566b892fb7087af9273766fe", + strip_prefix = "github.com/cockroachdb/datadriven@v1.0.3-0.20230801171734-e384cf455877", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/datadriven/com_github_cockroachdb_datadriven-v1.0.3-0.20240530155848-7682d40af056.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/datadriven/com_github_cockroachdb_datadriven-v1.0.3-0.20230801171734-e384cf455877.zip", ], ) go_repository( @@ -1781,10 +1626,10 @@ def go_deps(): ], build_file_proto_mode = "default", importpath = "github.com/cockroachdb/errors", - sha256 = "d11ed59d96afef2d1f0ce56892839c62ff5c0cbca8dff0aaefeaef7eb190e73c", - strip_prefix = "github.com/cockroachdb/errors@v1.11.3", + sha256 = "6c8101703839a0d69685485d3d0d6040f51b83382bbc53c362c47732246249bf", + strip_prefix = "github.com/cockroachdb/errors@v1.11.1", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/errors/com_github_cockroachdb_errors-v1.11.3.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/errors/com_github_cockroachdb_errors-v1.11.1.zip", ], ) go_repository( @@ -1848,10 +1693,10 @@ def go_deps(): patches = [ "@com_github_cockroachdb_cockroach//build/patches:com_github_cockroachdb_pebble.patch", ], - sha256 = "95d5b020636d314f7fae6221a21afcee17ec5c1c55c368ec7d409ba238ffc5f6", - strip_prefix = "github.com/cockroachdb/pebble@v0.0.0-20240917211111-c826c0a21671", + sha256 = "4cfceeec24abe4cec270d801a7411779f384cfa49ef7bf8e0b1b70fcc3f31322", + strip_prefix = "github.com/cockroachdb/pebble@v0.0.0-20240828225813-c94d74b2b544", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/pebble/com_github_cockroachdb_pebble-v0.0.0-20240917211111-c826c0a21671.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/pebble/com_github_cockroachdb_pebble-v0.0.0-20240828225813-c94d74b2b544.zip", ], ) go_repository( @@ -1888,10 +1733,10 @@ def go_deps(): name = "com_github_cockroachdb_swiss", build_file_proto_mode = "disable_global", importpath = "github.com/cockroachdb/swiss", - sha256 = "ff5c6653d80723957d9017dc053805d8c33810aa1afdb0edcde33029593b8f39", - strip_prefix = "github.com/cockroachdb/swiss@v0.0.0-20240612210725-f4de07ae6964", + sha256 = "c3dca35a5233036543f3aef10fc44f8dab7832e824600f5251e1b588b14a1467", + strip_prefix = "github.com/cockroachdb/swiss@v0.0.0-20240303172742-c161743eb608", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/swiss/com_github_cockroachdb_swiss-v0.0.0-20240612210725-f4de07ae6964.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/swiss/com_github_cockroachdb_swiss-v0.0.0-20240303172742-c161743eb608.zip", ], ) go_repository( @@ -2148,10 +1993,10 @@ def go_deps(): name = "com_github_coreos_etcd", build_file_proto_mode = "disable_global", importpath = "github.com/coreos/etcd", - sha256 = "6d4f268491a5e80078b3f80a94a8780c3c04bad50efb371ef10bbc80652ec122", - strip_prefix = "github.com/coreos/etcd@v3.3.10+incompatible", + sha256 = "c32b3fc5dba0eeb8533d628489cf862c4eb360644d79c597bcc6290f3d74b046", + strip_prefix = "github.com/coreos/etcd@v3.3.13+incompatible", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/coreos/etcd/com_github_coreos_etcd-v3.3.10+incompatible.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/coreos/etcd/com_github_coreos_etcd-v3.3.13+incompatible.zip", ], ) go_repository( @@ -2374,16 +2219,6 @@ def go_deps(): "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/DATA-DOG/go-sqlmock/com_github_data_dog_go_sqlmock-v1.5.0.zip", ], ) - go_repository( - name = "com_github_datadog_datadog_api_client_go_v2", - build_file_proto_mode = "disable_global", - importpath = "github.com/DataDog/datadog-api-client-go/v2", - sha256 = "1b719dab747449f279830dbb1a5920ec45ad041ea13ffde2ef7dc949c52a59f1", - strip_prefix = "github.com/DataDog/datadog-api-client-go/v2@v2.15.0", - urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/DataDog/datadog-api-client-go/v2/com_github_datadog_datadog_api_client_go_v2-v2.15.0.zip", - ], - ) go_repository( name = "com_github_datadog_datadog_go", build_file_proto_mode = "disable_global", @@ -2398,22 +2233,16 @@ def go_deps(): name = "com_github_datadog_zstd", build_file_proto_mode = "disable_global", importpath = "github.com/DataDog/zstd", + patch_args = ["-p1"], + patches = [ + "@com_github_cockroachdb_cockroach//build/patches:com_github_datadog_zstd.patch", + ], sha256 = "e4924158bd1abf765a016d2c728fc367b32d20b86a268ef25743ba404c55e097", strip_prefix = "github.com/DataDog/zstd@v1.5.6-0.20230824185856-869dae002e5e", urls = [ "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/DataDog/zstd/com_github_datadog_zstd-v1.5.6-0.20230824185856-869dae002e5e.zip", ], ) - go_repository( - name = "com_github_dataexmachina_dev_side_eye_go", - build_file_proto_mode = "disable_global", - importpath = "github.com/DataExMachina-dev/side-eye-go", - sha256 = "8702e7d34a166207ca2329d9780681edfb18ef6a5a9120d35fe33526d418bc4f", - strip_prefix = "github.com/DataExMachina-dev/side-eye-go@v0.0.0-20240528211710-5eb9c7a69e1d", - urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/DataExMachina-dev/side-eye-go/com_github_dataexmachina_dev_side_eye_go-v0.0.0-20240528211710-5eb9c7a69e1d.zip", - ], - ) go_repository( name = "com_github_dave_dst", build_file_proto_mode = "disable_global", @@ -2478,20 +2307,20 @@ def go_deps(): name = "com_github_decred_dcrd_crypto_blake256", build_file_proto_mode = "disable_global", importpath = "github.com/decred/dcrd/crypto/blake256", - sha256 = "e4343d55494a93eb7bb7b59be9359fb8007fd36652b27a725db024f61605d515", - strip_prefix = "github.com/decred/dcrd/crypto/blake256@v1.0.1", + sha256 = "cd8bbdae14641f0ba44430fc66990dd37bbfcf1e21a965a9fd1871d16cac127d", + strip_prefix = "github.com/decred/dcrd/crypto/blake256@v1.0.0", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/decred/dcrd/crypto/blake256/com_github_decred_dcrd_crypto_blake256-v1.0.1.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/decred/dcrd/crypto/blake256/com_github_decred_dcrd_crypto_blake256-v1.0.0.zip", ], ) go_repository( name = "com_github_decred_dcrd_dcrec_secp256k1_v4", build_file_proto_mode = "disable_global", importpath = "github.com/decred/dcrd/dcrec/secp256k1/v4", - sha256 = "107cfef3902348214eb364253d75f569ea4c7a203d35eea50fa7ce10cd9cf710", - strip_prefix = "github.com/decred/dcrd/dcrec/secp256k1/v4@v4.3.0", + sha256 = "ce895eb53e69a058a77bc7e599fc43cef64b3c639ffec2f34faa7fef1331665d", + strip_prefix = "github.com/decred/dcrd/dcrec/secp256k1/v4@v4.1.0", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/decred/dcrd/dcrec/secp256k1/v4/com_github_decred_dcrd_dcrec_secp256k1_v4-v4.3.0.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/decred/dcrd/dcrec/secp256k1/v4/com_github_decred_dcrd_dcrec_secp256k1_v4-v4.1.0.zip", ], ) go_repository( @@ -2995,6 +2824,16 @@ def go_deps(): "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/fatih/structs/com_github_fatih_structs-v1.1.0.zip", ], ) + go_repository( + name = "com_github_felixge_httpsnoop", + build_file_proto_mode = "disable_global", + importpath = "github.com/felixge/httpsnoop", + sha256 = "dc0c57cc57f116de113c320cffcbc61fa437d19a729deec373cce786dd89a029", + strip_prefix = "github.com/felixge/httpsnoop@v1.0.1", + urls = [ + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/felixge/httpsnoop/com_github_felixge_httpsnoop-v1.0.1.zip", + ], + ) go_repository( name = "com_github_flosch_pongo2_v4", build_file_proto_mode = "disable_global", @@ -3075,6 +2914,16 @@ def go_deps(): "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/frankban/quicktest/com_github_frankban_quicktest-v1.11.3.zip", ], ) + go_repository( + name = "com_github_fraugster_parquet_go", + build_file_proto_mode = "disable_global", + importpath = "github.com/fraugster/parquet-go", + sha256 = "a9d995d60a99dac8709c614f3d2795ef4d8d79c82991b40fa703006078babf75", + strip_prefix = "github.com/fraugster/parquet-go@v0.10.0", + urls = [ + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/fraugster/parquet-go/com_github_fraugster_parquet_go-v0.10.0.zip", + ], + ) go_repository( name = "com_github_fsnotify_fsnotify", build_file_proto_mode = "disable_global", @@ -3149,10 +2998,10 @@ def go_deps(): name = "com_github_getsentry_sentry_go", build_file_proto_mode = "disable_global", importpath = "github.com/getsentry/sentry-go", - sha256 = "679a02061b0d653713146278ee120a5fa1fefcf59a03419990673c17cbfd6e6e", - strip_prefix = "github.com/getsentry/sentry-go@v0.27.0", + sha256 = "6a19dc7eac4b31313ca441821f1ddad2a1a30dbd8e6241e5aefe7124adac70bf", + strip_prefix = "github.com/getsentry/sentry-go@v0.23.0", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/getsentry/sentry-go/com_github_getsentry_sentry_go-v0.27.0.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/getsentry/sentry-go/com_github_getsentry_sentry_go-v0.23.0.zip", ], ) go_repository( @@ -3455,6 +3304,16 @@ def go_deps(): "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/go-openapi/errors/com_github_go_openapi_errors-v0.21.0.zip", ], ) + go_repository( + name = "com_github_go_openapi_inflect", + build_file_proto_mode = "disable_global", + importpath = "github.com/go-openapi/inflect", + sha256 = "fbcca36e347a2f560f50ac1c9c63f7d6cd97c8dff9800f08f370b5ce09b77c57", + strip_prefix = "github.com/go-openapi/inflect@v0.19.0", + urls = [ + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/go-openapi/inflect/com_github_go_openapi_inflect-v0.19.0.zip", + ], + ) go_repository( name = "com_github_go_openapi_jsonpointer", build_file_proto_mode = "disable_global", @@ -3615,6 +3474,26 @@ def go_deps(): "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/go-stack/stack/com_github_go_stack_stack-v1.8.0.zip", ], ) + go_repository( + name = "com_github_go_swagger_go_swagger", + build_file_proto_mode = "disable_global", + importpath = "github.com/go-swagger/go-swagger", + sha256 = "465a017241a1a533766d214479ec330db4191ad796341fbb9f97a498a63ada4d", + strip_prefix = "github.com/go-swagger/go-swagger@v0.26.1", + urls = [ + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/go-swagger/go-swagger/com_github_go_swagger_go_swagger-v0.26.1.zip", + ], + ) + go_repository( + name = "com_github_go_swagger_scan_repo_boundary", + build_file_proto_mode = "disable_global", + importpath = "github.com/go-swagger/scan-repo-boundary", + sha256 = "51aed4b67bce9d988d64ca6be9de2169f709a29d5ea83e78ffb1c2432b346ec6", + strip_prefix = "github.com/go-swagger/scan-repo-boundary@v0.0.0-20180623220736-973b3573c013", + urls = [ + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/go-swagger/scan-repo-boundary/com_github_go_swagger_scan_repo_boundary-v0.0.0-20180623220736-973b3573c013.zip", + ], + ) go_repository( name = "com_github_go_test_deep", build_file_proto_mode = "disable_global", @@ -3789,10 +3668,10 @@ def go_deps(): name = "com_github_goccy_go_json", build_file_proto_mode = "disable_global", importpath = "github.com/goccy/go-json", - sha256 = "a14a4805bf6043dfd1e0e923d761f126e6c5a86c416f28f57bfebf1f8bde59e3", - strip_prefix = "github.com/goccy/go-json@v0.10.3", + sha256 = "018970f0a0d7337bd2a6583f1b68bcc9f9f4830df14ca1ccf1f2020fff9b3adb", + strip_prefix = "github.com/goccy/go-json@v0.9.11", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/goccy/go-json/com_github_goccy_go_json-v0.10.3.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/goccy/go-json/com_github_goccy_go_json-v0.9.11.zip", ], ) go_repository( @@ -3967,10 +3846,10 @@ def go_deps(): name = "com_github_golang_snappy", build_file_proto_mode = "disable_global", importpath = "github.com/golang/snappy", - sha256 = "a40a9145f6d7c1b2c356cf024f65e0f9cbf7efe2b89330ef4bb0763859b6fdc9", - strip_prefix = "github.com/golang/snappy@v0.0.5-0.20231225225746-43d5d4cd4e0e", + sha256 = "ea4545ca44ee990554094df6de440386a440a5bd99106e048939409d63beb423", + strip_prefix = "github.com/golang/snappy@v0.0.4", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/golang/snappy/com_github_golang_snappy-v0.0.5-0.20231225225746-43d5d4cd4e0e.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/golang/snappy/com_github_golang_snappy-v0.0.4.zip", ], ) go_repository( @@ -4357,10 +4236,10 @@ def go_deps(): name = "com_github_gorilla_handlers", build_file_proto_mode = "disable_global", importpath = "github.com/gorilla/handlers", - sha256 = "9e47491112a46d32e372be827899e8678a881f6407f290564c63e8725b5e9a19", - strip_prefix = "github.com/gorilla/handlers@v1.4.2", + sha256 = "700cb5572cef0b4c251fc63550d3a656d53b91cec845f19b6a16bdbc6795beec", + strip_prefix = "github.com/gorilla/handlers@v1.5.1", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/gorilla/handlers/com_github_gorilla_handlers-v1.4.2.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/gorilla/handlers/com_github_gorilla_handlers-v1.5.1.zip", ], ) go_repository( @@ -5656,10 +5535,10 @@ def go_deps(): patches = [ "@com_github_cockroachdb_cockroach//build/patches:com_github_kisielk_errcheck.patch", ], - sha256 = "f394d1df1f2332387ce142d98734c5c44fb94e9a8a2af2a9b75aa4ec4a64b963", - strip_prefix = "github.com/kisielk/errcheck@v1.7.0", + sha256 = "99d3220891162cb684f8e05d54f3d0dc58abdd496a2f0cfda7fd4a28917a719e", + strip_prefix = "github.com/kisielk/errcheck@v1.6.1-0.20210625163953-8ddee489636a", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/kisielk/errcheck/com_github_kisielk_errcheck-v1.7.0.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/kisielk/errcheck/com_github_kisielk_errcheck-v1.6.1-0.20210625163953-8ddee489636a.zip", ], ) go_repository( @@ -5686,10 +5565,10 @@ def go_deps(): name = "com_github_klauspost_compress", build_file_proto_mode = "disable_global", importpath = "github.com/klauspost/compress", - sha256 = "648bbc7813dec448eec1a5a467750696bc7e41e1ac0a00b76a967c589826afb6", - strip_prefix = "github.com/klauspost/compress@v1.17.8", + sha256 = "dd1acc63c40bf36ccfb2a7a7dd46579ea67585e37f1d2dbb06026b56ef625903", + strip_prefix = "github.com/klauspost/compress@v1.17.4", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/klauspost/compress/com_github_klauspost_compress-v1.17.8.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/klauspost/compress/com_github_klauspost_compress-v1.17.4.zip", ], ) go_repository( @@ -5902,14 +5781,24 @@ def go_deps(): "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/leodido/go-urn/com_github_leodido_go_urn-v1.2.1.zip", ], ) + go_repository( + name = "com_github_lestrrat_go_backoff_v2", + build_file_proto_mode = "disable_global", + importpath = "github.com/lestrrat-go/backoff/v2", + sha256 = "f5ded39eec777b7de879eb04204aa4b322683dabb22137862b09cb464f5bc617", + strip_prefix = "github.com/lestrrat-go/backoff/v2@v2.0.8", + urls = [ + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/lestrrat-go/backoff/v2/com_github_lestrrat_go_backoff_v2-v2.0.8.zip", + ], + ) go_repository( name = "com_github_lestrrat_go_blackmagic", build_file_proto_mode = "disable_global", importpath = "github.com/lestrrat-go/blackmagic", - sha256 = "2baa5f21e1db4781a11d0ba2fbe8e71323c78875034da61687d80f47ae9c78ce", - strip_prefix = "github.com/lestrrat-go/blackmagic@v1.0.2", + sha256 = "0621ab66f2510093f86f838db09a698027e8cbf08cc0e52bfa7d359b4f1b3745", + strip_prefix = "github.com/lestrrat-go/blackmagic@v1.0.1", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/lestrrat-go/blackmagic/com_github_lestrrat_go_blackmagic-v1.0.2.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/lestrrat-go/blackmagic/com_github_lestrrat_go_blackmagic-v1.0.1.zip", ], ) go_repository( @@ -5922,16 +5811,6 @@ def go_deps(): "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/lestrrat-go/httpcc/com_github_lestrrat_go_httpcc-v1.0.1.zip", ], ) - go_repository( - name = "com_github_lestrrat_go_httprc", - build_file_proto_mode = "disable_global", - importpath = "github.com/lestrrat-go/httprc", - sha256 = "19c7a7bc6d63165e24a911182fe860166b75d4557262ef031d2fba8351b44707", - strip_prefix = "github.com/lestrrat-go/httprc@v1.0.6", - urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/lestrrat-go/httprc/com_github_lestrrat_go_httprc-v1.0.6.zip", - ], - ) go_repository( name = "com_github_lestrrat_go_iter", build_file_proto_mode = "disable_global", @@ -5943,23 +5822,23 @@ def go_deps(): ], ) go_repository( - name = "com_github_lestrrat_go_jwx_v2", + name = "com_github_lestrrat_go_jwx", build_file_proto_mode = "disable_global", - importpath = "github.com/lestrrat-go/jwx/v2", - sha256 = "f0ee5e8baf11f8d449ff3cb81b9c4421d4e437b2dc6f22d25001816b251d6d2f", - strip_prefix = "github.com/lestrrat-go/jwx/v2@v2.1.1", + importpath = "github.com/lestrrat-go/jwx", + sha256 = "808d6fe46171b8d6bb0a44188d7886d864f1aad5ce29b8ce1c6048745183c645", + strip_prefix = "github.com/lestrrat-go/jwx@v1.2.25", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/lestrrat-go/jwx/v2/com_github_lestrrat_go_jwx_v2-v2.1.1.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/lestrrat-go/jwx/com_github_lestrrat_go_jwx-v1.2.25.zip", ], ) go_repository( name = "com_github_lestrrat_go_option", build_file_proto_mode = "disable_global", importpath = "github.com/lestrrat-go/option", - sha256 = "3e5614e160680053e07e4970e825e694c2a917741e735ab4d435a396b739ae78", - strip_prefix = "github.com/lestrrat-go/option@v1.0.1", + sha256 = "8c42afc182c5697b8d5e38f5004ae522fa437247850ca2cf9fe65a6ae18bfaa9", + strip_prefix = "github.com/lestrrat-go/option@v1.0.0", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/lestrrat-go/option/com_github_lestrrat_go_option-v1.0.1.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/lestrrat-go/option/com_github_lestrrat_go_option-v1.0.0.zip", ], ) go_repository( @@ -7526,10 +7405,10 @@ def go_deps(): name = "com_github_pierrec_lz4_v4", build_file_proto_mode = "disable_global", importpath = "github.com/pierrec/lz4/v4", - sha256 = "bd2e8ef13800ca42205b0d4085a927a6d012b82cfa831769be4830036e953bec", - strip_prefix = "github.com/pierrec/lz4/v4@v4.1.21", + sha256 = "cc1b93564422e2f0b081ad98e64327970ca1a69f26cad2d5d7a7fa1782513c64", + strip_prefix = "github.com/pierrec/lz4/v4@v4.1.19", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/pierrec/lz4/v4/com_github_pierrec_lz4_v4-v4.1.21.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/pierrec/lz4/v4/com_github_pierrec_lz4_v4-v4.1.19.zip", ], ) go_repository( @@ -8099,6 +7978,16 @@ def go_deps(): "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/schollz/closestmatch/com_github_schollz_closestmatch-v2.1.0+incompatible.zip", ], ) + go_repository( + name = "com_github_scylladb_termtables", + build_file_proto_mode = "disable_global", + importpath = "github.com/scylladb/termtables", + sha256 = "0afd3a75417e6b708c62329cea7f2822162c8bf6ada0de094cdc032461b8f196", + strip_prefix = "github.com/scylladb/termtables@v0.0.0-20191203121021-c4c0b6d42ff4", + urls = [ + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/scylladb/termtables/com_github_scylladb_termtables-v0.0.0-20191203121021-c4c0b6d42ff4.zip", + ], + ) go_repository( name = "com_github_sean__seed", build_file_proto_mode = "disable_global", @@ -8139,16 +8028,6 @@ def go_deps(): "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/securego/gosec/com_github_securego_gosec-v0.0.0-20200203094520-d13bb6d2420c.zip", ], ) - go_repository( - name = "com_github_segmentio_asm", - build_file_proto_mode = "disable_global", - importpath = "github.com/segmentio/asm", - sha256 = "8e2815672f1ab3049b10185b5494006320c32afb419ccf9f14385bc25ea44def", - strip_prefix = "github.com/segmentio/asm@v1.2.0", - urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/segmentio/asm/com_github_segmentio_asm-v1.2.0.zip", - ], - ) go_repository( name = "com_github_segmentio_kafka_go", build_file_proto_mode = "disable_global", @@ -8629,6 +8508,16 @@ def go_deps(): "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/TomiHiltunen/geohash-golang/com_github_tomihiltunen_geohash_golang-v0.0.0-20150112065804-b3e4e625abfb.zip", ], ) + go_repository( + name = "com_github_toqueteos_webbrowser", + build_file_proto_mode = "disable_global", + importpath = "github.com/toqueteos/webbrowser", + sha256 = "1227d3ebeab16d8232a304a10b087984a96ad30f7439b6687bab2f5747d308cf", + strip_prefix = "github.com/toqueteos/webbrowser@v1.2.0", + urls = [ + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/toqueteos/webbrowser/com_github_toqueteos_webbrowser-v1.2.0.zip", + ], + ) go_repository( name = "com_github_trivago_tgo", build_file_proto_mode = "disable_global", @@ -8663,10 +8552,10 @@ def go_deps(): name = "com_github_twmb_franz_go", build_file_proto_mode = "disable_global", importpath = "github.com/twmb/franz-go", - sha256 = "7b571a6c5b188750c22ff7a28e94cac97f15539a1a5209ac335c7bc7c2401e82", - strip_prefix = "github.com/twmb/franz-go@v1.17.1", + sha256 = "0d5a37eb5dbfd02e323ef67036809de9c3333bf74b1e8a067905d009a598a4dd", + strip_prefix = "github.com/twmb/franz-go@v1.16.1", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/twmb/franz-go/com_github_twmb_franz_go-v1.17.1.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/twmb/franz-go/com_github_twmb_franz_go-v1.16.1.zip", ], ) go_repository( @@ -8683,10 +8572,10 @@ def go_deps(): name = "com_github_twmb_franz_go_pkg_kmsg", build_file_proto_mode = "disable_global", importpath = "github.com/twmb/franz-go/pkg/kmsg", - sha256 = "36c7bd41ee59195ec636fbdbe636328ed0700a6eef29a6d2e010ba85b46aa90c", - strip_prefix = "github.com/twmb/franz-go/pkg/kmsg@v1.8.0", + sha256 = "bbdd2e366c9e5b3097015feefc9b384febdfd5f81dfdddf3d1e42fc52d8659f8", + strip_prefix = "github.com/twmb/franz-go/pkg/kmsg@v1.7.0", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/twmb/franz-go/pkg/kmsg/com_github_twmb_franz_go_pkg_kmsg-v1.8.0.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/twmb/franz-go/pkg/kmsg/com_github_twmb_franz_go_pkg_kmsg-v1.7.0.zip", ], ) go_repository( @@ -11496,10 +11385,10 @@ def go_deps(): name = "org_golang_x_crypto", build_file_proto_mode = "disable_global", importpath = "golang.org/x/crypto", - sha256 = "ec96acfe28be3ff2fb14201c5f51132f0e24c7d0d6f3201a8aa69c84f989d014", - strip_prefix = "golang.org/x/crypto@v0.26.0", + sha256 = "3148f58c2893286075e7e13e2de19d8e4fd9883debb6d76b45f7929e1d79e53e", + strip_prefix = "golang.org/x/crypto@v0.22.0", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/crypto/org_golang_x_crypto-v0.26.0.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/crypto/org_golang_x_crypto-v0.22.0.zip", ], ) go_repository( @@ -11556,20 +11445,20 @@ def go_deps(): name = "org_golang_x_mod", build_file_proto_mode = "disable_global", importpath = "golang.org/x/mod", - sha256 = "3c3528c39639b7cd699c121c100ddb71ab49f94bff257a4a3935e3ae9e8571fc", - strip_prefix = "golang.org/x/mod@v0.20.0", + sha256 = "98a122c92ad55deef674f6546b4c295ed93d106178dd24ec40449ae33b41037a", + strip_prefix = "golang.org/x/mod@v0.14.0", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/mod/org_golang_x_mod-v0.20.0.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/mod/org_golang_x_mod-v0.14.0.zip", ], ) go_repository( name = "org_golang_x_net", build_file_proto_mode = "disable_global", importpath = "golang.org/x/net", - sha256 = "c6f7bde4bb418d1f5ee5dc437d09ce9f10743ddba043cdca82eb57ddeb18d6da", - strip_prefix = "golang.org/x/net@v0.28.0", + sha256 = "389940dbee4a10516de85368bb1a550d6df814ed1f893db18de8def9168147c7", + strip_prefix = "golang.org/x/net@v0.24.0", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/net/org_golang_x_net-v0.28.0.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/net/org_golang_x_net-v0.24.0.zip", ], ) go_repository( @@ -11596,50 +11485,40 @@ def go_deps(): name = "org_golang_x_sync", build_file_proto_mode = "disable_global", importpath = "golang.org/x/sync", - sha256 = "c79473c265ca571d389bf64fa1e7b2d8999b4ab3eb7af5e3bc185644783a1087", - strip_prefix = "golang.org/x/sync@v0.8.0", + sha256 = "20b01085240e661bffc7f59383f21b90f112d669784220c6e59c801243216d22", + strip_prefix = "golang.org/x/sync@v0.7.0", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/sync/org_golang_x_sync-v0.8.0.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/sync/org_golang_x_sync-v0.7.0.zip", ], ) go_repository( name = "org_golang_x_sys", build_file_proto_mode = "disable_global", importpath = "golang.org/x/sys", - sha256 = "5bf721c4404580d5350d0a0297c1f48f07c05db8a0d2a20677e6cb295380b9a7", - strip_prefix = "golang.org/x/sys@v0.23.0", - urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/sys/org_golang_x_sys-v0.23.0.zip", - ], - ) - go_repository( - name = "org_golang_x_telemetry", - build_file_proto_mode = "disable_global", - importpath = "golang.org/x/telemetry", - sha256 = "8e8649337973d064cc44fa858787db7d0eb90f0806807349766d180ed6889f5c", - strip_prefix = "golang.org/x/telemetry@v0.0.0-20240521205824-bda55230c457", + sha256 = "f3e06adc66b840da7719fcf496d2916a38317706509fb5beed5932cd8ae5fb6b", + strip_prefix = "golang.org/x/sys@v0.19.0", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/telemetry/org_golang_x_telemetry-v0.0.0-20240521205824-bda55230c457.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/sys/org_golang_x_sys-v0.19.0.zip", ], ) go_repository( name = "org_golang_x_term", build_file_proto_mode = "disable_global", importpath = "golang.org/x/term", - sha256 = "2597a62b487b952c11c89b2001551af1fe1d29c484388ec1c3f5e3be7ff58ba5", - strip_prefix = "golang.org/x/term@v0.23.0", + sha256 = "893e851afedc40a9c253e611fed322ec6f5a1c56180dd29229ff1cc1bd35dbfb", + strip_prefix = "golang.org/x/term@v0.19.0", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/term/org_golang_x_term-v0.23.0.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/term/org_golang_x_term-v0.19.0.zip", ], ) go_repository( name = "org_golang_x_text", build_file_proto_mode = "disable_global", importpath = "golang.org/x/text", - sha256 = "48464f2ab2f988ca8b7b0a9d098e3664224c3b128629b5a9cc08025ee4a7e4ec", - strip_prefix = "golang.org/x/text@v0.17.0", + sha256 = "b9814897e0e09cd576a7a013f066c7db537a3d538d2e0f60f0caee9bc1b3f4af", + strip_prefix = "golang.org/x/text@v0.14.0", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/text/org_golang_x_text-v0.17.0.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/text/org_golang_x_text-v0.14.0.zip", ], ) go_repository( @@ -11656,10 +11535,10 @@ def go_deps(): name = "org_golang_x_tools", build_file_proto_mode = "disable_global", importpath = "golang.org/x/tools", - sha256 = "92607be1cacf4647fd31b19ee64b1a7c198178f1005c75371e38e7b08fb138e7", - strip_prefix = "golang.org/x/tools@v0.24.0", + sha256 = "f4c5fce4cd013419429592043ce0549f47060dfe6f44cca940224cd48c3e28ad", + strip_prefix = "golang.org/x/tools@v0.17.0", urls = [ - "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/tools/org_golang_x_tools-v0.24.0.zip", + "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/tools/org_golang_x_tools-v0.17.0.zip", ], ) go_repository( diff --git a/GNUmakefile b/GNUmakefile index 326fb5ebcb15..aa7c8441c3d8 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -11,11 +11,10 @@ # 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. -.PHONY: all + all: build $(MAKE) help -.PHONY: help help: @echo @echo "Tip: use ./dev instead of 'make'." diff --git a/TEAMS.yaml b/TEAMS.yaml index c24281ad4826..ba4d1aa7fbc8 100644 --- a/TEAMS.yaml +++ b/TEAMS.yaml @@ -44,6 +44,10 @@ cockroachdb/kv: cockroachdb/kv-prs: other triage_column_id: 14242655 label: T-kv +cockroachdb/replication: + aliases: + cockroachdb/repl-prs: other + label: T-kv-replication cockroachdb/spatial: triage_column_id: 9487269 label: T-spatial @@ -65,11 +69,9 @@ cockroachdb/test-eng-prs: triage_column_id: 14041337 label: T-testeng cockroachdb/security: - label: T-security-engineering + label: T-cross-product-security cockroachdb/prodsec: - label: T-security-engineering -cockroachdb/product-security: - label: T-product-security + label: T-cross-product-security cockroachdb/disaster-recovery: triage_column_id: 3097123 label: T-disaster-recovery @@ -87,7 +89,6 @@ cockroachdb/server: cockroachdb/obs-prs: # The observability team uses Jira for managing issues. So there is no triage column ID. label: T-observability -cockroachdb/obs-india-prs: cockroachdb/jobs: aliases: cockroachdb/jobs-prs: other @@ -104,8 +105,5 @@ cockroachdb/migrations: label: T-migrations triage_column_id: 18330909 cockroachdb/release-eng: - aliases: - cockroachdb/release-eng-prs: other - cockroachdb/upgrade-prs: other label: T-release triage_column_id: 9149730 diff --git a/WORKSPACE b/WORKSPACE index 474eec5eb9cf..4f7d0f2d0f63 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -8,12 +8,12 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") # Load go bazel tools. This gives us access to the go bazel SDK/toolchains. http_archive( name = "io_bazel_rules_go", - sha256 = "ada68324bc20ffd1b557bab4cf8dba9b742570a46a505b0bc99c1fde5132cce5", - strip_prefix = "cockroachdb-rules_go-734c37d", + sha256 = "c47bbf3fedda339cf41e9a17964bc76a404e4cb2f1213067cc42b453e8a2eb38", + strip_prefix = "cockroachdb-rules_go-0e7e4e3", urls = [ - # cockroachdb/rules_go as of 734c37d6e2e6570f420d27fd97424b2fe2b402af + # cockroachdb/rules_go as of 0e7e4e31aa49f1afbb402fbb4895f38bc702c88c # (upstream release-0.46 plus a few patches). - "https://storage.googleapis.com/public-bazel-artifacts/bazel/cockroachdb-rules_go-v0.27.0-459-g734c37d.tar.gz", + "https://storage.googleapis.com/public-bazel-artifacts/bazel/cockroachdb-rules_go-v0.27.0-458-g0e7e4e3.tar.gz", ], ) @@ -291,12 +291,6 @@ npm_translate_lock( "*": ["-p1"], }, pnpm_lock = "//pkg/ui:pnpm-lock.yaml", - # public_hoist_packages should contain the same packages defined in .npmrc file > public-hoist-pattern. - public_hoist_packages = { - # `antd` components inherit prop types from rc-* components which types aren't hoisted to be - # publicly accessible but it still needed to properly resolve types by Typescript. - "rc-table": ["pkg/ui/workspaces/cluster-ui"], - }, verify_node_modules_ignored = "//:.bazelignore", ) diff --git a/build/.bazelbuilderversion b/build/.bazelbuilderversion index 68fecce875bb..686e193c7a4a 100644 --- a/build/.bazelbuilderversion +++ b/build/.bazelbuilderversion @@ -1 +1 @@ -us-east1-docker.pkg.dev/crl-ci-images/cockroach/bazel:20240605-060303 \ No newline at end of file +us-east1-docker.pkg.dev/crl-ci-images/cockroach/bazel:20240202-060306 \ No newline at end of file diff --git a/build/.bazelbuilderversion-fips b/build/.bazelbuilderversion-fips index ba7c00ffcdfb..87b4081fe641 100644 --- a/build/.bazelbuilderversion-fips +++ b/build/.bazelbuilderversion-fips @@ -1 +1 @@ -us-east1-docker.pkg.dev/crl-ci-images/cockroach/bazel-fips:20240403-181753 +us-east1-docker.pkg.dev/crl-ci-images/cockroach/bazel-fips:20230815-175543 diff --git a/build/bazelbuilder/Dockerfile b/build/bazelbuilder/Dockerfile index 7e13ba1bc7a5..a37ae39975fa 100644 --- a/build/bazelbuilder/Dockerfile +++ b/build/bazelbuilder/Dockerfile @@ -74,6 +74,18 @@ RUN curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key a google-cloud-cli-gke-gcloud-auth-plugin \ && apt-get clean +# chrome is needed for UI tests. Unfortunately it is only distributed for x86_64 +# and not for ARM. Chrome shouldn't need to be installed when we migrate away +# from Karma for UI testing. +RUN case ${TARGETPLATFORM} in \ + "linux/amd64") \ + curl -fsSL https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \ + && echo "deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main" | tee /etc/apt/sources.list.d/google.list \ + && apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + google-chrome-stable ;; \ + esac + RUN apt-get purge -y \ apt-transport-https \ flex \ diff --git a/build/bazelutil/check.sh b/build/bazelutil/check.sh index c31063ad031b..b79a9f06d7c4 100755 --- a/build/bazelutil/check.sh +++ b/build/bazelutil/check.sh @@ -21,7 +21,7 @@ pkg/kv/kvclient/rangecache/range_cache.go://go:generate mockgen -package=rangeca pkg/kv/kvclient/rangefeed/rangefeed.go://go:generate mockgen -destination=mocks_generated_test.go --package=rangefeed . DB pkg/kv/kvserver/concurrency/lock_table.go://go:generate ../../../util/interval/generic/gen.sh *keyLocks concurrency pkg/kv/kvserver/spanlatch/manager.go://go:generate ../../../util/interval/generic/gen.sh *latch spanlatch -pkg/kv/kvpb/api.go://go:generate mockgen -package=kvpbmock -destination=kvpbmock/mocks_generated.go . InternalClient,Internal_MuxRangeFeedClient +pkg/kv/kvpb/api.go://go:generate mockgen -package=kvpbmock -destination=kvpbmock/mocks_generated.go . InternalClient,Internal_RangeFeedClient,Internal_MuxRangeFeedClient pkg/kv/kvpb/batch.go://go:generate go run gen/main.go --filename batch_generated.go *.pb.go pkg/security/certmgr/cert.go://go:generate mockgen -package=certmgr -destination=mocks_generated_test.go . Cert pkg/spanconfig/spanconfigstore/span_store.go://go:generate ../../util/interval/generic/gen.sh *entry spanconfigstore diff --git a/build/bazelutil/distdir_files.bzl b/build/bazelutil/distdir_files.bzl index 3a589f515784..47eefff84003 100644 --- a/build/bazelutil/distdir_files.bzl +++ b/build/bazelutil/distdir_files.bzl @@ -136,16 +136,12 @@ DISTDIR_FILES = { "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/AndreasBriese/bbloom/com_github_andreasbriese_bbloom-v0.0.0-20190825152654-46b345b51c96.zip": "8b8c016e041592d4ca8cbd2a8c68e0dd0ba1b7a8f96fab7422c8e373b1835a2d", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/AthenZ/athenz/com_github_athenz_athenz-v1.10.39.zip": "790df98e01ad2c83e33f9760e478432a4d379e7de2b79158742a8fcfd9610dcf", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/Azure/azure-pipeline-go/com_github_azure_azure_pipeline_go-v0.2.1.zip": "83822bc4aca977af31cdb1c46012e64c819d2b9ed53885dd0f8dca5566993a5f", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/Azure/azure-sdk-for-go/com_github_azure_azure_sdk_for_go-v68.0.0+incompatible.zip": "c40d67ce49f8e2bbf4ca4091cbfc05bd3d50117f21d789e32cfa19bdb11ec50c", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/Azure/azure-sdk-for-go/com_github_azure_azure_sdk_for_go-v57.1.0+incompatible.zip": "7232ccaf96ab411dce27e8c61f4ec0e20835f60e192ffc7b56b7c3a308e29978", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/Azure/azure-sdk-for-go/sdk/azcore/com_github_azure_azure_sdk_for_go_sdk_azcore-v1.3.0.zip": "cf80995c85451a7990c4d68dfbfd7de89536d319df9502ba9dfd38eb84501810", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/Azure/azure-sdk-for-go/sdk/azidentity/com_github_azure_azure_sdk_for_go_sdk_azidentity-v1.1.0.zip": "27947f13cb64475fd59e5d9f8b9c042b3d1e8603f49c54fc42820001c33d5f78", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/Azure/azure-sdk-for-go/sdk/internal/com_github_azure_azure_sdk_for_go_sdk_internal-v1.1.1.zip": "10f2a543b9e000a988722c8210d30d377c2306b042e5de1bfea4b3ec730d0319", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/Azure/azure-sdk-for-go/sdk/keyvault/azkeys/com_github_azure_azure_sdk_for_go_sdk_keyvault_azkeys-v0.9.0.zip": "8f29c576ee07c3b8f7ca821927ceec97573479c882285ca71c2a13d92d4b9927", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/Azure/azure-sdk-for-go/sdk/keyvault/internal/com_github_azure_azure_sdk_for_go_sdk_keyvault_internal-v0.7.0.zip": "a3a79250f250d01abd0b402649ce9baf7eeebbbad186dc602eb011692fdbec24", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/com_github_azure_azure_sdk_for_go_sdk_resourcemanager_compute_armcompute-v1.0.0.zip": "7f0b10080e81a23d259a4449509485c58d862c4ff4757f7c2a234bbf6e9ac6c4", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/com_github_azure_azure_sdk_for_go_sdk_resourcemanager_internal-v1.0.0.zip": "e5a50bbc42b4be222b7bafd509316a14388ccc190947545df1abfbdd3727e54c", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/com_github_azure_azure_sdk_for_go_sdk_resourcemanager_network_armnetwork-v1.0.0.zip": "e09bacbe7fe4532f9887151a51e092ac89a143034da0fb1729126422f9e1212b", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources/com_github_azure_azure_sdk_for_go_sdk_resourcemanager_resources_armresources-v1.0.0.zip": "09d235afd45048829677351d042fba2c57754df4ae4dde8b25168e39e903db07", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/com_github_azure_azure_sdk_for_go_sdk_storage_azblob-v0.6.1.zip": "c2539d189b22bdb6eb67c4682ded4e070d6cf0f52c8bd6899f7eb1408045783f", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/Azure/azure-storage-blob-go/com_github_azure_azure_storage_blob_go-v0.8.0.zip": "3b02b720c25bbb6cdaf77f45a29a21e374e087081dedfeac2700aed6147b4b35", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/Azure/go-ansiterm/com_github_azure_go_ansiterm-v0.0.0-20210617225240-d185dfc1b5a1.zip": "631ff4b167a4360e10911e475933ecb3bd327c58974c17877d0d4cf6fbef6c96", @@ -171,10 +167,8 @@ DISTDIR_FILES = { "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/CloudyKit/jet/v6/com_github_cloudykit_jet_v6-v6.2.0.zip": "24c18e2a19eb56a01fce96e2504196f85d1c2291ff448f20dd32f6247a979264", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/Codefor/geohash/com_github_codefor_geohash-v0.0.0-20140723084247-1b41c28e3a9d.zip": "1f9d85fc86919143b53f8c3078fd4d2ed0271faf2eabba4460d7709f4f94c1e7", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/DATA-DOG/go-sqlmock/com_github_data_dog_go_sqlmock-v1.5.0.zip": "25720bfcbd739305238408ab54263224b69ff6934923dfd9caed76d3871d0151", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/DataDog/datadog-api-client-go/v2/com_github_datadog_datadog_api_client_go_v2-v2.15.0.zip": "1b719dab747449f279830dbb1a5920ec45ad041ea13ffde2ef7dc949c52a59f1", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/DataDog/datadog-go/com_github_datadog_datadog_go-v3.2.0+incompatible.zip": "ede4a024d3c106b2f57ca04d7bfc7610e0c83f4d8a3bace2cf87b42fd5cf66cd", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/DataDog/zstd/com_github_datadog_zstd-v1.5.6-0.20230824185856-869dae002e5e.zip": "e4924158bd1abf765a016d2c728fc367b32d20b86a268ef25743ba404c55e097", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/DataExMachina-dev/side-eye-go/com_github_dataexmachina_dev_side_eye_go-v0.0.0-20240528211710-5eb9c7a69e1d.zip": "8702e7d34a166207ca2329d9780681edfb18ef6a5a9120d35fe33526d418bc4f", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/GeertJohan/go.incremental/com_github_geertjohan_go_incremental-v1.0.0.zip": "ce46b3b717f8d2927046bcfb99c6f490b1b547a681e6b23240ac2c2292a891e8", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/GeertJohan/go.rice/com_github_geertjohan_go_rice-v1.0.0.zip": "2fc48b9422bf356c18ed3fe32ec52f6a8b87ac168f83d2eed249afaebcc3eeb8", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/GoogleCloudPlatform/cloudsql-proxy/com_github_googlecloudplatform_cloudsql_proxy-v0.0.0-20190129172621-c8b1d7a94ddf.zip": "d18ff41309efc943c71d5c8faa5b1dd792700a79fa4f61508c5e50f17fc9ca6f", @@ -235,6 +229,7 @@ DISTDIR_FILES = { "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/apache/arrow/go/v11/com_github_apache_arrow_go_v11-v11.0.0.zip": "d5275ec213d31234d54ca13fff78d07ba1837d78664c13b76363d2f75718ae4f", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/apache/pulsar-client-go/com_github_apache_pulsar_client_go-v0.12.0.zip": "ed1ce957cfa2e98950a8c2ae319a4b6d17bafc2e18d06d65bb68901dd627502b", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/apache/thrift/com_github_apache_thrift-v0.16.0.zip": "50d5c610df30fa2a6039394d5142382b7d9938870dfb12ef46bddfa3da250893", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/araddon/dateparse/com_github_araddon_dateparse-v0.0.0-20210429162001-6b43995a97de.zip": "8fe74d5b36a9aa66c1350657009296469f8aa5b6925acd178044cd248023fc5a", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/ardielle/ardielle-go/com_github_ardielle_ardielle_go-v1.5.2.zip": "08d285f8f99362c2fef82849912244a23a667d78cd97c1f3196371ae74b8f229", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/ardielle/ardielle-tools/com_github_ardielle_ardielle_tools-v1.5.4.zip": "0fcebe0c412abb450b7bff927214652b9dee9f20483f25da676e0a5d765a996e", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/armon/circbuf/com_github_armon_circbuf-v0.0.0-20150827004946-bbbad097214e.zip": "3819cde26cd4b25c4043dc9384da7b0c1c29fd06e6e3a38604f4a6933fc017ed", @@ -246,34 +241,23 @@ DISTDIR_FILES = { "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/asaskevich/govalidator/com_github_asaskevich_govalidator-v0.0.0-20230301143203-a9d515a09cc2.zip": "0f8ec67bbc585d29ec115c0885cef6f2431a422cc1cc10008e466ebe8be5dc37", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/atotto/clipboard/com_github_atotto_clipboard-v0.1.4.zip": "d67b2c36c662751309fd2ec351df3651584bea840bd27be9a90702c3a238b43f", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-lambda-go/com_github_aws_aws_lambda_go-v1.13.3.zip": "8cfc5400798abd2840f456c75265f8fba4ae488e32ca2af9a5c8073fb219ea82", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-msk-iam-sasl-signer-go/com_github_aws_aws_msk_iam_sasl_signer_go-v1.0.0.zip": "b5f99e40aae3664b1a58b312efda28e432b4e976dd3296e24520cc79b9651a14", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/com_github_aws_aws_sdk_go_v2_aws_protocol_eventstream-v1.6.4.zip": "480949d2a72f1c6172b9bf01c289a5e0850ec62dadd62a6f1e03708551a07210", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/com_github_aws_aws_sdk_go_v2-v1.30.4.zip": "738e20fcbcfa2f419f5adc8c4724abf0da6164f13270033a7c92d77c852fe189", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/config/com_github_aws_aws_sdk_go_v2_config-v1.27.31.zip": "5d063d3793ae595bdc5c3f5cdac9f8015009cecbe1ddfe2280d00004bdd8c76c", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/credentials/com_github_aws_aws_sdk_go_v2_credentials-v1.17.30.zip": "9a631647ab7d062fed94e3e24f3bb6f24646786054106f7d1f3d6307fe6732a3", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/com_github_aws_aws_sdk_go_v2_feature_ec2_imds-v1.16.12.zip": "7f5b3ae98e905d96256fc742c0538f18f145a381d7d5ebebf22f2d8c09874fd9", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/feature/s3/manager/com_github_aws_aws_sdk_go_v2_feature_s3_manager-v1.17.16.zip": "a922bbd49b42eeb5cd4cb0df9d269ab7284d0c12467fffd5d36caa310238a910", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/internal/configsources/com_github_aws_aws_sdk_go_v2_internal_configsources-v1.3.16.zip": "1166aee3aba666df11717e5d48b7c5f8c7a9647ea9970b25b2508400cd186ba1", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/com_github_aws_aws_sdk_go_v2_internal_endpoints_v2-v2.6.16.zip": "e8ffd7b794ba83ff7eafd5c90d9c12ee9ffb5101c8018067f1ca8dfdda6bf8ff", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/internal/ini/com_github_aws_aws_sdk_go_v2_internal_ini-v1.8.1.zip": "30ceb160c10eee87c002f89ce5a89100463ec2935a980a3652fc53fff4efe21a", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/internal/v4a/com_github_aws_aws_sdk_go_v2_internal_v4a-v1.3.16.zip": "9f044285cf122648dd733eeca16bafa3bb915bd93cf8f9dda530ff7ded3d9442", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/com_github_aws_aws_sdk_go_v2-v1.17.3.zip": "db9f1deea94002f8a40a665ab86b58d9c713fda9358997c75b4859668d66802a", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/config/com_github_aws_aws_sdk_go_v2_config-v1.15.3.zip": "9a3c9618ee70f5981194af7436a9054b35102d4f1bfa0fce78d60667d648b6f6", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/credentials/com_github_aws_aws_sdk_go_v2_credentials-v1.11.2.zip": "88fc13b9995c5f862299280d9a0dbca54661149500c04ab8e14f543353974a25", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/com_github_aws_aws_sdk_go_v2_feature_ec2_imds-v1.12.3.zip": "5561425aaec7bca20634d8055bddd2894975d043bcc4f159f1862b14ea3dd8d5", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/internal/configsources/com_github_aws_aws_sdk_go_v2_internal_configsources-v1.1.27.zip": "e7f6ed262a89b7de55994c3534734660cae21f07e138ca1ed48796048708f896", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/com_github_aws_aws_sdk_go_v2_internal_endpoints_v2-v2.4.21.zip": "4c1baeacdb316aa7d37e16045c343e53157a1a8b5209d9cbf0bcb9b0b94781bc", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/internal/ini/com_github_aws_aws_sdk_go_v2_internal_ini-v1.3.10.zip": "353a01da6df6ec898baeed901980429745decb28aff68ef8b85eefe5ae515ec9", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/databasemigrationservice/com_github_aws_aws_sdk_go_v2_service_databasemigrationservice-v1.18.3.zip": "c69b0b562c314708e5d1542bed72e0ba068f910d3cae4909a0d80219e6b497de", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/ec2/com_github_aws_aws_sdk_go_v2_service_ec2-v1.34.0.zip": "b24b82535334bd7716000ba1af24acc03fcbbcb8817b8e229e9368c1fbbe6c3e", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/iam/com_github_aws_aws_sdk_go_v2_service_iam-v1.18.3.zip": "efb7b199ce0ae1dbea275fa3f8d131e874cc27d92c55ba7a007ad89762a88ed8", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/com_github_aws_aws_sdk_go_v2_service_internal_accept_encoding-v1.11.4.zip": "2a75cd6211d8ee88f65c55df4ce8849491ec587b694015f3e7becc079a50ab9b", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/internal/checksum/com_github_aws_aws_sdk_go_v2_service_internal_checksum-v1.3.18.zip": "6a91d3c79a89fac1491ae3a37373596df4720917d02a2db5101fb161751e2775", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/com_github_aws_aws_sdk_go_v2_service_internal_presigned_url-v1.11.18.zip": "97ea77a8eab61c8a7018148d2435c9d629918a75d50dd82db3f38c3311ea31d6", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/com_github_aws_aws_sdk_go_v2_service_internal_s3shared-v1.17.16.zip": "65083f6cf54a986cdc8a070a0f2abbde44c6dbf8e494f936291d5c55b14e89d1", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/kafka/com_github_aws_aws_sdk_go_v2_service_kafka-v1.21.0.zip": "6bcabd3e2d2abad2e21d01ee0a43a80bf2ec1b42506ce3ed7e3c5312cbdbaa2f", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/kms/com_github_aws_aws_sdk_go_v2_service_kms-v1.35.5.zip": "48402147f5da42fa55b4e7d61322db3906b3e7944289531c8e1fed906c639e3c", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/com_github_aws_aws_sdk_go_v2_service_internal_presigned_url-v1.9.3.zip": "a4748c20c2dd79d2a7503439778d2a52e6fdd657be31324b27caf18288968d92", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/rds/com_github_aws_aws_sdk_go_v2_service_rds-v1.18.4.zip": "f5de5a435c3c31b14e853e9a4348ce80646db030c9a99a178e2a12fc00585f7e", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/s3/com_github_aws_aws_sdk_go_v2_service_s3-v1.61.0.zip": "0f8751f1eaee1fc296f2892cf2d28c1f7c0eaaa7cb06666e8e704832a01c9577", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/secretsmanager/com_github_aws_aws_sdk_go_v2_service_secretsmanager-v1.18.2.zip": "44dcf0add18d221042e6a709eed9beae974e5eebfe18dd37003944b7abefb271", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/sso/com_github_aws_aws_sdk_go_v2_service_sso-v1.22.5.zip": "9c4003dd15799bdc71c02fe5d0c67c72e4eaa625be1d3678f3aaa9984352cae3", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/ssooidc/com_github_aws_aws_sdk_go_v2_service_ssooidc-v1.26.5.zip": "3c1e0b5e33db7ebf1adc363c31b14a91d00a89ed87f15dcd76a43300d7cc85ca", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/sts/com_github_aws_aws_sdk_go_v2_service_sts-v1.30.5.zip": "7fa5bdfbe752f0b59584ef0b1300aa31aa561e3a733645636f415abb59bf9ba0", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/sso/com_github_aws_aws_sdk_go_v2_service_sso-v1.11.3.zip": "49f04cbd2199e505307269240d3fd3e587ca3e4ba2cbd7f8d62262475a4992c1", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go-v2/service/sts/com_github_aws_aws_sdk_go_v2_service_sts-v1.16.3.zip": "a17741c144807b854a48db54b08d5929a65ff8bc1728ac3cbbff12266d8bcb27", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/aws-sdk-go/com_github_aws_aws_sdk_go-v1.40.37.zip": "c0c481d28af88f621fb3fdeacc1e5d32f69a1bb83d0ee959f95ce89e4e2d0494", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/smithy-go/com_github_aws_smithy_go-v1.20.4.zip": "6cf9bffdb7c793f43125f498a47ea6d37191e7a0aa81435635f47fb75dadc978", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aws/smithy-go/com_github_aws_smithy_go-v1.13.5.zip": "864667edd8459bff1f750d65f40922263b995a06dcb85240536539e239e911e4", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/axiomhq/hyperloglog/com_github_axiomhq_hyperloglog-v0.0.0-20181223111420-4b99d0c2c99e.zip": "812834322ee2ca50dc36f91f9ac3f2cde4631af2f9c330b1271c78b46024a540", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aymanbagabas/go-osc52/com_github_aymanbagabas_go_osc52-v1.0.3.zip": "138e75a51599c2a8e4afe2bd6acdeaddbb73eb9ec796dfa2f577b16201660d9e", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/aymerick/douceur/com_github_aymerick_douceur-v0.2.0.zip": "dcbf69760cc1a8b32384495438e1086e4c3d669b2ebc0debd92e1865ffd6be60", @@ -340,19 +324,18 @@ DISTDIR_FILES = { "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/cmux/com_github_cockroachdb_cmux-v0.0.0-20170110192607-30d10be49292.zip": "88f6f9cf33eb535658540b46f6222f029398e590a3ff9cc873d7d561ac6debf0", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/cockroach-go/v2/com_github_cockroachdb_cockroach_go_v2-v2.3.7.zip": "028c29c79c2d373bca3ce9a475291285fdcb68a2f908190f738d5ce605edbd07", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/crlfmt/com_github_cockroachdb_crlfmt-v0.0.0-20221214225007-b2fc5c302548.zip": "fedc01bdd6d964da0425d5eaac8efadc951e78e13f102292cc0774197f09ab63", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/crlib/com_github_cockroachdb_crlib-v0.0.0-20240904210011-3474b320e3bf.zip": "bc618ad0028237b72a7b2a8d9383a4721333f577822ac73aa5a30cf382840e55", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/datadriven/com_github_cockroachdb_datadriven-v1.0.3-0.20240530155848-7682d40af056.zip": "f4cb70fec2b2904a56bfbda6a6c8bf9ea1d568a5994ecdb825f770671119b63b", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/errors/com_github_cockroachdb_errors-v1.11.3.zip": "d11ed59d96afef2d1f0ce56892839c62ff5c0cbca8dff0aaefeaef7eb190e73c", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/datadriven/com_github_cockroachdb_datadriven-v1.0.3-0.20230801171734-e384cf455877.zip": "3f1ac51e496ac26ae297c9846bb78eb416fd50b7566b892fb7087af9273766fe", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/errors/com_github_cockroachdb_errors-v1.11.1.zip": "6c8101703839a0d69685485d3d0d6040f51b83382bbc53c362c47732246249bf", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/fifo/com_github_cockroachdb_fifo-v0.0.0-20240606204812-0bbfbd93a7ce.zip": "41e682b393cc82891ab5fcefbd28cc6173f16887702ab8760bcbc66d122e5900", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/go-test-teamcity/com_github_cockroachdb_go_test_teamcity-v0.0.0-20191211140407-cff980ad0a55.zip": "bac30148e525b79d004da84d16453ddd2d5cd20528e9187f1d7dac708335674b", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/gostdlib/com_github_cockroachdb_gostdlib-v1.19.0.zip": "c4d516bcfe8c07b6fc09b8a9a07a95065b36c2855627cb3514e40c98f872b69e", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/logtags/com_github_cockroachdb_logtags-v0.0.0-20230118201751-21c54148d20b.zip": "ca7776f47e5fecb4c495490a679036bfc29d95bd7625290cfdb9abb0baf97476", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/metamorphic/com_github_cockroachdb_metamorphic-v0.0.0-20231108215700-4ba948b56895.zip": "28c8cf42192951b69378cf537be5a9a43f2aeb35542908cc4fe5f689505853ea", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/pebble/com_github_cockroachdb_pebble-v0.0.0-20240917211111-c826c0a21671.zip": "95d5b020636d314f7fae6221a21afcee17ec5c1c55c368ec7d409ba238ffc5f6", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/pebble/com_github_cockroachdb_pebble-v0.0.0-20240828225813-c94d74b2b544.zip": "4cfceeec24abe4cec270d801a7411779f384cfa49ef7bf8e0b1b70fcc3f31322", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/redact/com_github_cockroachdb_redact-v1.1.5.zip": "11b30528eb0dafc8bc1a5ba39d81277c257cbe6946a7564402f588357c164560", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/returncheck/com_github_cockroachdb_returncheck-v0.0.0-20200612231554-92cdbca611dd.zip": "ce92ba4352deec995b1f2eecf16eba7f5d51f5aa245a1c362dfe24c83d31f82b", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/stress/com_github_cockroachdb_stress-v0.0.0-20220803192808-1806698b1b7b.zip": "3fda531795c600daf25532a4f98be2a1335cd1e5e182c72789bca79f5f69fcc1", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/swiss/com_github_cockroachdb_swiss-v0.0.0-20240612210725-f4de07ae6964.zip": "ff5c6653d80723957d9017dc053805d8c33810aa1afdb0edcde33029593b8f39", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/swiss/com_github_cockroachdb_swiss-v0.0.0-20240303172742-c161743eb608.zip": "c3dca35a5233036543f3aef10fc44f8dab7832e824600f5251e1b588b14a1467", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/tablewriter/com_github_cockroachdb_tablewriter-v0.0.5-0.20200105123400-bd15540e8847.zip": "79daf1c29ec50cdd8dd1ea33f8a814963646a45a2ebe22742d652579340ebde0", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/tokenbucket/com_github_cockroachdb_tokenbucket-v0.0.0-20230807174530-cc333fc44b06.zip": "150f3e8e5b515c0886cda0809f09b5d5173d7f2c30eb2f2c6045c2aeb2183aa3", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/tools/com_github_cockroachdb_tools-v0.0.0-20211112185054-642e51449b40.zip": "37a3737dd23768b4997b2f0341d625658f5862cdbf808f7fbf3a7f9fd25913a7", @@ -381,7 +364,7 @@ DISTDIR_FILES = { "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/containernetworking/plugins/com_github_containernetworking_plugins-v1.1.1.zip": "9ac7ac8a90729ac029d91b871921738d2d8d3c361c7bb4090627a7d0dbe96af3", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/containers/ocicrypt/com_github_containers_ocicrypt-v1.1.3.zip": "37f3befccf49dd7bf543cdbf929da0646861b1ea079054a3e3727bc23b625ca5", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/coreos/bbolt/com_github_coreos_bbolt-v1.3.2.zip": "097e7c6cf2dc9c50a0c8827f451bd3cba44c2cbf086d4fb684f2dfada9bfa841", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/coreos/etcd/com_github_coreos_etcd-v3.3.10+incompatible.zip": "6d4f268491a5e80078b3f80a94a8780c3c04bad50efb371ef10bbc80652ec122", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/coreos/etcd/com_github_coreos_etcd-v3.3.13+incompatible.zip": "c32b3fc5dba0eeb8533d628489cf862c4eb360644d79c597bcc6290f3d74b046", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/coreos/go-etcd/com_github_coreos_go_etcd-v2.0.0+incompatible.zip": "4b226732835b9298af65db5d075024a5971aa11ef4b456899a3830bccd435b07", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/coreos/go-iptables/com_github_coreos_go_iptables-v0.5.0.zip": "07e31b1e6c7dec3e1c22b90b02bb1fe610884ad20ca46d623d949c71b3dcb55f", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/coreos/go-oidc/com_github_coreos_go_oidc-v2.2.1+incompatible.zip": "b997f93fbff8a4aed3bb2d78a3bf115ba4f06b1d1e4b9ef4cc9d1f63d3ce4036", @@ -409,8 +392,8 @@ DISTDIR_FILES = { "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/dave/kerr/com_github_dave_kerr-v0.0.0-20170318121727-bc25dd6abe8e.zip": "58bfff20a2f687e0f607887e88ff1044fe22186765e93b794511b1a0a625eaa1", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/dave/rebecca/com_github_dave_rebecca-v0.9.1.zip": "74c7f193fcc4a165903e3761dbff05e73e6fcd92f8cf0861029487e65da40439", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/davecgh/go-spew/com_github_davecgh_go_spew-v1.1.1.zip": "6b44a843951f371b7010c754ecc3cabefe815d5ced1c5b9409fb2d697e8a890d", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/decred/dcrd/crypto/blake256/com_github_decred_dcrd_crypto_blake256-v1.0.1.zip": "e4343d55494a93eb7bb7b59be9359fb8007fd36652b27a725db024f61605d515", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/decred/dcrd/dcrec/secp256k1/v4/com_github_decred_dcrd_dcrec_secp256k1_v4-v4.3.0.zip": "107cfef3902348214eb364253d75f569ea4c7a203d35eea50fa7ce10cd9cf710", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/decred/dcrd/crypto/blake256/com_github_decred_dcrd_crypto_blake256-v1.0.0.zip": "cd8bbdae14641f0ba44430fc66990dd37bbfcf1e21a965a9fd1871d16cac127d", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/decred/dcrd/dcrec/secp256k1/v4/com_github_decred_dcrd_dcrec_secp256k1_v4-v4.1.0.zip": "ce895eb53e69a058a77bc7e599fc43cef64b3c639ffec2f34faa7fef1331665d", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/deepmap/oapi-codegen/com_github_deepmap_oapi_codegen-v1.6.0.zip": "a89ac7cc533495fb5aa9caf2f763394af143928bf38a351495d93e220744dc4e", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/denisenkom/go-mssqldb/com_github_denisenkom_go_mssqldb-v0.12.0.zip": "568024c79d9e6c39adfa14ed4650c95ae1f976eb9c1ebee77da3c53d200080cf", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/dennwc/varint/com_github_dennwc_varint-v1.0.0.zip": "2918e66c0fb5a82dbfc8cca1ed34cb8ccff8188e876c0ca25f85b8247e53626f", @@ -460,6 +443,7 @@ DISTDIR_FILES = { "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/fasthttp/router/com_github_fasthttp_router-v1.4.4.zip": "5876bc20a22eac5552dd94ff0b06a876269bf9359968d5642a98622a8b2bf033", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/fatih/color/com_github_fatih_color-v1.9.0.zip": "33d21fd662beb497f642ffbb42305261004d849fe7028ce037e2b15475b4ecd1", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/fatih/structs/com_github_fatih_structs-v1.1.0.zip": "a361ecc95ad12000c66ee143d26b2aa0a4e5de3b045fd5d18a52564622a59148", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/felixge/httpsnoop/com_github_felixge_httpsnoop-v1.0.1.zip": "dc0c57cc57f116de113c320cffcbc61fa437d19a729deec373cce786dd89a029", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/flosch/pongo2/v4/com_github_flosch_pongo2_v4-v4.0.2.zip": "88e92416c43e05ab51f36bef211fcd03bb25428e2d2bebeed8a1877b8ad43281", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/fogleman/gg/com_github_fogleman_gg-v1.3.0.zip": "792f7a3ea9eea31b7947dabaf9d5a307389245069078e4bf435d76cb0505439c", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/form3tech-oss/jwt-go/com_github_form3tech_oss_jwt_go-v3.2.3+incompatible.zip": "6780fef32d854a318af431efd0c680a1cb4ddc50d36d6b4c239baf381004efae", @@ -468,12 +452,13 @@ DISTDIR_FILES = { "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/franela/goblin/com_github_franela_goblin-v0.0.0-20200105215937-c9ffbefa60db.zip": "e4ef81939ecb582e5716af6ae8b20ecf899f1351b7c53cb6799edf2a29a43714", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/franela/goreq/com_github_franela_goreq-v0.0.0-20171204163338-bcd34c9993f8.zip": "4f0deb16b3d3acf93ac2e699fe189cf2632fe833bdd5d64f5a54787fed62d19a", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/frankban/quicktest/com_github_frankban_quicktest-v1.11.3.zip": "28d4b3dc3a66f7c838f7667370df1cd88cc330eac227c55c3c2cd2ecd666c4c5", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/fraugster/parquet-go/com_github_fraugster_parquet_go-v0.10.0.zip": "a9d995d60a99dac8709c614f3d2795ef4d8d79c82991b40fa703006078babf75", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/fsnotify/fsnotify/com_github_fsnotify_fsnotify-v1.5.1.zip": "f38d7e395bc45f08a34e9591c9c4900031f81c1ddc7d761a785cbbb9aaee0db0", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/fullsailor/pkcs7/com_github_fullsailor_pkcs7-v0.0.0-20190404230743-d7302db945fa.zip": "ba36a8fc855d6eecef329d26f8e82132e38d45d06f79f88d3b0bde6d718c8fb2", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/garyburd/redigo/com_github_garyburd_redigo-v0.0.0-20150301180006-535138d7bcd7.zip": "7ed5f8194388955d2f086c170960cb096ee28d421b32bd12328d5f2a2b0ad488", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/gavv/httpexpect/com_github_gavv_httpexpect-v2.0.0+incompatible.zip": "3db05c59a5c70d11b9452727c529be6934ddf8b42f4bfdc3138441055f1529b1", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/getkin/kin-openapi/com_github_getkin_kin_openapi-v0.53.0.zip": "e3a00cb5828f8922087a0a74aad06c6177fa2eab44763a19aeec38f7fab7834b", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/getsentry/sentry-go/com_github_getsentry_sentry_go-v0.27.0.zip": "679a02061b0d653713146278ee120a5fa1fefcf59a03419990673c17cbfd6e6e", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/getsentry/sentry-go/com_github_getsentry_sentry_go-v0.23.0.zip": "6a19dc7eac4b31313ca441821f1ddad2a1a30dbd8e6241e5aefe7124adac70bf", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/ghemawat/stream/com_github_ghemawat_stream-v0.0.0-20171120220530-696b145b53b9.zip": "9c0a42cacc8e22024b58db15127886a6f8ddbcfbf89d4d062bfdc43dc40d80d5", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/ghodss/yaml/com_github_ghodss_yaml-v1.0.0.zip": "c3f295d23c02c0b35e4d3b29053586e737cf9642df9615da99c0bda9bbacc624", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/gin-contrib/sse/com_github_gin_contrib_sse-v0.1.0.zip": "512c8672f26405172077e764c4817ed8f66edc632d1bed205b5e1b8d282816ab", @@ -504,6 +489,7 @@ DISTDIR_FILES = { "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/go-ole/go-ole/com_github_go_ole_go_ole-v1.2.6.zip": "95b192df81ca16f0fb7d2d98ff6596d70256d73e49e899c55fabd511fd6768ef", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/go-openapi/analysis/com_github_go_openapi_analysis-v0.22.2.zip": "8972afbab23b0fbcfce2a352f4a36793027ec495da558fc1056bff19ebe79768", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/go-openapi/errors/com_github_go_openapi_errors-v0.21.0.zip": "fd36596bb434cedffc79748a261193cf1938c19b05afa9e56e65f8b643561fee", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/go-openapi/inflect/com_github_go_openapi_inflect-v0.19.0.zip": "fbcca36e347a2f560f50ac1c9c63f7d6cd97c8dff9800f08f370b5ce09b77c57", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/go-openapi/jsonpointer/com_github_go_openapi_jsonpointer-v0.20.2.zip": "65fc396f155e786d9ab151fb407f9f333db2ce486849bd4070c4d027db69aae8", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/go-openapi/jsonreference/com_github_go_openapi_jsonreference-v0.20.4.zip": "b11b8ef6e24f4b79508a8524601adc7a8b151d5969dcae094ff1a48cde18d9eb", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/go-openapi/loads/com_github_go_openapi_loads-v0.21.5.zip": "eb61b8e7499c84ab928caa7f71c6b1a40124653c44832e1c43352df9573824f1", @@ -520,6 +506,8 @@ DISTDIR_FILES = { "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/go-resty/resty/v2/com_github_go_resty_resty_v2-v2.1.1-0.20191201195748-d7b97669fe48.zip": "43ac9ff350b1fb126a0f9f9341eaf4c281d661341e22efd7198f3ccd7a009f2a", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/go-sql-driver/mysql/com_github_go_sql_driver_mysql-v1.6.0.zip": "07f052b8f3fb4c1bb8caaf2fdb95c0f13e4261c72494a16900728af9f2eee706", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/go-stack/stack/com_github_go_stack_stack-v1.8.0.zip": "78c2667c710f811307038634ffa43af442619acfeaf1efb593aa4e0ded9df48f", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/go-swagger/go-swagger/com_github_go_swagger_go_swagger-v0.26.1.zip": "465a017241a1a533766d214479ec330db4191ad796341fbb9f97a498a63ada4d", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/go-swagger/scan-repo-boundary/com_github_go_swagger_scan_repo_boundary-v0.0.0-20180623220736-973b3573c013.zip": "51aed4b67bce9d988d64ca6be9de2169f709a29d5ea83e78ffb1c2432b346ec6", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/go-test/deep/com_github_go_test_deep-v1.0.4.zip": "9d1f4cfdb8e02af475903ea172741e4298661ca327a0dcf6c5b3e4d9d93b8bf0", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/go-zookeeper/zk/com_github_go_zookeeper_zk-v1.0.2.zip": "6f91aecf62ffb4d7468eb14372d1e43b8620eb341964b5001e85151b46caed4f", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/gobuffalo/attrs/com_github_gobuffalo_attrs-v0.0.0-20190224210810-a9411de4debd.zip": "8fa6e4f71f4f4ce772f2e7b5dd3975f0c079ab1b81f1fabdc80356d3a56b834c", @@ -537,7 +525,7 @@ DISTDIR_FILES = { "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/gobwas/httphead/com_github_gobwas_httphead-v0.0.0-20180130184737-2c6c146eadee.zip": "5a43ed4a7cd2b063b634f0df5311c0dfa6576683bfc1339f2c5b1b1127fc392b", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/gobwas/pool/com_github_gobwas_pool-v0.2.0.zip": "52604b1456b92bb310461167a3e6515562f0f4214f01ed6440e3105f78be188f", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/gobwas/ws/com_github_gobwas_ws-v1.0.2.zip": "f9e5c26e83278f19958c68be7b76ad6711c806b6dae766fad7692d2af867bedd", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/goccy/go-json/com_github_goccy_go_json-v0.10.3.zip": "a14a4805bf6043dfd1e0e923d761f126e6c5a86c416f28f57bfebf1f8bde59e3", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/goccy/go-json/com_github_goccy_go_json-v0.9.11.zip": "018970f0a0d7337bd2a6583f1b68bcc9f9f4830df14ca1ccf1f2020fff9b3adb", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/gocql/gocql/com_github_gocql_gocql-v0.0.0-20200228163523-cd4b606dd2fb.zip": "40095e622040db188068b66258742938a5b083f6696b46b4a40c0391f0dafcec", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/godbus/dbus/com_github_godbus_dbus-v0.0.0-20190726142602-4481cbc300e2.zip": "e581c19036afcca2e656efcc4aa99a1348e2f9736177e206990a285d0a1c4c31", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/godbus/dbus/v5/com_github_godbus_dbus_v5-v5.0.6.zip": "0097f9b4608dc4bf5ca63cd3a9f3334e5cff6be2cab6170cdef075ef97075d89", @@ -556,7 +544,7 @@ DISTDIR_FILES = { "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/golang/groupcache/com_github_golang_groupcache-v0.0.0-20210331224755-41bb18bfe9da.zip": "b27034e8fc013627543e1ad098cfc65329f2896df3da5cf3266cc9166f93f3a5", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/golang/mock/com_github_golang_mock-v1.6.0.zip": "fa25916b546f90da49418f436e3a61e4c5dae898cf3c82b0007b5a6fab74261b", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/golang/protobuf/com_github_golang_protobuf-v1.5.3.zip": "93bda6e88d4a0a493a98b481de67a10000a755d15f16a800b49a6b96d1bd6f81", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/golang/snappy/com_github_golang_snappy-v0.0.5-0.20231225225746-43d5d4cd4e0e.zip": "a40a9145f6d7c1b2c356cf024f65e0f9cbf7efe2b89330ef4bb0763859b6fdc9", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/golang/snappy/com_github_golang_snappy-v0.0.4.zip": "ea4545ca44ee990554094df6de440386a440a5bd99106e048939409d63beb423", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/golangci/lint-1/com_github_golangci_lint_1-v0.0.0-20181222135242-d2cdd8c08219.zip": "2806ffd1a35b26a29b4cea86eb5ae421636b317e33e261fc1c20f9cf8fec2db5", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/gomodule/redigo/com_github_gomodule_redigo-v1.7.1-0.20190724094224-574c33c3df38.zip": "f665942b590c65e87284d681ea2784d0b9873c644756f4716a9972dc0d8e804e", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/gonum/blas/com_github_gonum_blas-v0.0.0-20181208220705-f22b278b28ac.zip": "bfcad082317ace0d0bdc0832f0835d95aaa90f91cf3fce5d2d81ccdd70c38620", @@ -592,7 +580,7 @@ DISTDIR_FILES = { "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/gordonklaus/ineffassign/com_github_gordonklaus_ineffassign-v0.0.0-20200309095847-7953dde2c7bf.zip": "ca53f10fdaec7dd8a835c69dee8fe2c0189cb6da38cb0a601310d7e756f15d09", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/gorilla/context/com_github_gorilla_context-v1.1.1.zip": "4ec8e01fe741a931edeebdee9348ffb49b5cc565ca245551d0d20b67062e6f0b", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/gorilla/css/com_github_gorilla_css-v1.0.0.zip": "d854362b9d723daf613b26aae0254723a4ed1bff680683c3e2a01aeb398168e5", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/gorilla/handlers/com_github_gorilla_handlers-v1.4.2.zip": "9e47491112a46d32e372be827899e8678a881f6407f290564c63e8725b5e9a19", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/gorilla/handlers/com_github_gorilla_handlers-v1.5.1.zip": "700cb5572cef0b4c251fc63550d3a656d53b91cec845f19b6a16bdbc6795beec", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/gorilla/mux/com_github_gorilla_mux-v1.8.0.zip": "7641911e00af9c91f089868333067c9cb9a58702d2c9ea821ee374940091c385", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/gorilla/securecookie/com_github_gorilla_securecookie-v1.1.1.zip": "dd83a4230e11568159756bbea4d343c88df0cd1415bbbc7cd5badad6cd2ed903", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/gorilla/sessions/com_github_gorilla_sessions-v1.2.1.zip": "2c6aeebfef8062537fd7778067e5e99d4c13f79ac63114e905c97040a6e6b523", @@ -715,10 +703,10 @@ DISTDIR_FILES = { "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/kataras/tunnel/com_github_kataras_tunnel-v0.0.4.zip": "1ae8dcc9a6ca3f47c5f8b57767a08b0acd916eceef49c48aa9859547316db8e2", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/kballard/go-shellquote/com_github_kballard_go_shellquote-v0.0.0-20180428030007-95032a82bc51.zip": "ae4cb7b097dc4eb0c248dff00ed3bbf0f36984c4162ad1d615266084e58bd6cc", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/kevinburke/go-bindata/com_github_kevinburke_go_bindata-v3.13.0+incompatible.zip": "f087b3a77624a113883bac519ebd1a4de07b70ab2ebe73e61e52325ac30777e0", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/kisielk/errcheck/com_github_kisielk_errcheck-v1.7.0.zip": "f394d1df1f2332387ce142d98734c5c44fb94e9a8a2af2a9b75aa4ec4a64b963", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/kisielk/errcheck/com_github_kisielk_errcheck-v1.6.1-0.20210625163953-8ddee489636a.zip": "99d3220891162cb684f8e05d54f3d0dc58abdd496a2f0cfda7fd4a28917a719e", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/kisielk/gotool/com_github_kisielk_gotool-v1.0.0.zip": "089dbba6e3aa09944fdb40d72acc86694e8bdde01cfc0f40fe0248309eb80a3f", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/klauspost/asmfmt/com_github_klauspost_asmfmt-v1.3.2.zip": "fa6a350a8677a77e0dbf3664c6baf23aab5c0b60a64b8f3c00299da5d279021f", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/klauspost/compress/com_github_klauspost_compress-v1.17.8.zip": "648bbc7813dec448eec1a5a467750696bc7e41e1ac0a00b76a967c589826afb6", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/klauspost/compress/com_github_klauspost_compress-v1.17.4.zip": "dd1acc63c40bf36ccfb2a7a7dd46579ea67585e37f1d2dbb06026b56ef625903", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/klauspost/cpuid/com_github_klauspost_cpuid-v1.3.1.zip": "f61266e43d5c247fdb55d843e2d93974717c1052cba9f331b181f60c4cf687d9", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/klauspost/cpuid/v2/com_github_klauspost_cpuid_v2-v2.0.9.zip": "52c716413296dce2b1698c6cdbc4c53927ce4aee2a60980daf9672e6b6a3b4cb", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/klauspost/crc32/com_github_klauspost_crc32-v0.0.0-20161016154125-cb6bfca970f6.zip": "6b632853a19f039138f251f94dbbdfdb72809adc3a02da08e4301d3d48275b06", @@ -739,12 +727,12 @@ DISTDIR_FILES = { "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/labstack/gommon/com_github_labstack_gommon-v0.4.0.zip": "ecb8222666a0058337912bbddb2c3e9ba1f60b356248619f6936eec5bfec640b", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/leanovate/gopter/com_github_leanovate_gopter-v0.2.5-0.20190402064358-634a59d12406.zip": "67c9724f8c25304bdef375d15c39f98621e0448b5f3c2f55bf66e07b52a67128", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/leodido/go-urn/com_github_leodido_go_urn-v1.2.1.zip": "8ae6e756f0e919a551e447f286491c08ca36ceaf415c2dde395fd79c1a408d1a", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/lestrrat-go/blackmagic/com_github_lestrrat_go_blackmagic-v1.0.2.zip": "2baa5f21e1db4781a11d0ba2fbe8e71323c78875034da61687d80f47ae9c78ce", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/lestrrat-go/backoff/v2/com_github_lestrrat_go_backoff_v2-v2.0.8.zip": "f5ded39eec777b7de879eb04204aa4b322683dabb22137862b09cb464f5bc617", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/lestrrat-go/blackmagic/com_github_lestrrat_go_blackmagic-v1.0.1.zip": "0621ab66f2510093f86f838db09a698027e8cbf08cc0e52bfa7d359b4f1b3745", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/lestrrat-go/httpcc/com_github_lestrrat_go_httpcc-v1.0.1.zip": "d75132f805ea5cf6275d9af02a5ff3c116ad92ac7fc28e2a22b8fd2e029a3f4c", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/lestrrat-go/httprc/com_github_lestrrat_go_httprc-v1.0.6.zip": "19c7a7bc6d63165e24a911182fe860166b75d4557262ef031d2fba8351b44707", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/lestrrat-go/iter/com_github_lestrrat_go_iter-v1.0.2.zip": "991bf0aee428fc1a2c01d548e2c7996dc26871dd0b359c062dfc07b1fb137572", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/lestrrat-go/jwx/v2/com_github_lestrrat_go_jwx_v2-v2.1.1.zip": "f0ee5e8baf11f8d449ff3cb81b9c4421d4e437b2dc6f22d25001816b251d6d2f", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/lestrrat-go/option/com_github_lestrrat_go_option-v1.0.1.zip": "3e5614e160680053e07e4970e825e694c2a917741e735ab4d435a396b739ae78", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/lestrrat-go/jwx/com_github_lestrrat_go_jwx-v1.2.25.zip": "808d6fe46171b8d6bb0a44188d7886d864f1aad5ce29b8ce1c6048745183c645", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/lestrrat-go/option/com_github_lestrrat_go_option-v1.0.0.zip": "8c42afc182c5697b8d5e38f5004ae522fa437247850ca2cf9fe65a6ae18bfaa9", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/lib/pq/com_github_lib_pq-v1.10.7.zip": "5d339f4296dcf650b4cec6b58e44988f8bbf7a4ca4bb9fff6e0421464efd7612", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/lightstep/lightstep-tracer-common/golang/gogo/com_github_lightstep_lightstep_tracer_common_golang_gogo-v0.0.0-20190605223551-bc2310a04743.zip": "1bf5cd77739238376e20a64307ef850da518861421a44ce7a10a27bc3bef4874", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/lightstep/lightstep-tracer-go/com_github_lightstep_lightstep_tracer_go-v0.18.1.zip": "b90e4c08ddd881bf09dfef53affd03c9d3b246edf64e055dbea549bd31268131", @@ -888,7 +876,7 @@ DISTDIR_FILES = { "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/phpdave11/gofpdf/com_github_phpdave11_gofpdf-v1.4.2.zip": "4db05258f281b40d8a17392fd71648779ea758a9aa506a8d1346ded737ede43f", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/phpdave11/gofpdi/com_github_phpdave11_gofpdi-v1.0.13.zip": "09b728136cf290f4ee87aa47b60f2f9df2b3f4f64119ff10f12319bc3438b58d", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/pierrec/lz4/com_github_pierrec_lz4-v2.5.2+incompatible.zip": "2887f169f2f3333721eab7d59a2e444b2eabef2db5c86a895731a931e6b24982", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/pierrec/lz4/v4/com_github_pierrec_lz4_v4-v4.1.21.zip": "bd2e8ef13800ca42205b0d4085a927a6d012b82cfa831769be4830036e953bec", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/pierrec/lz4/v4/com_github_pierrec_lz4_v4-v4.1.19.zip": "cc1b93564422e2f0b081ad98e64327970ca1a69f26cad2d5d7a7fa1782513c64", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/pierrre/compare/com_github_pierrre_compare-v1.0.2.zip": "99af9543f52487c6e7015721def85aa2d9eb7661e37b151f1db91875dcda2ee7", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/pierrre/geohash/com_github_pierrre_geohash-v1.0.0.zip": "8c94a7e1f93170b53cf6e9d615967c24ff5342d5182d510f4829b3f39e249b4d", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/pingcap/errors/com_github_pingcap_errors-v0.11.4.zip": "df62e548162429501a88d936a3e8330f2379ddfcd4d23c22b78bc1b157e05b97", @@ -941,11 +929,11 @@ DISTDIR_FILES = { "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/savsgio/gotils/com_github_savsgio_gotils-v0.0.0-20210921075833-21a6215cb0e4.zip": "2d92113b0b2a2c22947d56f51129cf58013e4aaecd2cadfd84d7693c4186ac58", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/scaleway/scaleway-sdk-go/com_github_scaleway_scaleway_sdk_go-v1.0.0-beta.7.0.20210223165440-c65ae3540d44.zip": "d3085a949bf12cb3afe81309662d3657b600b2f2178c9f05fbc9cd5a6a3f4c3d", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/schollz/closestmatch/com_github_schollz_closestmatch-v2.1.0+incompatible.zip": "f267729efc7a639bb816e2586a17237a8c8e7ff327c0c3dd58766d1433ad2d3a", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/scylladb/termtables/com_github_scylladb_termtables-v0.0.0-20191203121021-c4c0b6d42ff4.zip": "0afd3a75417e6b708c62329cea7f2822162c8bf6ada0de094cdc032461b8f196", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/sean-/seed/com_github_sean__seed-v0.0.0-20170313163322-e2103e2c3529.zip": "0bc8e6e0a07e554674b0bb92ef4eb7de1650056b50878eed8d5d631aec9b6362", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/seccomp/libseccomp-golang/com_github_seccomp_libseccomp_golang-v0.9.2-0.20220502022130-f33da4d89646.zip": "6bbc0328826c9240ee9c08a59010b49d79d0d1264599811b6ac19f0d97494beb", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/sectioneight/md-to-godoc/com_github_sectioneight_md_to_godoc-v0.0.0-20161108233149-55e43be6c335.zip": "8b605818df307b414d0a680f147f0baeb37c9166df9e111ede5531cf50124203", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/securego/gosec/com_github_securego_gosec-v0.0.0-20200203094520-d13bb6d2420c.zip": "e0adea3cd40ba9d690b8054ff1341cf7d035084f50273a4f7bbac803fec3453a", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/segmentio/asm/com_github_segmentio_asm-v1.2.0.zip": "8e2815672f1ab3049b10185b5494006320c32afb419ccf9f14385bc25ea44def", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/segmentio/kafka-go/com_github_segmentio_kafka_go-v0.2.0.zip": "b2a88eb5b65fbb75dac0ba5e721cd2cb8e39275d1702a0f97e3c4807d78e8b48", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/sergi/go-diff/com_github_sergi_go_diff-v1.0.0.zip": "287218ffcd136dbb28ce99a2f162048d8dfa6f97b524c17797964aacde2f8f52", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/shirou/gopsutil/v3/com_github_shirou_gopsutil_v3-v3.21.12.zip": "ea6f8b430cee40870d8d454aaa5d4c22e84d217a2548a3f755b91a96b1c67a88", @@ -989,12 +977,13 @@ DISTDIR_FILES = { "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/tklauser/go-sysconf/com_github_tklauser_go_sysconf-v0.3.9.zip": "2233c2cf18d4d37354eb333ec8a2dca63c24a09cfbc3b90cd06a8b3afe70893f", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/tklauser/numcpus/com_github_tklauser_numcpus-v0.3.0.zip": "a5569abed62bb2d5f5f322f23fe8cae888fe98704442d59ed9e7aabfed423899", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/tmc/grpc-websocket-proxy/com_github_tmc_grpc_websocket_proxy-v0.0.0-20190109142713-0ad062ec5ee5.zip": "dadf62266d259ffb6aa1d707892b97fa36c3f39df5cae99f54d3ef7682995376", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/toqueteos/webbrowser/com_github_toqueteos_webbrowser-v1.2.0.zip": "1227d3ebeab16d8232a304a10b087984a96ad30f7439b6687bab2f5747d308cf", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/trivago/tgo/com_github_trivago_tgo-v1.0.7.zip": "795b3a41901f6b694195d6be9c6e7730a971fbc0ec4cd236e73cc845aca6cb7e", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/tv42/httpunix/com_github_tv42_httpunix-v0.0.0-20191220191345-2ba4b9c3382c.zip": "3835d37bfd63336db8f0b0971368e0e9a03d70a446b32e93cbd30e99ba6e9d27", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/twitchtv/twirp/com_github_twitchtv_twirp-v8.1.0+incompatible.zip": "6a5499c6572cf367ac9c2bd7913abef5bc8ef9de5e7194d12452863ddcec6104", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/twmb/franz-go/com_github_twmb_franz_go-v1.17.1.zip": "7b571a6c5b188750c22ff7a28e94cac97f15539a1a5209ac335c7bc7c2401e82", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/twmb/franz-go/com_github_twmb_franz_go-v1.16.1.zip": "0d5a37eb5dbfd02e323ef67036809de9c3333bf74b1e8a067905d009a598a4dd", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/twmb/franz-go/pkg/kadm/com_github_twmb_franz_go_pkg_kadm-v1.11.0.zip": "df8b445c52226a7398b9c82055548961c977cce92b1aa392581e636a5f5fcfc8", - "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/twmb/franz-go/pkg/kmsg/com_github_twmb_franz_go_pkg_kmsg-v1.8.0.zip": "36c7bd41ee59195ec636fbdbe636328ed0700a6eef29a6d2e010ba85b46aa90c", + "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/twmb/franz-go/pkg/kmsg/com_github_twmb_franz_go_pkg_kmsg-v1.7.0.zip": "bbdd2e366c9e5b3097015feefc9b384febdfd5f81dfdddf3d1e42fc52d8659f8", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/twpayne/go-geom/com_github_twpayne_go_geom-v1.4.2.zip": "df7e9bbccc443348b23fbb67039e216700eb79ed79f9412b38a6bb8a81edb4cb", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/twpayne/go-kml/com_github_twpayne_go_kml-v1.5.2.zip": "f67a698f9a02c889a1f6ff4e0a0625ec2359057674c0f25cf8c862ae519e382e", "https://storage.googleapis.com/cockroach-godeps/gomod/github.com/twpayne/go-polyline/com_github_twpayne_go_polyline-v1.0.0.zip": "1794c8b7368bd16dec9cdb7b9be394c2030a1cc706a51edc318490667d9a5a97", @@ -1084,22 +1073,21 @@ DISTDIR_FILES = { "https://storage.googleapis.com/cockroach-godeps/gomod/go.uber.org/zap/org_uber_go_zap-v1.19.0.zip": "6437824258873fed421b7975b8e4cafd1be80cdc15e553beaa887b499dd01420", "https://storage.googleapis.com/cockroach-godeps/gomod/goji.io/io_goji-v2.0.2+incompatible.zip": "1ea69b28e356cb91381ce2339004fcf144ad1b268c9e3497c9ef304751ae0bb3", "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/arch/org_golang_x_arch-v0.0.0-20180920145803-b19384d3c130.zip": "9f67b677a3fefc503111d9aa7df8bacd2677411b0fcb982eb1654aa6d14cc3f8", - "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/crypto/org_golang_x_crypto-v0.26.0.zip": "ec96acfe28be3ff2fb14201c5f51132f0e24c7d0d6f3201a8aa69c84f989d014", + "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/crypto/org_golang_x_crypto-v0.22.0.zip": "3148f58c2893286075e7e13e2de19d8e4fd9883debb6d76b45f7929e1d79e53e", "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/exp/org_golang_x_exp-v0.0.0-20230626212559-97b1e661b5df.zip": "af32025a065aa599a3e5b01048602a53e2b6e3938b12d33fa2a5f057be9759fa", "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/exp/typeparams/org_golang_x_exp_typeparams-v0.0.0-20221208152030-732eee02a75a.zip": "9bd73f186851c6229484f486981f608d16e2b86acbbef6f4f7cc0480a508a4a4", "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/image/org_golang_x_image-v0.0.0-20210628002857-a66eb6448b8d.zip": "70cf423fad9be160a88fbf01bc1897efd888f915a6d7ba0dd41ca7085f75e06e", "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/lint/org_golang_x_lint-v0.0.0-20210508222113-6edffad5e616.zip": "0a4a5ebd2b1d79e7f480cbf5a54b45a257ae1ec9d11f01688efc5c35268d4603", "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/mobile/org_golang_x_mobile-v0.0.0-20190719004257-d2bd2a29d028.zip": "6b946c7da47acf3b6195336fd071bfc73d543cefab73f2d27528c5dc1dc829ec", - "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/mod/org_golang_x_mod-v0.20.0.zip": "3c3528c39639b7cd699c121c100ddb71ab49f94bff257a4a3935e3ae9e8571fc", - "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/net/org_golang_x_net-v0.28.0.zip": "c6f7bde4bb418d1f5ee5dc437d09ce9f10743ddba043cdca82eb57ddeb18d6da", + "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/mod/org_golang_x_mod-v0.14.0.zip": "98a122c92ad55deef674f6546b4c295ed93d106178dd24ec40449ae33b41037a", + "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/net/org_golang_x_net-v0.24.0.zip": "389940dbee4a10516de85368bb1a550d6df814ed1f893db18de8def9168147c7", "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/oauth2/org_golang_x_oauth2-v0.7.0.zip": "b682f8cf62ed36f3bec9f8a832ff61a2af1124f31f42c4e1e3f3efd23d88f93f", "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/perf/org_golang_x_perf-v0.0.0-20230113213139-801c7ef9e5c5.zip": "bc1b902e645fdd5d210b7db8f3280833af225b131dab5842d7a6d32a676f80f5", - "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/sync/org_golang_x_sync-v0.8.0.zip": "c79473c265ca571d389bf64fa1e7b2d8999b4ab3eb7af5e3bc185644783a1087", - "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/sys/org_golang_x_sys-v0.23.0.zip": "5bf721c4404580d5350d0a0297c1f48f07c05db8a0d2a20677e6cb295380b9a7", - "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/telemetry/org_golang_x_telemetry-v0.0.0-20240521205824-bda55230c457.zip": "8e8649337973d064cc44fa858787db7d0eb90f0806807349766d180ed6889f5c", - "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/term/org_golang_x_term-v0.23.0.zip": "2597a62b487b952c11c89b2001551af1fe1d29c484388ec1c3f5e3be7ff58ba5", - "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/text/org_golang_x_text-v0.17.0.zip": "48464f2ab2f988ca8b7b0a9d098e3664224c3b128629b5a9cc08025ee4a7e4ec", - "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/tools/org_golang_x_tools-v0.24.0.zip": "92607be1cacf4647fd31b19ee64b1a7c198178f1005c75371e38e7b08fb138e7", + "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/sync/org_golang_x_sync-v0.7.0.zip": "20b01085240e661bffc7f59383f21b90f112d669784220c6e59c801243216d22", + "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/sys/org_golang_x_sys-v0.19.0.zip": "f3e06adc66b840da7719fcf496d2916a38317706509fb5beed5932cd8ae5fb6b", + "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/term/org_golang_x_term-v0.19.0.zip": "893e851afedc40a9c253e611fed322ec6f5a1c56180dd29229ff1cc1bd35dbfb", + "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/text/org_golang_x_text-v0.14.0.zip": "b9814897e0e09cd576a7a013f066c7db537a3d538d2e0f60f0caee9bc1b3f4af", + "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/tools/org_golang_x_tools-v0.17.0.zip": "f4c5fce4cd013419429592043ce0549f47060dfe6f44cca940224cd48c3e28ad", "https://storage.googleapis.com/cockroach-godeps/gomod/golang.org/x/xerrors/org_golang_x_xerrors-v0.0.0-20220907171357-04be3eba64a2.zip": "b9c481db33c4b682ba8ba348018ddbd2155bd227cc38ff9f6b4cb2b74bbc3c14", "https://storage.googleapis.com/cockroach-godeps/gomod/gonum.org/v1/gonum/org_gonum_v1_gonum-v0.11.0.zip": "abdfee15ce7c9d2cd96b66468d3ae28d6054add4efbfc1b15fadfe3613f3d362", "https://storage.googleapis.com/cockroach-godeps/gomod/gonum.org/v1/netlib/org_gonum_v1_netlib-v0.0.0-20190331212654-76723241ea4e.zip": "ed4dca5026c9ab5410d23bbe21c089433ca58a19bd2902311c6a91791142a687", @@ -1199,7 +1187,7 @@ DISTDIR_FILES = { "https://storage.googleapis.com/public-bazel-artifacts/bazel/bmatcuk-doublestar-v4.0.1-0-gf7a8118.tar.gz": "d11c3b3a45574f89d6a6b2f50e53feea50df60407b35f36193bf5815d32c79d1", "https://storage.googleapis.com/public-bazel-artifacts/bazel/cockroachdb-protobuf-3f5d91f.tar.gz": "6d4e7fe1cbd958dee69ce9becbf8892d567f082b6782d3973a118d0aa00807a8", "https://storage.googleapis.com/public-bazel-artifacts/bazel/cockroachdb-rules_foreign_cc-8d34d77.tar.gz": "03afebfc3f173666a3820a29512265c710c3a08d0082ba77469779d3e3af5a11", - "https://storage.googleapis.com/public-bazel-artifacts/bazel/cockroachdb-rules_go-v0.27.0-459-g734c37d.tar.gz": "ada68324bc20ffd1b557bab4cf8dba9b742570a46a505b0bc99c1fde5132cce5", + "https://storage.googleapis.com/public-bazel-artifacts/bazel/cockroachdb-rules_go-v0.27.0-458-g0e7e4e3.tar.gz": "c47bbf3fedda339cf41e9a17964bc76a404e4cb2f1213067cc42b453e8a2eb38", "https://storage.googleapis.com/public-bazel-artifacts/bazel/google-starlark-go-e043a3d.tar.gz": "a35c6468e0e0921833a63290161ff903295eaaf5915200bbce272cbc8dfd1c1c", "https://storage.googleapis.com/public-bazel-artifacts/bazel/googleapis-83c3605afb5a39952bf0a0809875d41cf2a558ca.zip": "ba694861340e792fd31cb77274eacaf6e4ca8bda97707898f41d8bebfd8a4984", "https://storage.googleapis.com/public-bazel-artifacts/bazel/platforms-0.0.4.tar.gz": "079945598e4b6cc075846f7fd6a9d0857c33a7afc0de868c2ccb96405225135d", diff --git a/build/bazelutil/nogo_config.json b/build/bazelutil/nogo_config.json index c15a472ce358..3ea26ed33ddc 100644 --- a/build/bazelutil/nogo_config.json +++ b/build/bazelutil/nogo_config.json @@ -45,7 +45,7 @@ "pkg/ccl/multitenantccl/tenantcostclient/tenant_side.go": "flagged by linter, should be evaluated", "pkg/ccl/sqlproxyccl/acl/watcher.go": "flagged by linter, should be evaluated", "pkg/ccl/sqlproxyccl/tenantdirsvr/test_directory_svr.go": "flagged by linter, should be evaluated", - "pkg/ccl/crosscluster/streamclient/random_stream_client.go": "flagged by linter, should be evaluated", + "pkg/ccl/streamingccl/streamclient/random_stream_client.go": "flagged by linter, should be evaluated", "pkg/cli/clisqlexec/format_csv_tsv.go": "flagged by linter, should be evaluated", "pkg/cli/clisqlshell/sql.go": "flagged by linter, should be evaluated", "pkg/cli/syncbench/syncbench.go": "flagged by linter, should be evaluated", @@ -762,6 +762,15 @@ "pkg/.*_generated\\.go$": "generated code", "pkg/roachprod/vm/aws/embedded\\.go$": "generated code", "pkg/security/securitytest/embedded\\.go$": "generated code", + "pkg/sql/conn_executor.go$": "temporary exclusion until deprecatedContext is removed from eval.Context", + "pkg/sql/instrumentation.go$": "temporary exclusion until deprecatedContext is removed from eval.Context", + "pkg/sql/planner.go$": "temporary exclusion until deprecatedContext is removed from eval.Context", + "pkg/sql/schema_changer.go$": "temporary exclusion until deprecatedContext is removed from eval.Context", + "pkg/sql/distsql/server.go$": "temporary exclusion until deprecatedContext is removed from eval.Context", + "pkg/sql/execinfra/processorsbase.go$": "temporary exclusion until deprecatedContext is removed from eval.Context", + "pkg/sql/importer/import_table_creation.go$": "temporary exclusion until deprecatedContext is removed from eval.Context", + "pkg/sql/row/expr_walker_test.go$": "temporary exclusion until deprecatedContext is removed from eval.Context", + "pkg/sql/schemachanger/scbuild/tree_context_builder.go$": "temporary exclusion until deprecatedContext is removed from eval.Context", "pkg/security/securityassets/security_assets.go$": "excluded until all uses of io/ioutil are replaced", "pkg/security/securitytest/securitytest.go$": "excluded until all uses of io/ioutil are replaced", "pkg/server/dumpstore/dumpstore.go$": "excluded until all uses of io/ioutil are replaced", diff --git a/build/deploy/cockroach.sh b/build/deploy/cockroach.sh index ac3380329a84..17ae9b4cceef 100755 --- a/build/deploy/cockroach.sh +++ b/build/deploy/cockroach.sh @@ -298,7 +298,7 @@ _main() { set_env_var "COCKROACH_ARGS" if [[ -n "$COCKROACH_ARGS" ]]; then - _main $COCKROACH_ARGS + _main "$COCKROACH_ARGS" else _main "$@" fi diff --git a/build/github/cockroach-microbench-ci.sh b/build/github/cockroach-microbench-ci.sh deleted file mode 100755 index 85be082d9141..000000000000 --- a/build/github/cockroach-microbench-ci.sh +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/bash - -set -euxo pipefail - -# Directories and file names -output_dir="./artifacts/microbench" -cleaned_current_dir="$output_dir/current" -cleaned_base_dir="$output_dir/base" - -# hardcoded the file name as of now since `compare` requires a particular format for the file name. -benchmark_file_name="pkg_sql-report.log" -log_output_file_path="$output_dir/microbench.log" -storage_bucket_url="gs://cockroach-microbench-ci" - -# Threshold for comparison -threshold=${COMPARE_THRESHOLD:-0} -success_exit_status=0 -error_exit_status=1 - -# Exit early if SKIP_COMPARISON is true and not a push step -if $SKIP_COMPARISON && ! $PUSH_STEP; then - echo "Exiting since skip comparison is enabled and this is not a push step." - exit $success_exit_status -fi - -# Build binary with Bazel -bazel build --config crosslinux $(./build/github/engflow-args.sh) --jobs 100 //pkg/cmd/roachprod-microbench - -roachprod_microbench_dir="_bazel/bin/pkg/cmd/roachprod-microbench/roachprod-microbench_" - -mkdir -p "$output_dir" - -# Run benchmarks and clean output -# running count=4 here because that's the minimum required for a comparison -bazel test //pkg/sql/tests:tests_test \ - --test_timeout=1800 \ - --strategy=TestRunner=sandboxed \ - --jobs 100 \ - --config=crosslinux \ - --remote_download_minimal \ - $(./build/github/engflow-args.sh) \ - --test_arg=-test.run=- \ - --test_arg='-test.bench=^BenchmarkKV$' \ - --test_sharding_strategy=disabled \ - --test_arg=-test.cpu --test_arg=1 \ - --test_arg=-test.v \ - --test_arg=-test.count=10 \ - --test_arg=-test.benchmem \ - --crdb_test_off \ - --test_output=all > "$log_output_file_path" - -$roachprod_microbench_dir/roachprod-microbench clean "$log_output_file_path" "$cleaned_current_dir/$benchmark_file_name" - -# Push artifact if this is a base merge and skip comparison -if $PUSH_STEP; then - gcloud storage cp "$cleaned_current_dir/$benchmark_file_name" "$storage_bucket_url/$GITHUB_REF_NAME/$GITHUB_SHA.log" - echo "Skipping comparison since this is a push step into the target branch" - exit $success_exit_status -fi - -# Compare benchmarks -if ! gcloud storage cp "$storage_bucket_url/$GITHUB_BASE_REF/$BASE_SHA.log" "$cleaned_base_dir/$benchmark_file_name"; then - echo "Couldn't download base bench file, exiting." - exit $success_exit_status -fi - -if ! $roachprod_microbench_dir/roachprod-microbench compare "$cleaned_current_dir" "$cleaned_base_dir" --threshold="$threshold"; then - echo "There is an error during comparison. If it's a perf regression, please try to fix it. This won't block your change for merging currently." - exit $error_exit_status -fi - -rm -rf "$output_dir" -exit $success_exit_status diff --git a/build/oss-fuzz/build.sh b/build/oss-fuzz/build.sh deleted file mode 100755 index a09bedd4a2d7..000000000000 --- a/build/oss-fuzz/build.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash -eu - -# Don't need the stdlib and libc++ gives linker error -CXXFLAGS="${CXXFLAGS/-stdlib=libc++/}" - -# Needed for initialize the submodules, the submodule directories are empty. -# Some header files (proj_api.h here) do not actually exist in cockroach, it exists in the submodule. -git submodule update --init --recursive - -# Install dependencies for compile_native_go_fuzzer -go install github.com/AdamKorcz/go-118-fuzz-build@latest -go get github.com/AdamKorcz/go-118-fuzz-build/testing - -# Generate artifacts for building the binary -bazel run pkg/gen:code -bazel run pkg/cmd/generate-cgo:generate-cgo --run_under "cd $SRC/cockroach && " - -# File is not being built via bazel and outdated (gives compilation errors in SessionIDEncoding) -rm pkg/sql/pgwire/fuzz.go - -# Rename as go-118-fuzz-build cant read _test.go files (used by sessionID and frontier) -mv ./pkg/util/span/frontier_test.go pkg/util/span/frontier_test_fuzz.go - -# Build the native go fuzz targets - -# Runs into a race condition and panics (bug in go-118-fuzz-build) -#compile_native_go_fuzzer ./pkg/keys FuzzPrettyPrint fuzzPrettyPrint - -compile_native_go_fuzzer ./pkg/sql/sqlliveness/slstorage FuzzSessionIDEncoding fuzzSessionIDEncoding - -compile_native_go_fuzzer ./pkg/util/span FuzzBtreeFrontier fuzzBtreeFrontier - -compile_native_go_fuzzer ./pkg/util/span FuzzLLRBFrontier fuzzLLRBFrontier - -compile_native_go_fuzzer ./pkg/ccl/pgcryptoccl/pgcryptocipherccl FuzzEncryptDecryptAES fuzzEncryptDecryptAES - -compile_native_go_fuzzer ./pkg/ccl/pgcryptoccl/pgcryptocipherccl FuzzNoPaddingEncryptDecryptAES fuzzNoPaddingEncryptDecryptAES - -compile_native_go_fuzzer ./pkg/storage FuzzEngineKeysInvariants fuzzEngineKeysInvariants - -# Build old fuzz targets which used `gofuzz` -compile_go_fuzzer /src/cockroach/pkg/util/uuid Fuzz fuzzuuid - -# Generate seed corpus, from native go format to oss-fuzz format -go run github.com/orijtech/otils/corpus2ossfuzz@latest -o "$OUT"/fuzzPrettyPrint_seed_corpus.zip -corpus ./pkg/keys/testdata/fuzz/FuzzPrettyPrint - -# Generate seed corpus -zip -r $OUT/fuzzuuid_seed_corpus.zip ./pkg/util/uuid/testdata/corpus || true diff --git a/build/packer/teamcity-agent.sh b/build/packer/teamcity-agent.sh index dcb16153ffff..8642f3417a84 100644 --- a/build/packer/teamcity-agent.sh +++ b/build/packer/teamcity-agent.sh @@ -31,8 +31,6 @@ echo "deb https://packages.microsoft.com/repos/azure-cli/ $(lsb_release -cs) mai # Some images come with apt autoupgrade job running at start, let's give it a few minutes to finish to avoid races. echo "Sleeping for 3 minutes to allow apt daily cronjob to finish..." sleep 3m - -add-apt-repository ppa:git-core/ppa apt-get update # Installing gnome-keyring prevents the error described in @@ -46,11 +44,11 @@ apt-get install --yes \ docker-ce \ docker-compose \ flex \ - git \ gnome-keyring \ google-cloud-sdk \ google-cloud-cli-gke-gcloud-auth-plugin \ gnupg2 \ + git \ jq \ openjdk-11-jre-headless \ pass \ @@ -65,10 +63,8 @@ apt-get install --yes \ apt-get install --yes qemu binfmt-support qemu-user-static # Verify that both of the platforms we support Docker for can be built. -if [[ $ARCH = x86_64 ]]; then - docker run --attach=stdout --attach=stderr --platform=linux/amd64 --rm --pull=always registry.access.redhat.com/ubi9/ubi-minimal uname -p - docker run --attach=stdout --attach=stderr --platform=linux/arm64 --rm --pull=always registry.access.redhat.com/ubi9/ubi-minimal uname -p -fi +docker run --attach=stdout --attach=stderr --platform=linux/amd64 --rm --pull=always registry.access.redhat.com/ubi9/ubi-minimal uname -p +docker run --attach=stdout --attach=stderr --platform=linux/arm64 --rm --pull=always registry.access.redhat.com/ubi9/ubi-minimal uname -p case $ARCH in x86_64) WHICH=x86_64; SHASUM=97bf730372f9900b2dfb9206fccbcf92f5c7f3b502148b832e77451aa0f9e0e6 ;; diff --git a/build/patches/com_github_azure_azure_sdk_for_go.patch b/build/patches/com_github_azure_azure_sdk_for_go.patch index 118f1b9c979e..1a3fc22e9f3b 100644 --- a/build/patches/com_github_azure_azure_sdk_for_go.patch +++ b/build/patches/com_github_azure_azure_sdk_for_go.patch @@ -9,14 +9,3 @@ diff -urN a/services/network/mgmt/2021-03-01/network/BUILD.bazel b/services/netw importpath = "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2021-03-01/network", visibility = ["//visibility:public"], deps = [ -diff -urN a/services/network/mgmt/2022-07-01/network/BUILD.bazel b/services/network/mgmt/2022-07-01/network/BUILD.bazel ---- a/services/network/mgmt/2022-07-01/network/BUILD.bazel -+++ b/services/network/mgmt/2022-07-01/network/BUILD.bazel -@@ -139,6 +139,7 @@ - "webapplicationfirewallpolicies.go", - "webcategories.go", - ], -+ exec_properties = { "Pool": "large" }, - importpath = "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2022-07-01/network", - visibility = ["//visibility:public"], - deps = [ diff --git a/build/patches/com_github_datadog_zstd.patch b/build/patches/com_github_datadog_zstd.patch new file mode 100644 index 000000000000..1ce535b0697f --- /dev/null +++ b/build/patches/com_github_datadog_zstd.patch @@ -0,0 +1,12 @@ +diff -urN a/BUILD.bazel b/BUILD.bazel +--- a/BUILD.bazel 1969-12-31 19:00:00.000000000 -0500 ++++ b/BUILD.bazel 2000-01-01 00:00:00.000000000 -0000 +@@ -98,7 +98,7 @@ + "zstdmt_compress.h", + ], + cgo = True, +- copts = ["-DZSTD_LEGACY_SUPPORT=4 -DZSTD_MULTITHREAD=1"], ++ copts = ["-DZSTD_LEGACY_SUPPORT=4 -DZSTD_MULTITHREAD=1 -DZSTD_DISABLE_ASM=1"], + importpath = "github.com/DataDog/zstd", + visibility = ["//visibility:public"], + ) diff --git a/build/patches/com_github_kisielk_errcheck.patch b/build/patches/com_github_kisielk_errcheck.patch index 32c91fe1927a..6b4410a0e9a7 100644 --- a/build/patches/com_github_kisielk_errcheck.patch +++ b/build/patches/com_github_kisielk_errcheck.patch @@ -1,15 +1,18 @@ diff -urN a/errcheck/analyzer.go b/errcheck/analyzer.go --- a/errcheck/analyzer.go +++ b/errcheck/analyzer.go -@@ -5,6 +5,7 @@ +@@ -3,9 +3,9 @@ package errcheck + import ( + "fmt" "go/ast" +- "go/token" "reflect" "regexp" + "strings" "golang.org/x/tools/go/analysis" ) -@@ -20,6 +21,7 @@ +@@ -21,6 +21,7 @@ argBlank bool argAsserts bool argExcludeFile string @@ -17,7 +20,7 @@ diff -urN a/errcheck/analyzer.go b/errcheck/analyzer.go argExcludeOnly bool ) -@@ -27,6 +29,7 @@ +@@ -28,6 +29,7 @@ Analyzer.Flags.BoolVar(&argBlank, "blank", false, "if true, check for errors assigned to blank identifier") Analyzer.Flags.BoolVar(&argAsserts, "assert", false, "if true, check for ignored type assertion results") Analyzer.Flags.StringVar(&argExcludeFile, "exclude", "", "Path to a file containing a list of functions to exclude from checking") @@ -25,7 +28,7 @@ diff -urN a/errcheck/analyzer.go b/errcheck/analyzer.go Analyzer.Flags.BoolVar(&argExcludeOnly, "excludeonly", false, "Use only excludes from exclude file") } -@@ -37,7 +40,14 @@ +@@ -39,7 +41,14 @@ exclude[name] = true } } @@ -41,14 +44,14 @@ diff -urN a/errcheck/analyzer.go b/errcheck/analyzer.go excludes, err := ReadExcludes(argExcludeFile) if err != nil { return nil, fmt.Errorf("Could not read exclude file: %v\n", err) -@@ -63,8 +73,9 @@ +@@ -65,8 +74,9 @@ ast.Walk(v, f) for _, err := range v.errors { + fsetFile := pass.Fset.File(f.Pos()) pass.Report(analysis.Diagnostic{ -- Pos: pass.Fset.File(f.Pos()).Pos(err.Pos.Offset), -+ Pos: fsetFile.Pos(err.Pos.Offset), - Message: "unchecked error", - Category: "errcheck", +- Pos: token.Pos(int(f.Pos()) + err.Pos.Offset), ++ Pos: fsetFile.Pos(err.Pos.Offset), + Message: "unchecked error", }) + } diff --git a/build/release/bincheck/bincheck b/build/release/bincheck/bincheck index 865741c09a92..fc6b81f23025 100755 --- a/build/release/bincheck/bincheck +++ b/build/release/bincheck/bincheck @@ -17,31 +17,6 @@ readonly sha="$3" readonly urlfile=cockroach-url readonly pidfile=/tmp/server_pid -# Verify that the startup time is within a reasonable upper-bound. -# At the time of writing, the total `init` time is well under 200ms on m1pro. -init_time=`GODEBUG=inittrace=1 $cockroach version 2>&1|awk '/init/ {sum += $5} END {printf("%d\n", sum)}'` -if [[ $init_time -gt 500 ]] -then - echo "'init' time is unreasonably high: $init_time" - exit 1 -fi - -echo "" -echo "Total 'init' time: $init_time ms" - -# Verify that the total heap-allocated bytes inside 'init' functions is within a reasonable upper-bound. -# At the time of writing, the total heap-allocated bytes is ~265MB (of which ~198MB is used by UI assets). -total_bytes=`GODEBUG=inittrace=1 $cockroach version 2>&1|awk '/init/ {sum += $8} END {printf("%d\n", sum)}'` -if [[ $total_bytes -gt 536870912 ]] -then - echo "Total 'init' heap-allocated bytes is unreasonably high: $total_bytes" - exit 1 -fi - -echo "Total 'init' heap-allocated bytes: $total_bytes" -echo "" - - # Display build information. echo "" "$cockroach" version diff --git a/build/release/teamcity-publish-redhat-release.sh b/build/release/teamcity-publish-redhat-release.sh new file mode 100755 index 000000000000..066b2c9d910e --- /dev/null +++ b/build/release/teamcity-publish-redhat-release.sh @@ -0,0 +1,102 @@ +#!/usr/bin/env bash + +set -euxo pipefail + +source "$(dirname "${0}")/teamcity-support.sh" +source "$(dirname "${0}")/../shlib.sh" + +tc_start_block "Sanity Check" +# Make sure that the version matches the TeamCity branch name. The TeamCity +# branch name becomes available only after the new tag is pushed to GitHub by +# the `teamcity-publish-release.sh` script. +# In the future, when this script becomes a part of the automated process, we +# may need to change this check to match the tag used by the process. +if [[ $TC_BUILD_BRANCH != ${NAME} ]]; then + echo "Release name \"$NAME\" cannot be built using \"$TC_BUILD_BRANCH\"" + exit 1 +fi +if ! [[ -z "$PRE_RELEASE" ]]; then + echo "Pushing pre-release versions to Red Hat is not implemented (there is no unstable repository for them to live)" + exit 0 +fi +tc_end_block "Sanity Check" + + +tc_start_block "Variable Setup" +# Accept only X.Y.Z versions, because we don't publish images for alpha versions +build_name="$(echo "${NAME}" | grep -E -o '^v(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$')" +# ^major ^minor ^patch +if [[ -z "$build_name" ]] ; then + echo "Unsupported version \"${NAME}\". Must be of the format \"vMAJOR.MINOR.PATCH\"." + exit 0 +fi + +PUBLISH_LATEST= +if is_latest "$build_name"; then + PUBLISH_LATEST=true +fi + +# Hard coded release number used only by the RedHat images +rhel_release=1 +rhel_project_id=5e61ea74fe2231a0c2860382 +rhel_registry="quay.io" +rhel_registry_username="redhat-isv-containers+${rhel_project_id}-robot" +rhel_repository="${rhel_registry}/redhat-isv-containers/$rhel_project_id" +dockerhub_repository="cockroachdb/cockroach" + +if ! [[ -z "${DRY_RUN}" ]] ; then + build_name="${build_name}-dryrun" + dockerhub_repository="cockroachdb/cockroach-misc" +fi +tc_end_block "Variable Setup" + +tc_start_block "Configure docker" +echo "${QUAY_REGISTRY_KEY}" | docker login --username $rhel_registry_username --password-stdin $rhel_registry +tc_end_block "Configure docker" + +tc_start_block "Rebuild docker image" +sed \ + -e "s,@repository@,${dockerhub_repository},g" \ + -e "s,@tag@,${build_name},g" \ + build/deploy-redhat/Dockerfile.in > build/deploy-redhat/Dockerfile + +cat build/deploy-redhat/Dockerfile + +docker build --no-cache \ + --pull \ + --label release=$rhel_release \ + --tag="${rhel_repository}:${build_name}" \ + build/deploy-redhat +tc_end_block "Rebuild docker image" + +tc_start_block "Push RedHat docker image" +retry docker push "${rhel_repository}:${build_name}" +tc_end_block "Push RedHat docker image" + +tc_start_block "Tag docker image as latest" +if [[ -n "${PUBLISH_LATEST}" ]]; then + docker tag "${rhel_repository}:${build_name}" "${rhel_repository}:latest" + retry docker push "${rhel_repository}:latest" +else + echo "Not required" +fi +tc_end_block "Tag docker images as latest" + +tc_start_block "Run preflight" +mkdir -p artifacts +docker run \ + --rm \ + --security-opt=label=disable \ + --env PFLT_LOGLEVEL=trace \ + --env PFLT_ARTIFACTS=/artifacts \ + --env PFLT_LOGFILE=/artifacts/preflight.log \ + --env PFLT_CERTIFICATION_PROJECT_ID="$rhel_project_id" \ + --env PFLT_PYXIS_API_TOKEN="$REDHAT_API_TOKEN" \ + --env PFLT_DOCKERCONFIG=/temp-authfile.json \ + --env DOCKER_CONFIG=/tmp/docker \ + -v "$PWD/artifacts:/artifacts" \ + -v ~/.docker/config.json:/temp-authfile.json:ro \ + -v ~/.docker/config.json:/tmp/docker/config.json:ro \ + quay.io/opdev/preflight:stable check container \ + "${rhel_repository}:${build_name}" --submit +tc_end_block "Run preflight" diff --git a/build/teamcity-support.sh b/build/teamcity-support.sh index cfb3aa664213..39b9863b76a1 100755 --- a/build/teamcity-support.sh +++ b/build/teamcity-support.sh @@ -311,10 +311,3 @@ check_workspace_clean() { fi echo "##teamcity[testFinished name='CheckGeneratedCode/$1']" } - -# Check if a given GCS path exists -function check_gcs_path_exists() { - local path=$1 - gsutil ls "$path" &>/dev/null - return -} diff --git a/build/teamcity/cockroach/nightlies/microbenchmark_build_support.sh b/build/teamcity/cockroach/nightlies/microbenchmark_build_support.sh deleted file mode 100755 index 99888e42766d..000000000000 --- a/build/teamcity/cockroach/nightlies/microbenchmark_build_support.sh +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env bash - -set -exuo pipefail - -dir="$(dirname $(dirname $(dirname $(dirname "${0}"))))" -source "$dir/teamcity-support.sh" - -# Set up credentials -google_credentials="$GOOGLE_EPHEMERAL_CREDENTIALS" -log_into_gcloud - -# Build and copy binaries, for the given SHA, to GCS bucket -function build_and_upload_binaries() { - local sha=$1 - archive_name="$sha-${SANITIZED_BENCH_PACKAGE}.tar.gz" - if check_gcs_path_exists "gs://$BENCH_BUCKET/builds/$archive_name"; then - echo "Build for $sha already exists. Skipping..." - return - fi - - config_args="--config=crosslinux --config=ci --crdb_test_off" - bazel clean - go_test_targets=$(bazel query kind\(go_test, //$BENCH_PACKAGE:all\)) - bazel build $config_args $go_test_targets - bazel_bin=$(bazel info bazel-bin $config_args) - stage_dir=$(mktemp -d) - for pkg in $go_test_targets; do - # `pkg` is in the form //path/to/package:test_name - path=$(echo "$pkg" | cut -d ':' -f 1 | cut -c 3-) - test_name=$(echo "$pkg" | cut -d ':' -f 2) - - mkdir -p "$stage_dir/$path/bin" - ln -s "$bazel_bin/$path/${test_name}_/${test_name}.runfiles" "$stage_dir/$path/bin/" - ln -s "$bazel_bin/$path/${test_name}_/${test_name}" "$stage_dir/$path/bin/${test_name}" - - # Create a run script for each package - cat << EOF > "$stage_dir/$path/bin/run.sh" -export RUNFILES_DIR=\$(pwd)/${test_name}.runfiles -export TEST_WORKSPACE=com_github_cockroachdb_cockroach/$path - -find . -maxdepth 1 -type l -delete -ln -f -s ./${test_name}.runfiles/com_github_cockroachdb_cockroach/$path/* . -./${test_name} "\$@" -EOF - chmod +x "$stage_dir/$path/bin/run.sh" - done - - # Create a tarball of the binaries and copy to GCS - out_dir=$(mktemp -d) - tar -chf - -C "$stage_dir" . | ./bin/roachprod-microbench compress > "$out_dir/$archive_name" - rm -rf "$stage_dir" - gsutil -q -m cp "$out_dir/$archive_name" "gs://$BENCH_BUCKET/builds/$archive_name" - rm -rf "$out_dir" -} - -# Build and copy binaries for all passed SHAs -current_sha=$(git rev-parse HEAD) -shas=("$@") -for sha in "${shas[@]}"; do - git checkout "$sha" - build_and_upload_binaries "$sha" -done -git checkout "$current_sha" - - diff --git a/build/teamcity/cockroach/nightlies/microbenchmark_weekly.sh b/build/teamcity/cockroach/nightlies/microbenchmark_weekly.sh index f0611bdb4dc7..ac9a98bf4d35 100755 --- a/build/teamcity/cockroach/nightlies/microbenchmark_weekly.sh +++ b/build/teamcity/cockroach/nightlies/microbenchmark_weekly.sh @@ -1,127 +1,86 @@ #!/usr/bin/env bash # -# This script runs microbenchmarks across a roachprod cluster. It will build microbenchmark binaries -# for the given revisions if they do not already exist in the BENCH_BUCKET. It will then create a -# roachprod cluster, stage the binaries on the cluster, and run the microbenchmarks. -# Parameters (and suggested defaults): -# BENCH_REVISION: revision to build and run benchmarks against (default: master) -# BENCH_COMPARE_REVISION: revision to compare against (default: latest release branch) -# BENCH_BUCKET: GCS bucket to store the built binaries and compare cache (default: cockroach-microbench) -# BENCH_PACKAGE: package to build and run benchmarks against (default: ./pkg/...) -# BENCH_ITERATIONS: number of iterations to run each microbenchmark (default: 10) +# This script runs microbenchmarks across a roachprod cluster. +# Parameters: +# GCS_COMPARE_BINARIES: GCS path to a test binaries archive to compare against. # GCE_NODE_COUNT: number of nodes to use in the roachprod cluster (default: 12) # CLUSTER_LIFETIME: lifetime of the roachprod cluster (default: 24h) -# GCE_MACHINE_TYPE: machine type to use in the roachprod cluster (default: n2-standard-32) -# GCE_ZONE: zone to use in the roachprod cluster (default: us-central-1b) +# GCE_MACHINE_TYPE: machine type to use in the roachprod cluster (default: n1-standard-8) +# GCE_ZONE: zone to use in the roachprod cluster (default: us-east4-c) +# BENCH_PACKAGE: package to build and run benchmarks against (default: ./pkg/...) +# BENCH_ITERATIONS: number of iterations to run each microbenchmark (default: 10) # BENCH_SHELL: command to run before each iteration (default: export COCKROACH_RANDOM_SEED=1) +# SHEET_DESCRIPTION: Adds a description to the name of the published spreadsheets (e.g., "22.2 -> 22.1") # BENCH_TIMEOUT: timeout for each microbenchmark on a function level (default: 20m) # BENCH_EXCLUDE: comma-separated list of benchmarks to exclude (default: none) # BENCH_IGNORE_PACKAGES: comma-separated list of packages to exclude completely from listing and execution (default: none) # TEST_ARGS: additional arguments to pass to the test binary (default: none) +# ROACHPROD_CREATE_ARGS: additional arguments to pass to `roachprod create` (default: none) # MICROBENCH_SLACK_TOKEN: token to use to post to slack (default: none) -# MICROBENCH_INFLUX_HOST: Influx host path to use to push results to InfluxDB (default: none) -# MICROBENCH_INFLUX_TOKEN: auth token to use to push results to InfluxDB (default: none) set -exuo pipefail dir="$(dirname $(dirname $(dirname $(dirname "${0}"))))" -source "$dir/teamcity-support.sh" # For $root -source "$dir/teamcity-bazel-support.sh" # For run_bazel +source "$dir/teamcity-support.sh" output_dir="./artifacts/microbench" -remote_dir="/mnt/data1" -benchmarks_commit=$(git rev-parse HEAD) exit_status=0 # Set up credentials google_credentials="$GOOGLE_EPHEMERAL_CREDENTIALS" log_into_gcloud +generate_ssh_key export GOOGLE_APPLICATION_CREDENTIALS="$PWD/.google-credentials.json" export ROACHPROD_USER=teamcity export ROACHPROD_CLUSTER=teamcity-microbench-${TC_BUILD_ID} -generate_ssh_key - -# Sanatize the package name for use in paths -SANITIZED_BENCH_PACKAGE=${BENCH_PACKAGE//\//-} -export SANITIZED_BENCH_PACKAGE=${SANITIZED_BENCH_PACKAGE/.../all} - -# Build rochprod and roachprod-microbench -run_bazel <<'EOF' -bazel build --config ci --config crosslinux //pkg/cmd/roachprod //pkg/cmd/roachprod-microbench -BAZEL_BIN=$(bazel info bazel-bin --config ci --config crosslinux) -mkdir -p bin -cp $BAZEL_BIN/pkg/cmd/roachprod/roachprod_/roachprod bin -cp $BAZEL_BIN/pkg/cmd/roachprod-microbench/roachprod-microbench_/roachprod-microbench bin -chmod a+w bin/roachprod bin/roachprod-microbench -EOF - -# Check if a string is a valid SHA (otherwise it's a branch name). -is_sha() { - local sha="$1" - [[ "$sha" =~ ^[0-9a-f]{40}$ ]] -} - -# Create arrays for the revisions and their corresponding SHAs. -revisions=("${BENCH_REVISION}" "${BENCH_COMPARE_REVISION}") -declare -a sha_arr -declare -a name_arr -for rev in "${revisions[@]}"; do - git fetch origin "$rev" - if is_sha "$rev"; then - sha="$rev" - name="${sha:0:8}" - else - sha=$(git rev-parse origin/"$rev") - name="$rev (${sha:0:8})" - fi - name_arr+=("$name") - sha_arr+=("$sha") -done -# Check if the baseline cache exists and copy it to the output directory. -baseline_cache_path="gs://$BENCH_BUCKET/cache/$GCE_MACHINE_TYPE/$SANITIZED_BENCH_PACKAGE/${sha_arr[1]}" -declare -a build_sha_arr -build_sha_arr+=("${sha_arr[0]}") -if check_gcs_path_exists "$baseline_cache_path"; then - mkdir -p "$output_dir/baseline" - gsutil -mq cp -r "$baseline_cache_path/*" "$output_dir/baseline" - echo "Baseline cache found for ${name_arr[1]}. Using it for comparison." -else - build_sha_arr+=("${sha_arr[1]}") +# Configure Bazel and dev tooling +bazelOpts=( +"build --config nolintonbuild" +"build --remote_cache=http://127.0.0.1:9867" +"test --test_tmpdir=/tmp/cockroach" +) +printf "%s\n" "${bazelOpts[@]}" > ./.bazelrc.user + +./dev doctor + +# Set docker args for bazel support docker +teamcity_alternates="/home/agent/system/git" +docker_args="--volume=${teamcity_alternates}:${teamcity_alternates}:ro" + +# Build required tooling +./dev build roachprod +./dev build roachprod-microbench + +# Build libgeos and move to lib directory +./dev build libgeos --cross="linux" --docker-args="$docker_args" +mkdir -p ./bin/lib +mv ./artifacts/libgeos* ./bin/lib/ + +# Copy comparison binaries to bin directory if specified +if [[ -n "${GCS_COMPARE_BINARIES}" ]] ; then + bench_compare_binaries="./bin/compare_test_binaries.tar.gz" + gsutil -q cp "$GCS_COMPARE_BINARIES" "$bench_compare_binaries" fi -# Builds binaries for the given SHAs. -BAZEL_SUPPORT_EXTRA_DOCKER_ARGS="-e GOOGLE_EPHEMERAL_CREDENTIALS -e SANITIZED_BENCH_PACKAGE -e BENCH_PACKAGE -e BENCH_BUCKET" \ - run_bazel build/teamcity/cockroach/nightlies/microbenchmark_build_support.sh "${build_sha_arr[@]}" - -# Log into gcloud again (credentials are removed by teamcity-support in the build script) -log_into_gcloud +# Build test binaries +./dev test-binaries "$BENCH_PACKAGE" --docker-args="$docker_args" # Create roachprod cluster -./bin/roachprod create "$ROACHPROD_CLUSTER" -n "$GCE_NODE_COUNT" \ +./bin/roachprod create "$ROACHPROD_CLUSTER" -n "$GCE_NODE_COUNT" $ROACHPROD_CREATE_ARGS \ --lifetime "$CLUSTER_LIFETIME" \ --clouds gce \ --gce-machine-type "$GCE_MACHINE_TYPE" \ --gce-zones="$GCE_ZONE" \ - --gce-managed \ - --gce-use-spot \ - --local-ssd=false \ - --gce-pd-volume-size=384 \ - --os-volume-size=50 + --os-volume-size=128 -# Stage binaries on the cluster -for sha in "${build_sha_arr[@]}"; do - archive_name=${BENCH_PACKAGE//\//-} - archive_name="$sha-${archive_name/.../all}.tar.gz" - ./bin/roachprod-microbench stage --quiet "$ROACHPROD_CLUSTER" "gs://$BENCH_BUCKET/builds/$archive_name" "$remote_dir/$sha" -done # Execute microbenchmarks ./bin/roachprod-microbench run "$ROACHPROD_CLUSTER" \ - --binaries experiment="$remote_dir/${build_sha_arr[0]}" \ - ${build_sha_arr[1]:+--binaries baseline="$remote_dir/${build_sha_arr[1]}"} \ --output-dir="$output_dir" \ --iterations "$BENCH_ITERATIONS" \ + --lib-dir=./bin/lib \ --shell="$BENCH_SHELL" \ + ${bench_compare_binaries:+--compare-binaries="$bench_compare_binaries"} \ ${BENCH_TIMEOUT:+--timeout="$BENCH_TIMEOUT"} \ ${BENCH_EXCLUDE:+--exclude="$BENCH_EXCLUDE"} \ ${BENCH_IGNORE_PACKAGES:+--ignore-package="$BENCH_IGNORE_PACKAGES"} \ @@ -129,55 +88,16 @@ done -- "$TEST_ARGS" \ || exit_status=$? -# Write metadata to a file for each set of benchmarks -declare -A metadata -metadata["run-time"]=$(date -u +"%Y-%m-%dT%H:%M:%SZ") -metadata["baseline-commit"]=${sha_arr[1]} -metadata["benchmarks-commit"]=$benchmarks_commit -metadata["machine"]=$GCE_MACHINE_TYPE -metadata["goarch"]=amd64 -metadata["goos"]=linux -metadata["repository"]=cockroach -echo "" > "$output_dir/baseline/metadata.log" -for key in "${!metadata[@]}"; do - echo "$key": "${metadata[$key]}" >> "$output_dir/baseline/metadata.log" -done - -metadata["experiment-commit"]=${sha_arr[0]} -metadata["experiment-commit-time"]=$(git show -s --format=%cI "${sha_arr[0]}") -for key in "${!metadata[@]}"; do - echo "$key": "${metadata[$key]}" >> "$output_dir/experiment/metadata.log" -done - -# Push baseline to cache if we ran both benchmarks -if [[ ${#build_sha_arr[@]} -gt 1 ]]; then - gsutil -mq cp -r "$output_dir/baseline" "$baseline_cache_path" -fi - -# Push experiment results to cache -experiment_cache_path="gs://$BENCH_BUCKET/cache/$GCE_MACHINE_TYPE/$SANITIZED_BENCH_PACKAGE/${sha_arr[0]}" -gsutil -mq cp -r "$output_dir/experiment" "$experiment_cache_path" - -# Compare the results, if both sets of benchmarks were run. -# These should exist if the benchmarks were run successfully. -if [ -d "$output_dir/experiment" ] && [ "$(ls -A "$output_dir/experiment")" ] \ -&& [ -d "$output_dir/baseline" ] && [ "$(ls -A "$output_dir/baseline")" ]; then - # Set up slack token only if the build was triggered by TeamCity (not a manual run) - if [ -n "${TRIGGERED_BUILD:-}" ]; then - slack_token="${MICROBENCH_SLACK_TOKEN}" - influx_token="${MICROBENCH_INFLUX_TOKEN}" - influx_host="${MICROBENCH_INFLUX_HOST}" +# Generate sheets if comparing +if [[ -n "${GCS_COMPARE_BINARIES}" ]]; then + if [ -d "$output_dir/0" ] && [ "$(ls -A "$output_dir/0")" ] \ + && [ -d "$output_dir/1" ] && [ "$(ls -A "$output_dir/1")" ]; then + ./bin/roachprod-microbench compare "$output_dir/0" "$output_dir/1" \ + ${MICROBENCH_SLACK_TOKEN:+--slack-token="$MICROBENCH_SLACK_TOKEN"} \ + --sheet-desc="$SHEET_DESCRIPTION" 2>&1 | tee "$output_dir/sheets.txt" + else + echo "No microbenchmarks were run. Skipping comparison." fi - # Sheet description is in the form: `baseline` to `experiment` - sheet_description="${name_arr[1]} -> ${name_arr[0]}" - ./bin/roachprod-microbench compare "$output_dir/experiment" "$output_dir/baseline" \ - ${slack_token:+--slack-token="$slack_token"} \ - --sheet-desc="$sheet_description" \ - ${influx_token:+--influx-token="$influx_token"} \ - ${influx_host:+--influx-host="$influx_host"} \ - 2>&1 | tee "$output_dir/sheets.txt" -else - echo "No microbenchmarks were run. Skipping comparison." fi # Exit with the code from roachprod-microbench diff --git a/build/teamcity/cockroach/nightlies/pebble_nightly_common.sh b/build/teamcity/cockroach/nightlies/pebble_nightly_common.sh index 5b4d5de0ab20..72c30028796d 100755 --- a/build/teamcity/cockroach/nightlies/pebble_nightly_common.sh +++ b/build/teamcity/cockroach/nightlies/pebble_nightly_common.sh @@ -33,10 +33,10 @@ cp $BAZEL_BIN/pkg/cmd/roachtest/roachtest_/roachtest bin chmod a+w bin/roachtest # Pull in the latest version of Pebble from upstream. The benchmarks run -# against the tip of the 'master' branch. We do this by `go get`ting the +# against the tip of the 'crl-release-24.1' branch. We do this by `go get`ting the # latest version of the module, and then running `mirror` to update `DEPS.bzl` # accordingly. -bazel run @go_sdk//:bin/go get github.com/cockroachdb/pebble@master +bazel run @go_sdk//:bin/go get github.com/cockroachdb/pebble@crl-release-24.1 NEW_DEPS_BZL_CONTENT=$(bazel run //pkg/cmd/mirror/go:mirror) echo "$NEW_DEPS_BZL_CONTENT" > DEPS.bzl bazel build @com_github_cockroachdb_pebble//cmd/pebble --config ci -c opt diff --git a/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic.sh b/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic.sh index 146b9d09a19f..549791c2d9a7 100755 --- a/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic.sh +++ b/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic.sh @@ -13,10 +13,10 @@ source "$dir/teamcity-bazel-support.sh" # For run_bazel mkdir -p artifacts # Pull in the latest version of Pebble from upstream. The benchmarks run -# against the tip of the 'master' branch. We do this by `go get`ting the +# against the tip of the 'crl-release-24.1' branch. We do this by `go get`ting the # latest version of the module, and then running `mirror` to update `DEPS.bzl` # accordingly. -bazel run @go_sdk//:bin/go get github.com/cockroachdb/pebble@master +bazel run @go_sdk//:bin/go get github.com/cockroachdb/pebble@crl-release-24.1 # Just dump the diff to see what, if anything, has changed. git diff NEW_DEPS_BZL_CONTENT=$(bazel run //pkg/cmd/mirror/go:mirror) diff --git a/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic_crossversion_impl.sh b/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic_crossversion_impl.sh index e99bec16c3b4..ca5e80fbc1d3 100755 --- a/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic_crossversion_impl.sh +++ b/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic_crossversion_impl.sh @@ -34,6 +34,6 @@ $BAZEL_BIN/pkg/cmd/bazci/bazci_/bazci -- \ --test_env TC_SERVER_URL=$TC_SERVER_URL \ --test_timeout=25200 '--test_filter=TestMetaCrossVersion$' \ --define gotags=bazel,invariants \ - --run_under "@com_github_cockroachdb_stress//:stress -bazel -shardable-artifacts 'XML_OUTPUT_FILE=$BAZEL_BIN/pkg/cmd/bazci/bazci_/bazci merge-test-xmls' -maxtime 6h -maxfails 1 -timeout 60m -stderr -p 1" \ + --run_under "@com_github_cockroachdb_stress//:stress -bazel -shardable-artifacts 'XML_OUTPUT_FILE=$BAZEL_BIN/pkg/cmd/bazci/bazci_/bazci merge-test-xmls' -maxtime 6h -maxfails 1 -timeout 20m -stderr -p 1" \ $test_args \ --test_output streamed diff --git a/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic_impl.sh b/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic_impl.sh index b4705955faa6..8a63a1d6b9e8 100755 --- a/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic_impl.sh +++ b/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic_impl.sh @@ -21,7 +21,7 @@ $BAZEL_BIN/pkg/cmd/bazci/bazci_/bazci --formatter=pebble-metamorphic -- test --c --test_env TC_SERVER_URL=$TC_SERVER_URL \ --test_timeout=25200 '--test_filter=TestMeta$' \ --define gotags=bazel,invariants \ - --run_under "@com_github_cockroachdb_stress//:stress -bazel -shardable-artifacts 'XML_OUTPUT_FILE=$BAZEL_BIN/pkg/cmd/bazci/bazci_/bazci merge-test-xmls' -maxtime 6h -maxfails 1 -timeout 60m -stderr -p 1" \ + --run_under "@com_github_cockroachdb_stress//:stress -bazel -shardable-artifacts 'XML_OUTPUT_FILE=$BAZEL_BIN/pkg/cmd/bazci/bazci_/bazci merge-test-xmls' -maxtime 6h -maxfails 1 -timeout 20m -stderr -p 1" \ --test_arg -dir --test_arg $ARTIFACTS_DIR \ --test_arg -ops --test_arg "uniform:5000-10000" \ --test_output streamed \ diff --git a/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic_race.sh b/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic_race.sh index 5bcc52284809..74b2f1afda6d 100755 --- a/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic_race.sh +++ b/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic_race.sh @@ -13,10 +13,10 @@ source "$dir/teamcity-bazel-support.sh" # For run_bazel mkdir -p artifacts # Pull in the latest version of Pebble from upstream. The benchmarks run -# against the tip of the 'master' branch. We do this by `go get`ting the +# against the tip of the 'crl-release-24.1' branch. We do this by `go get`ting the # latest version of the module, and then running `mirror` to update `DEPS.bzl` # accordingly. -bazel run @go_sdk//:bin/go get github.com/cockroachdb/pebble@master +bazel run @go_sdk//:bin/go get github.com/cockroachdb/pebble@crl-release-24.1 # Just dump the diff to see what, if anything, has changed. git diff NEW_DEPS_BZL_CONTENT=$(bazel run //pkg/cmd/mirror/go:mirror) diff --git a/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic_race_impl.sh b/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic_race_impl.sh index fdcc05e4adb1..bb3c1a5bc40b 100755 --- a/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic_race_impl.sh +++ b/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic_race_impl.sh @@ -22,9 +22,9 @@ $BAZEL_BIN/pkg/cmd/bazci/bazci_/bazci --formatter=pebble-metamorphic -- test --c --test_timeout=14400 \ --test_sharding_strategy=disabled \ --define gotags=bazel,invariants \ - --run_under "@com_github_cockroachdb_stress//:stress -bazel -shardable-artifacts 'XML_OUTPUT_FILE=$BAZEL_BIN/pkg/cmd/bazci/bazci_/bazci merge-test-xmls' -maxtime 3h -maxfails 1 -timeout 60m -stderr -p 1" \ + --run_under "@com_github_cockroachdb_stress//:stress -bazel -shardable-artifacts 'XML_OUTPUT_FILE=$BAZEL_BIN/pkg/cmd/bazci/bazci_/bazci merge-test-xmls' -maxtime 3h -maxfails 1 -timeout 30m -stderr -p 1" \ --test_arg -dir --test_arg $ARTIFACTS_DIR \ - --test_arg -ops --test_arg "uniform:2000-5000" \ + --test_arg -ops --test_arg "uniform:5000-10000" \ --test_output streamed \ || exit_status=$? diff --git a/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic_two_instance.sh b/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic_two_instance.sh index 4fa1f914db1a..9d9000eff800 100755 --- a/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic_two_instance.sh +++ b/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic_two_instance.sh @@ -13,10 +13,10 @@ source "$dir/teamcity-bazel-support.sh" # For run_bazel mkdir -p artifacts # Pull in the latest version of Pebble from upstream. The benchmarks run -# against the tip of the 'master' branch. We do this by `go get`ting the +# against the tip of the 'crl-release-24.1' branch. We do this by `go get`ting the # latest version of the module, and then running `mirror` to update `DEPS.bzl` # accordingly. -bazel run @go_sdk//:bin/go get github.com/cockroachdb/pebble@master +bazel run @go_sdk//:bin/go get github.com/cockroachdb/pebble@crl-release-24.1 # Just dump the diff to see what, if anything, has changed. git diff NEW_DEPS_BZL_CONTENT=$(bazel run //pkg/cmd/mirror/go:mirror) diff --git a/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic_two_instance_impl.sh b/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic_two_instance_impl.sh index 5610934d8686..06c5aaf7d57f 100755 --- a/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic_two_instance_impl.sh +++ b/build/teamcity/cockroach/nightlies/pebble_nightly_metamorphic_two_instance_impl.sh @@ -21,7 +21,7 @@ $BAZEL_BIN/pkg/cmd/bazci/bazci_/bazci --formatter=pebble-metamorphic -- test --c --test_env TC_SERVER_URL=$TC_SERVER_URL \ --test_timeout=25200 '--test_filter=TestMetaTwoInstance$' \ --define gotags=bazel,invariants \ - --run_under "@com_github_cockroachdb_stress//:stress -bazel -shardable-artifacts 'XML_OUTPUT_FILE=$BAZEL_BIN/pkg/cmd/bazci/bazci_/bazci merge-test-xmls' -maxtime 3h -maxfails 1 -timeout 60m -stderr -p 1" \ + --run_under "@com_github_cockroachdb_stress//:stress -bazel -shardable-artifacts 'XML_OUTPUT_FILE=$BAZEL_BIN/pkg/cmd/bazci/bazci_/bazci merge-test-xmls' -maxtime 3h -maxfails 1 -timeout 20m -stderr -p 1" \ --test_arg -dir --test_arg $ARTIFACTS_DIR \ --test_arg -ops --test_arg "uniform:5000-10000" \ --test_output streamed \ diff --git a/build/teamcity/cockroach/nightlies/pebble_nightly_race_common.sh b/build/teamcity/cockroach/nightlies/pebble_nightly_race_common.sh index 88b6faf8a4eb..6b3d5cc3d732 100755 --- a/build/teamcity/cockroach/nightlies/pebble_nightly_race_common.sh +++ b/build/teamcity/cockroach/nightlies/pebble_nightly_race_common.sh @@ -33,10 +33,10 @@ cp $BAZEL_BIN/pkg/cmd/roachtest/roachtest_/roachtest bin chmod a+w bin/roachtest # Pull in the latest version of Pebble from upstream. The benchmarks run -# against the tip of the 'master' branch. We do this by `go get`ting the +# against the tip of the 'crl-release-24.1' branch. We do this by `go get`ting the # latest version of the module, and then running `mirror` to update `DEPS.bzl` # accordingly. -bazel run @go_sdk//:bin/go get github.com/cockroachdb/pebble@master +bazel run @go_sdk//:bin/go get github.com/cockroachdb/pebble@crl-release-24.1 NEW_DEPS_BZL_CONTENT=$(bazel run //pkg/cmd/mirror/go:mirror) echo "$NEW_DEPS_BZL_CONTENT" > DEPS.bzl bazel build @com_github_cockroachdb_pebble//cmd/pebble --config race --config ci -c opt diff --git a/build/teamcity/cockroach/nightlies/pebble_nightly_ycsb_race.sh b/build/teamcity/cockroach/nightlies/pebble_nightly_ycsb_race.sh index 6820a7cb83bb..7eb11ba9c595 100755 --- a/build/teamcity/cockroach/nightlies/pebble_nightly_ycsb_race.sh +++ b/build/teamcity/cockroach/nightlies/pebble_nightly_ycsb_race.sh @@ -2,7 +2,7 @@ # # This script runs the Pebble Nightly YCSB A benchmark with the race flag. # It is used to detect data races which may have been introduced to the latest -# Pebble master branch. +# Pebble crl-release-24.1 branch. # # It is run by the Pebble Nightly YCSB A race TeamCity build # configuration. diff --git a/build/teamcity/cockroach/nightlies/roachtest_nightly_aws.sh b/build/teamcity/cockroach/nightlies/roachtest_nightly_aws.sh index 51a557403e29..918622b27a8c 100755 --- a/build/teamcity/cockroach/nightlies/roachtest_nightly_aws.sh +++ b/build/teamcity/cockroach/nightlies/roachtest_nightly_aws.sh @@ -7,5 +7,5 @@ dir="$(dirname $(dirname $(dirname $(dirname "${0}"))))" source "$dir/teamcity-support.sh" # For $root source "$dir/teamcity-bazel-support.sh" # For run_bazel -BAZEL_SUPPORT_EXTRA_DOCKER_ARGS="-e LITERAL_ARTIFACTS_DIR=$root/artifacts -e AWS_ACCESS_KEY_ID -e AWS_ACCESS_KEY_ID_ASSUME_ROLE -e AWS_KMS_KEY_ARN_A -e AWS_KMS_KEY_ARN_B -e AWS_KMS_REGION_A -e AWS_KMS_REGION_B -e AWS_ROLE_ARN -e AWS_SECRET_ACCESS_KEY -e AWS_SECRET_ACCESS_KEY_ASSUME_ROLE -e BUILD_VCS_NUMBER -e CLOUD -e COCKROACH_DEV_LICENSE -e TESTS -e COUNT -e GITHUB_API_TOKEN -e GITHUB_ORG -e GITHUB_REPO -e GOOGLE_EPHEMERAL_CREDENTIALS -e SLACK_TOKEN -e TC_BUILDTYPE_ID -e TC_BUILD_BRANCH -e TC_BUILD_ID -e TC_SERVER_URL -e SELECT_PROBABILITY -e COCKROACH_RANDOM_SEED -e ROACHTEST_ASSERTIONS_ENABLED_SEED -e ROACHTEST_FORCE_RUN_INVALID_RELEASE_BRANCH -e ARM_PROBABILITY -e USE_SPOT -e SELECTIVE_TESTS -e SFUSER -e SFPASSWORD -e SIDE_EYE_API_TOKEN -e COCKROACH_EA_PROBABILITY" \ +BAZEL_SUPPORT_EXTRA_DOCKER_ARGS="-e LITERAL_ARTIFACTS_DIR=$root/artifacts -e AWS_ACCESS_KEY_ID -e AWS_ACCESS_KEY_ID_ASSUME_ROLE -e AWS_KMS_KEY_ARN_A -e AWS_KMS_KEY_ARN_B -e AWS_KMS_REGION_A -e AWS_KMS_REGION_B -e AWS_ROLE_ARN -e AWS_SECRET_ACCESS_KEY -e AWS_SECRET_ACCESS_KEY_ASSUME_ROLE -e BUILD_VCS_NUMBER -e CLOUD -e COCKROACH_DEV_LICENSE -e TESTS -e COUNT -e GITHUB_API_TOKEN -e GITHUB_ORG -e GITHUB_REPO -e GOOGLE_EPHEMERAL_CREDENTIALS -e SLACK_TOKEN -e TC_BUILDTYPE_ID -e TC_BUILD_BRANCH -e TC_BUILD_ID -e TC_SERVER_URL -e SELECT_PROBABILITY -e COCKROACH_RANDOM_SEED -e ROACHTEST_ASSERTIONS_ENABLED_SEED -e ROACHTEST_FORCE_RUN_INVALID_RELEASE_BRANCH -e ARM_PROBABILITY -e USE_SPOT -e SELECTIVE_TESTS -e SFUSER -e SFPASSWORD" \ run_bazel build/teamcity/cockroach/nightlies/roachtest_nightly_impl.sh diff --git a/build/teamcity/cockroach/nightlies/roachtest_nightly_azure.sh b/build/teamcity/cockroach/nightlies/roachtest_nightly_azure.sh index aced8614b022..da931250a290 100755 --- a/build/teamcity/cockroach/nightlies/roachtest_nightly_azure.sh +++ b/build/teamcity/cockroach/nightlies/roachtest_nightly_azure.sh @@ -7,5 +7,5 @@ dir="$(dirname $(dirname $(dirname $(dirname "${0}"))))" source "$dir/teamcity-support.sh" # For $root source "$dir/teamcity-bazel-support.sh" # For run_bazel -BAZEL_SUPPORT_EXTRA_DOCKER_ARGS="-e LITERAL_ARTIFACTS_DIR=$root/artifacts -e AZURE_CLIENT_ID -e AZURE_CLIENT_SECRET -e AZURE_SUBSCRIPTION_ID -e AZURE_TENANT_ID -e BUILD_VCS_NUMBER -e CLOUD -e COCKROACH_DEV_LICENSE -e TESTS -e COUNT -e GITHUB_API_TOKEN -e GITHUB_ORG -e GITHUB_REPO -e GOOGLE_EPHEMERAL_CREDENTIALS -e SLACK_TOKEN -e TC_BUILDTYPE_ID -e TC_BUILD_BRANCH -e TC_BUILD_ID -e TC_SERVER_URL -e SELECT_PROBABILITY -e COCKROACH_RANDOM_SEED -e ROACHTEST_ASSERTIONS_ENABLED_SEED -e ROACHTEST_FORCE_RUN_INVALID_RELEASE_BRANCH -e CLEAR_CLUSTER_CACHE -e USE_SPOT -e SELECTIVE_TESTS -e SFUSER -e SFPASSWORD -e SIDE_EYE_API_TOKEN -e COCKROACH_EA_PROBABILITY" \ +BAZEL_SUPPORT_EXTRA_DOCKER_ARGS="-e LITERAL_ARTIFACTS_DIR=$root/artifacts -e AZURE_CLIENT_ID -e AZURE_CLIENT_SECRET -e AZURE_SUBSCRIPTION_ID -e AZURE_TENANT_ID -e BUILD_VCS_NUMBER -e CLOUD -e COCKROACH_DEV_LICENSE -e TESTS -e COUNT -e GITHUB_API_TOKEN -e GITHUB_ORG -e GITHUB_REPO -e GOOGLE_EPHEMERAL_CREDENTIALS -e SLACK_TOKEN -e TC_BUILDTYPE_ID -e TC_BUILD_BRANCH -e TC_BUILD_ID -e TC_SERVER_URL -e SELECT_PROBABILITY -e COCKROACH_RANDOM_SEED -e ROACHTEST_ASSERTIONS_ENABLED_SEED -e ROACHTEST_FORCE_RUN_INVALID_RELEASE_BRANCH -e CLEAR_CLUSTER_CACHE -e USE_SPOT -e SELECTIVE_TESTS -e SFUSER -e SFPASSWORD" \ run_bazel build/teamcity/cockroach/nightlies/roachtest_nightly_impl.sh diff --git a/build/teamcity/cockroach/nightlies/roachtest_nightly_gce.sh b/build/teamcity/cockroach/nightlies/roachtest_nightly_gce.sh index 7f10eaacb8ad..7e6ddbd3085f 100755 --- a/build/teamcity/cockroach/nightlies/roachtest_nightly_gce.sh +++ b/build/teamcity/cockroach/nightlies/roachtest_nightly_gce.sh @@ -7,5 +7,5 @@ dir="$(dirname $(dirname $(dirname $(dirname "${0}"))))" source "$dir/teamcity-support.sh" # For $root source "$dir/teamcity-bazel-support.sh" # For run_bazel -BAZEL_SUPPORT_EXTRA_DOCKER_ARGS="-e LITERAL_ARTIFACTS_DIR=$root/artifacts -e BUILD_VCS_NUMBER -e CLOUD -e COCKROACH_DEV_LICENSE -e TESTS -e COUNT -e GITHUB_API_TOKEN -e GITHUB_ORG -e GITHUB_REPO -e GOOGLE_EPHEMERAL_CREDENTIALS -e GOOGLE_KMS_KEY_A -e GOOGLE_KMS_KEY_B -e GOOGLE_CREDENTIALS_ASSUME_ROLE -e GOOGLE_SERVICE_ACCOUNT -e SLACK_TOKEN -e TC_BUILDTYPE_ID -e TC_BUILD_BRANCH -e TC_BUILD_ID -e TC_SERVER_URL -e SELECT_PROBABILITY -e COCKROACH_RANDOM_SEED -e ROACHTEST_ASSERTIONS_ENABLED_SEED -e ROACHTEST_FORCE_RUN_INVALID_RELEASE_BRANCH -e GRAFANA_SERVICE_ACCOUNT_JSON -e GRAFANA_SERVICE_ACCOUNT_AUDIENCE -e ARM_PROBABILITY -e USE_SPOT -e SELECTIVE_TESTS -e SFUSER -e SFPASSWORD -e SIDE_EYE_API_TOKEN -e COCKROACH_EA_PROBABILITY" \ +BAZEL_SUPPORT_EXTRA_DOCKER_ARGS="-e LITERAL_ARTIFACTS_DIR=$root/artifacts -e BUILD_VCS_NUMBER -e CLOUD -e COCKROACH_DEV_LICENSE -e TESTS -e COUNT -e GITHUB_API_TOKEN -e GITHUB_ORG -e GITHUB_REPO -e GOOGLE_EPHEMERAL_CREDENTIALS -e GOOGLE_KMS_KEY_A -e GOOGLE_KMS_KEY_B -e GOOGLE_CREDENTIALS_ASSUME_ROLE -e GOOGLE_SERVICE_ACCOUNT -e SLACK_TOKEN -e TC_BUILDTYPE_ID -e TC_BUILD_BRANCH -e TC_BUILD_ID -e TC_SERVER_URL -e SELECT_PROBABILITY -e COCKROACH_RANDOM_SEED -e ROACHTEST_ASSERTIONS_ENABLED_SEED -e ROACHTEST_FORCE_RUN_INVALID_RELEASE_BRANCH -e GRAFANA_SERVICE_ACCOUNT_JSON -e GRAFANA_SERVICE_ACCOUNT_AUDIENCE -e ARM_PROBABILITY -e USE_SPOT -e SELECTIVE_TESTS -e SFUSER -e SFPASSWORD" \ run_bazel build/teamcity/cockroach/nightlies/roachtest_nightly_impl.sh diff --git a/build/teamcity/cockroach/nightlies/roachtest_nightly_impl.sh b/build/teamcity/cockroach/nightlies/roachtest_nightly_impl.sh index c70792f44d95..4bf9246928d3 100755 --- a/build/teamcity/cockroach/nightlies/roachtest_nightly_impl.sh +++ b/build/teamcity/cockroach/nightlies/roachtest_nightly_impl.sh @@ -62,13 +62,12 @@ fi build/teamcity-roachtest-invoke.sh \ --metamorphic-encryption-probability=0.5 \ --metamorphic-arm64-probability="${ARM_PROBABILITY:-0.5}" \ - --metamorphic-cockroach-ea-probability="${COCKROACH_EA_PROBABILITY:-0.2}" \ --select-probability="${select_probability}" \ --use-spot="${USE_SPOT:-auto}" \ --cloud="${CLOUD}" \ --count="${COUNT-1}" \ - --clear-cluster-cache="${CLEAR_CLUSTER_CACHE:-true}" \ --auto-kill-threshold="${AUTO_KILL_THRESHOLD:-0.10}" \ + --clear-cluster-cache="${CLEAR_CLUSTER_CACHE:-true}" \ --parallelism="${PARALLELISM}" \ --cpu-quota="${CPUQUOTA}" \ --cluster-id="${TC_BUILD_ID}" \ @@ -77,5 +76,4 @@ build/teamcity-roachtest-invoke.sh \ --slack-token="${SLACK_TOKEN}" \ --suite nightly \ --selective-tests="${SELECTIVE_TESTS:-true}" \ - --side-eye-token="${SIDE_EYE_API_TOKEN}" \ "${TESTS}" diff --git a/build/teamcity/cockroach/nightlies/roachtest_weekly.sh b/build/teamcity/cockroach/nightlies/roachtest_weekly.sh index 006111f5e611..a8f0a665cf7c 100755 --- a/build/teamcity/cockroach/nightlies/roachtest_weekly.sh +++ b/build/teamcity/cockroach/nightlies/roachtest_weekly.sh @@ -7,5 +7,5 @@ dir="$(dirname $(dirname $(dirname $(dirname "${0}"))))" source "$dir/teamcity-support.sh" # For $root source "$dir/teamcity-bazel-support.sh" # For run_bazel -BAZEL_SUPPORT_EXTRA_DOCKER_ARGS="-e LITERAL_ARTIFACTS_DIR=$root/artifacts -e BUILD_VCS_NUMBER -e CLOUD -e COCKROACH_DEV_LICENSE -e COUNT -e GITHUB_API_TOKEN -e GITHUB_ORG -e GITHUB_REPO -e GOOGLE_EPHEMERAL_CREDENTIALS -e SLACK_TOKEN -e TC_BUILDTYPE_ID -e TC_BUILD_BRANCH -e TC_BUILD_ID -e TC_SERVER_URL -e GRAFANA_SERVICE_ACCOUNT_JSON -e GRAFANA_SERVICE_ACCOUNT_AUDIENCE -e ARM_PROBABILITY -e USE_SPOT -e SIDE_EYE_API_TOKEN" \ +BAZEL_SUPPORT_EXTRA_DOCKER_ARGS="-e LITERAL_ARTIFACTS_DIR=$root/artifacts -e BUILD_VCS_NUMBER -e CLOUD -e COCKROACH_DEV_LICENSE -e COUNT -e GITHUB_API_TOKEN -e GITHUB_ORG -e GITHUB_REPO -e GOOGLE_EPHEMERAL_CREDENTIALS -e SLACK_TOKEN -e TC_BUILDTYPE_ID -e TC_BUILD_BRANCH -e TC_BUILD_ID -e TC_SERVER_URL -e GRAFANA_SERVICE_ACCOUNT_JSON -e GRAFANA_SERVICE_ACCOUNT_AUDIENCE -e ARM_PROBABILITY -e USE_SPOT" \ run_bazel build/teamcity/cockroach/nightlies/roachtest_weekly_impl.sh diff --git a/build/teamcity/cockroach/nightlies/roachtest_weekly_aws.sh b/build/teamcity/cockroach/nightlies/roachtest_weekly_aws.sh index 01fd36af982b..1caa9616770c 100755 --- a/build/teamcity/cockroach/nightlies/roachtest_weekly_aws.sh +++ b/build/teamcity/cockroach/nightlies/roachtest_weekly_aws.sh @@ -7,5 +7,5 @@ dir="$(dirname $(dirname $(dirname $(dirname "${0}"))))" source "$dir/teamcity-support.sh" # For $root source "$dir/teamcity-bazel-support.sh" # For run_bazel -BAZEL_SUPPORT_EXTRA_DOCKER_ARGS="-e LITERAL_ARTIFACTS_DIR=$root/artifacts -e AWS_ACCESS_KEY_ID -e AWS_ACCESS_KEY_ID_ASSUME_ROLE -e AWS_KMS_KEY_ARN_A -e AWS_KMS_KEY_ARN_B -e AWS_KMS_REGION_A -e AWS_KMS_REGION_B -e AWS_ROLE_ARN -e AWS_SECRET_ACCESS_KEY -e AWS_SECRET_ACCESS_KEY_ASSUME_ROLE -e BUILD_VCS_NUMBER -e CLOUD -e COCKROACH_DEV_LICENSE -e TESTS -e COUNT -e GITHUB_API_TOKEN -e GITHUB_ORG -e GITHUB_REPO -e GOOGLE_EPHEMERAL_CREDENTIALS -e SLACK_TOKEN -e TC_BUILDTYPE_ID -e TC_BUILD_BRANCH -e TC_BUILD_ID -e TC_SERVER_URL -e ARM_PROBABILITY -e USE_SPOT -e SIDE_EYE_API_TOKEN" \ +BAZEL_SUPPORT_EXTRA_DOCKER_ARGS="-e LITERAL_ARTIFACTS_DIR=$root/artifacts -e AWS_ACCESS_KEY_ID -e AWS_ACCESS_KEY_ID_ASSUME_ROLE -e AWS_KMS_KEY_ARN_A -e AWS_KMS_KEY_ARN_B -e AWS_KMS_REGION_A -e AWS_KMS_REGION_B -e AWS_ROLE_ARN -e AWS_SECRET_ACCESS_KEY -e AWS_SECRET_ACCESS_KEY_ASSUME_ROLE -e BUILD_VCS_NUMBER -e CLOUD -e COCKROACH_DEV_LICENSE -e TESTS -e COUNT -e GITHUB_API_TOKEN -e GITHUB_ORG -e GITHUB_REPO -e GOOGLE_EPHEMERAL_CREDENTIALS -e SLACK_TOKEN -e TC_BUILDTYPE_ID -e TC_BUILD_BRANCH -e TC_BUILD_ID -e TC_SERVER_URL -e ARM_PROBABILITY -e USE_SPOT" \ run_bazel build/teamcity/cockroach/nightlies/roachtest_weekly_impl.sh diff --git a/build/teamcity/cockroach/nightlies/roachtest_weekly_impl.sh b/build/teamcity/cockroach/nightlies/roachtest_weekly_impl.sh index 7eabac3193d0..2ffee0037d9d 100755 --- a/build/teamcity/cockroach/nightlies/roachtest_weekly_impl.sh +++ b/build/teamcity/cockroach/nightlies/roachtest_weekly_impl.sh @@ -40,5 +40,4 @@ timeout -s INT $((7800*60)) build/teamcity-roachtest-invoke.sh \ --metamorphic-encryption-probability=0.5 \ --metamorphic-arm64-probability="${ARM_PROBABILITY:-0.5}" \ --use-spot="${USE_SPOT:-auto}" \ - --slack-token="${SLACK_TOKEN}" \ - --side-eye-token="${SIDE_EYE_API_TOKEN}" + --slack-token="${SLACK_TOKEN}" diff --git a/build/teamcity/cockroach/nightlies/sqllogic_corpus_nightly_impl.sh b/build/teamcity/cockroach/nightlies/sqllogic_corpus_nightly_impl.sh index 27aa79d3d23d..6aa1bc75d29c 100755 --- a/build/teamcity/cockroach/nightlies/sqllogic_corpus_nightly_impl.sh +++ b/build/teamcity/cockroach/nightlies/sqllogic_corpus_nightly_impl.sh @@ -75,7 +75,7 @@ if [ $exit_status = 0 ]; then fi # Generate a corpus for all mixed version variants -for config in local-mixed-24.1; do +for config in local-mixed-23.2; do $BAZEL_BIN/pkg/cmd/bazci/bazci_/bazci test -- --config=ci \ //pkg/sql/logictest/tests/$config/... \ --test_arg=--declarative-corpus=$ARTIFACTS_DIR/corpus-mixed \ diff --git a/build/teamcity/internal/cockroach/nightlies/private_roachtest_impl.sh b/build/teamcity/internal/cockroach/nightlies/private_roachtest_impl.sh index 27309f497536..c9d8bb0a3442 100755 --- a/build/teamcity/internal/cockroach/nightlies/private_roachtest_impl.sh +++ b/build/teamcity/internal/cockroach/nightlies/private_roachtest_impl.sh @@ -5,9 +5,6 @@ set -exuo pipefail dir="$(dirname $(dirname $(dirname $(dirname $(dirname "${0}")))))" source "$dir/teamcity-support.sh" -if [[ ! -f ~/.ssh/id_rsa.pub ]]; then - ssh-keygen -q -C "private-roachtest-nightly-bazel $(date)" -N "" -f ~/.ssh/id_rsa -fi $root/build/teamcity/cockroach/nightlies/roachtest_compile_bits.sh amd64 diff --git a/build/teamcity/internal/release/process/publish-cockroach-release.sh b/build/teamcity/internal/release/process/publish-cockroach-release.sh new file mode 100755 index 000000000000..238d1c9e33f0 --- /dev/null +++ b/build/teamcity/internal/release/process/publish-cockroach-release.sh @@ -0,0 +1,340 @@ +#!/usr/bin/env bash + +set -euxo pipefail + +dir="$(dirname $(dirname $(dirname $(dirname $(dirname "${0}")))))" +source "$dir/release/teamcity-support.sh" +source "$dir/teamcity-bazel-support.sh" # for run_bazel + +tc_start_block "Variable Setup" + +# Matching the version name regex from within the cockroach code except +# for the `metadata` part at the end because Docker tags don't support +# `+` in the tag name. +# https://github.com/cockroachdb/cockroach/blob/4c6864b44b9044874488cfedee3a31e6b23a6790/pkg/util/version/version.go#L75 +build_name="$(echo "${NAME}" | grep -E -o '^v(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(-[-.0-9A-Za-z]+)?$')" +# ^major ^minor ^patch ^preRelease +version=$(echo ${build_name} | sed -e 's/^v//' | cut -d- -f 1) + +if [[ -z "$build_name" ]] ; then + echo "Invalid NAME \"${NAME}\". Must be of the format \"vMAJOR.MINOR.PATCH(-PRERELEASE)?\"." + exit 1 +fi + +PUBLISH_LATEST= +if is_latest "$build_name"; then + PUBLISH_LATEST=true +fi + +release_branch=$(echo ${build_name} | grep -E -o '^v[0-9]+\.[0-9]+') + +if [[ -z "${DRY_RUN}" ]] ; then + gcs_bucket="cockroach-release-artifacts-prod" + google_credentials="$GOOGLE_COCKROACH_CLOUD_IMAGES_COCKROACHDB_CREDENTIALS" + # export the variable to avoid shell escaping + export gcs_credentials="$GCS_CREDENTIALS_PROD" + if [[ -z "${PRE_RELEASE}" ]] ; then + dockerhub_repository="docker.io/cockroachdb/cockroach" + else + dockerhub_repository="docker.io/cockroachdb/cockroach-unstable" + fi + gcr_repository="us-docker.pkg.dev/cockroach-cloud-images/cockroachdb/cockroach" + # Used for docker login for gcloud + gcr_hostname="us-docker.pkg.dev" + git_repo_for_tag="cockroachdb/cockroach" +else + gcs_bucket="cockroach-release-artifacts-dryrun" + google_credentials="$GOOGLE_COCKROACH_RELEASE_CREDENTIALS" + # export the variable to avoid shell escaping + export gcs_credentials="$GCS_CREDENTIALS_DEV" + dockerhub_repository="docker.io/cockroachdb/cockroach-misc" + gcr_repository="us.gcr.io/cockroach-release/cockroach-test" + gcr_hostname="us.gcr.io" + git_repo_for_tag="cockroachlabs/release-staging" + if [[ -z "$(echo ${build_name} | grep -E -o '^v[0-9]+\.[0-9]+\.[0-9]+$')" ]] ; then + # Using `.` to match how we usually format the pre-release portion of the + # version string using '.' separators. + # ex: v20.2.0-rc.2.dryrun + build_name="${build_name}.dryrun" + else + # Using `-` to put dryrun in the pre-release portion of the version string. + # ex: v20.2.0-dryrun + build_name="${build_name}-dryrun" + fi +fi + +tc_end_block "Variable Setup" + + +tc_start_block "Check remote tag" +github_ssh_key="${GITHUB_COCKROACH_TEAMCITY_PRIVATE_SSH_KEY}" +configure_git_ssh_key +if git_wrapped ls-remote --exit-code --tags "ssh://git@github.com/${git_repo_for_tag}.git" "${build_name}"; then + echo "Tag ${build_name} already exists" + exit 1 +fi +tc_end_block "Check remote tag" + + +tc_start_block "Tag the release" +git tag "${build_name}" +tc_end_block "Tag the release" + + +tc_start_block "Make and publish release artifacts" +# Using publish-provisional-artifacts here is funky. We're directly publishing +# the official binaries, not provisional ones. Legacy naming. To clean up... +BAZEL_SUPPORT_EXTRA_DOCKER_ARGS="-e TC_BUILDTYPE_ID -e TC_BUILD_BRANCH=$build_name -e gcs_credentials -e gcs_bucket=$gcs_bucket" run_bazel << 'EOF' +bazel build --config ci //pkg/cmd/publish-provisional-artifacts +BAZEL_BIN=$(bazel info bazel-bin --config ci) +export google_credentials="$gcs_credentials" +source "build/teamcity-support.sh" # For log_into_gcloud +log_into_gcloud +export GOOGLE_APPLICATION_CREDENTIALS="$PWD/.google-credentials.json" +$BAZEL_BIN/pkg/cmd/publish-provisional-artifacts/publish-provisional-artifacts_/publish-provisional-artifacts -provisional -release --gcs-bucket="$gcs_bucket" --output-directory=artifacts +EOF +tc_end_block "Make and publish release artifacts" + + +tc_start_block "Make and push multiarch docker images" +configure_docker_creds +docker_login_with_google +docker_login + +declare -a gcr_arch_tags +declare -a dockerhub_arch_tags + +for platform_name in amd64 arm64; do + cp --recursive "build/deploy" "build/deploy-${platform_name}" + tar \ + --directory="build/deploy-${platform_name}" \ + --extract \ + --file="artifacts/cockroach-${build_name}.linux-${platform_name}.tgz" \ + --ungzip \ + --ignore-zeros \ + --strip-components=1 + cp --recursive licenses "build/deploy-${platform_name}" + # Move the libs where Dockerfile expects them to be + mv build/deploy-${platform_name}/lib/* build/deploy-${platform_name}/ + rmdir build/deploy-${platform_name}/lib + + dockerhub_arch_tag="${dockerhub_repository}:${platform_name}-${build_name}" + gcr_arch_tag="${gcr_repository}:${platform_name}-${build_name}" + dockerhub_arch_tags+=("$dockerhub_arch_tag") + gcr_arch_tags+=("$gcr_arch_tag") + + # Tag the arch specific images with only one tag per repository. The manifests will reference the tags. + docker build \ + --label version="$version" \ + --no-cache \ + --pull \ + --platform="linux/${platform_name}" \ + --tag="${dockerhub_arch_tag}" \ + --tag="${gcr_arch_tag}" \ + "build/deploy-${platform_name}" + docker push "$gcr_arch_tag" + docker push "$dockerhub_arch_tag" +done + +gcr_tag="${gcr_repository}:${build_name}" +dockerhub_tag="${dockerhub_repository}:${build_name}" +docker manifest rm "${gcr_tag}" || : +docker manifest create "${gcr_tag}" "${gcr_arch_tags[@]}" +docker manifest push "${gcr_tag}" +docker manifest rm "${dockerhub_tag}" || : +docker manifest create "${dockerhub_tag}" "${dockerhub_arch_tags[@]}" +docker manifest push "${dockerhub_tag}" + +docker manifest rm "${dockerhub_repository}:latest" +docker manifest create "${dockerhub_repository}:latest" "${dockerhub_arch_tags[@]}" +docker manifest rm "${dockerhub_repository}:latest-${release_branch}" || : +docker manifest create "${dockerhub_repository}:latest-${release_branch}" "${dockerhub_arch_tags[@]}" +tc_end_block "Make and push multiarch docker images" + + +tc_start_block "Make and push FIPS docker image" +platform_name=amd64-fips +cp --recursive "build/deploy" "build/deploy-${platform_name}" +tar \ + --directory="build/deploy-${platform_name}" \ + --extract \ + --file="artifacts/cockroach-${build_name}.linux-${platform_name}.tgz" \ + --ungzip \ + --ignore-zeros \ + --strip-components=1 +cp --recursive licenses "build/deploy-${platform_name}" +# Move the libs where Dockerfile expects them to be +mv build/deploy-${platform_name}/lib/* build/deploy-${platform_name}/ +rmdir build/deploy-${platform_name}/lib + +dockerhub_tag_fips="${dockerhub_repository}:${build_name}-fips" +gcr_tag_fips="${gcr_repository}:${build_name}-fips" + +# Tag the arch specific images with only one tag per repository. The manifests will reference the tags. +docker build \ + --label version="$version" \ + --no-cache \ + --pull \ + --platform="linux/amd64" \ + --tag="${dockerhub_tag_fips}" \ + --tag="${gcr_tag_fips}" \ + --build-arg fips_enabled=1 \ + "build/deploy-${platform_name}" +docker push "$gcr_tag_fips" +docker push "$dockerhub_tag_fips" +tc_end_block "Make and push FIPS docker image" + + +tc_start_block "Push release tag to GitHub" +configure_git_ssh_key +git_wrapped push "ssh://git@github.com/${git_repo_for_tag}.git" "$build_name" +tc_end_block "Push release tag to GitHub" + + +tc_start_block "Publish binaries and archive as latest-RELEASE_BRANCH" +# example: v20.1-latest +if [[ -z "$PRE_RELEASE" ]]; then + #TODO: implement me! + echo "Pushing latest-RELEASE_BRANCH binaries and archive is not implemented." +else + echo "Pushing latest-RELEASE_BRANCH binaries and archive is not implemented." +fi +tc_end_block "Publish binaries and archive as latest-RELEASE_BRANCH" + + +tc_start_block "Publish binaries and archive as latest" +# Only push the "latest" for our most recent release branch. +# https://github.com/cockroachdb/cockroach/issues/41067 +if [[ -n "${PUBLISH_LATEST}" && -z "${PRE_RELEASE}" ]]; then + BAZEL_SUPPORT_EXTRA_DOCKER_ARGS="-e TC_BUILDTYPE_ID -e TC_BUILD_BRANCH=$build_name -e gcs_credentials -e gcs_bucket=$gcs_bucket" run_bazel << 'EOF' +bazel build --config ci //pkg/cmd/publish-provisional-artifacts +BAZEL_BIN=$(bazel info bazel-bin --config ci) +export google_credentials="$gcs_credentials" +source "build/teamcity-support.sh" # For log_into_gcloud +log_into_gcloud +export GOOGLE_APPLICATION_CREDENTIALS="$PWD/.google-credentials.json" +$BAZEL_BIN/pkg/cmd/publish-provisional-artifacts/publish-provisional-artifacts_/publish-provisional-artifacts -bless -release --gcs-bucket="$gcs_bucket" +EOF + +else + echo "The latest binaries and archive were _not_ updated." +fi +tc_end_block "Publish binaries and archive as latest" + + +tc_start_block "Tag docker image as latest-RELEASE_BRANCH" +if [[ -z "$PRE_RELEASE" ]]; then + docker manifest push "${dockerhub_repository}:latest-${release_branch}" +else + echo "The ${dockerhub_repository}:latest-${release_branch} docker image tags were _not_ pushed." +fi +tc_end_block "Tag docker images as latest-RELEASE_BRANCH" + + +tc_start_block "Tag docker images as latest" +# Only push the "latest" tag for our most recent release branch and for the +# latest unstable release +# https://github.com/cockroachdb/cockroach/issues/41067 +# https://github.com/cockroachdb/cockroach/issues/48309 +if [[ -n "${PUBLISH_LATEST}" || -n "${PRE_RELEASE}" ]]; then + docker manifest push "${dockerhub_repository}:latest" +else + echo "The ${dockerhub_repository}:latest docker image tags were _not_ pushed." +fi +tc_end_block "Tag docker images as latest" + + +tc_start_block "Verify docker images" + +images=( + "${dockerhub_tag}" + "${gcr_tag}" +) +if [[ -z "$PRE_RELEASE" ]]; then + images+=("${dockerhub_repository}:latest-${release_branch}") +fi +if [[ -n "${PUBLISH_LATEST}" || -n "${PRE_RELEASE}" ]]; then + images+=("${dockerhub_repository}:latest") +fi + +error=0 + +for img in "${images[@]}"; do + for platform_name in amd64 arm64; do + docker rmi "$img" || true + docker pull --platform="linux/${platform_name}" "$img" + output=$(docker run --platform="linux/${platform_name}" "$img" version) + build_type=$(grep "^Build Type:" <<< "$output" | cut -d: -f2 | sed 's/ //g') + sha=$(grep "^Build Commit ID:" <<< "$output" | cut -d: -f2 | sed 's/ //g') + build_tag=$(grep "^Build Tag:" <<< "$output" | cut -d: -f2 | sed 's/ //g') + + # Build Type should always be "release" + if [ "$build_type" != "release" ]; then + echo "ERROR: Release type mismatch, expected 'release', got '$build_type'" + error=1 + fi + if [ "$sha" != "$BUILD_VCS_NUMBER" ]; then + echo "ERROR: SHA mismatch, expected '$BUILD_VCS_NUMBER', got '$sha'" + error=1 + fi + if [ "$build_tag" != "$build_name" ]; then + echo "ERROR: Build tag mismatch, expected '$build_name', got '$build_tag'" + error=1 + fi + + build_tag_output=$(docker run --platform="linux/${platform_name}" "$img" version --build-tag) + if [ "$build_tag_output" != "$build_name" ]; then + echo "ERROR: Build tag from 'cockroach version --build-tag' mismatch, expected '$build_name', got '$build_tag_output'" + error=1 + fi + done +done + +images=( + "${dockerhub_tag_fips}" + "${gcr_tag_fips}" +) +for img in "${images[@]}"; do + docker rmi "$img" || true + docker pull --platform="linux/amd64" "$img" + output=$(docker run --platform="linux/amd64" "$img" version) + build_type=$(grep "^Build Type:" <<< "$output" | cut -d: -f2 | sed 's/ //g') + sha=$(grep "^Build Commit ID:" <<< "$output" | cut -d: -f2 | sed 's/ //g') + build_tag=$(grep "^Build Tag:" <<< "$output" | cut -d: -f2 | sed 's/ //g') + go_version=$(grep "^Go Version:" <<< "$output" | cut -d: -f2 | sed 's/ //g') + + # Build Type should always be "release" + if [ "$build_type" != "release" ]; then + echo "ERROR: Release type mismatch, expected 'release', got '$build_type'" + error=1 + fi + if [ "$sha" != "$BUILD_VCS_NUMBER" ]; then + echo "ERROR: SHA mismatch, expected '$BUILD_VCS_NUMBER', got '$sha'" + error=1 + fi + if [ "$build_tag" != "$build_name" ]; then + echo "ERROR: Build tag mismatch, expected '$build_name', got '$build_tag'" + error=1 + fi + if [[ "$go_version" != *"fips" ]]; then + echo "ERROR: Go version '$go_version' does not contain 'fips'" + error=1 + fi + build_tag_output=$(docker run --platform="linux/amd64" "$img" version --build-tag) + if [ "$build_tag_output" != "$build_name" ]; then + echo "ERROR: Build tag from 'cockroach version --build-tag' mismatch, expected '$build_name', got '$build_tag_output'" + error=1 + fi + openssl_version_output=$(docker run --platform="linux/amd64" "$img" shell -c "openssl version -f") + if [[ $openssl_version_output != *"FIPS_VERSION"* ]]; then + echo "ERROR: openssl version '$openssl_version_outpu' does not contain 'FIPS_VERSION'" + error=1 + fi +done + +if [ $error = 1 ]; then + echo "ERROR: Docker image verification failed, see logs above" + exit 1 +fi + +tc_end_block "Verify docker images" diff --git a/build/toolchains/BUILD.bazel b/build/toolchains/BUILD.bazel index 0b3bcaf8d44c..78eb735efd07 100644 --- a/build/toolchains/BUILD.bazel +++ b/build/toolchains/BUILD.bazel @@ -32,7 +32,7 @@ platform( "@platforms//cpu:x86_64", ], exec_properties = { - "container-image": "docker://us-east1-docker.pkg.dev/crl-ci-images/cockroach/bazel@sha256:1244a0ff14aed92470cfc02c20a9483171da5872b424d94844cbebf9a1e7364a", + "container-image": "docker://us-east1-docker.pkg.dev/crl-ci-images/cockroach/bazel@sha256:1277dc9c759382ec85c06af78c2ce6f84db2e19de1a364e0a76fbf4bc6853a24", "dockerReuse": "True", "Pool": "default", }, @@ -137,7 +137,7 @@ platform( "@platforms//cpu:arm64", ], exec_properties = { - "container-image": "docker://us-east1-docker.pkg.dev/crl-ci-images/cockroach/bazel@sha256:03e760315b966b32c5ca195927fe4a2a1c262f448089a5728b740696e7f881eb", + "container-image": "docker://us-east1-docker.pkg.dev/crl-ci-images/cockroach/bazel@sha256:2ff9afdff2e838b218c8b4e80c5c1f398dc25674ba238a7bbf8364040b02fb0a", "dockerReuse": "True", "Pool": "default", }, diff --git a/build/variables.mk b/build/variables.mk new file mode 100644 index 000000000000..687569970b39 --- /dev/null +++ b/build/variables.mk @@ -0,0 +1,154 @@ +# Code generated by Make. DO NOT EDIT. +# GENERATED FILE DO NOT EDIT +define VALID_VARS + ACCEPTANCETIMEOUT + ANTITHESIS + BASE_CGO_FLAGS_FILES + BENCHES + BENCHTIMEOUT + BUILDINFO + BUILDINFO_TAG + BUILDTARGET + BUILDTYPE + BUILD_DIR + BUILD_TAGGED_RELEASE + CFLAGS + CGO_CFLAGS + CGO_CXXFLAGS + CGO_FLAGS_FILES + CGO_LDFLAGS + CGO_PKGS + CGO_SUFFIXED_FLAGS_FILES + CGO_UNSUFFIXED_FLAGS_FILES + CLEANUP_TARGETS + CLUSTER + CLUSTER_UI_JS + COCKROACH + COCKROACHOSS + COCKROACHSHORT + COCKROACHSQL + COREOS_PATH + CXXFLAGS + C_DEPS_DIR + C_LIBS_CCL + C_LIBS_COMMON + C_LIBS_DYNAMIC + C_LIBS_OSS + C_LIBS_SHORT + DESTDIR + DOCGEN_TARGETS + DUPLFLAGS + DYN_EXT + DYN_LIB_DIR + ERRORS_PATH + ERRORS_PROTO + ESLINT_PLUGIN_CRDB + EVENTLOG_PROTOS + EVENTPBGEN_PKG + EVENTPB_PROTOS + EXECGEN_TARGETS + EXTRA_XCMAKE_FLAGS + EXTRA_XCONFIGURE_FLAGS + FILES + FIND_RELEVANT + GENERATED_TARGETS + GEOS_DIR + GEOS_NATIVE_LIB_DIR + GEOS_SRC_DIR + GITHOOKS + GITHOOKSDIR + GIT_DIR + GO + GOEXE + GOFLAGS + GOGOPROTO_PROTO + GOGO_PROTOBUF_PATH + GOPATH + GORACE + GOTESTFLAGS + GO_ENV_CC + GO_ENV_CXX + GO_INSTALL + GO_PROTOS + GO_SOURCES + GRPC_GATEWAY_GOOGLEAPIS_PACKAGE + GRPC_GATEWAY_GOOGLEAPIS_PATH + GW_PROTOS + GW_SERVER_PROTOS + GW_SOURCES + GW_TS_PROTOS + HOST_TRIPLE + IGNORE_GOVERS + INSTALL + INSTRUMENTATION_TMP + INSTRUMENTOR_BIN + INSTRUMENTOR_EXCLUDE_VENDOR + JEMALLOC_DIR + JEMALLOC_SRC_DIR + JS_PROTOS_CCL + KRB_CPPFLAGS + KRB_DIR + LC_ALL + LDFLAGS + LIBGEOS + LIBJEMALLOC + LIBPROJ + LINTTIMEOUT + LOGSINKDOC_DEP + LOG_TARGETS + MACOSX_DEPLOYMENT_TARGET + MAKECMDGOALS + MAKEFLAGS + MAKE_TERMERR + NCPUS + NODE_RUN + OPTGEN_TARGETS + PATH + PBJS + PBTS + PKG + PORT + PREREQS + PROJ_DIR + PROJ_SRC_DIR + PROMETHEUS_PATH + PROTOBUF_TARGETS + PROTO_MAPPINGS + RACETIMEOUT + SETTINGS_DOC_PAGES + SHELL + SQLPARSER_TARGETS + STARTFLAGS + STRESSFLAGS + STYLINT + SUBTESTS + SUFFIX + TAGS + TAR + TARGET + TARGET_TRIPLE + TAR_XFORM_FLAG + TESTCONFIG + TESTFLAGS + TESTS + TESTTIMEOUT + TSC + TYPE + TZ + UI_JS_CCL + UI_JS_OSS + UI_PROTOS_CCL + UI_PROTOS_OSS + UI_TS_CCL + UI_TS_OSS + UNAME + VERBOSE + WEBPACK + WEBPACK_DEV_SERVER + XCC + XCMAKE_SYSTEM_NAME + XCXX + XGOARCH + XGOOS + prefix +endef diff --git a/build/werror.sh b/build/werror.sh new file mode 100755 index 000000000000..aaf39b32d3c0 --- /dev/null +++ b/build/werror.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +# werror.sh promotes warnings produced by a command to fatal errors, just like +# GCC's -Werror flag. +# +# More formally, `werror.sh COMMAND [ARGS...]` invokes COMMAND with the +# specified ARGS. If any output is produced on stdout or stderr, werror.sh +# prints both streams to stderr and exits with a failing exit code. Otherwise, +# werror.sh exits with the exit code of COMMAND. +# +# werror.sh is a blunt instrument and does not attempt to distinguish between +# output that represents a warning and output that does not. Prefer to use a +# -Werror flag if available. + +output=$("$@" 2>&1) +exit_code=$? +if [[ "$output" ]]; then + echo "$output" >&2 + echo "fatal: treating warnings from $(basename $1) as errors" + exit 1 +fi +exit "$exit_code" diff --git a/cloud/kubernetes/bring-your-own-certs/client.yaml b/cloud/kubernetes/bring-your-own-certs/client.yaml index c7e16770fd74..457329595494 100644 --- a/cloud/kubernetes/bring-your-own-certs/client.yaml +++ b/cloud/kubernetes/bring-your-own-certs/client.yaml @@ -20,7 +20,7 @@ spec: serviceAccountName: cockroachdb containers: - name: cockroachdb-client - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 # Keep a pod open indefinitely so kubectl exec can be used to get a shell to it # and run cockroach client commands, such as cockroach sql, cockroach node status, etc. command: diff --git a/cloud/kubernetes/bring-your-own-certs/cockroachdb-statefulset.yaml b/cloud/kubernetes/bring-your-own-certs/cockroachdb-statefulset.yaml index 5007a1b99e5c..5dfdf59ed315 100644 --- a/cloud/kubernetes/bring-your-own-certs/cockroachdb-statefulset.yaml +++ b/cloud/kubernetes/bring-your-own-certs/cockroachdb-statefulset.yaml @@ -153,7 +153,7 @@ spec: topologyKey: kubernetes.io/hostname containers: - name: cockroachdb - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 imagePullPolicy: IfNotPresent # TODO: Change these to appropriate values for the hardware that you're running. You can see # the resources that can be allocated on each of your Kubernetes nodes by running: diff --git a/cloud/kubernetes/client-secure.yaml b/cloud/kubernetes/client-secure.yaml index f61d732f29a2..a0b5042347cd 100644 --- a/cloud/kubernetes/client-secure.yaml +++ b/cloud/kubernetes/client-secure.yaml @@ -32,7 +32,7 @@ spec: mountPath: /cockroach-certs containers: - name: cockroachdb-client - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 imagePullPolicy: IfNotPresent volumeMounts: - name: client-certs diff --git a/cloud/kubernetes/cluster-init-secure.yaml b/cloud/kubernetes/cluster-init-secure.yaml index 0038e270d6af..e02823d73682 100644 --- a/cloud/kubernetes/cluster-init-secure.yaml +++ b/cloud/kubernetes/cluster-init-secure.yaml @@ -34,7 +34,7 @@ spec: mountPath: /cockroach-certs containers: - name: cluster-init - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 imagePullPolicy: IfNotPresent volumeMounts: - name: client-certs diff --git a/cloud/kubernetes/cluster-init.yaml b/cloud/kubernetes/cluster-init.yaml index 53cd2a296507..545fa320256c 100644 --- a/cloud/kubernetes/cluster-init.yaml +++ b/cloud/kubernetes/cluster-init.yaml @@ -10,7 +10,7 @@ spec: spec: containers: - name: cluster-init - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 imagePullPolicy: IfNotPresent command: - "/cockroach/cockroach" diff --git a/cloud/kubernetes/cockroachdb-statefulset-secure.yaml b/cloud/kubernetes/cockroachdb-statefulset-secure.yaml index d036db12ebcf..d1a449570d55 100644 --- a/cloud/kubernetes/cockroachdb-statefulset-secure.yaml +++ b/cloud/kubernetes/cockroachdb-statefulset-secure.yaml @@ -195,7 +195,7 @@ spec: topologyKey: kubernetes.io/hostname containers: - name: cockroachdb - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 imagePullPolicy: IfNotPresent # TODO: Change these to appropriate values for the hardware that you're running. You can see # the resources that can be allocated on each of your Kubernetes nodes by running: diff --git a/cloud/kubernetes/cockroachdb-statefulset.yaml b/cloud/kubernetes/cockroachdb-statefulset.yaml index 8c17fda1c02f..411faafbb48c 100644 --- a/cloud/kubernetes/cockroachdb-statefulset.yaml +++ b/cloud/kubernetes/cockroachdb-statefulset.yaml @@ -98,7 +98,7 @@ spec: topologyKey: kubernetes.io/hostname containers: - name: cockroachdb - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 imagePullPolicy: IfNotPresent # TODO: Change these to appropriate values for the hardware that you're running. You can see # the resources that can be allocated on each of your Kubernetes nodes by running: diff --git a/cloud/kubernetes/multiregion/client-secure.yaml b/cloud/kubernetes/multiregion/client-secure.yaml index 47d6cf855516..cd98c2cd2ec5 100644 --- a/cloud/kubernetes/multiregion/client-secure.yaml +++ b/cloud/kubernetes/multiregion/client-secure.yaml @@ -9,7 +9,7 @@ spec: serviceAccountName: cockroachdb containers: - name: cockroachdb-client - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 imagePullPolicy: IfNotPresent volumeMounts: - name: client-certs diff --git a/cloud/kubernetes/multiregion/cluster-init-secure.yaml b/cloud/kubernetes/multiregion/cluster-init-secure.yaml index c30dcaf1ba91..e994eb15b451 100644 --- a/cloud/kubernetes/multiregion/cluster-init-secure.yaml +++ b/cloud/kubernetes/multiregion/cluster-init-secure.yaml @@ -11,7 +11,7 @@ spec: serviceAccountName: cockroachdb containers: - name: cluster-init - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 imagePullPolicy: IfNotPresent volumeMounts: - name: client-certs diff --git a/cloud/kubernetes/multiregion/cockroachdb-statefulset-secure.yaml b/cloud/kubernetes/multiregion/cockroachdb-statefulset-secure.yaml index 244dcfaea3b9..0ce5bebdd04c 100644 --- a/cloud/kubernetes/multiregion/cockroachdb-statefulset-secure.yaml +++ b/cloud/kubernetes/multiregion/cockroachdb-statefulset-secure.yaml @@ -167,7 +167,7 @@ spec: topologyKey: kubernetes.io/hostname containers: - name: cockroachdb - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 imagePullPolicy: IfNotPresent ports: - containerPort: 26257 diff --git a/cloud/kubernetes/multiregion/eks/cockroachdb-statefulset-secure-eks.yaml b/cloud/kubernetes/multiregion/eks/cockroachdb-statefulset-secure-eks.yaml index c65b0337bbb2..8c2ffd59a2b1 100644 --- a/cloud/kubernetes/multiregion/eks/cockroachdb-statefulset-secure-eks.yaml +++ b/cloud/kubernetes/multiregion/eks/cockroachdb-statefulset-secure-eks.yaml @@ -185,7 +185,7 @@ spec: name: cockroach-env containers: - name: cockroachdb - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 imagePullPolicy: IfNotPresent # TODO: Change these to appropriate values for the hardware that you're running. You can see # the resources that can be allocated on each of your Kubernetes nodes by running: diff --git a/cloud/kubernetes/performance/cockroachdb-daemonset-insecure.yaml b/cloud/kubernetes/performance/cockroachdb-daemonset-insecure.yaml index 8d5429e4a933..fd65aec0ef68 100644 --- a/cloud/kubernetes/performance/cockroachdb-daemonset-insecure.yaml +++ b/cloud/kubernetes/performance/cockroachdb-daemonset-insecure.yaml @@ -82,7 +82,7 @@ spec: hostNetwork: true containers: - name: cockroachdb - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 imagePullPolicy: IfNotPresent # TODO: If you configured taints to give CockroachDB exclusive access to nodes, feel free # to remove the requests and limits sections. If you didn't, you'll need to change these to diff --git a/cloud/kubernetes/performance/cockroachdb-daemonset-secure.yaml b/cloud/kubernetes/performance/cockroachdb-daemonset-secure.yaml index 89c8b3b86eee..7275c30dd7d9 100644 --- a/cloud/kubernetes/performance/cockroachdb-daemonset-secure.yaml +++ b/cloud/kubernetes/performance/cockroachdb-daemonset-secure.yaml @@ -198,7 +198,7 @@ spec: topologyKey: kubernetes.io/hostname containers: - name: cockroachdb - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 imagePullPolicy: IfNotPresent # TODO: If you configured taints to give CockroachDB exclusive access to nodes, feel free # to remove the requests and limits sections. If you didn't, you'll need to change these to diff --git a/cloud/kubernetes/performance/cockroachdb-statefulset-insecure.yaml b/cloud/kubernetes/performance/cockroachdb-statefulset-insecure.yaml index cdd165498a47..493d0c26c167 100644 --- a/cloud/kubernetes/performance/cockroachdb-statefulset-insecure.yaml +++ b/cloud/kubernetes/performance/cockroachdb-statefulset-insecure.yaml @@ -141,7 +141,7 @@ spec: - name: cockroachdb # NOTE: Always use the most recent version of CockroachDB for the best # performance and reliability. - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 imagePullPolicy: IfNotPresent # TODO: Change these to appropriate values for the hardware that you're running. You can see # the resources that can be allocated on each of your Kubernetes nodes by running: diff --git a/cloud/kubernetes/performance/cockroachdb-statefulset-secure.yaml b/cloud/kubernetes/performance/cockroachdb-statefulset-secure.yaml index dd0606ecefb0..0bef4d521245 100644 --- a/cloud/kubernetes/performance/cockroachdb-statefulset-secure.yaml +++ b/cloud/kubernetes/performance/cockroachdb-statefulset-secure.yaml @@ -232,7 +232,7 @@ spec: - name: cockroachdb # NOTE: Always use the most recent version of CockroachDB for the best # performance and reliability. - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 imagePullPolicy: IfNotPresent # TODO: Change these to appropriate values for the hardware that you're running. You can see # the resources that can be allocated on each of your Kubernetes nodes by running: diff --git a/cloud/kubernetes/v1.6/client-secure.yaml b/cloud/kubernetes/v1.6/client-secure.yaml index 4a945b0c0173..36ff246a369f 100644 --- a/cloud/kubernetes/v1.6/client-secure.yaml +++ b/cloud/kubernetes/v1.6/client-secure.yaml @@ -32,7 +32,7 @@ spec: mountPath: /cockroach-certs containers: - name: cockroachdb-client - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 imagePullPolicy: IfNotPresent volumeMounts: - name: client-certs diff --git a/cloud/kubernetes/v1.6/cluster-init-secure.yaml b/cloud/kubernetes/v1.6/cluster-init-secure.yaml index f4fa77872de6..1313e3f86ca1 100644 --- a/cloud/kubernetes/v1.6/cluster-init-secure.yaml +++ b/cloud/kubernetes/v1.6/cluster-init-secure.yaml @@ -34,7 +34,7 @@ spec: mountPath: /cockroach-certs containers: - name: cluster-init - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 imagePullPolicy: IfNotPresent volumeMounts: - name: client-certs diff --git a/cloud/kubernetes/v1.6/cluster-init.yaml b/cloud/kubernetes/v1.6/cluster-init.yaml index 30e3349eee9c..0e6f028b1040 100644 --- a/cloud/kubernetes/v1.6/cluster-init.yaml +++ b/cloud/kubernetes/v1.6/cluster-init.yaml @@ -10,7 +10,7 @@ spec: spec: containers: - name: cluster-init - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 imagePullPolicy: IfNotPresent command: - "/cockroach/cockroach" diff --git a/cloud/kubernetes/v1.6/cockroachdb-statefulset-secure.yaml b/cloud/kubernetes/v1.6/cockroachdb-statefulset-secure.yaml index 07cace7a1182..8321028d9e07 100644 --- a/cloud/kubernetes/v1.6/cockroachdb-statefulset-secure.yaml +++ b/cloud/kubernetes/v1.6/cockroachdb-statefulset-secure.yaml @@ -178,7 +178,7 @@ spec: topologyKey: kubernetes.io/hostname containers: - name: cockroachdb - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 imagePullPolicy: IfNotPresent ports: - containerPort: 26257 diff --git a/cloud/kubernetes/v1.6/cockroachdb-statefulset.yaml b/cloud/kubernetes/v1.6/cockroachdb-statefulset.yaml index 876c1e50f352..1610e2cdc627 100644 --- a/cloud/kubernetes/v1.6/cockroachdb-statefulset.yaml +++ b/cloud/kubernetes/v1.6/cockroachdb-statefulset.yaml @@ -81,7 +81,7 @@ spec: topologyKey: kubernetes.io/hostname containers: - name: cockroachdb - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 imagePullPolicy: IfNotPresent ports: - containerPort: 26257 diff --git a/cloud/kubernetes/v1.7/client-secure.yaml b/cloud/kubernetes/v1.7/client-secure.yaml index 99e7424be89b..524b8b9cbdaf 100644 --- a/cloud/kubernetes/v1.7/client-secure.yaml +++ b/cloud/kubernetes/v1.7/client-secure.yaml @@ -32,7 +32,7 @@ spec: mountPath: /cockroach-certs containers: - name: cockroachdb-client - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 imagePullPolicy: IfNotPresent volumeMounts: - name: client-certs diff --git a/cloud/kubernetes/v1.7/cluster-init-secure.yaml b/cloud/kubernetes/v1.7/cluster-init-secure.yaml index 84dac4f4bcd0..d6eee82b3000 100644 --- a/cloud/kubernetes/v1.7/cluster-init-secure.yaml +++ b/cloud/kubernetes/v1.7/cluster-init-secure.yaml @@ -34,7 +34,7 @@ spec: mountPath: /cockroach-certs containers: - name: cluster-init - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 imagePullPolicy: IfNotPresent volumeMounts: - name: client-certs diff --git a/cloud/kubernetes/v1.7/cluster-init.yaml b/cloud/kubernetes/v1.7/cluster-init.yaml index da47ba6ae1c6..47fdea60f8ee 100644 --- a/cloud/kubernetes/v1.7/cluster-init.yaml +++ b/cloud/kubernetes/v1.7/cluster-init.yaml @@ -10,7 +10,7 @@ spec: spec: containers: - name: cluster-init - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 imagePullPolicy: IfNotPresent command: - "/cockroach/cockroach" diff --git a/cloud/kubernetes/v1.7/cockroachdb-statefulset-secure.yaml b/cloud/kubernetes/v1.7/cockroachdb-statefulset-secure.yaml index be6b5e6f3fdc..d747d5039300 100644 --- a/cloud/kubernetes/v1.7/cockroachdb-statefulset-secure.yaml +++ b/cloud/kubernetes/v1.7/cockroachdb-statefulset-secure.yaml @@ -190,7 +190,7 @@ spec: topologyKey: kubernetes.io/hostname containers: - name: cockroachdb - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 imagePullPolicy: IfNotPresent ports: - containerPort: 26257 diff --git a/cloud/kubernetes/v1.7/cockroachdb-statefulset.yaml b/cloud/kubernetes/v1.7/cockroachdb-statefulset.yaml index 7b92c6e43170..54e1f15e4f3d 100644 --- a/cloud/kubernetes/v1.7/cockroachdb-statefulset.yaml +++ b/cloud/kubernetes/v1.7/cockroachdb-statefulset.yaml @@ -93,7 +93,7 @@ spec: topologyKey: kubernetes.io/hostname containers: - name: cockroachdb - image: cockroachdb/cockroach:v24.2.0 + image: cockroachdb/cockroach:v23.2.3 imagePullPolicy: IfNotPresent ports: - containerPort: 26257 diff --git a/dev b/dev index d368e5e8b777..794155003acd 100755 --- a/dev +++ b/dev @@ -8,7 +8,7 @@ fi set -euo pipefail # Bump this counter to force rebuilding `dev` on all machines. -DEV_VERSION=100 +DEV_VERSION=99 THIS_DIR=$(cd "$(dirname "$0")" && pwd) BINARY_DIR=$THIS_DIR/bin/dev-versions diff --git a/docs/RFCS/20220608_split_jobs_system_tables.md b/docs/RFCS/20220608_split_jobs_system_tables.md deleted file mode 100644 index 077de3259519..000000000000 --- a/docs/RFCS/20220608_split_jobs_system_tables.md +++ /dev/null @@ -1,464 +0,0 @@ -- Feature Name: Splitting Up the Jobs System Tables -- Status: draft -- Start Date: 2022-06-08 -- Authors: David Taylor, Steven Danna, Yevgeniy Miretskiy -- RFC PR: #82638 -- Cockroach Issue: #122687 and others. - -## Summary - -The background job execution framework within CockroachDB currently stores its state and the state -of the jobs it runs in columns of the `system.jobs` table. - -This design has led to numerous operational problems in customer clusters, mostly stemming from -transaction contention and MVCC garbage accumulation in this single table that is serving multiple -needs. Replacing this single table with separate tables, each serving a more narrowly scoped -purpose, should significantly improve both the performance and reliability of the jobs system, -remove some scale limits, and add new capabilities. - -## Motivation - -Currently the jobs API allows using transactions to create and interact with a job, including when -the job itself wants to interact with its persisted job state. The transactional aspect of the Jobs -API is vital to some clients of the jobs system, such as schema changes which depend on -transactional job creation. However this choice has also introduced problems. The jobs system itself -relies on scanning the jobs table to show what jobs are currently running, to find jobs which need -to start running, and to find those which are running but need to be paused or cancelled. Further, -it is critically important that an operator facing a production incident be able to inspect what -jobs are running and pause or cancel one if it is suspected of being the cause of problems. However -today, those actions can be blocked by any job that has a slow or frequent transaction that has -locked one or more rows in the jobs table. - -The jobs system and its associated operator-facing tools should be resilient to the behaviour of any -individual job, but it is not today, and this has caused and continues to cause numerous production -issues. - -To avoid such contention related issues, as well as other issues such as excessive MVCC garbage, -many jobs end up electing to store less state or updating it less often than they would like. Such -jobs may lose progress if paused or restarted, or are forced to hold more state in memory instead, -adding scale limits or risking OOMs. - -In addition to contention issues, if a job adds to much information to its current state record, or -updates it too often, the MVCC garbage associated with those revisions to its row in the jobs table -can cause the table to become unavailable because CockroachDB's KV layer is not permitted to split -between revisions of a single SQL row. Packing state, progress, and control all into one row leads -to larger rows, increasing the risk of this type of failure. While this is partially mitigated today -via careful organisation into column families, the large serialised protobuf messages favoured by -jobs to represent progress or arguments still often result in large job rows, which are typically -edited every 30-60sec to persist progress. Jobs should be able to store all the state that is useful -to them without running into limitations of the job system. They should not need to discard useful -state for fear of compromising the job control system itself, and the associated APIs offered to -jobs should make it easier to write jobs that do what their authors want to do without worrying -about adversely affecting the jobs system. - -## Goals - -1. The jobs system should allow operators to inspect and control the set of jobs, regardless of how - transactions are used to create jobs or update the persisted state of any one job. -2. Jobs should be able to be created in a transaction, with typical transactional semantics, i.e. a - job is only created and starts running if the transaction commits and minimal effect if it rolls - back. -3. Jobs should be able to store as much persisted state as they want, and update it as much as they - want, without negatively affecting other jobs or the jobs system health. -4. Operators should be able to inspect the recent history of a job's status or progress. - -## Design Summary - -Most of the problems with the current jobs system arise from the fact that different users, with -different needs, are sharing the single system.jobs table. To resolve these issues we propose -breaking this single table up into multiple tables that each serve specific, narrower purposes. - -The current system.jobs table will be split into five separate tables: - -1. `system.jobs` tracks the set of jobs, what step they need to take and coordinates which - nodes will do so. I -2. `system.job_progress` and `system.job_status` record human-consumed progress and - status changes -3. `system.job_info` is used by the implementation of individual jobs to record and retrieve their - state and arguments -4. `system.job_intake` is used to sidestep creation transaction contention in the control table. - -Each of these four tables serves a specific purpose and is described in more detail below, but the -two most important aspects of this design are: - -a) **the API will not allow transactional interactions with system.jobs which could block**, and - -b) **there may be many rows per job in job_info. ** - -This change highly severable, allowing it to be implemented gradually: The transition to storing -extended mutable jobs-type-specific information in job_info will take write load and some contention -off the control table with or without the implementation of the status tables or intake table; Each -step is expected yield its own marginal returns. The introduction of the intake queue is explicitly -left as future work at this time. - -## Detailed Design - -### system.jobs - -#### Description - -The system.jobs table stores the core state of the jobs system; it defines what jobs are -currently running, have run, need to start running or need to stop running. - -This table is _exclusively_ used by the jobs system itself; no user-controlled or job-controlled -transactions are allowed in this table. This avoids a misbehaving job or user from blocking the jobs -system and its ability to continue to manage other jobs. - -Job-controlled transactions have historically shown two main forms of misbehaving in this table: -taking too long to commit updates, or committing large updates too often, with both causing -contention and the latter causing accumulation of mvcc garbage. Both of these are mitigated by -providing jobs a separate table described below in which to read and write its own information -- -using transactions that block for as long as it wishes and spread across many small rows if needed --- leaving this control table to be only those fields needed by the job control system itself. - -Thus this table only contains fields common to all jobs, not job specific protos or arguments. It -specifies that a particular job ID, with a particular type, needs to be started, stopped, etc. The -jobs system then uses that information to find the relevant implementing code -- i.e. the resumer -registered for that type -- and call the relevant method -- e.g. Resume, OnFailOrCancel, etc -- -informing it of the ID it should be resuming/cancelling/etc. The job’s implementation of those -methods are then responsible for retrieving any job-specific details, such as which files it is -importing or what tables it is backing up to where, by looking for the applicable rows it or its -planning placed in the job_info table. - -While this table specifies the _type_ of each job, it does not store any job-type specific -information; i.e. while it indicates that job 123 is a BACKUP job and is ready to run, it does _not_ -indicate what job 123 is backing up or how much it has completed; that information must be stored -elsewhere, as it is often determined or mutated using explicit transactions. - -#### Schema -This is an existing table that already has some number of legacy columns. For the purposes of this -document, it is the existing jobs table, extended with human-readable description, summary, owner -and various timestamps that appear in SHOW. - -#### Job Control Statements and Their Transactions - -User-facing job control statements will result in transactions in this table, such as to update a -running job's status to pause-requested. This matches the current behavior with respect to writing a -pause-request to the current system.jobs, however the goal of eliminating all blocking transactions -from the new control table suggests that such control statements should be updated to no longer be -allowed in explicit, user-owned transactions. In many ways, this added restriction should have been -there already: running `PAUSE JOB X` inside a transaction can be confusing, because it does not -actually pause the running job until it is committed, at which time a pause-request is written, then -at some later time observed, and only then does the job itself move to paused. However if adding -this new restriction proves unpalatable, options include either simply allowing these blocking -transactions and the fact they block the jobs system -- if a user has indicated they will pause a -job they need to either commit that fact or abort it before we can answer if the job is paused or -not -- or we can introduce additional queued operation tables similar to the intake table described -below. - - -###### Upgrade Path for system.jobs -New columns are added and we dual-write the legacy fields and the new ones until the upgrade is -complete. - ---- - -### system.job_progress + system.job_status - -#### Description - -The job_progress and system.job_statuss tables store human-readable information about -a job's current and recent status and progress. - -These tables are not read by the jobs control system at any point, and should not be read by the job -itself either; they are intended solely for human-consumption via SHOW JOBS and the DB Console. They -are separate from the control row so that the control row does not need to be updated as the job -executes and updates its progress or status information. - -Both tables have many rows per job: Each time a job updates its persisted status or progress it will -insert a new row into the respective table with the new value, and inspection tools will scan for -the latest row per job to find its current status/progress. - -Both tables have the same primary key: job ID plus row creation time. However they are separate as -their payloads are both of very different size -- a small number versus a large string -- and are -updated at very different frequencies; a completion percentage or timestamp likely updates -continuously for the entirely life of a job while execution status may change a fixed number of -times per execution phase. - -#### Schema - -``` - CREATE TABLE system.job_progress ( - job_id INT NOT NULL, - written TIMESTAMPTZ, - fraction FLOAT, # null if job does not have a defined completion percentage - resolved DECIMAL, # set only for jobs that advance in time e.g. cdc or replication - PRIMARY KEY (job_id, last_updated DESC) - ) - CREATE TABLE system.job_status ( - job_id INT NOT NULL, - written TIMESTAMPTZ, - kind STRING, # running_status, state_change, etc. - message STRING, # human-readable information, like "waiting for leases" - PRIMARY KEY (job_id, last_updated DESC) - ) -``` - - - -#### SHOW JOBS - -The job control table, along with these tables plus the intake table, defines the set of jobs the -system is running, will run or has has failed or creased running, along with human-readable -information about them, such as their description, percentage complete, or recent status messages; -taken together, these are what an operator is looking for when they ask "what jobs are my cluster running? -How complete are the job I was running? Did they fail and if so why?". This interaction is fulfilled -by SHOW JOBS and the jobs page on the DB console. Both of these are powered by an internal virtual -table crdb_internal.jobs, and will continue to be going forward, however this table will now be -reading columns only from the control table and the status tables (plus the intake table). Rendering -the virtual table will _not_ require decoding large proto payloads, that also contain large amounts -of job-specific state, nor will it block on transactions that are manipulating that state, as the -virtual table will not depend on the info table, described below, where that state now resides and -is manipulated. - -In contrast, job-specific detail inspection, such as SHOW BACKUP JOB or similar code called from the -per-job DB console page, will delegate to job-specific code that can in turn determine which keys -from the info table it should fetch and render, to show more detailed, job-type-specific -information. However for the common inspection tools of SHOW JOBS and the DB Console that show an -overview of many different types of jobs at once will exclusively be iterating over these tables -where non-control transactions are forbidden and all fields are native SQL columns, not large nested -protocol buffer messages, reduce the risk of SHOW JOBSs hanging or consuming excessive memory. - -SHOW JOBS will additionally need to union rows in the intake table described below, using SKIP -LOCKED, as they are committed runnable jobs that just have not yet been moved into the control -table. - - -#### Alternatives considered - - -###### Status and progress columns in a single row that are updated in place - -If updates to human-readable progress and status information were done as in-place revisions rather -than inserting new rows and optionally deleting older rows for that job, this could either be a -single status table, or just columns in the control table, using separate column families. However -this has two drawbacks: first, run-away updates to status can produce an excessive number of -revisions to a single row. Of course, with row-per-revision such cases produce excessive rows -instead, but a key difference between these is that a KV range is allowed to split between rows but -not between revisions of a row. - -Making the system resilient to accidental excessive revisions is one motivation for essentially -re-implementing MVCC on top of SQL rows. This concern, while certainly motivated by past experience -with jobs producing excessive MVCC garbage to due to frequent update to persisted progress, may be -mitigated here thanks to the rows being quite limited in size: unlike the current jobs table where -the fraction complete can share a column family with a larger encoded proto of persisted job state, -these rows would be very small. Additionally rate-limiting updates have mostly proven successful in -avoiding this class of issue. - -But another, and perhaps stronger motivation for this additional layer of MVCC is making history -accessible to the jobs inspection tools: what rate has progress advanced in the last 5 or 10 -minutes? What was the previous status message and when did it change? The underlying KV MVCC support -does not currently allow such inspection by SQL users, and even if it did, would be tightly coupled -to its retention configuration. If we want to offer status history inspection, keeping revisions to -status as separate rows seems like a prerequisite. - -When writing a new row for every update, we have to write a _whole_ new row to change any field of -that row. This is unfortunate if we have a large (1kb+) string message that changes rarely in the -same row as a small, often updated completed fraction. In the updated-in-place table, these could be -placed in separate column families, however in the new-row-per-update table, that is not an option. -Instead, we split these two fields -- the rarely changed, large message and the often changed, small -float -- into separate tables. - ---- - -### system.job_info - -#### Description - -The system.job_info table is used by individual jobs to store their arguments, and progress -information and any other mutable state. - -This table stores many rows per job ID, allowing breaking down a large amount of state into many, -separately updatable records. It is up to the individual job’s implementation to choose what they -store and how they store it, including how they pick keys under which to store the individual -fragments of information they need to persist. For example, the planning phase of an IMPORT job -might store an info row "inputs" specifying the URLs it will later read from; during execution it -might read that row back to then go open those files and begin reading, then update -"progress/<fileID>" rows for each file as it processes. - -Jobs can interact with their rows in this table using transactions without fear of negatively -affecting other jobs as no part of the jobs control or inspection system relies on scanning this -table directly, although some detailed inspection tools may delegate to per-job-type code that does -fetch and process information from this table to render results. - -While no scans will be happening on this table by any common code of code belonging to another job, -it is still hard to debug issues that occur in the current jobs system that arise from excessive row -sizes; Helpers for writing info -- which is often serialized protobuf and can thus sometimes become -large if some field or nested field is unexpectedly large -- should reject writes of rows that are -too large (e.g. >32mb) to prevent a problematic row from entering this table in the first place and -provide an immediate error message that directly identifies the source of the large attempted write. - -#### Schema - -``` - CREATE TABLE system.job_info ( - job_id INT NOT NULL, - info_id STRING NOT NULL, - written TIMESTAMPTZ NOT NULL DEFAULT NOW(), - value BYTES NOT NULL, - PRIMARY KEY (job_id, info_id, written DESC) - ) -``` - -#### Timestamped Keys (MVCC-over-SQL) - -Similar to the job status tables, the info table uses a new row for each revision of a given named -info key, rather than allowing updates to an underlying row in-place. - -This is motivated by past experience with jobs the jobs table becoming unavailable after a job's -repeated updates to a single larger row generated excessive MVCC garbage.The KV layer is unable to -split between revisions to a single SQL row, so large rows revised in-place can easily result in -over-full range that eventually becomes unavailable: a 500kb row can only be revised 1024 times -before the MVCC garbage exceeds the 512mb range-size threshold, which would take under nine hours at -just two updates a minute. While one goal of this info table is to provide an easier mechanism for -jobs to easily store a larger number of smaller rows instead of updating a single large payload, -given that jobs are likely to start to store encoded proto messages in rows in this table, it should -be expected that those could become large; again, past experience says that a typically small error -message may unexpectedly be an entire http response payload, or a normally small map may become -giant, and such cases should degrade gracefully rather than make the jobs tables unavailable. - -Thus, like the status tables above, updates to keys in this info table will instead be an insert of -the new info paired with deletion of any older revision of it. This case is actually simpler than -the status case as no history is required and the addition of MVCC-like behaviour is solely for -making past revisions splittable, so each insert can delete all prior revisions. - -#### Mutual Exclusion of Updates - -Updates to system.job_info should, by default, only be allowed from processors that were started as -part of the currently running instance of the job. The API for updating the system.job_info, -system.job_progress, and system.job_status tables will require the current -claim_session_id for the job. This session ID will be passed from the job system to the job -implementation’s relevant methods (e.g. Resume). Jobs that wish to update job info from multiple -nodes will need to pass the session ID to the relevant processors on those nodes. - -Updates will be allowed so long as the session specified by the session ID is still alive: - -``` -INSERT INTO system.jobs_info SELECT $1, $3, NOW(), $4 WHERE crdb_internal.sql_liveness_is_alive($2) IS TRUE -``` - -Since jobs are only eligible for resumption once the existing session ID returns false from -crdb_internal.sql_liveness_is_alive, such a condition should ensure that we are not updating the -job_info table while another instance of the job is running without going to the jobs_control -table. - -##### Alternatives options for Update Exclusion - -We could allow a limited violation of our invariant and do a join on the system.jobs_control table: - -``` -INSERT INTO system.jobs_info SELECT id, $3, NOW(), $4 FROM system.jobs_control WHERE id = $2 AND claim_session_id = $2; -``` - -While this would be touching the jobs_control table, it would be a point read on a single row and -would not contend with scans of the jobs table. If testing proves contention-free at scale, we may -prefer this implementation. - -We also considered using the session_id to look up the current expiration of the session, and -setting a transaction deadline of our insert to the expiration of the session since we know the -session is valid through that expiration. This is what the span configuration reconciler currently -does. - - -#### Upgrade Path for system.jobs-stored Job Info - -In the current unified job control/info/etc system jobs system table, "Payload"/"Details" and -"Progress" are monolithic protos, stored in columns along side control information. For the -migration, calls to functions that set them, such as SetDetails(), can start to dual-write, updating -both the current column as well as writing to a well known key in the new info table, e.g. -"legacy_details". Using cluster versions, once this is happening on all nodes, a migration job can -then read all current jobs from the existing table to populate these rows in the info table instead. -Once that migration has finished, the post-migration cluster version can be used by calls to get the -details or progress to load from the info table instead. Existing job implementations do not need to -actively change to use the new per-info read and write methods unless they want to take advantage of -being able to track multiple separate pieces of info. - ---- - -## Future work: Contentionless Job Creation - -Note: This section is speculation as to the nature of future work with the -goal of eliminating all user-controlled transactions from the primary job table. -The approach outlined in this section requires further review and testing via -a prototype and load generator. Initial implementation work is not expected to -include the ingestion queue described here, and will continue to allow user- -controlled transactions related to job creation to write and hold locks directly -in the core jobs table. - -### system.job_intake - -#### Description - -The job_intake table is how new jobs _enter_ the jobs system. - -Job creators can use a transaction of their own, that can block on other operations, to create new -jobs in this intake table, while keeping that transaction's locks _out_ of the core system.jobs -table, where it would interfere with core jobs system operations. - -Once a job is committed to this intake table, it is then found by the jobs system (using SKIP LOCKED -and/or via rangefeeds so that still uncommitted jobs do not block this intake process), copied into -the job control table and deleted from this intake table. - -The jobs system can use SKIP LOCKED in this way on this table to safely find just new jobs, since -jobs are never modified after being committed in this table, the only rows skipped by such a SKIP -LOCKED query are only new row or those being processed. This differs from the core job control table -where jobs are modified in-place, and are thus locked during modification, meaning skipping locked -rows would skip existing rows incorrectly. Thus this separate table, where jobs are only created and -then immediately moved after they're committed, is uniquely safe to read with SKIP LOCKED for this -specific purpose. - -#### Schema - -``` -CREATE TABLE system.job_intake ( - id INT PRIMARY KEY, - job_type STRING, - description STRING, # human-readable description - created TIMESTAMPTZ, - created_by_type STRING, - created_by_id INT -) -``` - - - -#### Job Ingestion - -The simplest mechanism to intake jobs would be a loop, running on every node, which simply reads and -deletes incoming jobs from intake and writes them to the job control table, along the lines of: - -``` -BEGIN; -DELETE FROM system.job_intake -WHERE id IN ( - SELECT * FROM system.job_intake - FOR UPDATE SKIP LOCKED LIMIT 16; -) RETURNING *; - -INSERT INTO system.jobs VALUES (...), (...),(...); -COMMIT; -``` - -However, in the steady state, the job system can have an established rangefeed on the -system.job_intake table to immediately see newly committed rows instead of polling in a loop. Since -rangefeeds only receive a row once it is committed, they provide semantics similar to SKIP LOCKED -which we need -- seeing committed rows while not blocking on uncommitted rows -- and would thus -allow us to avoid polling the table: - -``` -BEGIN; -DELETE FROM system.job_intake WHERE id = RETURNING …; -INSERT INTO system.jobs VALUES (...); -COMMIT; -``` - -The rangefeed's initial scan could also provide an alternative to the skip-locked query for bringing -in existing rows during startup. - -To avoid unnecessary duplication of work in large clusters, we may need to restrict the job -ingestion process to a subset of nodes in the cluster or introduce delays or jitter and then use a -signal from the job creator to its local job registry to avoid that delay or jitter in the default -case where the creating node does not immediately crash. - -Additionally, it is possible this intake process could be fused with the adoption process to -optimize it further however this is left to follow-up work. diff --git a/docs/RFCS/20240103_generic_query_plans.md b/docs/RFCS/20240103_generic_query_plans.md deleted file mode 100644 index d7df25ffd20a..000000000000 --- a/docs/RFCS/20240103_generic_query_plans.md +++ /dev/null @@ -1,320 +0,0 @@ -- Feature Name: Generic Query Plans -- Status: in-progress -- Start Date: 2024-01-03 -- Authors: Marcus Gartner (@mgartner) -- RFC PR: [#117284](https://github.com/cockroachdb/cockroach/pull/117284) - -# RFC: Generic Query Plans - -## Summary - -**Generic query plans** are designed to reduce the computational burden of query -optimization that is required to service a workload. Generic query plans are: - - - Fully optimized once and cached - - Reused in later executions of the same statement without being copied or - re-optimized - - Sometimes less optimal than non-generic query plans - -## Motivation - -Query planning is a computationally expensive step in answering queries in -real-world workloads. In high-throughput workloads, profiles have shown query -planning consuming a large fraction of CPU time. In latency sensitive workloads, -query optimization often accounts for a sizable portion of a query's total -latency. Query planning latency increases with the complexity of a query, and in -some cases, such as queries with many joins, the time to plan a query is -significantly longer than the time to execute the query plan. Any reductions in -query planning overhead can significantly improve the overall performance of -CockroachDB. - -There are a handful of existing workarounds for reducing query planning -overhead. Our suggestions typically include using prepared statements to cache -partially optimized query plans for reuse during `EXECUTE`, adding join hints to -avoid exploration of certain types of joins or join orderings, and lowering the -`reorder_joins_limit` setting to reduce the number of join orderings explored. -These tricks can be highly effective at reducing query planning overhead, but -they don't eliminate it entirely. - -We've also combated query planning overhead with constant efforts to improve the -optimizer's performance. The optimizations thus far have largely focused on -special case fast-paths (e.g., [the placeholder -fast-path](https://github.com/cockroachdb/cockroach/blob/8389ac4a8c922529eb368437976135403fcb1b68/pkg/sql/opt/xform/placeholder_fast_path.go)) -and alleviating inefficiencies without sacrificing the quality of query plans -(e.g., [#113319](https://github.com/cockroachdb/cockroach/pull/113319), -[#114666](https://github.com/cockroachdb/cockroach/pull/114666), and -[#87920](https://github.com/cockroachdb/cockroach/pull/87920)). Work in these -areas will continue to yield progress, but there are caveats to these -strategies. Special case fast-paths, by definition, only apply to a narrow -subset of queries, not all queries in general. Optimizations for specific -inefficiencies can only be addressed once the inefficiencies are discovered, -which, because of the breadth of the SQL language and the diversity in schema -designs, typically happens when a customer runs into them in production. -Therefore, these optimizations are usually applied reactively rather than -proactively. - -Despite the efficacy of workarounds and planning optimizations, recent customer -feedback has revealed that, for some workloads, more general and drastic -improvements are required (see support issue -[#2726](https://github.com/cockroachdb/cockroach/pull/2726)). Reoptimizing a -query on every execution is too costly. For complex queries, even the cost of -copying the cached query plan to ready it for optimization is too high. Generic -query plans will eliminate a large portion of query planning overhead by caching -a fully optimized plan and reusing it for each execution. - -Additional applications of this particular design of generic query plans are a -secondary motivation. Recursive CTEs and apply-joins are notoriously slow -operations because they reoptimize a subtree of the query plan for each input -row. Using a generic query plan to avoid reoptimization could significantly -improve performance. - -## Technical Design - -### Overview - -The current cache strategy of the optimizer is to cache normalized plans during -the `PREPARE` phase, then during the `EXECUTE` phase copy the cached plan, -re-normalize it, and apply transformation rules (the exceptions to this strategy -are queries without placeholders and when the placeholder fast-path is -applied—in both cases the query is fully optimized during `PREPARE`). Note that -copying the cached plan is more involved than the terseness of "copy" implies. -It is an expensive -[deep-copy](https://github.com/cockroachdb/cockroach/blob/f83b13a90aee34b6ebdcdb3352b7331cf4bdf903/pkg/sql/opt/norm/factory.go#L336) -that replaces placeholders with their associated values and recalculates logical -properties such as functional dependencies and statistics. Postgres has a -similar strategy and calls the plans produced from it custom plans. Custom plans -reduce some of the work to plan a query during `EXECUTE`, like parsing, semantic -analysis, and partial optimization with normalization rules. - -Generic plans, also supported by Postgres, are fully optimized once with both -normalization and exploration rules, and reused for future executions of the -query. Thus, the overhead of optimization is not incurred after the generic plan -is initially generated. - -Importantly, generic plans can be reused without being copied. A mutable copy of -a cached plan is not needed because it is not reoptimized at execution time. -`execbuilder` can build execution nodes directly from the cached generic plan, as -it does when the placeholder fast-path is used. This avoids the deep-copy of -cached plans that is required under the current plan-reuse strategy. - -Generic plans may be less optimal than custom plans for reasons including -inferior row count estimates compared to custom plans and the inability to apply -some exploration rules. Mitigations for these limitations are discussed in more -detail below. - -### Enabling Generic Query Plans - -As in Postgres, the `plan_cache_mode` session setting will control the use of -generic query plans. Three options will be available: `force_custom_plan`, -`force_generic_plan`, and `auto`. The first two force the use of a custom or -generic plan, respectively. CockroachDB's current behavior matches the -`force_custom_plan` setting, so it will be the default value initially to avoid -plan regressions in early versions of generic query plans. - -There is one exception for `force_custom_plan` with statements that either have -no placeholders nor fold-able, stable expressions, or statements that can -utilize the placeholder fast path. These statements can be fully optimized into -_ideal_ generic plans that can be reused without re-optimization because the -optimal query plan will not change between executions. - -If `plan_cache_mode` is set to `auto`, the optimizer will automatically choose -between a custom and generic plan, using simple heuristics. Similar to -[Postgres's -logic](https://github.com/postgres/postgres/blob/cca97ce6a6653df7f4ec71ecd54944cc9a6c4c16/src/backend/utils/cache/plancache.c#L1017-L1070) -for `auto` (see -[documentation](https://www.postgresql.org/docs/current/sql-prepare.html)), the -optimizer will use a generic plan if its cost is less than the average cost of -the first five custom plans plus some additional overhead for the cost of custom -planning (e.g., based on the number of joins or relations in the plan). This -should minimize false-positives (i.e., cases where an inefficient generic query -plan is chosen over a more efficient custom query plan), which are far more -critical to reduce than the false-negatives (i.e., cases where a custom plan is -chosen over a generic query plan that is just as efficient) because a bad query -plan can be catastrophic to a workload. - -The `plan_cache_mode` setting is considered at execution time, not at prepare -time. This means that prepared statements aren't locked to a specific mode when -they are created and users have the flexibility to change modes when using -client libraries and ORMs that give little or no ability to control when -statements are prepared. - -### Prepared Statement Namespace - -The prepared statement namespace will be expanded to store both a "base memo" -and a "generic memo". The base memo will be a normalized, yet unoptimized memo -that can be used as a starting point for build custom plans. The generic memo -will be fully optimized as an ideal generic query plan or non-ideal generic -query plan. - -### Using Lookup-Joins as "Constrained Scans" - -Constraints are some of the most critical details in a fully optimized query -plan. They are used to represent a concrete range of KVs to scan in constrained -scans and other expressions. In order to make useful generic query plans, the -optimizer must create some form of _parameterized constraints_ with placeholder -values that can be filled in later. - -Unfortunately, using the same or similar constraint data structure to represent -parameterized constraints is fraught with limitations. We can trivially convert -the expression `a = 'foo' OR a = 'bar'` into the constraint `/a: [/'foo' - -/'foo'] [/'bar' - /'bar']`. So it's tempting to think we can simply convert the -expression `a = $1 OR a = $2` into the constraint `/a: [/$1 - /$1] [/$2 - /$2]` -and fill in the constraint's placeholders at execution time. Not so fast! If the -same value is provided for `$1` and `$2`, then the constraint would have two -duplicate spans, and scanning over them would produce incorrect results. We'll -also run into trouble if either placeholder value is `NULL`. We'll scan over -`NULL` keys when we shouldn't because `a = NULL` is always falsey. - -As another example, consider the expression `a <= 0 OR a >= 10` which can be -represented as the constraint `/a: [ - /0] [/10 - ]`. The naive conversion of `a -<= $1 OR a >= $2` would yield `/a: [ - /$1] [/$2 - ]`. If `$1` is greater than -`$2`, then the spans overlap and we'll produce incorrect results. - -To avoid these pitfalls, we'll convert Select-Scan expressions with placeholders -in filters into joins where the left-hand side is a Values expression producing -the placeholders and the right-hand side is the Scan. This allows further -transformation rules to convert the joins into lookup-joins. Below is an example -showing the progress of transformation rules: - -image - -The lookup join effectively fills the role of a _parameterized constrained -scan_, unlocking optimizations in the presence of placeholders. The lookup key -columns or lookup expression are a form of parameterized constraints. In many -cases, the theoretical performance of these parameterized lookup joins is the -same as a traditional constrained scan. - -### Stable Expressions - -Stable expressions (e.g., `now()`), cannot be folded to constant values in query -plans that are reused because they can produce different values during each -execution of the query. With custom query plans, we avoid folding the expression -until execution time, and use the resulting value to aid in generating index -scan constraints during optimization of the cached plan. Generic query plans -will include unfolded stable expressions in the Values expressions beneath -parameterized lookup-joins, allowing for optimizations similar to the -optimizations with placeholders described in the previous section. - -### Statistics - -In general, generic query plans will be less optimal than custom query plans -because they are optimized without knowledge of placeholder values. This will -mostly hinder the optimizer's ability to generate accurate row count estimates -for each relational expression. Most notably, histograms in table statistics -cannot be filtered with parameterized constraints, so the optimizer will -fallback to estimating row counts with simpler stats. Also, the number of -distinct values in a constraint span, which is used to better inform row count -estimates, is impossible to determine from a parameterized constraint (unless -it's an equality condition). The best tools for fixing bad generic query plans -will be index hints and join hints. - -### Casting Placeholder Values - -Placeholder values that do not match the type of the column that they are -constraining can be implicitly cast to the column type. This is only allowed if -an assignment cast from the placeholder value to the column's type is allowed. -Note that a regular cast is performed, however, not an assignment cast which can -have slightly different behavior. If an assignment cast is not allowed, then the -query will result in an error. - -### Partial Indexes - -A partial index can only be used in a query plan when it can be proven that the -query filters imply the partial index's predicate. In general, it is impossible -to prove that filters with placeholders imply predicates. For example, it is -impossible to determine whether or not the expression `a > $1` implies the -predicate `a > 0` without knowing the value of `$1`. Therefore, generic plans in -general will only use partial indexes if the query contains filters with -constant values that imply the predicate. - -However, there is one common form of partial index predicate where we can do -better. Predicates like `a IS NOT NULL`, which are quite common in real-world -workloads, are implied by any NULL-rejecting filter for column `a`. For example, -the expression `a = $1` is falsey if `a` is `NULL`, therefore, it implies `a IS -NOT NULL`. Accounting for this special case will allow partial indexes to be -used in generic query plans in more cases. - -### Testing - -In addition to typical unit and integration tests, we can gain confidence in the -correctness of the generic query plans implementation by creating a roachtest -that compares the results of a randomly generated query when run with a custom -query plan and a generic query plan. - -## Future Work - -### Lookup-join Improvements - -Lookup-joins cannot currently be constrained in all the same ways that scans can -be constrained. Generic query plans could be suboptimal because of this. As one -example, hard limits cannot be pushed into lookup joins. Queries with hard -limits may have plans with full table scans or lookup-joins that produce an -unbounded number of rows. - -We can incrementally add capabilities to lookup joins in order to address these -shortcomings. A positive side effect is that custom query plans can also benefit -from any additional capabilities. [Preliminary analysis of 23 types of -queries](https://gist.github.com/mgartner/1e62d3e70db8c1f25447c37ca0f4cb7a#file-q05-sql) -shows 7 types of queries that will have suboptimal generic query plans when -using lookup-joins as-is. This is a good starting place for future improvements. - -### Parameterized Constraints - -At some point, we may hit a limit on the types of constraints a lookup-join can -represent. Or we may find that the overhead of parameterized lookup-join -execution is simply too great compared to the overhead of a simpler scan -operation. In this event, we can explore implementing proper parameterized -constraints. This section describes one possible implementation. - -A scalar `FiltersExpr` field on a `ScanExpr` could represent a parameterized -constraint. The conversion from a filter into a proper constraint can be -deferred until execution time (specifically during the `execbuilder` phase). The -filters will include explicit filters and optional filters (derived from check -constraints and computed column expressions) which are likely to constrain a -specific index when placeholder values are filled in. - -The existing `idxconstraints` package, currently used when generating -constrained scans, can be used for building constraints from the parameterized -filters after making a few tweaks. New logic will be added for picking filters -that are likely to constrain the index at execution time. At optimization time -the optimizer will be unable to determine if the constraint will be "tight" -(i.e., it exactly represents the filters) so the query plan will always include -a filter operator above the scan, even if it ends up being unnecessary. At -execution time, it may be determined that the parameterized constraint is a -contradiction given the placeholder values (e.g., `a > $1 AND a < $2` where `$1` -and `$2` are both `0`). In this case, the scan will have no spans or become an -empty values operator. - -There are a few downsides to this approach. First, the filters have to be -traversed for every execution of the query in order to build the constraint. -This should typically be very fast, but we have seen cases where constraint -building can be slow and consume a lot of memory (see -[#106887](https://github.com/cockroachdb/cockroach/pull/106887)). Second, -because the logic for picking parameterized filters is separate from the logic -that actually generates the constraint, there may be cases where the -parameterized filters cannot constrain the index and the scan becomes a full -table scan at execution time. Building an alternative constraint-building -library that is closely coupled with the selection of parameterized filters -could mitigate both these downsides in the long-term. - -Another downside is that the filter operator that is always applied above scans -may add non-negligible overhead in cases where it is not necessary. To mitigate -this we may be able to prove at optimization time that some filters will always -produce tight constraints and the filter operator can be omitted. Alternatively, -we may be able to conditionally remove the filter operator during the -`execbuilder` phase at execution time if tight constraints were generated for -the scan. - -### Using Base Memos as Starting Points for Generic Memo Optimization - -Initially, generic query plans will be built from the SQL string when an -existing, non-stale generic plan is not available. In the future, we can reduce -some of this work if a normalized, base query plan is available. The base plan -can be used as a starting point for building the generic plan, eliminating some -of the overhead of `optbuilder` and normalization. - -### Replacing the placeholder fast path - -Generic query plans should make the placeholder fast path obsolete. Once we have -confidence that generic query plans cover all the same cases, we should remove -the placeholder fast path to reduce complexity. diff --git a/docs/generated/bazel_targets.txt b/docs/generated/bazel_targets.txt index 10a42ecbab49..3376a298e15b 100644 --- a/docs/generated/bazel_targets.txt +++ b/docs/generated/bazel_targets.txt @@ -11,3 +11,4 @@ documentation. Lines not beginning with // should be ignored. //docs/generated/settings:settings_for_tenants //docs/generated/sql //docs/generated/sql/bnf +TODO(ricky) re-enable this //docs/generated/swagger diff --git a/docs/generated/eventlog.md b/docs/generated/eventlog.md index ad845595f1d0..9fec5f112799 100644 --- a/docs/generated/eventlog.md +++ b/docs/generated/eventlog.md @@ -46,43 +46,6 @@ reloaded/rotated from disk. | `ErrorMessage` | If an error was encountered, the text of the error. | yes | -#### Common fields - -| Field | Description | Sensitive | -|--|--|--| -| `Timestamp` | The timestamp of the event. Expressed as nanoseconds since the Unix epoch. | no | -| `EventType` | The type of the event. | no | - -### `disk_slowness_cleared` - -An event of type `disk_slowness_cleared` is recorded when disk slowness in a store has cleared. - - -| Field | Description | Sensitive | -|--|--|--| -| `NodeID` | The node ID where the event was originated. | no | -| `StoreID` | | no | - - -#### Common fields - -| Field | Description | Sensitive | -|--|--|--| -| `Timestamp` | The timestamp of the event. Expressed as nanoseconds since the Unix epoch. | no | -| `EventType` | The type of the event. | no | - -### `disk_slowness_detected` - -An event of type `disk_slowness_detected` is recorded when a store observes disk slowness -events. - - -| Field | Description | Sensitive | -|--|--|--| -| `NodeID` | The node ID where the event was originated. | no | -| `StoreID` | | no | - - #### Common fields | Field | Description | Sensitive | @@ -419,30 +382,6 @@ successful revert. | `DescriptorIDs` | The object descriptors affected by the job. Set to zero for operations that don't affect descriptors. | yes | | `Status` | The status of the job that triggered the event. This allows the job to indicate which phase execution it is in when the event is triggered. | no | -### `status_change` - -An event of type `status_change` is recorded when a job changes statuses. - - -| Field | Description | Sensitive | -|--|--|--| -| `JobID` | The ID of the job that is changing statuses. | no | -| `JobType` | The type of the job that is changing statuses. | no | -| `Description` | A human parsable description of the status change | partially | -| `PreviousStatus` | The status that the job is transitioning out of | no | -| `NewStatus` | The status that the job has transitioned into | no | -| `RunNum` | The run number of the job. | no | -| `Error` | An error that may have occurred while the job was running. | yes | -| `FinalResumeErr` | An error that occurred that requires the job to be reverted. | yes | - - -#### Common fields - -| Field | Description | Sensitive | -|--|--|--| -| `Timestamp` | The timestamp of the event. Expressed as nanoseconds since the Unix epoch. | no | -| `EventType` | The type of the event. | no | - ## Miscellaneous SQL events Events in this category report miscellaneous SQL events. @@ -1105,31 +1044,6 @@ An event of type `comment_on_table` is recorded when a table is commented. | `NullComment` | Set to true if the comment was removed entirely. | no | -#### Common fields - -| Field | Description | Sensitive | -|--|--|--| -| `Timestamp` | The timestamp of the event. Expressed as nanoseconds since the Unix epoch. | no | -| `EventType` | The type of the event. | no | -| `Statement` | A normalized copy of the SQL statement that triggered the event. The statement string contains a mix of sensitive and non-sensitive details (it is redactable). | partially | -| `Tag` | The statement tag. This is separate from the statement string, since the statement string can contain sensitive information. The tag is guaranteed not to. | no | -| `User` | The user account that triggered the event. The special usernames `root` and `node` are not considered sensitive. | depends | -| `DescriptorID` | The primary object descriptor affected by the operation. Set to zero for operations that don't affect descriptors. | no | -| `ApplicationName` | The application name for the session where the event was emitted. This is included in the event to ease filtering of logging output by application. | no | -| `PlaceholderValues` | The mapping of SQL placeholders to their values, for prepared statements. | yes | - -### `comment_on_type` - -An event of type `comment_on_type` is recorded when a type is commented. - - -| Field | Description | Sensitive | -|--|--|--| -| `TypeName` | The name of the affected type. | yes | -| `Comment` | The new comment. | yes | -| `NullComment` | Set to true if the comment was removed entirely. | no | - - #### Common fields | Field | Description | Sensitive | @@ -3157,9 +3071,7 @@ contains common SQL event/execution details. | `MvccRangeKeySkippedPoints` | RangeKeySkippedPoints collects the count of the subset of ContainedPoints point keys that were skipped during iteration due to range-key masking. For details, see pkg/storage/engine.go, pebble.RangeKeyIteratorStats, and https://github.com/cockroachdb/cockroach/blob/master/docs/tech-notes/mvcc-range-tombstones.md. | no | | `SchemaChangerMode` | SchemaChangerMode is the mode that was used to execute the schema change, if any. | no | | `SQLInstanceIDs` | SQLInstanceIDs is a list of all the SQL instances used in this statement's execution. | no | -| `KVNodeIDs` | KVNodeIDs is a list of all the KV nodes used in this statement's execution. | no | | `StatementFingerprintID` | Statement fingerprint ID of the query. | no | -| `UsedFollowerRead` | UsedFollowerRead indicates whether at least some reads were served by the follower replicas. | no | #### Common fields diff --git a/docs/generated/http/full.md b/docs/generated/http/full.md index f2b40d2329a7..2fcae31458ca 100644 --- a/docs/generated/http/full.md +++ b/docs/generated/http/full.md @@ -98,7 +98,6 @@ Note: this does *not* check readiness. Use the Health RPC for that purpose. | Field | Type | Label | Description | Support status | | ----- | ---- | ----- | ----------- | -------------- | | node_id | [string](#cockroach.server.serverpb.DetailsRequest-string) | | node_id is a string so that "local" can be used to specify that no forwarding is necessary. | [reserved](#support-status) | -| redact | [bool](#cockroach.server.serverpb.DetailsRequest-bool) | | redact, if true, requests redaction of sensitive data away from the API response. | [reserved](#support-status) | @@ -230,10 +229,6 @@ The nodes are SQL instances in case of multi-tenant clusters. -| Field | Type | Label | Description | Support status | -| ----- | ---- | ----- | ----------- | -------------- | -| redact | [bool](#cockroach.server.serverpb.NodesListRequest-bool) | | redact, if true, requests redaction of sensitive data away from the API response. | [reserved](#support-status) | - @@ -303,10 +298,6 @@ NodesRequest requests a copy of the node information as known to gossip and the KV layer. -| Field | Type | Label | Description | Support status | -| ----- | ---- | ----- | ----------- | -------------- | -| redact | [bool](#cockroach.server.serverpb.NodesRequest-bool) | | redact, if true, requests redaction of sensitive data away from the API response. | [reserved](#support-status) | - @@ -472,7 +463,6 @@ Support status: [alpha](#support-status) | Field | Type | Label | Description | Support status | | ----- | ---- | ----- | ----------- | -------------- | | node_id | [string](#cockroach.server.serverpb.NodeRequest-string) | | node_id is a string so that "local" can be used to specify that no forwarding is necessary. | [reserved](#support-status) | -| redact | [bool](#cockroach.server.serverpb.NodeRequest-bool) | | redact, if true, requests redaction of sensitive data away from the API response. | [reserved](#support-status) | @@ -609,10 +599,6 @@ NodesRequest requests a copy of the node information as known to gossip and the KV layer. -| Field | Type | Label | Description | Support status | -| ----- | ---- | ----- | ----------- | -------------- | -| redact | [bool](#cockroach.server.serverpb.NodesRequest-bool) | | redact, if true, requests redaction of sensitive data away from the API response. | [reserved](#support-status) | - @@ -884,7 +870,6 @@ Support status: [reserved](#support-status) | Field | Type | Label | Description | Support status | | ----- | ---- | ----- | ----------- | -------------- | | node_id | [string](#cockroach.server.serverpb.NodeRequest-string) | | node_id is a string so that "local" can be used to specify that no forwarding is necessary. | [reserved](#support-status) | -| redact | [bool](#cockroach.server.serverpb.NodeRequest-bool) | | redact, if true, requests redaction of sensitive data away from the API response. | [reserved](#support-status) | @@ -1267,12 +1252,11 @@ Closely mirrors the upstream definitions in github.com/etcd-io/raft. | ----- | ---- | ----- | ----------- | -------------- | | replica_id | [uint64](#cockroach.server.serverpb.RaftDebugResponse-uint64) | | | [reserved](#support-status) | | hard_state | [raftpb.HardState](#cockroach.server.serverpb.RaftDebugResponse-raftpb.HardState) | | | [reserved](#support-status) | -| lead | [uint64](#cockroach.server.serverpb.RaftDebugResponse-uint64) | | Lead is part of Raft's HardState. However, it used to be part of SoftState, so we keep it here as a separate field for compatibility. | [reserved](#support-status) | +| lead | [uint64](#cockroach.server.serverpb.RaftDebugResponse-uint64) | | Lead is part of Raft's SoftState. | [reserved](#support-status) | | state | [string](#cockroach.server.serverpb.RaftDebugResponse-string) | | State is part of Raft's SoftState. It's not an enum because this is primarily for ui consumption and there are issues associated with them. | [reserved](#support-status) | | applied | [uint64](#cockroach.server.serverpb.RaftDebugResponse-uint64) | | | [reserved](#support-status) | | progress | [RaftState.ProgressEntry](#cockroach.server.serverpb.RaftDebugResponse-cockroach.server.serverpb.RaftState.ProgressEntry) | repeated | | [reserved](#support-status) | | lead_transferee | [uint64](#cockroach.server.serverpb.RaftDebugResponse-uint64) | | | [reserved](#support-status) | -| lead_support_until | [cockroach.util.hlc.Timestamp](#cockroach.server.serverpb.RaftDebugResponse-cockroach.util.hlc.Timestamp) | | | [reserved](#support-status) | @@ -1326,7 +1310,6 @@ RangeProblems describes issues reported by a range. For internal use only. | raft_log_too_large | [bool](#cockroach.server.serverpb.RaftDebugResponse-bool) | | When the raft log is too large, it can be a symptom of other issues. | [reserved](#support-status) | | circuit_breaker_error | [bool](#cockroach.server.serverpb.RaftDebugResponse-bool) | | | [reserved](#support-status) | | paused_followers | [bool](#cockroach.server.serverpb.RaftDebugResponse-bool) | | | [reserved](#support-status) | -| range_too_large | [bool](#cockroach.server.serverpb.RaftDebugResponse-bool) | | | [reserved](#support-status) | @@ -1434,7 +1417,6 @@ Support status: [reserved](#support-status) | range_ids | [int64](#cockroach.server.serverpb.RangesRequest-int64) | repeated | | [reserved](#support-status) | | limit | [int32](#cockroach.server.serverpb.RangesRequest-int32) | | The pagination limit to use, if set. NB: Pagination is based on ascending RangeID. | [reserved](#support-status) | | offset | [int32](#cockroach.server.serverpb.RangesRequest-int32) | | The pagination offset to use, if set. NB: Pagination is based on ascending RangeID. | [reserved](#support-status) | -| redact | [bool](#cockroach.server.serverpb.RangesRequest-bool) | | redact, if true, requests redaction of sensitive data away from the API response. | [reserved](#support-status) | @@ -1517,12 +1499,11 @@ Closely mirrors the upstream definitions in github.com/etcd-io/raft. | ----- | ---- | ----- | ----------- | -------------- | | replica_id | [uint64](#cockroach.server.serverpb.RangesResponse-uint64) | | | [reserved](#support-status) | | hard_state | [raftpb.HardState](#cockroach.server.serverpb.RangesResponse-raftpb.HardState) | | | [reserved](#support-status) | -| lead | [uint64](#cockroach.server.serverpb.RangesResponse-uint64) | | Lead is part of Raft's HardState. However, it used to be part of SoftState, so we keep it here as a separate field for compatibility. | [reserved](#support-status) | +| lead | [uint64](#cockroach.server.serverpb.RangesResponse-uint64) | | Lead is part of Raft's SoftState. | [reserved](#support-status) | | state | [string](#cockroach.server.serverpb.RangesResponse-string) | | State is part of Raft's SoftState. It's not an enum because this is primarily for ui consumption and there are issues associated with them. | [reserved](#support-status) | | applied | [uint64](#cockroach.server.serverpb.RangesResponse-uint64) | | | [reserved](#support-status) | | progress | [RaftState.ProgressEntry](#cockroach.server.serverpb.RangesResponse-cockroach.server.serverpb.RaftState.ProgressEntry) | repeated | | [reserved](#support-status) | | lead_transferee | [uint64](#cockroach.server.serverpb.RangesResponse-uint64) | | | [reserved](#support-status) | -| lead_support_until | [cockroach.util.hlc.Timestamp](#cockroach.server.serverpb.RangesResponse-cockroach.util.hlc.Timestamp) | | | [reserved](#support-status) | @@ -1576,7 +1557,6 @@ RangeProblems describes issues reported by a range. For internal use only. | raft_log_too_large | [bool](#cockroach.server.serverpb.RangesResponse-bool) | | When the raft log is too large, it can be a symptom of other issues. | [reserved](#support-status) | | circuit_breaker_error | [bool](#cockroach.server.serverpb.RangesResponse-bool) | | | [reserved](#support-status) | | paused_followers | [bool](#cockroach.server.serverpb.RangesResponse-bool) | | | [reserved](#support-status) | -| range_too_large | [bool](#cockroach.server.serverpb.RangesResponse-bool) | | | [reserved](#support-status) | @@ -1927,7 +1907,6 @@ Support status: [reserved](#support-status) | Field | Type | Label | Description | Support status | | ----- | ---- | ----- | ----------- | -------------- | | node_id | [string](#cockroach.server.serverpb.GossipRequest-string) | | node_id is a string so that "local" can be used to specify that no forwarding is necessary. | [reserved](#support-status) | -| redact | [bool](#cockroach.server.serverpb.GossipRequest-bool) | | redact, if true, requests redaction of sensitive data away from the API response. | [reserved](#support-status) | @@ -1975,22 +1954,23 @@ Support status: [reserved](#support-status) | Field | Type | Label | Description | Support status | | ----- | ---- | ----- | ----------- | -------------- | -| stats_by_store_id | [EngineStatsResponse.StatsByStoreIdEntry](#cockroach.server.serverpb.EngineStatsResponse-cockroach.server.serverpb.EngineStatsResponse.StatsByStoreIdEntry) | repeated | maps store IDs to pretty-printed stats about the store's LSM. | [reserved](#support-status) | +| stats | [EngineStatsInfo](#cockroach.server.serverpb.EngineStatsResponse-cockroach.server.serverpb.EngineStatsInfo) | repeated | | [reserved](#support-status) | - -#### EngineStatsResponse.StatsByStoreIdEntry + +#### EngineStatsInfo | Field | Type | Label | Description | Support status | | ----- | ---- | ----- | ----------- | -------------- | -| key | [int32](#cockroach.server.serverpb.EngineStatsResponse-int32) | | | | -| value | [string](#cockroach.server.serverpb.EngineStatsResponse-string) | | | | +| store_id | [int32](#cockroach.server.serverpb.EngineStatsResponse-int32) | | | [reserved](#support-status) | +| tickers_and_histograms | [cockroach.storage.enginepb.TickersAndHistograms](#cockroach.server.serverpb.EngineStatsResponse-cockroach.storage.enginepb.TickersAndHistograms) | | | [reserved](#support-status) | +| engine_type | [cockroach.storage.enginepb.EngineType](#cockroach.server.serverpb.EngineStatsResponse-cockroach.storage.enginepb.EngineType) | | | [reserved](#support-status) | @@ -3410,7 +3390,6 @@ Support status: [reserved](#support-status) | raft_log_too_large_range_ids | [int64](#cockroach.server.serverpb.ProblemRangesResponse-int64) | repeated | | [reserved](#support-status) | | circuit_breaker_error_range_ids | [int64](#cockroach.server.serverpb.ProblemRangesResponse-int64) | repeated | | [reserved](#support-status) | | paused_replica_ids | [int64](#cockroach.server.serverpb.ProblemRangesResponse-int64) | repeated | | [reserved](#support-status) | -| too_large_range_ids | [int64](#cockroach.server.serverpb.ProblemRangesResponse-int64) | repeated | | [reserved](#support-status) | @@ -3455,22 +3434,22 @@ Support status: [reserved](#support-status) | Field | Type | Label | Description | Support status | | ----- | ---- | ----- | ----------- | -------------- | -| errors | [DownloadSpanResponse.ErrorsEntry](#cockroach.server.serverpb.DownloadSpanResponse-cockroach.server.serverpb.DownloadSpanResponse.ErrorsEntry) | repeated | | [reserved](#support-status) | +| errors_by_node_id | [DownloadSpanResponse.ErrorsByNodeIdEntry](#cockroach.server.serverpb.DownloadSpanResponse-cockroach.server.serverpb.DownloadSpanResponse.ErrorsByNodeIdEntry) | repeated | ErrorsByNodeID contains any errors that occurred during fan-out calls to other nodes. | [reserved](#support-status) | - -#### DownloadSpanResponse.ErrorsEntry + +#### DownloadSpanResponse.ErrorsByNodeIdEntry | Field | Type | Label | Description | Support status | | ----- | ---- | ----- | ----------- | -------------- | | key | [int32](#cockroach.server.serverpb.DownloadSpanResponse-int32) | | | | -| value | [cockroach.errorspb.EncodedError](#cockroach.server.serverpb.DownloadSpanResponse-cockroach.errorspb.EncodedError) | | | | +| value | [string](#cockroach.server.serverpb.DownloadSpanResponse-string) | | | | @@ -3900,12 +3879,11 @@ Closely mirrors the upstream definitions in github.com/etcd-io/raft. | ----- | ---- | ----- | ----------- | -------------- | | replica_id | [uint64](#cockroach.server.serverpb.RangeResponse-uint64) | | | [reserved](#support-status) | | hard_state | [raftpb.HardState](#cockroach.server.serverpb.RangeResponse-raftpb.HardState) | | | [reserved](#support-status) | -| lead | [uint64](#cockroach.server.serverpb.RangeResponse-uint64) | | Lead is part of Raft's HardState. However, it used to be part of SoftState, so we keep it here as a separate field for compatibility. | [reserved](#support-status) | +| lead | [uint64](#cockroach.server.serverpb.RangeResponse-uint64) | | Lead is part of Raft's SoftState. | [reserved](#support-status) | | state | [string](#cockroach.server.serverpb.RangeResponse-string) | | State is part of Raft's SoftState. It's not an enum because this is primarily for ui consumption and there are issues associated with them. | [reserved](#support-status) | | applied | [uint64](#cockroach.server.serverpb.RangeResponse-uint64) | | | [reserved](#support-status) | | progress | [RaftState.ProgressEntry](#cockroach.server.serverpb.RangeResponse-cockroach.server.serverpb.RaftState.ProgressEntry) | repeated | | [reserved](#support-status) | | lead_transferee | [uint64](#cockroach.server.serverpb.RangeResponse-uint64) | | | [reserved](#support-status) | -| lead_support_until | [cockroach.util.hlc.Timestamp](#cockroach.server.serverpb.RangeResponse-cockroach.util.hlc.Timestamp) | | | [reserved](#support-status) | @@ -3959,7 +3937,6 @@ RangeProblems describes issues reported by a range. For internal use only. | raft_log_too_large | [bool](#cockroach.server.serverpb.RangeResponse-bool) | | When the raft log is too large, it can be a symptom of other issues. | [reserved](#support-status) | | circuit_breaker_error | [bool](#cockroach.server.serverpb.RangeResponse-bool) | | | [reserved](#support-status) | | paused_followers | [bool](#cockroach.server.serverpb.RangeResponse-bool) | | | [reserved](#support-status) | -| range_too_large | [bool](#cockroach.server.serverpb.RangeResponse-bool) | | | [reserved](#support-status) | @@ -4472,7 +4449,6 @@ Support status: [reserved](#support-status) | sampling_probability | [double](#cockroach.server.serverpb.CreateStatementDiagnosticsReportRequest-double) | | SamplingProbability controls how likely we are to try and collect a diagnostics report for a given execution. The semantics with MinExecutionLatency are worth noting (and perhaps simplifying?): - If SamplingProbability is zero, we're always sampling. This is for compatibility with pre-22.2 versions where this parameter was not available. - If SamplingProbability is non-zero, MinExecutionLatency must be non-zero. We'll sample stmt executions with the given probability until: (a) we capture one that exceeds MinExecutionLatency, or (b) we hit the ExpiresAfter point.

SamplingProbability lets users control at a per-stmt granularity how much collection overhead is acceptable to try an capture an outlier execution for further analysis (are high p99.9s due to latch waits? racing with split transfers?). A high sampling rate can capture a trace sooner, but the added overhead may also cause the trace to be non-representative if the tracing overhead across all requests is causing resource saturation (network, memory) and resulting in slowdown.

TODO(irfansharif): Wire this up to the UI code. When selecting the latency threshold, we should want to force specifying a sampling probability.

TODO(irfansharif): We could do better than a hard-coded default value for probability (100% could be too high-overhead so probably not the right one). Strawman: could consider the recent request rate for the fingerprint (say averaged over the last 10m? 30m?), consider what %-ile the latency target we're looking to capture is under, and suggest a sampling probability that gets you at least one trace in the next T seconds with 95% likelihood? Or provide a hint for how long T is for the currently chosen sampling probability. | [reserved](#support-status) | | plan_gist | [string](#cockroach.server.serverpb.CreateStatementDiagnosticsReportRequest-string) | | PlanGist, when set, indicates a particular plan that we want collect diagnostics for. This can be useful when a single fingerprint can result in multiple plans.

There is a caveat to using this filtering: since the plan gist for a running query is only available after the optimizer has done its part, the trace will only include things after the optimizer is done. | [reserved](#support-status) | | anti_plan_gist | [bool](#cockroach.server.serverpb.CreateStatementDiagnosticsReportRequest-bool) | | AntiPlanGist, when set, indicates that any plan not matching PlanGist will do. | [reserved](#support-status) | -| redacted | [bool](#cockroach.server.serverpb.CreateStatementDiagnosticsReportRequest-bool) | | Redacted, when set, indicates that the redacted bundle is requested. | [reserved](#support-status) | @@ -4510,7 +4486,7 @@ Support status: [reserved](#support-status) | statement_diagnostics_id | [int64](#cockroach.server.serverpb.CreateStatementDiagnosticsReportResponse-int64) | | | [reserved](#support-status) | | requested_at | [google.protobuf.Timestamp](#cockroach.server.serverpb.CreateStatementDiagnosticsReportResponse-google.protobuf.Timestamp) | | | [reserved](#support-status) | | min_execution_latency | [google.protobuf.Duration](#cockroach.server.serverpb.CreateStatementDiagnosticsReportResponse-google.protobuf.Duration) | | | [reserved](#support-status) | -| expires_at | [google.protobuf.Timestamp](#cockroach.server.serverpb.CreateStatementDiagnosticsReportResponse-google.protobuf.Timestamp) | | TODO(yuzefovich): should we populate plan_gist, anti_plan_gist, and redacted fields? | [reserved](#support-status) | +| expires_at | [google.protobuf.Timestamp](#cockroach.server.serverpb.CreateStatementDiagnosticsReportResponse-google.protobuf.Timestamp) | | | [reserved](#support-status) | @@ -4614,7 +4590,7 @@ Support status: [reserved](#support-status) | statement_diagnostics_id | [int64](#cockroach.server.serverpb.StatementDiagnosticsReportsResponse-int64) | | | [reserved](#support-status) | | requested_at | [google.protobuf.Timestamp](#cockroach.server.serverpb.StatementDiagnosticsReportsResponse-google.protobuf.Timestamp) | | | [reserved](#support-status) | | min_execution_latency | [google.protobuf.Duration](#cockroach.server.serverpb.StatementDiagnosticsReportsResponse-google.protobuf.Duration) | | | [reserved](#support-status) | -| expires_at | [google.protobuf.Timestamp](#cockroach.server.serverpb.StatementDiagnosticsReportsResponse-google.protobuf.Timestamp) | | TODO(yuzefovich): should we populate plan_gist, anti_plan_gist, and redacted fields? | [reserved](#support-status) | +| expires_at | [google.protobuf.Timestamp](#cockroach.server.serverpb.StatementDiagnosticsReportsResponse-google.protobuf.Timestamp) | | | [reserved](#support-status) | @@ -5410,46 +5386,6 @@ Support status: [reserved](#support-status) -## UpdateTableMetadataCache - - - - - -Support status: [reserved](#support-status) - -#### Request Parameters - - - - - - - -| Field | Type | Label | Description | Support status | -| ----- | ---- | ----- | ----------- | -------------- | -| local | [bool](#cockroach.server.serverpb.UpdateTableMetadataCacheRequest-bool) | | If true, the server will attempt to send a signal to the table metadata job by notifying the channel set on the status server. | [reserved](#support-status) | - - - - - - - -#### Response Parameters - - - - - - - - - - - - - ## Users `GET /_admin/v1/users` @@ -7128,6 +7064,7 @@ Support status: [reserved](#support-status) | Field | Type | Label | Description | Support status | | ----- | ---- | ----- | ----------- | -------------- | | replica_count_by_node_id | [DataDistributionResponse.TableInfo.ReplicaCountByNodeIdEntry](#cockroach.server.serverpb.DataDistributionResponse-cockroach.server.serverpb.DataDistributionResponse.TableInfo.ReplicaCountByNodeIdEntry) | repeated | | [reserved](#support-status) | +| zone_config_id | [int64](#cockroach.server.serverpb.DataDistributionResponse-int64) | | | [reserved](#support-status) | | dropped_at | [google.protobuf.Timestamp](#cockroach.server.serverpb.DataDistributionResponse-google.protobuf.Timestamp) | | | [reserved](#support-status) | @@ -8068,52 +8005,3 @@ Support status: [reserved](#support-status) -## ReadFromTenantInfo - - - -ReadFromTenantInfo returns the tenant from which the requesting tenant -should read, if any. - -Support status: [reserved](#support-status) - -#### Request Parameters - - - - -ReadFromTenantInfoRequest requests info, if any, on which tenant the caller -should read from. - - -| Field | Type | Label | Description | Support status | -| ----- | ---- | ----- | ----------- | -------------- | -| tenant_id | [cockroach.roachpb.TenantID](#cockroach.server.serverpb.ReadFromTenantInfoRequest-cockroach.roachpb.TenantID) | | TenantID should always be the ID of the tenant making the request. This duplicates the ID in the auth context that is added implicitly, and must always match that ID when that ID is present, however that ID is absent in insecure test clusters which is why we also specify it explicitly here. | [reserved](#support-status) | - - - - - - - -#### Response Parameters - - - - -ReadFromTenantInfoResponse instructs a tenant as to which tenant, if any, it -should configure itself to read from and the timestamp at which it should do -so. - - -| Field | Type | Label | Description | Support status | -| ----- | ---- | ----- | ----------- | -------------- | -| read_from | [cockroach.roachpb.TenantID](#cockroach.server.serverpb.ReadFromTenantInfoResponse-cockroach.roachpb.TenantID) | | | [reserved](#support-status) | -| read_at | [cockroach.util.hlc.Timestamp](#cockroach.server.serverpb.ReadFromTenantInfoResponse-cockroach.util.hlc.Timestamp) | | | [reserved](#support-status) | - - - - - - - diff --git a/docs/generated/http/nodes-request.md b/docs/generated/http/nodes-request.md index 988cc2f7f51e..530d49aa4e7d 100644 --- a/docs/generated/http/nodes-request.md +++ b/docs/generated/http/nodes-request.md @@ -9,8 +9,4 @@ and the KV layer. Support status: [alpha](#support-status) -| Field | Type | Label | Description | Support status | -| ----- | ---- | ----- | ----------- | -------------- | -| redact | [bool](#bool) | | redact, if true, requests redaction of sensitive data away from the API response. | [reserved](#support-status) | - diff --git a/docs/generated/metrics/metrics.html b/docs/generated/metrics/metrics.html index d9c49930aa79..5c6e494aa206 100644 --- a/docs/generated/metrics/metrics.html +++ b/docs/generated/metrics/metrics.html @@ -12,8 +12,8 @@ STORAGEadmission.admitted.elastic-cpu.bulk-normal-priNumber of requests admittedRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEadmission.admitted.elastic-cpu.normal-priNumber of requests admittedRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEadmission.admitted.elastic-storesNumber of requests admittedRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -STORAGEadmission.admitted.elastic-stores.bulk-low-priNumber of requests admittedRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEadmission.admitted.elastic-stores.bulk-normal-priNumber of requests admittedRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE +STORAGEadmission.admitted.elastic-stores.ttl-low-priNumber of requests admittedRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEadmission.admitted.kvNumber of requests admittedRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEadmission.admitted.kv-storesNumber of requests admittedRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEadmission.admitted.kv-stores.high-priNumber of requests admittedRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE @@ -47,8 +47,8 @@ STORAGEadmission.errored.elastic-cpu.bulk-normal-priNumber of requests not admitted due to errorRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEadmission.errored.elastic-cpu.normal-priNumber of requests not admitted due to errorRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEadmission.errored.elastic-storesNumber of requests not admitted due to errorRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -STORAGEadmission.errored.elastic-stores.bulk-low-priNumber of requests not admitted due to errorRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEadmission.errored.elastic-stores.bulk-normal-priNumber of requests not admitted due to errorRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE +STORAGEadmission.errored.elastic-stores.ttl-low-priNumber of requests not admitted due to errorRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEadmission.errored.kvNumber of requests not admitted due to errorRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEadmission.errored.kv-storesNumber of requests not admitted due to errorRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEadmission.errored.kv-stores.high-priNumber of requests not admitted due to errorRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE @@ -94,8 +94,8 @@ STORAGEadmission.requested.elastic-cpu.bulk-normal-priNumber of requestsRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEadmission.requested.elastic-cpu.normal-priNumber of requestsRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEadmission.requested.elastic-storesNumber of requestsRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -STORAGEadmission.requested.elastic-stores.bulk-low-priNumber of requestsRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEadmission.requested.elastic-stores.bulk-normal-priNumber of requestsRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE +STORAGEadmission.requested.elastic-stores.ttl-low-priNumber of requestsRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEadmission.requested.kvNumber of requestsRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEadmission.requested.kv-storesNumber of requestsRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEadmission.requested.kv-stores.high-priNumber of requestsRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE @@ -121,8 +121,8 @@ STORAGEadmission.wait_durations.elastic-cpu.bulk-normal-priWait time durations for requests that waitedWait time DurationHISTOGRAMNANOSECONDSAVGNONE STORAGEadmission.wait_durations.elastic-cpu.normal-priWait time durations for requests that waitedWait time DurationHISTOGRAMNANOSECONDSAVGNONE STORAGEadmission.wait_durations.elastic-storesWait time durations for requests that waitedWait time DurationHISTOGRAMNANOSECONDSAVGNONE -STORAGEadmission.wait_durations.elastic-stores.bulk-low-priWait time durations for requests that waitedWait time DurationHISTOGRAMNANOSECONDSAVGNONE STORAGEadmission.wait_durations.elastic-stores.bulk-normal-priWait time durations for requests that waitedWait time DurationHISTOGRAMNANOSECONDSAVGNONE +STORAGEadmission.wait_durations.elastic-stores.ttl-low-priWait time durations for requests that waitedWait time DurationHISTOGRAMNANOSECONDSAVGNONE STORAGEadmission.wait_durations.kvWait time durations for requests that waitedWait time DurationHISTOGRAMNANOSECONDSAVGNONE STORAGEadmission.wait_durations.kv-storesWait time durations for requests that waitedWait time DurationHISTOGRAMNANOSECONDSAVGNONE STORAGEadmission.wait_durations.kv-stores.high-priWait time durations for requests that waitedWait time DurationHISTOGRAMNANOSECONDSAVGNONE @@ -147,8 +147,8 @@ STORAGEadmission.wait_queue_length.elastic-cpu.bulk-normal-priLength of wait queueRequestsGAUGECOUNTAVGNONE STORAGEadmission.wait_queue_length.elastic-cpu.normal-priLength of wait queueRequestsGAUGECOUNTAVGNONE STORAGEadmission.wait_queue_length.elastic-storesLength of wait queueRequestsGAUGECOUNTAVGNONE -STORAGEadmission.wait_queue_length.elastic-stores.bulk-low-priLength of wait queueRequestsGAUGECOUNTAVGNONE STORAGEadmission.wait_queue_length.elastic-stores.bulk-normal-priLength of wait queueRequestsGAUGECOUNTAVGNONE +STORAGEadmission.wait_queue_length.elastic-stores.ttl-low-priLength of wait queueRequestsGAUGECOUNTAVGNONE STORAGEadmission.wait_queue_length.kvLength of wait queueRequestsGAUGECOUNTAVGNONE STORAGEadmission.wait_queue_length.kv-storesLength of wait queueRequestsGAUGECOUNTAVGNONE STORAGEadmission.wait_queue_length.kv-stores.high-priLength of wait queueRequestsGAUGECOUNTAVGNONE @@ -242,8 +242,6 @@ STORAGEkv.rangefeed.budget_allocation_blockedNumber of times RangeFeed waited for budget availabilityEventsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEkv.rangefeed.budget_allocation_failedNumber of times RangeFeed failed because memory budget was exceededEventsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEkv.rangefeed.catchup_scan_nanosTime spent in RangeFeed catchup scanNanosecondsCOUNTERNANOSECONDSAVGNON_NEGATIVE_DERIVATIVE -STORAGEkv.rangefeed.closed_timestamp.slow_rangesNumber of ranges that have a closed timestamp lagging by more than 5x target lag. Periodically re-calculatedRangesGAUGECOUNTAVGNONE -STORAGEkv.rangefeed.closed_timestamp_max_behind_nanosLargest latency between realtime and replica max closed timestamp for replicas that have active rangeeds on themNanosecondsGAUGENANOSECONDSAVGNONE STORAGEkv.rangefeed.mem_sharedMemory usage by rangefeedsMemoryGAUGEBYTESAVGNONE STORAGEkv.rangefeed.mem_systemMemory usage by rangefeeds on system rangesMemoryGAUGEBYTESAVGNONE STORAGEkv.rangefeed.processors_goroutineNumber of active RangeFeed processors using goroutinesProcessorsGAUGECOUNTAVGNONE @@ -310,44 +308,9 @@ STORAGEkvadmission.flow_token_dispatch.pending_regularNumber of pending regular flow token dispatchesDispatchesGAUGECOUNTAVGNONE STORAGEkvadmission.flow_token_dispatch.remote_elasticNumber of remote elastic flow token dispatchesDispatchesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEkvadmission.flow_token_dispatch.remote_regularNumber of remote regular flow token dispatchesDispatchesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -STORAGEkvflowcontrol.eval_wait.elastic.durationLatency histogram for time elastic requests spent waiting for flow tokens to evaluateNanosecondsHISTOGRAMNANOSECONDSAVGNONE -STORAGEkvflowcontrol.eval_wait.elastic.requests.admittedNumber of elastic requests admitted by the flow controllerRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -STORAGEkvflowcontrol.eval_wait.elastic.requests.bypassedNumber of waiting elastic requests that bypassed the flow controller due the evaluating replica not being the leaderRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -STORAGEkvflowcontrol.eval_wait.elastic.requests.erroredNumber of elastic requests that errored out while waiting for flow tokensRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -STORAGEkvflowcontrol.eval_wait.elastic.requests.waitingNumber of elastic requests waiting for flow tokensRequestsGAUGECOUNTAVGNONE -STORAGEkvflowcontrol.eval_wait.regular.durationLatency histogram for time regular requests spent waiting for flow tokens to evaluateNanosecondsHISTOGRAMNANOSECONDSAVGNONE -STORAGEkvflowcontrol.eval_wait.regular.requests.admittedNumber of regular requests admitted by the flow controllerRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -STORAGEkvflowcontrol.eval_wait.regular.requests.bypassedNumber of waiting regular requests that bypassed the flow controller due the evaluating replica not being the leaderRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -STORAGEkvflowcontrol.eval_wait.regular.requests.erroredNumber of regular requests that errored out while waiting for flow tokensRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -STORAGEkvflowcontrol.eval_wait.regular.requests.waitingNumber of regular requests waiting for flow tokensRequestsGAUGECOUNTAVGNONE -STORAGEkvflowcontrol.streams.eval.elastic.blocked_countNumber of eval replication streams with no flow tokens available for elastic requestsCountGAUGECOUNTAVGNONE -STORAGEkvflowcontrol.streams.eval.elastic.total_countTotal number of eval replication streams for elastic requestsCountGAUGECOUNTAVGNONE -STORAGEkvflowcontrol.streams.eval.regular.blocked_countNumber of eval replication streams with no flow tokens available for regular requestsCountGAUGECOUNTAVGNONE -STORAGEkvflowcontrol.streams.eval.regular.total_countTotal number of eval replication streams for regular requestsCountGAUGECOUNTAVGNONE -STORAGEkvflowcontrol.streams.send.elastic.blocked_countNumber of send replication streams with no flow tokens available for elastic requestsCountGAUGECOUNTAVGNONE -STORAGEkvflowcontrol.streams.send.elastic.total_countTotal number of send replication streams for elastic requestsCountGAUGECOUNTAVGNONE -STORAGEkvflowcontrol.streams.send.regular.blocked_countNumber of send replication streams with no flow tokens available for regular requestsCountGAUGECOUNTAVGNONE -STORAGEkvflowcontrol.streams.send.regular.total_countTotal number of send replication streams for regular requestsCountGAUGECOUNTAVGNONE -STORAGEkvflowcontrol.tokens.eval.elastic.availableFlow eval tokens available for elastic requests, across all replication streamsBytesGAUGEBYTESAVGNONE -STORAGEkvflowcontrol.tokens.eval.elastic.deductedFlow eval tokens deducted by elastic requests, across all replication streamsBytesCOUNTERBYTESAVGNON_NEGATIVE_DERIVATIVE -STORAGEkvflowcontrol.tokens.eval.elastic.returnedFlow eval tokens returned by elastic requests, across all replication streamsBytesCOUNTERBYTESAVGNON_NEGATIVE_DERIVATIVE -STORAGEkvflowcontrol.tokens.eval.elastic.unaccountedFlow eval tokens returned by elastic requests that were unaccounted for, across all replication streamsBytesCOUNTERBYTESAVGNON_NEGATIVE_DERIVATIVE -STORAGEkvflowcontrol.tokens.eval.regular.availableFlow eval tokens available for regular requests, across all replication streamsBytesGAUGEBYTESAVGNONE -STORAGEkvflowcontrol.tokens.eval.regular.deductedFlow eval tokens deducted by regular requests, across all replication streamsBytesCOUNTERBYTESAVGNON_NEGATIVE_DERIVATIVE -STORAGEkvflowcontrol.tokens.eval.regular.returnedFlow eval tokens returned by regular requests, across all replication streamsBytesCOUNTERBYTESAVGNON_NEGATIVE_DERIVATIVE -STORAGEkvflowcontrol.tokens.eval.regular.unaccountedFlow eval tokens returned by regular requests that were unaccounted for, across all replication streamsBytesCOUNTERBYTESAVGNON_NEGATIVE_DERIVATIVE -STORAGEkvflowcontrol.tokens.send.elastic.availableFlow send tokens available for elastic requests, across all replication streamsBytesGAUGEBYTESAVGNONE -STORAGEkvflowcontrol.tokens.send.elastic.deductedFlow send tokens deducted by elastic requests, across all replication streamsBytesCOUNTERBYTESAVGNON_NEGATIVE_DERIVATIVE -STORAGEkvflowcontrol.tokens.send.elastic.returnedFlow send tokens returned by elastic requests, across all replication streamsBytesCOUNTERBYTESAVGNON_NEGATIVE_DERIVATIVE -STORAGEkvflowcontrol.tokens.send.elastic.unaccountedFlow send tokens returned by elastic requests that were unaccounted for, across all replication streamsBytesCOUNTERBYTESAVGNON_NEGATIVE_DERIVATIVE -STORAGEkvflowcontrol.tokens.send.regular.availableFlow send tokens available for regular requests, across all replication streamsBytesGAUGEBYTESAVGNONE -STORAGEkvflowcontrol.tokens.send.regular.deductedFlow send tokens deducted by regular requests, across all replication streamsBytesCOUNTERBYTESAVGNON_NEGATIVE_DERIVATIVE -STORAGEkvflowcontrol.tokens.send.regular.returnedFlow send tokens returned by regular requests, across all replication streamsBytesCOUNTERBYTESAVGNON_NEGATIVE_DERIVATIVE -STORAGEkvflowcontrol.tokens.send.regular.unaccountedFlow send tokens returned by regular requests that were unaccounted for, across all replication streamsBytesCOUNTERBYTESAVGNON_NEGATIVE_DERIVATIVE STORAGEleases.epochNumber of replica leaseholders using epoch-based leasesReplicasGAUGECOUNTAVGNONE STORAGEleases.errorNumber of failed lease requestsLease RequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEleases.expirationNumber of replica leaseholders using expiration-based leasesReplicasGAUGECOUNTAVGNONE -STORAGEleases.leaderNumber of replica leaseholders using leader leasesReplicasGAUGECOUNTAVGNONE STORAGEleases.livenessNumber of replica leaseholders for the liveness range(s)ReplicasGAUGECOUNTAVGNONE STORAGEleases.preferences.less-preferredNumber of replica leaseholders which satisfy a lease preference which is not the most preferredReplicasGAUGECOUNTAVGNONE STORAGEleases.preferences.violatingNumber of replica leaseholders which violate lease preferencesReplicasGAUGECOUNTAVGNONE @@ -494,8 +457,6 @@ STORAGEraft.rcvd.cross_zone.bytesNumber of bytes received by this store for cross zone, same region
Raft messages (when region and zone tiers are configured). If region tiers
are not configured, this count may include data sent between different
regions. To ensure accurate monitoring of transmitted data, it is important
to set up a consistent locality configuration across nodes. Note that this
does not include raft snapshot received.BytesCOUNTERBYTESAVGNON_NEGATIVE_DERIVATIVE STORAGEraft.rcvd.droppedNumber of incoming Raft messages dropped (due to queue length or size)MessagesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEraft.rcvd.dropped_bytesBytes of dropped incoming Raft messagesBytesCOUNTERBYTESAVGNON_NEGATIVE_DERIVATIVE -STORAGEraft.rcvd.fortifyleaderNumber of MsgFortifyLeader messages received by this storeMessagesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -STORAGEraft.rcvd.fortifyleaderrespNumber of MsgFortifyLeaderResp messages received by this storeMessagesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEraft.rcvd.heartbeatNumber of (coalesced, if enabled) MsgHeartbeat messages received by this storeMessagesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEraft.rcvd.heartbeatrespNumber of (coalesced, if enabled) MsgHeartbeatResp messages received by this storeMessagesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEraft.rcvd.prevoteNumber of MsgPreVote messages received by this storeMessagesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE @@ -669,6 +630,8 @@ STORAGErpc.method.writebatch.recvNumber of WriteBatch requests processedRPCsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGErpc.streams.mux_rangefeed.activeNumber of currently running MuxRangeFeed streamsStreamsGAUGECOUNTAVGNONE STORAGErpc.streams.mux_rangefeed.recvTotal number of MuxRangeFeed streamsStreamsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE +STORAGErpc.streams.rangefeed.activeNumber of currently running RangeFeed streamsStreamsGAUGECOUNTAVGNONE +STORAGErpc.streams.rangefeed.recvTotal number of RangeFeed streamsStreamsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEspanconfig.kvsubscriber.oldest_protected_record_nanosDifference between the current time and the oldest protected timestamp (sudden drops indicate a record being released; an ever increasing number indicates that the oldest record is around and preventing GC if > configured GC TTL)NanosecondsGAUGENANOSECONDSAVGNONE STORAGEspanconfig.kvsubscriber.protected_record_countNumber of protected timestamp records, as seen by KVRecordsGAUGECOUNTAVGNONE STORAGEspanconfig.kvsubscriber.update_behind_nanosDifference between the current time and when the KVSubscriber received its last update (an ever increasing number indicates that we're no longer receiving updates)NanosecondsGAUGENANOSECONDSAVGNONE @@ -690,12 +653,10 @@ STORAGEstorage.disk-stalledNumber of instances of disk operations taking longer than 20sEventsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEstorage.disk.io.timeTime spent reading from or writing to the store's disk since this process started (as reported by the OS)TimeCOUNTERNANOSECONDSAVGNON_NEGATIVE_DERIVATIVE STORAGEstorage.disk.iopsinprogressIO operations currently in progress on the store's disk (as reported by the OS)OperationsGAUGECOUNTAVGNONE -STORAGEstorage.disk.read-max.bytespersecondMaximum rate at which bytes were read from disk (as reported by the OS)BytesGAUGEBYTESAVGNONE STORAGEstorage.disk.read.bytesBytes read from the store's disk since this process started (as reported by the OS)BytesCOUNTERBYTESAVGNON_NEGATIVE_DERIVATIVE STORAGEstorage.disk.read.countDisk read operations on the store's disk since this process started (as reported by the OS)OperationsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEstorage.disk.read.timeTime spent reading from the store's disk since this process started (as reported by the OS)TimeCOUNTERNANOSECONDSAVGNON_NEGATIVE_DERIVATIVE STORAGEstorage.disk.weightedio.timeWeighted time spent reading from or writing to the store's disk since this process started (as reported by the OS)TimeCOUNTERNANOSECONDSAVGNON_NEGATIVE_DERIVATIVE -STORAGEstorage.disk.write-max.bytespersecondMaximum rate at which bytes were written to disk (as reported by the OS)BytesGAUGEBYTESAVGNONE STORAGEstorage.disk.write.bytesBytes written to the store's disk since this process started (as reported by the OS)BytesCOUNTERBYTESAVGNON_NEGATIVE_DERIVATIVE STORAGEstorage.disk.write.countDisk write operations on the store's disk since this process started (as reported by the OS)OperationsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE STORAGEstorage.disk.write.timeTime spent writing to the store's disks since this process started (as reported by the OS)TimeCOUNTERNANOSECONDSAVGNON_NEGATIVE_DERIVATIVE @@ -819,35 +780,15 @@ APPLICATIONchangefeed.backfill_pending_rangesNumber of ranges in an ongoing backfill that are yet to be fully emittedCountGAUGECOUNTAVGNONE APPLICATIONchangefeed.batch_reduction_countNumber of times a changefeed aggregator node attempted to reduce the size of message batches it emitted to the sinkBatch Size ReductionsGAUGECOUNTAVGNONE APPLICATIONchangefeed.buffer_entries.allocated_memCurrent quota pool memory allocationBytesGAUGEBYTESAVGNONE -APPLICATIONchangefeed.buffer_entries.allocated_mem.aggregatorCurrent quota pool memory allocation - between the kvfeed and the sinkBytesGAUGEBYTESAVGNONE -APPLICATIONchangefeed.buffer_entries.allocated_mem.rangefeedCurrent quota pool memory allocation - between the rangefeed and the kvfeedBytesGAUGEBYTESAVGNONE APPLICATIONchangefeed.buffer_entries.flushNumber of flush elements added to the bufferEventsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONchangefeed.buffer_entries.flush.aggregatorNumber of flush elements added to the buffer - between the kvfeed and the sinkEventsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONchangefeed.buffer_entries.flush.rangefeedNumber of flush elements added to the buffer - between the rangefeed and the kvfeedEventsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONchangefeed.buffer_entries.inTotal entries entering the buffer between raft and changefeed sinksEntriesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONchangefeed.buffer_entries.in.aggregatorTotal entries entering the buffer between raft and changefeed sinks - between the kvfeed and the sinkEntriesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONchangefeed.buffer_entries.in.rangefeedTotal entries entering the buffer between raft and changefeed sinks - between the rangefeed and the kvfeedEntriesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONchangefeed.buffer_entries.kvNumber of kv elements added to the bufferEventsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONchangefeed.buffer_entries.kv.aggregatorNumber of kv elements added to the buffer - between the kvfeed and the sinkEventsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONchangefeed.buffer_entries.kv.rangefeedNumber of kv elements added to the buffer - between the rangefeed and the kvfeedEventsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONchangefeed.buffer_entries.outTotal entries leaving the buffer between raft and changefeed sinksEntriesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONchangefeed.buffer_entries.out.aggregatorTotal entries leaving the buffer between raft and changefeed sinks - between the kvfeed and the sinkEntriesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONchangefeed.buffer_entries.out.rangefeedTotal entries leaving the buffer between raft and changefeed sinks - between the rangefeed and the kvfeedEntriesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONchangefeed.buffer_entries.releasedTotal entries processed, emitted and acknowledged by the sinksEntriesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONchangefeed.buffer_entries.released.aggregatorTotal entries processed, emitted and acknowledged by the sinks - between the kvfeed and the sinkEntriesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONchangefeed.buffer_entries.released.rangefeedTotal entries processed, emitted and acknowledged by the sinks - between the rangefeed and the kvfeedEntriesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONchangefeed.buffer_entries.resolvedNumber of resolved elements added to the bufferEventsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONchangefeed.buffer_entries.resolved.aggregatorNumber of resolved elements added to the buffer - between the kvfeed and the sinkEventsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONchangefeed.buffer_entries.resolved.rangefeedNumber of resolved elements added to the buffer - between the rangefeed and the kvfeedEventsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONchangefeed.buffer_entries_mem.acquiredTotal amount of memory acquired for entries as they enter the systemEntriesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONchangefeed.buffer_entries_mem.acquired.aggregatorTotal amount of memory acquired for entries as they enter the system - between the kvfeed and the sinkEntriesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONchangefeed.buffer_entries_mem.acquired.rangefeedTotal amount of memory acquired for entries as they enter the system - between the rangefeed and the kvfeedEntriesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONchangefeed.buffer_entries_mem.releasedTotal amount of memory released by the entries after they have been emittedEntriesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONchangefeed.buffer_entries_mem.released.aggregatorTotal amount of memory released by the entries after they have been emitted - between the kvfeed and the sinkEntriesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONchangefeed.buffer_entries_mem.released.rangefeedTotal amount of memory released by the entries after they have been emitted - between the rangefeed and the kvfeedEntriesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONchangefeed.buffer_pushback_nanosTotal time spent waiting while the buffer was fullNanosecondsCOUNTERNANOSECONDSAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONchangefeed.buffer_pushback_nanos.aggregatorTotal time spent waiting while the buffer was full - between the kvfeed and the sinkNanosecondsCOUNTERNANOSECONDSAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONchangefeed.buffer_pushback_nanos.rangefeedTotal time spent waiting while the buffer was full - between the rangefeed and the kvfeedNanosecondsCOUNTERNANOSECONDSAVGNON_NEGATIVE_DERIVATIVE APPLICATIONchangefeed.bytes.messages_pushback_nanosTotal time spent throttled for bytes quotaNanosecondsCOUNTERNANOSECONDSAVGNON_NEGATIVE_DERIVATIVE APPLICATIONchangefeed.checkpoint_hist_nanosTime spent checkpointing changefeed progressChangefeedsHISTOGRAMNANOSECONDSAVGNONE APPLICATIONchangefeed.checkpoint_progressThe earliest timestamp of any changefeed's persisted checkpoint (values prior to this timestamp will never need to be re-emitted)Unix Timestamp NanosecondsGAUGETIMESTAMP_NSAVGNONE @@ -945,6 +886,7 @@ APPLICATIONdistsender.rangefeed.retry.sendNumber of ranges that encountered retryable send errorRangesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONdistsender.rangefeed.retry.slow_consumerNumber of ranges that encountered retryable SLOW_CONSUMER errorRangesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONdistsender.rangefeed.retry.store_not_foundNumber of ranges that encountered retryable store not found errorRangesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE +APPLICATIONdistsender.rangefeed.retry.stuckNumber of ranges that encountered retryable stuck errorRangesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONdistsender.rangefeed.total_rangesNumber of ranges executing rangefeed

This counts the number of ranges with an active rangefeed.
RangesGAUGECOUNTAVGNONE APPLICATIONdistsender.rangelookupsNumber of range lookupsRange LookupsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONdistsender.rpc.addsstable.sentNumber of AddSSTable requests processed.

This counts the requests in batches handed to DistSender, not the RPCs
sent to individual Ranges as a result.RPCsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE @@ -1090,18 +1032,6 @@ APPLICATIONjobs.auto_config_task.resume_completedNumber of auto_config_task jobs which successfully resumed to completionjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONjobs.auto_config_task.resume_failedNumber of auto_config_task jobs which failed with a non-retriable errorjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONjobs.auto_config_task.resume_retry_errorNumber of auto_config_task jobs which failed with a retriable errorjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONjobs.auto_create_partial_stats.currently_idleNumber of auto_create_partial_stats jobs currently considered Idle and can be freely shut downjobsGAUGECOUNTAVGNONE -APPLICATIONjobs.auto_create_partial_stats.currently_pausedNumber of auto_create_partial_stats jobs currently considered PausedjobsGAUGECOUNTAVGNONE -APPLICATIONjobs.auto_create_partial_stats.currently_runningNumber of auto_create_partial_stats jobs currently running in Resume or OnFailOrCancel statejobsGAUGECOUNTAVGNONE -APPLICATIONjobs.auto_create_partial_stats.expired_pts_recordsNumber of expired protected timestamp records owned by auto_create_partial_stats jobsrecordsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONjobs.auto_create_partial_stats.fail_or_cancel_completedNumber of auto_create_partial_stats jobs which successfully completed their failure or cancelation processjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONjobs.auto_create_partial_stats.fail_or_cancel_failedNumber of auto_create_partial_stats jobs which failed with a non-retriable error on their failure or cancelation processjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONjobs.auto_create_partial_stats.fail_or_cancel_retry_errorNumber of auto_create_partial_stats jobs which failed with a retriable error on their failure or cancelation processjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONjobs.auto_create_partial_stats.protected_age_secThe age of the oldest PTS record protected by auto_create_partial_stats jobssecondsGAUGESECONDSAVGNONE -APPLICATIONjobs.auto_create_partial_stats.protected_record_countNumber of protected timestamp records held by auto_create_partial_stats jobsrecordsGAUGECOUNTAVGNONE -APPLICATIONjobs.auto_create_partial_stats.resume_completedNumber of auto_create_partial_stats jobs which successfully resumed to completionjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONjobs.auto_create_partial_stats.resume_failedNumber of auto_create_partial_stats jobs which failed with a non-retriable errorjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONjobs.auto_create_partial_stats.resume_retry_errorNumber of auto_create_partial_stats jobs which failed with a retriable errorjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONjobs.auto_create_stats.currently_idleNumber of auto_create_stats jobs currently considered Idle and can be freely shut downjobsGAUGECOUNTAVGNONE APPLICATIONjobs.auto_create_stats.currently_pausedNumber of auto_create_stats jobs currently considered PausedjobsGAUGECOUNTAVGNONE APPLICATIONjobs.auto_create_stats.currently_runningNumber of auto_create_stats jobs currently running in Resume or OnFailOrCancel statejobsGAUGECOUNTAVGNONE @@ -1247,18 +1177,6 @@ APPLICATIONjobs.key_visualizer.resume_completedNumber of key_visualizer jobs which successfully resumed to completionjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONjobs.key_visualizer.resume_failedNumber of key_visualizer jobs which failed with a non-retriable errorjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONjobs.key_visualizer.resume_retry_errorNumber of key_visualizer jobs which failed with a retriable errorjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONjobs.logical_replication.currently_idleNumber of logical_replication jobs currently considered Idle and can be freely shut downjobsGAUGECOUNTAVGNONE -APPLICATIONjobs.logical_replication.currently_pausedNumber of logical_replication jobs currently considered PausedjobsGAUGECOUNTAVGNONE -APPLICATIONjobs.logical_replication.currently_runningNumber of logical_replication jobs currently running in Resume or OnFailOrCancel statejobsGAUGECOUNTAVGNONE -APPLICATIONjobs.logical_replication.expired_pts_recordsNumber of expired protected timestamp records owned by logical_replication jobsrecordsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONjobs.logical_replication.fail_or_cancel_completedNumber of logical_replication jobs which successfully completed their failure or cancelation processjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONjobs.logical_replication.fail_or_cancel_failedNumber of logical_replication jobs which failed with a non-retriable error on their failure or cancelation processjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONjobs.logical_replication.fail_or_cancel_retry_errorNumber of logical_replication jobs which failed with a retriable error on their failure or cancelation processjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONjobs.logical_replication.protected_age_secThe age of the oldest PTS record protected by logical_replication jobssecondsGAUGESECONDSAVGNONE -APPLICATIONjobs.logical_replication.protected_record_countNumber of protected timestamp records held by logical_replication jobsrecordsGAUGECOUNTAVGNONE -APPLICATIONjobs.logical_replication.resume_completedNumber of logical_replication jobs which successfully resumed to completionjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONjobs.logical_replication.resume_failedNumber of logical_replication jobs which failed with a non-retriable errorjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONjobs.logical_replication.resume_retry_errorNumber of logical_replication jobs which failed with a retriable errorjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONjobs.metrics.task_failedNumber of metrics poller tasks that failederrorsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONjobs.migration.currently_idleNumber of migration jobs currently considered Idle and can be freely shut downjobsGAUGECOUNTAVGNONE APPLICATIONjobs.migration.currently_pausedNumber of migration jobs currently considered PausedjobsGAUGECOUNTAVGNONE @@ -1402,45 +1320,10 @@ APPLICATIONjobs.typedesc_schema_change.resume_completedNumber of typedesc_schema_change jobs which successfully resumed to completionjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONjobs.typedesc_schema_change.resume_failedNumber of typedesc_schema_change jobs which failed with a non-retriable errorjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONjobs.typedesc_schema_change.resume_retry_errorNumber of typedesc_schema_change jobs which failed with a retriable errorjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONjobs.update_table_metadata_cache.currently_idleNumber of update_table_metadata_cache jobs currently considered Idle and can be freely shut downjobsGAUGECOUNTAVGNONE -APPLICATIONjobs.update_table_metadata_cache.currently_pausedNumber of update_table_metadata_cache jobs currently considered PausedjobsGAUGECOUNTAVGNONE -APPLICATIONjobs.update_table_metadata_cache.currently_runningNumber of update_table_metadata_cache jobs currently running in Resume or OnFailOrCancel statejobsGAUGECOUNTAVGNONE -APPLICATIONjobs.update_table_metadata_cache.expired_pts_recordsNumber of expired protected timestamp records owned by update_table_metadata_cache jobsrecordsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONjobs.update_table_metadata_cache.fail_or_cancel_completedNumber of update_table_metadata_cache jobs which successfully completed their failure or cancelation processjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONjobs.update_table_metadata_cache.fail_or_cancel_failedNumber of update_table_metadata_cache jobs which failed with a non-retriable error on their failure or cancelation processjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONjobs.update_table_metadata_cache.fail_or_cancel_retry_errorNumber of update_table_metadata_cache jobs which failed with a retriable error on their failure or cancelation processjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONjobs.update_table_metadata_cache.protected_age_secThe age of the oldest PTS record protected by update_table_metadata_cache jobssecondsGAUGESECONDSAVGNONE -APPLICATIONjobs.update_table_metadata_cache.protected_record_countNumber of protected timestamp records held by update_table_metadata_cache jobsrecordsGAUGECOUNTAVGNONE -APPLICATIONjobs.update_table_metadata_cache.resume_completedNumber of update_table_metadata_cache jobs which successfully resumed to completionjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONjobs.update_table_metadata_cache.resume_failedNumber of update_table_metadata_cache jobs which failed with a non-retriable errorjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONjobs.update_table_metadata_cache.resume_retry_errorNumber of update_table_metadata_cache jobs which failed with a retriable errorjobsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONkv.protectedts.reconciliation.errorsnumber of errors encountered during reconciliation runs on this nodeCountCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONkv.protectedts.reconciliation.num_runsnumber of successful reconciliation runs on this nodeCountCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONkv.protectedts.reconciliation.records_processednumber of records processed without error during reconciliation on this nodeCountCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONkv.protectedts.reconciliation.records_removednumber of records removed during reconciliation runs on this nodeCountCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONlogical_replication.batch_hist_nanosTime spent flushing a batchNanosecondsHISTOGRAMNANOSECONDSAVGNONE -APPLICATIONlogical_replication.checkpoint_events_ingestedCheckpoint events ingested by all replication jobsEventsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONlogical_replication.commit_latencyEvent commit latency: a difference between event MVCC timestamp and the time it was flushed into disk. If we batch events, then the difference between the oldest event in the batch and flush is recordedNanosecondsHISTOGRAMNANOSECONDSAVGNONE -APPLICATIONlogical_replication.events_dlqedRow update events sent to DLQFailuresCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONlogical_replication.events_dlqed_ageRow update events sent to DLQ due to reaching the maximum time allowed in the retry queueFailuresCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONlogical_replication.events_dlqed_errtypeRow update events sent to DLQ due to an error not considered retryableFailuresCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONlogical_replication.events_dlqed_spaceRow update events sent to DLQ due to capacity of the retry queueFailuresCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONlogical_replication.events_ingestedEvents ingested by all replication jobsEventsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONlogical_replication.events_initial_failureFailed attempts to apply an incoming row updateFailuresCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONlogical_replication.events_initial_successSuccessful applications of an incoming row updateFailuresCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONlogical_replication.events_retry_failureFailed re-attempts to apply a row updateFailuresCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONlogical_replication.events_retry_successRow update events applied after one or more retriesFailuresCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONlogical_replication.flush_bytesNumber of bytes in a given flushLogical bytesHISTOGRAMBYTESAVGNONE -APPLICATIONlogical_replication.flush_hist_nanosTime spent flushing messages across all replication streamsNanosecondsHISTOGRAMNANOSECONDSAVGNONE -APPLICATIONlogical_replication.flush_row_countNumber of rows in a given flushRowsHISTOGRAMCOUNTAVGNONE -APPLICATIONlogical_replication.kv_write_fallback_countTotal number of times the kv write path could not handle a row update and fell back to SQL insteadEventsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONlogical_replication.logical_bytesLogical bytes (sum of keys + values) received by all replication jobsBytesCOUNTERBYTESAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONlogical_replication.optimistic_insert_conflict_countTotal number of times the optimistic insert encountered a conflictEventsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONlogical_replication.replan_countTotal number of dist sql replanning eventsEventsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONlogical_replication.replicated_time_secondsThe replicated time of the logical replication stream in seconds since the unix epoch.SecondsGAUGESECONDSAVGNONE -APPLICATIONlogical_replication.retry_queue_bytesThe replicated time of the logical replication stream in seconds since the unix epoch.BytesGAUGEBYTESAVGNONE -APPLICATIONlogical_replication.retry_queue_eventsThe replicated time of the logical replication stream in seconds since the unix epoch.EventsGAUGECOUNTAVGNONE -APPLICATIONobs.tablemetadata.update_job.runsThe total number of runs of the update table metadata job.ExecutionsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONphysical_replication.admit_latencyEvent admission latency: a difference between event MVCC timestamp and the time it was admitted into ingestion processorNanosecondsHISTOGRAMNANOSECONDSAVGNONE APPLICATIONphysical_replication.commit_latencyEvent commit latency: a difference between event MVCC timestamp and the time it was flushed into disk. If we batch events, then the difference between the oldest event in the batch and flush is recordedNanosecondsHISTOGRAMNANOSECONDSAVGNONE APPLICATIONphysical_replication.cutover_progressThe number of ranges left to revert in order to complete an inflight cutoverRangesGAUGECOUNTAVGNONE @@ -1720,14 +1603,10 @@ APPLICATIONsqlliveness.write_successesNumber of update or insert calls successfully performedWritesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONtenant.cost_client.blocked_requestsNumber of requests currently blocked by the rate limiterRequestsGAUGECOUNTAVGNONE APPLICATIONtenant.sql_usage.cross_region_network_ruTotal number of RUs charged for cross-region network trafficRequest UnitsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONtenant.sql_usage.estimated_cpu_secondsEstimated amount of CPU consumed by a virtual clusterCPU SecondsCOUNTERSECONDSAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONtenant.sql_usage.estimated_kv_cpu_secondsEstimated amount of CPU consumed by a virtual cluster, in the KV layerCPU SecondsCOUNTERSECONDSAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONtenant.sql_usage.estimated_replication_bytesTotal number of estimated bytes for KV replication trafficBytesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONtenant.sql_usage.external_io_egress_bytesTotal number of bytes written to external services such as cloud storage providersBytesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONtenant.sql_usage.external_io_ingress_bytesTotal number of bytes read from external services such as cloud storage providersBytesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONtenant.sql_usage.kv_request_unitsRU consumption attributable to KVRequest UnitsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONtenant.sql_usage.pgwire_egress_bytesTotal number of bytes transferred from a SQL pod to the clientBytesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE -APPLICATIONtenant.sql_usage.provisioned_vcpusNumber of vcpus available to the virtual clusterCountGAUGECOUNTAVGNONE APPLICATIONtenant.sql_usage.read_batchesTotal number of KV read batchesRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONtenant.sql_usage.read_bytesTotal number of bytes read from KVBytesCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE APPLICATIONtenant.sql_usage.read_requestsTotal number of KV read requestsRequestsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE @@ -1790,15 +1669,12 @@ SERVERsys.gc.countTotal number of GC runsGC RunsCOUNTERCOUNTAVGNON_NEGATIVE_DERIVATIVE SERVERsys.gc.pause.nsTotal GC pauseGC PauseCOUNTERNANOSECONDSAVGNON_NEGATIVE_DERIVATIVE SERVERsys.gc.pause.percentCurrent GC pause percentageGC PauseGAUGEPERCENTAVGNONE -SERVERsys.gc.stop.nsEstimated GC stop-the-world stopping latenciesGC StoppingGAUGENANOSECONDSAVGNONE SERVERsys.go.allocbytesCurrent bytes of memory allocated by goMemoryGAUGEBYTESAVGNONE SERVERsys.go.heap.allocbytesCumulative bytes allocated for heap objects.MemoryCOUNTERBYTESAVGNON_NEGATIVE_DERIVATIVE SERVERsys.go.heap.heapfragmentbytesTotal heap fragmentation bytes, derived from bytes in in-use spans minus bytes allocatedMemoryGAUGEBYTESAVGNONE SERVERsys.go.heap.heapreleasedbytesTotal bytes returned to the OS from heap.MemoryGAUGEBYTESAVGNONE SERVERsys.go.heap.heapreservedbytesTotal bytes reserved by heap, derived from bytes in idle (unused) spans subtracts bytes returned to the OSMemoryGAUGEBYTESAVGNONE -SERVERsys.go.pause.other.nsEstimated non-GC-related total pause timeNon-GC PauseGAUGENANOSECONDSAVGNONE SERVERsys.go.stack.systembytesStack memory obtained from the OS.MemoryGAUGEBYTESAVGNONE -SERVERsys.go.stop.other.nsEstimated non-GC-related stop-the-world stopping latenciesNon-GC StoppingGAUGENANOSECONDSAVGNONE SERVERsys.go.totalbytesTotal bytes of memory allocated by go, but not releasedMemoryGAUGEBYTESAVGNONE SERVERsys.goroutinesCurrent number of goroutinesgoroutinesGAUGECOUNTAVGNONE SERVERsys.host.disk.io.timeTime spent reading from or writing to all disks since this process started (as reported by the OS)TimeCOUNTERNANOSECONDSAVGNON_NEGATIVE_DERIVATIVE diff --git a/docs/generated/settings/BUILD.bazel b/docs/generated/settings/BUILD.bazel index 0c785502cad5..c208f0d4179b 100644 --- a/docs/generated/settings/BUILD.bazel +++ b/docs/generated/settings/BUILD.bazel @@ -1,11 +1,7 @@ genrule( name = "settings", outs = ["settings.html"], - cmd = """ - $(location //pkg/cmd/cockroach-short) gen settings-list \ - --show-class --format=rawhtml --class-header-label 'Supported Deployments' \ - --class-labels 'Dedicated/Self-Hosted,Dedicated/Self-hosted (read-write); Serverless (read-only),Serverless/Dedicated/Self-Hosted' > $@ - """, + cmd = "$(location //pkg/cmd/cockroach-short) gen settings-list --show-class --format=rawhtml --class-header-label 'Supported Deployments' --class-labels 'Dedicated/Self-Hosted,Serverless/Dedicated/Self-Hosted (read-only),Serverless/Dedicated/Self-Hosted' > $@", tools = ["//pkg/cmd/cockroach-short"], visibility = [ ":__pkg__", diff --git a/docs/generated/settings/settings-for-tenants.txt b/docs/generated/settings/settings-for-tenants.txt index 7c505a40b16e..5078c2a782a8 100644 --- a/docs/generated/settings/settings-for-tenants.txt +++ b/docs/generated/settings/settings-for-tenants.txt @@ -26,40 +26,11 @@ changefeed.protect_timestamp_interval duration 10m0s controls how often the chan changefeed.schema_feed.read_with_priority_after duration 1m0s retry with high priority if we were not able to read descriptors for too long; 0 disables application changefeed.sink_io_workers integer 0 the number of workers used by changefeeds when sending requests to the sink (currently the batching versions of webhook, pubsub, and kafka sinks that are enabled by changefeed.new__sink_enabled only): <0 disables, 0 assigns a reasonable default, >0 assigns the setting value application cloudstorage.azure.concurrent_upload_buffers integer 1 controls the number of concurrent buffers that will be used by the Azure client when uploading chunks.Each buffer can buffer up to cloudstorage.write_chunk.size of memory during an upload application -cloudstorage.azure.read.node_burst_limit byte size 0 B burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.azure.read.node_rate_limit byte size 0 B limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.azure.write.node_burst_limit byte size 0 B burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.azure.write.node_rate_limit byte size 0 B limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.gs.read.node_burst_limit byte size 0 B burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.gs.read.node_rate_limit byte size 0 B limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.gs.write.node_burst_limit byte size 0 B burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.gs.write.node_rate_limit byte size 0 B limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application cloudstorage.http.custom_ca string custom root CA (appended to system's default CAs) for verifying certificates when interacting with HTTPS storage application -cloudstorage.http.read.node_burst_limit byte size 0 B burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.http.read.node_rate_limit byte size 0 B limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.http.write.node_burst_limit byte size 0 B burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.http.write.node_rate_limit byte size 0 B limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.nodelocal.read.node_burst_limit byte size 0 B burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.nodelocal.read.node_rate_limit byte size 0 B limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.nodelocal.write.node_burst_limit byte size 0 B burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.nodelocal.write.node_rate_limit byte size 0 B limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.nullsink.read.node_burst_limit byte size 0 B burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.nullsink.read.node_rate_limit byte size 0 B limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.nullsink.write.node_burst_limit byte size 0 B burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.nullsink.write.node_rate_limit byte size 0 B limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.s3.read.node_burst_limit byte size 0 B burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.s3.read.node_rate_limit byte size 0 B limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.s3.write.node_burst_limit byte size 0 B burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.s3.write.node_rate_limit byte size 0 B limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application cloudstorage.timeout duration 10m0s the timeout for import/export storage operations application -cloudstorage.userfile.read.node_burst_limit byte size 0 B burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.userfile.read.node_rate_limit byte size 0 B limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.userfile.write.node_burst_limit byte size 0 B burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application -cloudstorage.userfile.write.node_rate_limit byte size 0 B limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero application cluster.auto_upgrade.enabled boolean true disable automatic cluster version upgrade until reset application cluster.organization string organization name system-visible cluster.preserve_downgrade_option string disable (automatic or manual) cluster version upgrade from the specified version until reset application -debug.zip.redact_addresses.enabled boolean false enables the redaction of hostnames and ip addresses in debug zip application diagnostics.active_query_dumps.enabled boolean true experimental: enable dumping of anonymized active queries to disk when node is under memory pressure system-visible diagnostics.forced_sql_stat_reset.interval duration 2h0m0s interval after which the reported SQL Stats are reset even if not collected by telemetry reporter. It has a max value of 24H. application diagnostics.memory_monitoring_dumps.enabled boolean true enable dumping of memory monitoring state at the same time as heap profiles are taken system-visible @@ -91,16 +62,14 @@ kv.protectedts.reconciliation.interval duration 5m0s the frequency for reconcili kv.rangefeed.client.stream_startup_rate integer 100 controls the rate per second the client will initiate new rangefeed stream for a single range; 0 implies unlimited application kv.rangefeed.closed_timestamp_refresh_interval duration 3s the interval at which closed-timestamp updatesare delivered to rangefeeds; set to 0 to use kv.closed_timestamp.side_transport_interval system-visible kv.rangefeed.enabled boolean false if set, rangefeed registration is enabled system-visible +kv.rangefeed.range_stuck_threshold duration 1m0s restart rangefeeds if they don't emit anything for the specified threshold; 0 disables (kv.rangefeed.closed_timestamp_refresh_interval takes precedence) application kv.transaction.max_intents_bytes integer 4194304 maximum number of bytes used to track locks in transactions application kv.transaction.max_refresh_spans_bytes integer 4194304 maximum number of bytes used to track refresh spans in serializable transactions application -kv.transaction.randomized_anchor_key.enabled boolean false dictates whether a transactions anchor key is randomized or not application kv.transaction.reject_over_max_intents_budget.enabled boolean false if set, transactions that exceed their lock tracking budget (kv.transaction.max_intents_bytes) are rejected instead of having their lock spans imprecisely compressed application kv.transaction.write_pipelining.locking_reads.enabled boolean true if enabled, transactional locking reads are pipelined through Raft consensus application kv.transaction.write_pipelining.ranged_writes.enabled boolean true if enabled, transactional ranged writes are pipelined through Raft consensus application kv.transaction.write_pipelining.enabled (alias: kv.transaction.write_pipelining_enabled) boolean true if enabled, transactional writes are pipelined through Raft consensus application kv.transaction.write_pipelining.max_batch_size (alias: kv.transaction.write_pipelining_max_batch_size) integer 128 if non-zero, defines that maximum size batch that will be pipelined through Raft consensus application -obs.tablemetadata.automatic_updates.enabled boolean false enables automatic updates of the table metadata cache system.table_metadata application -obs.tablemetadata.data_valid_duration duration 20m0s the duration for which the data in system.table_metadata is considered valid application schedules.backup.gc_protection.enabled boolean true enable chaining of GC protection across backups run as part of a schedule application security.client_cert.subject_required.enabled boolean false mandates a requirement for subject role to be set for db user system-visible security.ocsp.mode enumeration off use OCSP to check whether TLS certificates are revoked. If the OCSP server is unreachable, in strict mode all certificates will be rejected and in lax mode all certificates will be accepted. [off = 0, lax = 1, strict = 2] application @@ -119,17 +88,6 @@ server.hot_ranges_request.node.timeout duration 5m0s the duration allowed for a server.hsts.enabled boolean false if true, HSTS headers will be sent along with all HTTP requests. The headers will contain a max-age setting of one year. Browsers honoring the header will always use HTTPS to access the DB Console. Ensure that TLS is correctly configured prior to enabling. application server.http.base_path string / path to redirect the user to upon succcessful login application server.identity_map.configuration string system-identity to database-username mappings application -server.jwt_authentication.audience string sets accepted audience values for JWT logins over the SQL interface application -server.jwt_authentication.claim string sets the JWT claim that is parsed to get the username application -server.jwt_authentication.client.timeout duration 15s sets the client timeout for external calls made during JWT authentication (e.g. fetching JWKS, etc.) application -server.jwt_authentication.enabled boolean false enables or disables JWT login for the SQL interface application -server.jwt_authentication.issuers.configuration (alias: server.jwt_authentication.issuers) string sets accepted issuer values for JWT logins over the SQL interface which can be a single issuer URL string or a JSON string containing an array of issuer URLs or a JSON object containing map of issuer URLS to JWKS URIs application -server.jwt_authentication.issuers.custom_ca string sets the PEM encoded custom root CA for verifying certificates while fetching JWKS application -server.jwt_authentication.jwks string "{""keys"":[]}" sets the public key set for JWT logins over the SQL interface (JWKS format) application -server.jwt_authentication.jwks_auto_fetch.enabled boolean false enables or disables automatic fetching of JWKS from the issuer's well-known endpoint or JWKS URI set in JWTAuthIssuersConfig. If this is enabled, the server.jwt_authentication.jwks will be ignored. application -server.ldap_authentication.client.tls_certificate string sets the client certificate PEM for establishing mTLS connection with LDAP server application -server.ldap_authentication.client.tls_key string sets the client key PEM for establishing mTLS connection with LDAP server application -server.ldap_authentication.domain.custom_ca string sets the PEM encoded custom root CA for verifying domain certificates when establishing connection with LDAP server application server.log_gc.max_deletions_per_cycle integer 1000 the maximum number of entries to delete on each purge of log-like system tables application server.log_gc.period duration 1h0m0s the period at which log-like system tables are checked for old entries application server.max_connections_per_gateway integer -1 the maximum number of SQL connections per gateway allowed at a given time (note: this will only limit future connection attempts and will not affect already established connections). Negative values result in unlimited number of connections. Superusers are not affected by this limit. application @@ -137,7 +95,6 @@ server.max_open_transactions_per_gateway integer -1 the maximum number of open S server.oidc_authentication.autologin.enabled (alias: server.oidc_authentication.autologin) boolean false if true, logged-out visitors to the DB Console will be automatically redirected to the OIDC login endpoint application server.oidc_authentication.button_text string Log in with your OIDC provider text to show on button on DB Console login page to login with your OIDC provider (only shown if OIDC is enabled) application server.oidc_authentication.claim_json_key string sets JSON key of principal to extract from payload after OIDC authentication completes (usually email or sid) application -server.oidc_authentication.client.timeout duration 15s sets the client timeout for external calls made during OIDC authentication (e.g. authorization code flow, etc.) application server.oidc_authentication.client_id string sets OIDC client id application server.oidc_authentication.client_secret string sets OIDC client secret application server.oidc_authentication.enabled boolean false enables or disabled OIDC login for the DB Console application @@ -154,7 +111,7 @@ server.sql_tcp_keep_alive.interval duration 10s time between keep alive probes a server.time_until_store_dead duration 5m0s the time after which if there is no new gossiped information about a store, it is considered dead application server.user_login.cert_password_method.auto_scram_promotion.enabled boolean true whether to automatically promote cert-password authentication to use SCRAM application server.user_login.downgrade_scram_stored_passwords_to_bcrypt.enabled boolean true if server.user_login.password_encryption=crdb-bcrypt, this controls whether to automatically re-encode stored passwords using scram-sha-256 to crdb-bcrypt application -server.user_login.min_password_length integer 1 the minimum length accepted for passwords set in cleartext via SQL. Note that a value lower than 1 is ignored: passwords cannot be empty in any case. This setting only applies when adding new users or altering an existing user's password; it will not affect existing logins. application +server.user_login.min_password_length integer 1 the minimum length accepted for passwords set in cleartext via SQL. Note that a value lower than 1 is ignored: passwords cannot be empty in any case. application server.user_login.password_encryption enumeration scram-sha-256 which hash method to use to encode cleartext passwords passed via ALTER/CREATE USER/ROLE WITH PASSWORD [crdb-bcrypt = 2, scram-sha-256 = 3] application server.user_login.password_hashes.default_cost.crdb_bcrypt integer 10 the hashing cost to use when storing passwords supplied as cleartext by SQL clients with the hashing method crdb-bcrypt (allowed range: 4-31) application server.user_login.password_hashes.default_cost.scram_sha_256 integer 10610 the hashing cost to use when storing passwords supplied as cleartext by SQL clients with the hashing method scram-sha-256 (allowed range: 4096-240000000000) application @@ -341,9 +298,6 @@ sql.stats.activity.persisted_rows.max integer 200000 maximum number of rows of s sql.stats.automatic_collection.enabled boolean true automatic statistics collection mode application sql.stats.automatic_collection.fraction_stale_rows float 0.2 target fraction of stale rows per table that will trigger a statistics refresh application sql.stats.automatic_collection.min_stale_rows integer 500 target minimum number of stale rows per table that will trigger a statistics refresh application -sql.stats.automatic_partial_collection.enabled boolean false automatic partial statistics collection mode application -sql.stats.automatic_partial_collection.fraction_stale_rows float 0.05 target fraction of stale rows per table that will trigger a partial statistics refresh application -sql.stats.automatic_partial_collection.min_stale_rows integer 100 target minimum number of stale rows per table that will trigger a partial statistics refresh application sql.stats.cleanup.recurrence string @hourly cron-tab recurrence for SQL Stats cleanup job application sql.stats.flush.enabled boolean true if set, SQL execution statistics are periodically flushed to disk application sql.stats.flush.interval duration 10m0s the interval at which SQL execution statistics are flushed to disk, this value must be less than or equal to 1 hour application @@ -352,10 +306,8 @@ sql.stats.forecasts.max_decrease float 0.3333333333333333 the most a prediction sql.stats.forecasts.min_goodness_of_fit float 0.95 the minimum R² (goodness of fit) measurement required from all predictive models to use a forecast application sql.stats.forecasts.min_observations integer 3 the mimimum number of observed statistics required to produce a statistics forecast application sql.stats.histogram_buckets.count integer 200 maximum number of histogram buckets to build during table statistics collection application -sql.stats.histogram_buckets.include_most_common_values.enabled boolean true whether to include most common values as histogram buckets application -sql.stats.histogram_buckets.max_fraction_most_common_values float 0.1 maximum fraction of histogram buckets to use for most common values application sql.stats.histogram_collection.enabled boolean true histogram collection mode application -sql.stats.histogram_samples.count integer 0 number of rows sampled for histogram construction during table statistics collection. Not setting this or setting a value of 0 means that a reasonable sample size will be automatically picked based on the table size. application +sql.stats.histogram_samples.count integer 10000 number of rows sampled for histogram construction during table statistics collection application sql.stats.multi_column_collection.enabled boolean true multi-column statistics collection mode application sql.stats.non_default_columns.min_retention_period duration 24h0m0s minimum retention period for table statistics collected on non-default columns application sql.stats.persisted_rows.max integer 1000000 maximum number of rows of statement and transaction statistics that will be persisted in the system tables before compaction begins application @@ -383,14 +335,11 @@ sql.ttl.default_select_batch_size integer 500 default amount of rows to select i sql.ttl.default_select_rate_limit integer 0 default select rate limit (rows per second) per node for each TTL job. Use 0 to signify no rate limit. application sql.ttl.job.enabled boolean true whether the TTL job is enabled application sql.txn.read_committed_isolation.enabled boolean true set to true to allow transactions to use the READ COMMITTED isolation level if specified by BEGIN/SET commands application -sql.txn.repeatable_read_isolation.enabled (alias: sql.txn.snapshot_isolation.enabled) boolean false set to true to allow transactions to use the REPEATABLE READ isolation level if specified by BEGIN/SET commands application sql.txn_fingerprint_id_cache.capacity integer 100 the maximum number of txn fingerprint IDs stored application -storage.ingestion.value_blocks.enabled boolean true set to true to enable writing of value blocks in ingestion sstables application storage.max_sync_duration duration 20s maximum duration for disk operations; any operations that take longer than this setting trigger a warning log entry or process crash system-visible storage.max_sync_duration.fatal.enabled boolean true if true, fatal the process when a disk operation exceeds storage.max_sync_duration application -storage.sstable.compression_algorithm enumeration snappy determines the compression algorithm to use when compressing sstable data blocks for use in a Pebble store; [snappy = 1, zstd = 2, none = 3] system-visible -storage.sstable.compression_algorithm_backup_storage enumeration snappy determines the compression algorithm to use when compressing sstable data blocks for backup row data storage; [snappy = 1, zstd = 2, none = 3] system-visible -storage.sstable.compression_algorithm_backup_transport enumeration snappy determines the compression algorithm to use when compressing sstable data blocks for backup transport; [snappy = 1, zstd = 2, none = 3] system-visible +storage.sstable.compression_algorithm enumeration snappy "determines the compression algorithm to use when compressing sstable data blocks; supported values: ""snappy"", ""zstd"" [snappy = 1, zstd = 2]" system-visible +storage.value_blocks.enabled boolean true set to true to enable writing of value blocks in sstables application timeseries.storage.resolution_10s.ttl duration 240h0m0s the maximum age of time series data stored at the 10 second resolution. Data older than this is subject to rollup and deletion. system-visible timeseries.storage.resolution_30m.ttl duration 2160h0m0s the maximum age of time series data stored at the 30 minute resolution. Data older than this is subject to deletion. system-visible trace.debug_http_endpoint.enabled (alias: trace.debug.enable) boolean false if set, traces for recent requests can be seen at https:///debug/requests application @@ -399,4 +348,4 @@ trace.snapshot.rate duration 0s if non-zero, interval at which background trace trace.span_registry.enabled boolean true if set, ongoing traces can be seen at https:///#/debug/tracez application trace.zipkin.collector string the address of a Zipkin instance to receive traces, as :. If no port is specified, 9411 will be used. application ui.display_timezone enumeration etc/utc the timezone used to format timestamps in the ui [etc/utc = 0, america/new_york = 1] application -version version 1000024.2-upgrading-to-1000024.3-step-016 set the active cluster version in the format '.' application +version version 24.1 set the active cluster version in the format '.' application diff --git a/docs/generated/settings/settings.html b/docs/generated/settings/settings.html index 978687cc54e2..2fc22a967665 100644 --- a/docs/generated/settings/settings.html +++ b/docs/generated/settings/settings.html @@ -31,46 +31,17 @@
changefeed.schema_feed.read_with_priority_after
duration1m0sretry with high priority if we were not able to read descriptors for too long; 0 disablesServerless/Dedicated/Self-Hosted
changefeed.sink_io_workers
integer0the number of workers used by changefeeds when sending requests to the sink (currently the batching versions of webhook, pubsub, and kafka sinks that are enabled by changefeed.new_<sink type>_sink_enabled only): <0 disables, 0 assigns a reasonable default, >0 assigns the setting valueServerless/Dedicated/Self-Hosted
cloudstorage.azure.concurrent_upload_buffers
integer1controls the number of concurrent buffers that will be used by the Azure client when uploading chunks.Each buffer can buffer up to cloudstorage.write_chunk.size of memory during an uploadServerless/Dedicated/Self-Hosted -
cloudstorage.azure.read.node_burst_limit
byte size0 Bburst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.azure.read.node_rate_limit
byte size0 Blimit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.azure.write.node_burst_limit
byte size0 Bburst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.azure.write.node_rate_limit
byte size0 Blimit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.gs.read.node_burst_limit
byte size0 Bburst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.gs.read.node_rate_limit
byte size0 Blimit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.gs.write.node_burst_limit
byte size0 Bburst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.gs.write.node_rate_limit
byte size0 Blimit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted
cloudstorage.http.custom_ca
stringcustom root CA (appended to system's default CAs) for verifying certificates when interacting with HTTPS storageServerless/Dedicated/Self-Hosted -
cloudstorage.http.read.node_burst_limit
byte size0 Bburst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.http.read.node_rate_limit
byte size0 Blimit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.http.write.node_burst_limit
byte size0 Bburst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.http.write.node_rate_limit
byte size0 Blimit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.nodelocal.read.node_burst_limit
byte size0 Bburst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.nodelocal.read.node_rate_limit
byte size0 Blimit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.nodelocal.write.node_burst_limit
byte size0 Bburst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.nodelocal.write.node_rate_limit
byte size0 Blimit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.nullsink.read.node_burst_limit
byte size0 Bburst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.nullsink.read.node_rate_limit
byte size0 Blimit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.nullsink.write.node_burst_limit
byte size0 Bburst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.nullsink.write.node_rate_limit
byte size0 Blimit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.s3.read.node_burst_limit
byte size0 Bburst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.s3.read.node_rate_limit
byte size0 Blimit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.s3.write.node_burst_limit
byte size0 Bburst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.s3.write.node_rate_limit
byte size0 Blimit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted
cloudstorage.timeout
duration10m0sthe timeout for import/export storage operationsServerless/Dedicated/Self-Hosted -
cloudstorage.userfile.read.node_burst_limit
byte size0 Bburst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.userfile.read.node_rate_limit
byte size0 Blimit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.userfile.write.node_burst_limit
byte size0 Bburst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted -
cloudstorage.userfile.write.node_rate_limit
byte size0 Blimit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zeroServerless/Dedicated/Self-Hosted
cluster.auto_upgrade.enabled
booleantruedisable automatic cluster version upgrade until resetServerless/Dedicated/Self-Hosted -
cluster.organization
stringorganization nameDedicated/Self-hosted (read-write); Serverless (read-only) +
cluster.organization
stringorganization nameServerless/Dedicated/Self-Hosted (read-only)
cluster.preserve_downgrade_option
stringdisable (automatic or manual) cluster version upgrade from the specified version until resetServerless/Dedicated/Self-Hosted -
debug.zip.redact_addresses.enabled
booleanfalseenables the redaction of hostnames and ip addresses in debug zipServerless/Dedicated/Self-Hosted -
diagnostics.active_query_dumps.enabled
booleantrueexperimental: enable dumping of anonymized active queries to disk when node is under memory pressureDedicated/Self-hosted (read-write); Serverless (read-only) +
diagnostics.active_query_dumps.enabled
booleantrueexperimental: enable dumping of anonymized active queries to disk when node is under memory pressureServerless/Dedicated/Self-Hosted (read-only)
diagnostics.forced_sql_stat_reset.interval
duration2h0m0sinterval after which the reported SQL Stats are reset even if not collected by telemetry reporter. It has a max value of 24H.Serverless/Dedicated/Self-Hosted -
diagnostics.memory_monitoring_dumps.enabled
booleantrueenable dumping of memory monitoring state at the same time as heap profiles are takenDedicated/Self-hosted (read-write); Serverless (read-only) +
diagnostics.memory_monitoring_dumps.enabled
booleantrueenable dumping of memory monitoring state at the same time as heap profiles are takenServerless/Dedicated/Self-Hosted (read-only)
diagnostics.reporting.enabled
booleantrueenable reporting diagnostic metrics to cockroach labsServerless/Dedicated/Self-Hosted
diagnostics.reporting.interval
duration1h0m0sinterval at which diagnostics data should be reportedServerless/Dedicated/Self-Hosted -
enterprise.license
stringthe encoded cluster licenseDedicated/Self-hosted (read-write); Serverless (read-only) +
enterprise.license
stringthe encoded cluster licenseServerless/Dedicated/Self-Hosted (read-only)
external.graphite.endpoint
stringif nonempty, push server metrics to the Graphite or Carbon server at the specified host:portServerless/Dedicated/Self-Hosted
external.graphite.interval
duration10sthe interval at which metrics are pushed to Graphite (if enabled)Serverless/Dedicated/Self-Hosted
feature.backup.enabled
booleantrueset to true to enable backups, false to disable; default is trueServerless/Dedicated/Self-Hosted @@ -91,11 +62,11 @@
kv.allocator.store_cpu_rebalance_threshold
float0.1minimum fraction away from the mean a store's cpu usage can be before it is considered overfull or underfullDedicated/Self-Hosted
kv.bulk_io_write.max_rate
byte size1.0 TiBthe rate limit (bytes/sec) to use for writes to disk on behalf of bulk io opsDedicated/Self-Hosted
kv.bulk_sst.max_allowed_overage
byte size64 MiBif positive, allowed size in excess of target size for SSTs from export requests; export requests (i.e. BACKUP) may buffer up to the sum of kv.bulk_sst.target_size and kv.bulk_sst.max_allowed_overage in memoryDedicated/Self-Hosted -
kv.bulk_sst.target_size
byte size16 MiBtarget size for SSTs emitted from export requests; export requests (i.e. BACKUP) may buffer up to the sum of kv.bulk_sst.target_size and kv.bulk_sst.max_allowed_overage in memoryDedicated/Self-hosted (read-write); Serverless (read-only) -
kv.closed_timestamp.follower_reads.enabled
(alias: kv.closed_timestamp.follower_reads_enabled)
booleantrueallow (all) replicas to serve consistent historical reads based on closed timestamp informationDedicated/Self-hosted (read-write); Serverless (read-only) -
kv.closed_timestamp.lead_for_global_reads_override
duration0sif nonzero, overrides the lead time that global_read ranges use to publish closed timestampsDedicated/Self-hosted (read-write); Serverless (read-only) -
kv.closed_timestamp.side_transport_interval
duration200msthe interval at which the closed timestamp side-transport attempts to advance each range's closed timestamp; set to 0 to disable the side-transportDedicated/Self-hosted (read-write); Serverless (read-only) -
kv.closed_timestamp.target_duration
duration3sif nonzero, attempt to provide closed timestamp notifications for timestamps trailing cluster time by approximately this durationDedicated/Self-hosted (read-write); Serverless (read-only) +
kv.bulk_sst.target_size
byte size16 MiBtarget size for SSTs emitted from export requests; export requests (i.e. BACKUP) may buffer up to the sum of kv.bulk_sst.target_size and kv.bulk_sst.max_allowed_overage in memoryServerless/Dedicated/Self-Hosted (read-only) +
kv.closed_timestamp.follower_reads.enabled
(alias: kv.closed_timestamp.follower_reads_enabled)
booleantrueallow (all) replicas to serve consistent historical reads based on closed timestamp informationServerless/Dedicated/Self-Hosted (read-only) +
kv.closed_timestamp.lead_for_global_reads_override
duration0sif nonzero, overrides the lead time that global_read ranges use to publish closed timestampsServerless/Dedicated/Self-Hosted (read-only) +
kv.closed_timestamp.side_transport_interval
duration200msthe interval at which the closed timestamp side-transport attempts to advance each range's closed timestamp; set to 0 to disable the side-transportServerless/Dedicated/Self-Hosted (read-only) +
kv.closed_timestamp.target_duration
duration3sif nonzero, attempt to provide closed timestamp notifications for timestamps trailing cluster time by approximately this durationServerless/Dedicated/Self-Hosted (read-only)
kv.dist_sender.circuit_breaker.cancellation.enabled
booleantruewhen enabled, in-flight requests will be cancelled when the circuit breaker tripsServerless/Dedicated/Self-Hosted
kv.dist_sender.circuit_breaker.cancellation.write_grace_period
duration10show long after the circuit breaker trips to cancel write requests (these can't retry internally, so should be long enough to allow quorum/lease recovery)Serverless/Dedicated/Self-Hosted
kv.dist_sender.circuit_breaker.probe.interval
duration3sinterval between replica probesServerless/Dedicated/Self-Hosted @@ -105,15 +76,14 @@
kv.lease_transfer_read_summary.global_budget
byte size0 Bcontrols the maximum number of bytes that will be used to summarize the global segment of the timestamp cache during lease transfers and range merges. A smaller budget will result in loss of precision.Dedicated/Self-Hosted
kv.lease_transfer_read_summary.local_budget
byte size4.0 MiBcontrols the maximum number of bytes that will be used to summarize the local segment of the timestamp cache during lease transfers and range merges. A smaller budget will result in loss of precision.Dedicated/Self-Hosted
kv.log_range_and_node_events.enabled
booleantrueset to true to transactionally log range events (e.g., split, merge, add/remove voter/non-voter) into system.rangelogand node join and restart events into system.eventologDedicated/Self-Hosted -
kv.protectedts.reconciliation.interval
duration5m0sthe frequency for reconciling jobs with protected timestamp recordsDedicated/Self-hosted (read-write); Serverless (read-only) -
kv.raft.leader_fortification.fraction_enabled
float0controls the fraction of ranges for which the raft leader fortification protocol is enabled. Leader fortification is needed for a range to use a Leader lease. Set to 0.0 to disable leader fortification and, by extension, Leader leases. Set to 1.0 to enable leader fortification for all ranges and, by extension, use Leader leases for all ranges which do not require expiration-based leases. Set to a value between 0.0 and 1.0 to gradually roll out Leader leases across the ranges in a cluster.Dedicated/Self-Hosted -
kv.range.range_size_hard_cap
byte size8.0 GiBhard cap on the maximum size a range is allowed to grow to withoutsplitting before writes to the range are blocked. Takes precedence over all other configurationsDedicated/Self-Hosted +
kv.protectedts.reconciliation.interval
duration5m0sthe frequency for reconciling jobs with protected timestamp recordsServerless/Dedicated/Self-Hosted (read-only)
kv.range_split.by_load.enabled
(alias: kv.range_split.by_load_enabled)
booleantrueallow automatic splits of ranges based on where load is concentratedDedicated/Self-Hosted
kv.range_split.load_cpu_threshold
duration500msthe CPU use per second over which, the range becomes a candidate for load based splittingDedicated/Self-Hosted
kv.range_split.load_qps_threshold
integer2500the QPS over which, the range becomes a candidate for load based splittingDedicated/Self-Hosted
kv.rangefeed.client.stream_startup_rate
integer100controls the rate per second the client will initiate new rangefeed stream for a single range; 0 implies unlimitedServerless/Dedicated/Self-Hosted -
kv.rangefeed.closed_timestamp_refresh_interval
duration3sthe interval at which closed-timestamp updatesare delivered to rangefeeds; set to 0 to use kv.closed_timestamp.side_transport_intervalDedicated/Self-hosted (read-write); Serverless (read-only) -
kv.rangefeed.enabled
booleanfalseif set, rangefeed registration is enabledDedicated/Self-hosted (read-write); Serverless (read-only) +
kv.rangefeed.closed_timestamp_refresh_interval
duration3sthe interval at which closed-timestamp updatesare delivered to rangefeeds; set to 0 to use kv.closed_timestamp.side_transport_intervalServerless/Dedicated/Self-Hosted (read-only) +
kv.rangefeed.enabled
booleanfalseif set, rangefeed registration is enabledServerless/Dedicated/Self-Hosted (read-only) +
kv.rangefeed.range_stuck_threshold
duration1m0srestart rangefeeds if they don't emit anything for the specified threshold; 0 disables (kv.rangefeed.closed_timestamp_refresh_interval takes precedence)Serverless/Dedicated/Self-Hosted
kv.replica_circuit_breaker.slow_replication_threshold
duration1m0sduration after which slow proposals trip the per-Replica circuit breaker (zero duration disables breakers)Dedicated/Self-Hosted
kv.replica_stats.addsst_request_size_factor
integer50000the divisor that is applied to addsstable request sizes, then recorded in a leaseholders QPS; 0 means all requests are treated as cost 1Dedicated/Self-Hosted
kv.replication_reports.interval
duration1m0sthe frequency for generating the replication_constraint_stats, replication_stats_report and replication_critical_localities reports (set to 0 to disable)Dedicated/Self-Hosted @@ -121,17 +91,14 @@
kv.snapshot_receiver.excise.enabled
booleantrueset to false to disable excises in place of range deletions for KV snapshotsDedicated/Self-Hosted
kv.transaction.max_intents_bytes
integer4194304maximum number of bytes used to track locks in transactionsServerless/Dedicated/Self-Hosted
kv.transaction.max_refresh_spans_bytes
integer4194304maximum number of bytes used to track refresh spans in serializable transactionsServerless/Dedicated/Self-Hosted -
kv.transaction.randomized_anchor_key.enabled
booleanfalsedictates whether a transactions anchor key is randomized or notServerless/Dedicated/Self-Hosted
kv.transaction.reject_over_max_intents_budget.enabled
booleanfalseif set, transactions that exceed their lock tracking budget (kv.transaction.max_intents_bytes) are rejected instead of having their lock spans imprecisely compressedServerless/Dedicated/Self-Hosted
kv.transaction.write_pipelining.locking_reads.enabled
booleantrueif enabled, transactional locking reads are pipelined through Raft consensusServerless/Dedicated/Self-Hosted
kv.transaction.write_pipelining.ranged_writes.enabled
booleantrueif enabled, transactional ranged writes are pipelined through Raft consensusServerless/Dedicated/Self-Hosted
kv.transaction.write_pipelining.enabled
(alias: kv.transaction.write_pipelining_enabled)
booleantrueif enabled, transactional writes are pipelined through Raft consensusServerless/Dedicated/Self-Hosted
kv.transaction.write_pipelining.max_batch_size
(alias: kv.transaction.write_pipelining_max_batch_size)
integer128if non-zero, defines that maximum size batch that will be pipelined through Raft consensusServerless/Dedicated/Self-Hosted
kvadmission.store.provisioned_bandwidth
byte size0 Bif set to a non-zero value, this is used as the provisioned bandwidth (in bytes/s), for each store. It can be overridden on a per-store basis using the --store flag. Note that setting the provisioned bandwidth to a positive value may enable disk bandwidth based admission control, since admission.disk_bandwidth_tokens.elastic.enabled defaults to trueDedicated/Self-Hosted -
obs.tablemetadata.automatic_updates.enabled
booleanfalseenables automatic updates of the table metadata cache system.table_metadataServerless/Dedicated/Self-Hosted -
obs.tablemetadata.data_valid_duration
duration20m0sthe duration for which the data in system.table_metadata is considered validServerless/Dedicated/Self-Hosted
schedules.backup.gc_protection.enabled
booleantrueenable chaining of GC protection across backups run as part of a scheduleServerless/Dedicated/Self-Hosted -
security.client_cert.subject_required.enabled
booleanfalsemandates a requirement for subject role to be set for db userDedicated/Self-hosted (read-write); Serverless (read-only) +
security.client_cert.subject_required.enabled
booleanfalsemandates a requirement for subject role to be set for db userServerless/Dedicated/Self-Hosted (read-only)
security.ocsp.mode
enumerationoffuse OCSP to check whether TLS certificates are revoked. If the OCSP server is unreachable, in strict mode all certificates will be rejected and in lax mode all certificates will be accepted. [off = 0, lax = 1, strict = 2]Serverless/Dedicated/Self-Hosted
security.ocsp.timeout
duration3stimeout before considering the OCSP server unreachableServerless/Dedicated/Self-Hosted
server.auth_log.sql_connections.enabled
booleanfalseif set, log SQL client connect and disconnect events to the SESSIONS log channel (note: may hinder performance on loaded nodes)Serverless/Dedicated/Self-Hosted @@ -149,17 +116,6 @@
server.hsts.enabled
booleanfalseif true, HSTS headers will be sent along with all HTTP requests. The headers will contain a max-age setting of one year. Browsers honoring the header will always use HTTPS to access the DB Console. Ensure that TLS is correctly configured prior to enabling.Serverless/Dedicated/Self-Hosted
server.http.base_path
string/path to redirect the user to upon succcessful loginServerless/Dedicated/Self-Hosted
server.identity_map.configuration
stringsystem-identity to database-username mappingsServerless/Dedicated/Self-Hosted -
server.jwt_authentication.audience
stringsets accepted audience values for JWT logins over the SQL interfaceServerless/Dedicated/Self-Hosted -
server.jwt_authentication.claim
stringsets the JWT claim that is parsed to get the usernameServerless/Dedicated/Self-Hosted -
server.jwt_authentication.client.timeout
duration15ssets the client timeout for external calls made during JWT authentication (e.g. fetching JWKS, etc.)Serverless/Dedicated/Self-Hosted -
server.jwt_authentication.enabled
booleanfalseenables or disables JWT login for the SQL interfaceServerless/Dedicated/Self-Hosted -
server.jwt_authentication.issuers.configuration
(alias: server.jwt_authentication.issuers)
stringsets accepted issuer values for JWT logins over the SQL interface which can be a single issuer URL string or a JSON string containing an array of issuer URLs or a JSON object containing map of issuer URLS to JWKS URIsServerless/Dedicated/Self-Hosted -
server.jwt_authentication.issuers.custom_ca
stringsets the PEM encoded custom root CA for verifying certificates while fetching JWKSServerless/Dedicated/Self-Hosted -
server.jwt_authentication.jwks
string{"keys":[]}sets the public key set for JWT logins over the SQL interface (JWKS format)Serverless/Dedicated/Self-Hosted -
server.jwt_authentication.jwks_auto_fetch.enabled
booleanfalseenables or disables automatic fetching of JWKS from the issuer's well-known endpoint or JWKS URI set in JWTAuthIssuersConfig. If this is enabled, the server.jwt_authentication.jwks will be ignored.Serverless/Dedicated/Self-Hosted -
server.ldap_authentication.client.tls_certificate
stringsets the client certificate PEM for establishing mTLS connection with LDAP serverServerless/Dedicated/Self-Hosted -
server.ldap_authentication.client.tls_key
stringsets the client key PEM for establishing mTLS connection with LDAP serverServerless/Dedicated/Self-Hosted -
server.ldap_authentication.domain.custom_ca
stringsets the PEM encoded custom root CA for verifying domain certificates when establishing connection with LDAP serverServerless/Dedicated/Self-Hosted
server.log_gc.max_deletions_per_cycle
integer1000the maximum number of entries to delete on each purge of log-like system tablesServerless/Dedicated/Self-Hosted
server.log_gc.period
duration1h0m0sthe period at which log-like system tables are checked for old entriesServerless/Dedicated/Self-Hosted
server.max_connections_per_gateway
integer-1the maximum number of SQL connections per gateway allowed at a given time (note: this will only limit future connection attempts and will not affect already established connections). Negative values result in unlimited number of connections. Superusers are not affected by this limit.Serverless/Dedicated/Self-Hosted @@ -167,7 +123,6 @@
server.oidc_authentication.autologin.enabled
(alias: server.oidc_authentication.autologin)
booleanfalseif true, logged-out visitors to the DB Console will be automatically redirected to the OIDC login endpointServerless/Dedicated/Self-Hosted
server.oidc_authentication.button_text
stringLog in with your OIDC providertext to show on button on DB Console login page to login with your OIDC provider (only shown if OIDC is enabled)Serverless/Dedicated/Self-Hosted
server.oidc_authentication.claim_json_key
stringsets JSON key of principal to extract from payload after OIDC authentication completes (usually email or sid)Serverless/Dedicated/Self-Hosted -
server.oidc_authentication.client.timeout
duration15ssets the client timeout for external calls made during OIDC authentication (e.g. authorization code flow, etc.)Serverless/Dedicated/Self-Hosted
server.oidc_authentication.client_id
stringsets OIDC client idServerless/Dedicated/Self-Hosted
server.oidc_authentication.client_secret
stringsets OIDC client secretServerless/Dedicated/Self-Hosted
server.oidc_authentication.enabled
booleanfalseenables or disabled OIDC login for the DB ConsoleServerless/Dedicated/Self-Hosted @@ -186,7 +141,7 @@
server.time_until_store_dead
duration5m0sthe time after which if there is no new gossiped information about a store, it is considered deadServerless/Dedicated/Self-Hosted
server.user_login.cert_password_method.auto_scram_promotion.enabled
booleantruewhether to automatically promote cert-password authentication to use SCRAMServerless/Dedicated/Self-Hosted
server.user_login.downgrade_scram_stored_passwords_to_bcrypt.enabled
booleantrueif server.user_login.password_encryption=crdb-bcrypt, this controls whether to automatically re-encode stored passwords using scram-sha-256 to crdb-bcryptServerless/Dedicated/Self-Hosted -
server.user_login.min_password_length
integer1the minimum length accepted for passwords set in cleartext via SQL. Note that a value lower than 1 is ignored: passwords cannot be empty in any case. This setting only applies when adding new users or altering an existing user's password; it will not affect existing logins.Serverless/Dedicated/Self-Hosted +
server.user_login.min_password_length
integer1the minimum length accepted for passwords set in cleartext via SQL. Note that a value lower than 1 is ignored: passwords cannot be empty in any case.Serverless/Dedicated/Self-Hosted
server.user_login.password_encryption
enumerationscram-sha-256which hash method to use to encode cleartext passwords passed via ALTER/CREATE USER/ROLE WITH PASSWORD [crdb-bcrypt = 2, scram-sha-256 = 3]Serverless/Dedicated/Self-Hosted
server.user_login.password_hashes.default_cost.crdb_bcrypt
integer10the hashing cost to use when storing passwords supplied as cleartext by SQL clients with the hashing method crdb-bcrypt (allowed range: 4-31)Serverless/Dedicated/Self-Hosted
server.user_login.password_hashes.default_cost.scram_sha_256
integer10610the hashing cost to use when storing passwords supplied as cleartext by SQL clients with the hashing method scram-sha-256 (allowed range: 4096-240000000000)Serverless/Dedicated/Self-Hosted @@ -288,15 +243,12 @@
sql.multiregion.drop_primary_region.enabled
booleantrueallows dropping the PRIMARY REGION of a database if it is the last regionServerless/Dedicated/Self-Hosted
sql.notices.enabled
booleantrueenable notices in the server/client protocol being sentServerless/Dedicated/Self-Hosted
sql.optimizer.uniqueness_checks_for_gen_random_uuid.enabled
booleanfalseif enabled, uniqueness checks may be planned for mutations of UUID columns updated with gen_random_uuid(); otherwise, uniqueness is assumed due to near-zero collision probabilityServerless/Dedicated/Self-Hosted -
sql.schema.telemetry.recurrence
string@weeklycron-tab recurrence for SQL schema telemetry jobDedicated/Self-hosted (read-write); Serverless (read-only) +
sql.schema.telemetry.recurrence
string@weeklycron-tab recurrence for SQL schema telemetry jobServerless/Dedicated/Self-Hosted (read-only)
sql.spatial.experimental_box2d_comparison_operators.enabled
booleanfalseenables the use of certain experimental box2d comparison operatorsServerless/Dedicated/Self-Hosted
sql.stats.activity.persisted_rows.max
integer200000maximum number of rows of statement and transaction activity that will be persisted in the system tablesServerless/Dedicated/Self-Hosted
sql.stats.automatic_collection.enabled
booleantrueautomatic statistics collection modeServerless/Dedicated/Self-Hosted
sql.stats.automatic_collection.fraction_stale_rows
float0.2target fraction of stale rows per table that will trigger a statistics refreshServerless/Dedicated/Self-Hosted
sql.stats.automatic_collection.min_stale_rows
integer500target minimum number of stale rows per table that will trigger a statistics refreshServerless/Dedicated/Self-Hosted -
sql.stats.automatic_partial_collection.enabled
booleanfalseautomatic partial statistics collection modeServerless/Dedicated/Self-Hosted -
sql.stats.automatic_partial_collection.fraction_stale_rows
float0.05target fraction of stale rows per table that will trigger a partial statistics refreshServerless/Dedicated/Self-Hosted -
sql.stats.automatic_partial_collection.min_stale_rows
integer100target minimum number of stale rows per table that will trigger a partial statistics refreshServerless/Dedicated/Self-Hosted
sql.stats.cleanup.recurrence
string@hourlycron-tab recurrence for SQL Stats cleanup jobServerless/Dedicated/Self-Hosted
sql.stats.flush.enabled
booleantrueif set, SQL execution statistics are periodically flushed to diskServerless/Dedicated/Self-Hosted
sql.stats.flush.interval
duration10m0sthe interval at which SQL execution statistics are flushed to disk, this value must be less than or equal to 1 hourServerless/Dedicated/Self-Hosted @@ -305,10 +257,8 @@
sql.stats.forecasts.min_goodness_of_fit
float0.95the minimum R² (goodness of fit) measurement required from all predictive models to use a forecastServerless/Dedicated/Self-Hosted
sql.stats.forecasts.min_observations
integer3the mimimum number of observed statistics required to produce a statistics forecastServerless/Dedicated/Self-Hosted
sql.stats.histogram_buckets.count
integer200maximum number of histogram buckets to build during table statistics collectionServerless/Dedicated/Self-Hosted -
sql.stats.histogram_buckets.include_most_common_values.enabled
booleantruewhether to include most common values as histogram bucketsServerless/Dedicated/Self-Hosted -
sql.stats.histogram_buckets.max_fraction_most_common_values
float0.1maximum fraction of histogram buckets to use for most common valuesServerless/Dedicated/Self-Hosted
sql.stats.histogram_collection.enabled
booleantruehistogram collection modeServerless/Dedicated/Self-Hosted -
sql.stats.histogram_samples.count
integer0number of rows sampled for histogram construction during table statistics collection. Not setting this or setting a value of 0 means that a reasonable sample size will be automatically picked based on the table size.Serverless/Dedicated/Self-Hosted +
sql.stats.histogram_samples.count
integer10000number of rows sampled for histogram construction during table statistics collectionServerless/Dedicated/Self-Hosted
sql.stats.multi_column_collection.enabled
booleantruemulti-column statistics collection modeServerless/Dedicated/Self-Hosted
sql.stats.non_default_columns.min_retention_period
duration24h0m0sminimum retention period for table statistics collected on non-default columnsServerless/Dedicated/Self-Hosted
sql.stats.persisted_rows.max
integer1000000maximum number of rows of statement and transaction statistics that will be persisted in the system tables before compaction beginsServerless/Dedicated/Self-Hosted @@ -336,26 +286,23 @@
sql.ttl.default_select_rate_limit
integer0default select rate limit (rows per second) per node for each TTL job. Use 0 to signify no rate limit.Serverless/Dedicated/Self-Hosted
sql.ttl.job.enabled
booleantruewhether the TTL job is enabledServerless/Dedicated/Self-Hosted
sql.txn.read_committed_isolation.enabled
booleantrueset to true to allow transactions to use the READ COMMITTED isolation level if specified by BEGIN/SET commandsServerless/Dedicated/Self-Hosted -
sql.txn.repeatable_read_isolation.enabled
(alias: sql.txn.snapshot_isolation.enabled)
booleanfalseset to true to allow transactions to use the REPEATABLE READ isolation level if specified by BEGIN/SET commandsServerless/Dedicated/Self-Hosted
sql.txn_fingerprint_id_cache.capacity
integer100the maximum number of txn fingerprint IDs storedServerless/Dedicated/Self-Hosted
storage.experimental.eventually_file_only_snapshots.enabled
booleantrueset to false to disable eventually-file-only-snapshots (kv.snapshot_receiver.excise.enabled must also be false)Dedicated/Self-Hosted
storage.ingest_split.enabled
booleantrueset to false to disable ingest-time splitting that lowers write-amplificationDedicated/Self-Hosted -
storage.ingestion.value_blocks.enabled
booleantrueset to true to enable writing of value blocks in ingestion sstablesServerless/Dedicated/Self-Hosted -
storage.max_sync_duration
duration20smaximum duration for disk operations; any operations that take longer than this setting trigger a warning log entry or process crashDedicated/Self-hosted (read-write); Serverless (read-only) +
storage.max_sync_duration
duration20smaximum duration for disk operations; any operations that take longer than this setting trigger a warning log entry or process crashServerless/Dedicated/Self-Hosted (read-only)
storage.max_sync_duration.fatal.enabled
booleantrueif true, fatal the process when a disk operation exceeds storage.max_sync_durationServerless/Dedicated/Self-Hosted -
storage.sstable.compression_algorithm
enumerationsnappydetermines the compression algorithm to use when compressing sstable data blocks for use in a Pebble store; [snappy = 1, zstd = 2, none = 3]Dedicated/Self-hosted (read-write); Serverless (read-only) -
storage.sstable.compression_algorithm_backup_storage
enumerationsnappydetermines the compression algorithm to use when compressing sstable data blocks for backup row data storage; [snappy = 1, zstd = 2, none = 3]Dedicated/Self-hosted (read-write); Serverless (read-only) -
storage.sstable.compression_algorithm_backup_transport
enumerationsnappydetermines the compression algorithm to use when compressing sstable data blocks for backup transport; [snappy = 1, zstd = 2, none = 3]Dedicated/Self-hosted (read-write); Serverless (read-only) +
storage.sstable.compression_algorithm
enumerationsnappydetermines the compression algorithm to use when compressing sstable data blocks; supported values: "snappy", "zstd" [snappy = 1, zstd = 2]Serverless/Dedicated/Self-Hosted (read-only) +
storage.value_blocks.enabled
booleantrueset to true to enable writing of value blocks in sstablesServerless/Dedicated/Self-Hosted
storage.wal_failover.unhealthy_op_threshold
duration100msthe latency of a WAL write considered unhealthy and triggers a failover to a secondary WAL locationDedicated/Self-Hosted
timeseries.storage.enabled
booleantrueif set, periodic timeseries data is stored within the cluster; disabling is not recommended unless you are storing the data elsewhereDedicated/Self-Hosted -
timeseries.storage.resolution_10s.ttl
duration240h0m0sthe maximum age of time series data stored at the 10 second resolution. Data older than this is subject to rollup and deletion.Dedicated/Self-hosted (read-write); Serverless (read-only) -
timeseries.storage.resolution_30m.ttl
duration2160h0m0sthe maximum age of time series data stored at the 30 minute resolution. Data older than this is subject to deletion.Dedicated/Self-hosted (read-write); Serverless (read-only) +
timeseries.storage.resolution_10s.ttl
duration240h0m0sthe maximum age of time series data stored at the 10 second resolution. Data older than this is subject to rollup and deletion.Serverless/Dedicated/Self-Hosted (read-only) +
timeseries.storage.resolution_30m.ttl
duration2160h0m0sthe maximum age of time series data stored at the 30 minute resolution. Data older than this is subject to deletion.Serverless/Dedicated/Self-Hosted (read-only)
trace.debug_http_endpoint.enabled
(alias: trace.debug.enable)
booleanfalseif set, traces for recent requests can be seen at https://<ui>/debug/requestsServerless/Dedicated/Self-Hosted
trace.opentelemetry.collector
stringaddress of an OpenTelemetry trace collector to receive traces using the otel gRPC protocol, as <host>:<port>. If no port is specified, 4317 will be used.Serverless/Dedicated/Self-Hosted
trace.snapshot.rate
duration0sif non-zero, interval at which background trace snapshots are capturedServerless/Dedicated/Self-Hosted
trace.span_registry.enabled
booleantrueif set, ongoing traces can be seen at https://<ui>/#/debug/tracezServerless/Dedicated/Self-Hosted
trace.zipkin.collector
stringthe address of a Zipkin instance to receive traces, as <host>:<port>. If no port is specified, 9411 will be used.Serverless/Dedicated/Self-Hosted
ui.display_timezone
enumerationetc/utcthe timezone used to format timestamps in the ui [etc/utc = 0, america/new_york = 1]Serverless/Dedicated/Self-Hosted -
version
version1000024.2-upgrading-to-1000024.3-step-016set the active cluster version in the format '<major>.<minor>'Serverless/Dedicated/Self-Hosted +
version
version24.1set the active cluster version in the format '<major>.<minor>'Serverless/Dedicated/Self-Hosted diff --git a/docs/generated/sql/bnf/BUILD.bazel b/docs/generated/sql/bnf/BUILD.bazel index 1b4c9958e4f1..e21ed6fa8571 100644 --- a/docs/generated/sql/bnf/BUILD.bazel +++ b/docs/generated/sql/bnf/BUILD.bazel @@ -112,7 +112,6 @@ FILES = [ "create_table_as_stmt", "create_table_with_storage_param", "create_table_stmt", - "create_trigger_stmt", "create_type", "create_view_stmt", "deallocate_stmt", @@ -135,7 +134,6 @@ FILES = [ "drop_sequence_stmt", "drop_stmt", "drop_table", - "drop_trigger_stmt", "drop_type", "drop_view", "execute_stmt", @@ -231,7 +229,6 @@ FILES = [ "show_create_stmt", "show_create_schedules_stmt", "show_create_external_connections_stmt", - "show_external_connections_stmt", "show_databases_stmt", "show_default_privileges_stmt", "show_enums", diff --git a/docs/generated/sql/bnf/alter_func_stmt.bnf b/docs/generated/sql/bnf/alter_func_stmt.bnf index 3d2b4368831c..3620edcf23c6 100644 --- a/docs/generated/sql/bnf/alter_func_stmt.bnf +++ b/docs/generated/sql/bnf/alter_func_stmt.bnf @@ -1,5 +1,5 @@ alter_func_stmt ::= - ( 'ALTER' 'FUNCTION' function_with_paramtypes ( ( ( 'CALLED' 'ON' 'NULL' 'INPUT' | 'RETURNS' 'NULL' 'ON' 'NULL' 'INPUT' | 'STRICT' | 'IMMUTABLE' | 'STABLE' | 'VOLATILE' | 'EXTERNAL' 'SECURITY' 'DEFINER' | 'EXTERNAL' 'SECURITY' 'INVOKER' | 'SECURITY' 'DEFINER' | 'SECURITY' 'INVOKER' | 'LEAKPROOF' | 'NOT' 'LEAKPROOF' ) ) ( ( ( 'CALLED' 'ON' 'NULL' 'INPUT' | 'RETURNS' 'NULL' 'ON' 'NULL' 'INPUT' | 'STRICT' | 'IMMUTABLE' | 'STABLE' | 'VOLATILE' | 'EXTERNAL' 'SECURITY' 'DEFINER' | 'EXTERNAL' 'SECURITY' 'INVOKER' | 'SECURITY' 'DEFINER' | 'SECURITY' 'INVOKER' | 'LEAKPROOF' | 'NOT' 'LEAKPROOF' ) ) )* ) ( 'RESTRICT' | ) ) + ( 'ALTER' 'FUNCTION' function_with_paramtypes ( ( ( 'CALLED' 'ON' 'NULL' 'INPUT' | 'RETURNS' 'NULL' 'ON' 'NULL' 'INPUT' | 'STRICT' | 'IMMUTABLE' | 'STABLE' | 'VOLATILE' | 'LEAKPROOF' | 'NOT' 'LEAKPROOF' ) ) ( ( ( 'CALLED' 'ON' 'NULL' 'INPUT' | 'RETURNS' 'NULL' 'ON' 'NULL' 'INPUT' | 'STRICT' | 'IMMUTABLE' | 'STABLE' | 'VOLATILE' | 'LEAKPROOF' | 'NOT' 'LEAKPROOF' ) ) )* ) ( 'RESTRICT' | ) ) | ( 'ALTER' 'FUNCTION' function_with_paramtypes 'RENAME' 'TO' function_new_name ) | ( 'ALTER' 'FUNCTION' function_with_paramtypes 'OWNER' 'TO' role_spec ) | ( 'ALTER' 'FUNCTION' function_with_paramtypes 'SET' 'SCHEMA' schema_name ) diff --git a/docs/generated/sql/bnf/comment.bnf b/docs/generated/sql/bnf/comment.bnf index 913f27ddf083..873bd6d3cda9 100644 --- a/docs/generated/sql/bnf/comment.bnf +++ b/docs/generated/sql/bnf/comment.bnf @@ -1,7 +1,6 @@ comment_stmt ::= 'COMMENT' 'ON' 'DATABASE' database_name 'IS' comment_text | 'COMMENT' 'ON' 'SCHEMA' qualifiable_schema_name 'IS' comment_text - | 'COMMENT' 'ON' 'TYPE' type_name 'IS' comment_text | 'COMMENT' 'ON' 'TABLE' table_name 'IS' comment_text | 'COMMENT' 'ON' 'COLUMN' column_name 'IS' comment_text | 'COMMENT' 'ON' 'INDEX' table_index_name 'IS' comment_text diff --git a/docs/generated/sql/bnf/create_ddl_stmt.bnf b/docs/generated/sql/bnf/create_ddl_stmt.bnf index 37d2ab900b98..2b500f24fe1e 100644 --- a/docs/generated/sql/bnf/create_ddl_stmt.bnf +++ b/docs/generated/sql/bnf/create_ddl_stmt.bnf @@ -9,4 +9,3 @@ create_ddl_stmt ::= | create_sequence_stmt | create_func_stmt | create_proc_stmt - | create_trigger_stmt diff --git a/docs/generated/sql/bnf/create_func.bnf b/docs/generated/sql/bnf/create_func.bnf index 4e162a18fd5d..90ae04a97ba4 100644 --- a/docs/generated/sql/bnf/create_func.bnf +++ b/docs/generated/sql/bnf/create_func.bnf @@ -1,3 +1,3 @@ create_func_stmt ::= - 'CREATE' ( 'OR' 'REPLACE' | ) 'FUNCTION' routine_create_name '(' ( ( ( ( routine_param | routine_param | routine_param ) ) ( ( ',' ( routine_param | routine_param | routine_param ) ) )* ) | ) ')' 'RETURNS' ( 'SETOF' | ) routine_return_type ( ( ( ( 'AS' routine_body_str | 'LANGUAGE' ('SQL' | 'PLPGSQL') | ( 'CALLED' 'ON' 'NULL' 'INPUT' | 'RETURNS' 'NULL' 'ON' 'NULL' 'INPUT' | 'STRICT' | 'IMMUTABLE' | 'STABLE' | 'VOLATILE' | 'EXTERNAL' 'SECURITY' 'DEFINER' | 'EXTERNAL' 'SECURITY' 'INVOKER' | 'SECURITY' 'DEFINER' | 'SECURITY' 'INVOKER' | 'LEAKPROOF' | 'NOT' 'LEAKPROOF' ) ) ) ( ( ( 'AS' routine_body_str | 'LANGUAGE' ('SQL' | 'PLPGSQL') | ( 'CALLED' 'ON' 'NULL' 'INPUT' | 'RETURNS' 'NULL' 'ON' 'NULL' 'INPUT' | 'STRICT' | 'IMMUTABLE' | 'STABLE' | 'VOLATILE' | 'EXTERNAL' 'SECURITY' 'DEFINER' | 'EXTERNAL' 'SECURITY' 'INVOKER' | 'SECURITY' 'DEFINER' | 'SECURITY' 'INVOKER' | 'LEAKPROOF' | 'NOT' 'LEAKPROOF' ) ) ) )* ) | ) - | 'CREATE' ( 'OR' 'REPLACE' | ) 'FUNCTION' routine_create_name '(' ( ( ( ( routine_param | routine_param | routine_param ) ) ( ( ',' ( routine_param | routine_param | routine_param ) ) )* ) | ) ')' ( ( ( ( 'AS' routine_body_str | 'LANGUAGE' ('SQL' | 'PLPGSQL') | ( 'CALLED' 'ON' 'NULL' 'INPUT' | 'RETURNS' 'NULL' 'ON' 'NULL' 'INPUT' | 'STRICT' | 'IMMUTABLE' | 'STABLE' | 'VOLATILE' | 'EXTERNAL' 'SECURITY' 'DEFINER' | 'EXTERNAL' 'SECURITY' 'INVOKER' | 'SECURITY' 'DEFINER' | 'SECURITY' 'INVOKER' | 'LEAKPROOF' | 'NOT' 'LEAKPROOF' ) ) ) ( ( ( 'AS' routine_body_str | 'LANGUAGE' ('SQL' | 'PLPGSQL') | ( 'CALLED' 'ON' 'NULL' 'INPUT' | 'RETURNS' 'NULL' 'ON' 'NULL' 'INPUT' | 'STRICT' | 'IMMUTABLE' | 'STABLE' | 'VOLATILE' | 'EXTERNAL' 'SECURITY' 'DEFINER' | 'EXTERNAL' 'SECURITY' 'INVOKER' | 'SECURITY' 'DEFINER' | 'SECURITY' 'INVOKER' | 'LEAKPROOF' | 'NOT' 'LEAKPROOF' ) ) ) )* ) | ) + 'CREATE' ( 'OR' 'REPLACE' | ) 'FUNCTION' routine_create_name '(' ( ( ( ( routine_param | routine_param | routine_param ) ) ( ( ',' ( routine_param | routine_param | routine_param ) ) )* ) | ) ')' 'RETURNS' ( 'SETOF' | ) routine_return_type ( ( ( ( 'AS' routine_body_str | 'LANGUAGE' ('SQL' | 'PLPGSQL') | ( 'CALLED' 'ON' 'NULL' 'INPUT' | 'RETURNS' 'NULL' 'ON' 'NULL' 'INPUT' | 'STRICT' | 'IMMUTABLE' | 'STABLE' | 'VOLATILE' | 'LEAKPROOF' | 'NOT' 'LEAKPROOF' ) ) ) ( ( ( 'AS' routine_body_str | 'LANGUAGE' ('SQL' | 'PLPGSQL') | ( 'CALLED' 'ON' 'NULL' 'INPUT' | 'RETURNS' 'NULL' 'ON' 'NULL' 'INPUT' | 'STRICT' | 'IMMUTABLE' | 'STABLE' | 'VOLATILE' | 'LEAKPROOF' | 'NOT' 'LEAKPROOF' ) ) ) )* ) | ) + | 'CREATE' ( 'OR' 'REPLACE' | ) 'FUNCTION' routine_create_name '(' ( ( ( ( routine_param | routine_param | routine_param ) ) ( ( ',' ( routine_param | routine_param | routine_param ) ) )* ) | ) ')' ( ( ( ( 'AS' routine_body_str | 'LANGUAGE' ('SQL' | 'PLPGSQL') | ( 'CALLED' 'ON' 'NULL' 'INPUT' | 'RETURNS' 'NULL' 'ON' 'NULL' 'INPUT' | 'STRICT' | 'IMMUTABLE' | 'STABLE' | 'VOLATILE' | 'LEAKPROOF' | 'NOT' 'LEAKPROOF' ) ) ) ( ( ( 'AS' routine_body_str | 'LANGUAGE' ('SQL' | 'PLPGSQL') | ( 'CALLED' 'ON' 'NULL' 'INPUT' | 'RETURNS' 'NULL' 'ON' 'NULL' 'INPUT' | 'STRICT' | 'IMMUTABLE' | 'STABLE' | 'VOLATILE' | 'LEAKPROOF' | 'NOT' 'LEAKPROOF' ) ) ) )* ) | ) diff --git a/docs/generated/sql/bnf/create_trigger_stmt.bnf b/docs/generated/sql/bnf/create_trigger_stmt.bnf deleted file mode 100644 index d15210bd97ba..000000000000 --- a/docs/generated/sql/bnf/create_trigger_stmt.bnf +++ /dev/null @@ -1,2 +0,0 @@ -create_trigger_stmt ::= - 'CREATE' opt_or_replace 'TRIGGER' name trigger_action_time trigger_event_list 'ON' table_name opt_trigger_transition_list trigger_for_each trigger_when 'EXECUTE' function_or_procedure func_name '(' trigger_func_args ')' diff --git a/docs/generated/sql/bnf/drop_ddl_stmt.bnf b/docs/generated/sql/bnf/drop_ddl_stmt.bnf index 2d771e479b1a..0cd4d0597a72 100644 --- a/docs/generated/sql/bnf/drop_ddl_stmt.bnf +++ b/docs/generated/sql/bnf/drop_ddl_stmt.bnf @@ -8,4 +8,3 @@ drop_ddl_stmt ::= | drop_type_stmt | drop_func_stmt | drop_proc_stmt - | drop_trigger_stmt diff --git a/docs/generated/sql/bnf/drop_stmt.bnf b/docs/generated/sql/bnf/drop_stmt.bnf index 7442bbf39e5c..eae78b374689 100644 --- a/docs/generated/sql/bnf/drop_stmt.bnf +++ b/docs/generated/sql/bnf/drop_stmt.bnf @@ -8,7 +8,6 @@ drop_stmt ::= | drop_type_stmt | drop_func_stmt | drop_proc_stmt - | drop_trigger_stmt | drop_role_stmt | drop_schedule_stmt | drop_external_connection_stmt diff --git a/docs/generated/sql/bnf/drop_trigger_stmt.bnf b/docs/generated/sql/bnf/drop_trigger_stmt.bnf deleted file mode 100644 index afd4693cf077..000000000000 --- a/docs/generated/sql/bnf/drop_trigger_stmt.bnf +++ /dev/null @@ -1,3 +0,0 @@ -drop_trigger_stmt ::= - 'DROP' 'TRIGGER' name 'ON' table_name opt_drop_behavior - | 'DROP' 'TRIGGER' 'IF' 'EXISTS' name 'ON' table_name opt_drop_behavior diff --git a/docs/generated/sql/bnf/fingerprint_options.bnf b/docs/generated/sql/bnf/fingerprint_options.bnf index 78b6983806d8..3f4acb04db4e 100644 --- a/docs/generated/sql/bnf/fingerprint_options.bnf +++ b/docs/generated/sql/bnf/fingerprint_options.bnf @@ -1,3 +1,2 @@ fingerprint_options ::= 'START' 'TIMESTAMP' '=' d_expr - | 'EXCLUDE' 'COLUMNS' '=' string_or_placeholder_opt_list diff --git a/docs/generated/sql/bnf/restore_options.bnf b/docs/generated/sql/bnf/restore_options.bnf index 1de1a2771c35..4ccc4825d4c8 100644 --- a/docs/generated/sql/bnf/restore_options.bnf +++ b/docs/generated/sql/bnf/restore_options.bnf @@ -9,6 +9,7 @@ restore_options ::= | 'SKIP_MISSING_UDFS' | 'DETACHED' | 'SKIP_LOCALITIES_CHECK' + | 'DEBUG_PAUSE_ON' '=' string_or_placeholder | 'NEW_DB_NAME' '=' string_or_placeholder | 'INCREMENTAL_LOCATION' '=' string_or_placeholder_opt_list | 'VIRTUAL_CLUSTER_NAME' '=' string_or_placeholder diff --git a/docs/generated/sql/bnf/show_external_connections_stmt.bnf b/docs/generated/sql/bnf/show_external_connections_stmt.bnf deleted file mode 100644 index 20ab2ba09bae..000000000000 --- a/docs/generated/sql/bnf/show_external_connections_stmt.bnf +++ /dev/null @@ -1,3 +0,0 @@ -show_external_connections_stmt ::= - 'SHOW' 'EXTERNAL' 'CONNECTIONS' - | 'SHOW' 'EXTERNAL' 'CONNECTION' string_or_placeholder diff --git a/docs/generated/sql/bnf/show_schemas.bnf b/docs/generated/sql/bnf/show_schemas.bnf index f51a57b80035..067670bc183e 100644 --- a/docs/generated/sql/bnf/show_schemas.bnf +++ b/docs/generated/sql/bnf/show_schemas.bnf @@ -1,3 +1,3 @@ show_schemas_stmt ::= - 'SHOW' 'SCHEMAS' 'FROM' name with_comment - | 'SHOW' 'SCHEMAS' with_comment + 'SHOW' 'SCHEMAS' 'FROM' name + | 'SHOW' 'SCHEMAS' diff --git a/docs/generated/sql/bnf/show_var.bnf b/docs/generated/sql/bnf/show_var.bnf index 0640b5342405..ca495dacd01d 100644 --- a/docs/generated/sql/bnf/show_var.bnf +++ b/docs/generated/sql/bnf/show_var.bnf @@ -7,7 +7,6 @@ show_stmt ::= | show_create_external_connections_stmt | show_databases_stmt | show_enums_stmt - | show_external_connections_stmt | show_types_stmt | show_functions_stmt | show_procedures_stmt diff --git a/docs/generated/sql/bnf/stmt_block.bnf b/docs/generated/sql/bnf/stmt_block.bnf index a3dd26e247d7..e69e0c0f973b 100644 --- a/docs/generated/sql/bnf/stmt_block.bnf +++ b/docs/generated/sql/bnf/stmt_block.bnf @@ -75,7 +75,6 @@ copy_stmt ::= comment_stmt ::= 'COMMENT' 'ON' 'DATABASE' database_name 'IS' comment_text | 'COMMENT' 'ON' 'SCHEMA' qualifiable_schema_name 'IS' comment_text - | 'COMMENT' 'ON' 'TYPE' type_name 'IS' comment_text | 'COMMENT' 'ON' 'TABLE' table_name 'IS' comment_text | 'COMMENT' 'ON' 'COLUMN' column_path 'IS' comment_text | 'COMMENT' 'ON' 'INDEX' table_index_name 'IS' comment_text @@ -280,7 +279,6 @@ show_stmt ::= | show_create_external_connections_stmt | show_databases_stmt | show_enums_stmt - | show_external_connections_stmt | show_types_stmt | show_functions_stmt | show_procedures_stmt @@ -365,9 +363,6 @@ qualifiable_schema_name ::= name | name '.' name -type_name ::= - db_object_name - column_path ::= name | prefixed_column_path @@ -506,6 +501,9 @@ cursor_movement_specifier ::= | 'FIRST' opt_from_or_in cursor_name | 'LAST' opt_from_or_in cursor_name +type_name ::= + db_object_name + opt_transaction ::= 'TRANSACTION' | @@ -598,7 +596,6 @@ create_ddl_stmt ::= | create_sequence_stmt | create_func_stmt | create_proc_stmt - | create_trigger_stmt create_stats_stmt ::= 'CREATE' 'STATISTICS' statistics_name opt_stats_columns 'FROM' create_stats_target opt_create_stats_options @@ -659,7 +656,6 @@ drop_ddl_stmt ::= | drop_type_stmt | drop_func_stmt | drop_proc_stmt - | drop_trigger_stmt drop_role_stmt ::= 'DROP' role_or_group_or_user role_spec_list @@ -837,10 +833,6 @@ show_enums_stmt ::= | 'SHOW' 'ENUMS' 'FROM' name '.' name | 'SHOW' 'ENUMS' 'FROM' name -show_external_connections_stmt ::= - 'SHOW' 'EXTERNAL' 'CONNECTIONS' - | 'SHOW' 'EXTERNAL' 'CONNECTION' string_or_placeholder - show_types_stmt ::= 'SHOW' 'TYPES' @@ -930,8 +922,8 @@ show_savepoint_stmt ::= 'SHOW' 'SAVEPOINT' 'STATUS' show_schemas_stmt ::= - 'SHOW' 'SCHEMAS' 'FROM' name with_comment - | 'SHOW' 'SCHEMAS' with_comment + 'SHOW' 'SCHEMAS' 'FROM' name + | 'SHOW' 'SCHEMAS' show_sequences_stmt ::= 'SHOW' 'SEQUENCES' 'FROM' name @@ -1124,6 +1116,7 @@ unreserved_keyword ::= | 'DAY' | 'DEALLOCATE' | 'DEBUG_IDS' + | 'DEBUG_PAUSE_ON' | 'DEBUG_DUMP_METADATA_SST' | 'DECLARE' | 'DELETE' @@ -1139,7 +1132,6 @@ unreserved_keyword ::= | 'DOMAIN' | 'DOUBLE' | 'DROP' - | 'EACH' | 'ENCODING' | 'ENCRYPTED' | 'ENCRYPTION_PASSPHRASE' @@ -1216,7 +1208,6 @@ unreserved_keyword ::= | 'INJECT' | 'INPUT' | 'INSERT' - | 'INSTEAD' | 'INTO_DB' | 'INVERTED' | 'INVISIBLE' @@ -1246,7 +1237,6 @@ unreserved_keyword ::= | 'LIST' | 'LOCAL' | 'LOCKED' - | 'LOGICAL' | 'LOGIN' | 'LOCALITY' | 'LOOKUP' @@ -1272,13 +1262,11 @@ unreserved_keyword ::= | 'MULTIPOLYGONM' | 'MULTIPOLYGONZ' | 'MULTIPOLYGONZM' - | 'MODE' | 'MONTH' | 'MOVE' | 'NAMES' | 'NAN' | 'NEVER' - | 'NEW' | 'NEW_DB_NAME' | 'NEW_KMS' | 'NEXT' @@ -1306,12 +1294,10 @@ unreserved_keyword ::= | 'NOWAIT' | 'NULLS' | 'IGNORE_FOREIGN_KEYS' - | 'IGNORE_CDC_IGNORED_TTL_DELETES' | 'INSENSITIVE' | 'OF' | 'OFF' | 'OIDS' - | 'OLD' | 'OLD_KMS' | 'OPERATOR' | 'OPT' @@ -1363,7 +1349,6 @@ unreserved_keyword ::= | 'RECURSIVE' | 'REDACT' | 'REF' - | 'REFERENCING' | 'REFRESH' | 'REGION' | 'REGIONAL' @@ -1442,7 +1427,6 @@ unreserved_keyword ::= | 'STABLE' | 'START' | 'STATE' - | 'STATEMENT' | 'STATEMENTS' | 'STATISTICS' | 'STDIN' @@ -1577,7 +1561,6 @@ col_name_keyword ::= | 'VALUES' | 'VARBIT' | 'VARCHAR' - | 'VECTOR' | 'VIRTUAL' | 'WORK' @@ -1765,7 +1748,7 @@ backup_options_list ::= ( backup_options ) ( ( ',' backup_options ) )* a_expr ::= - ( c_expr | '+' a_expr | '-' a_expr | '~' a_expr | 'SQRT' a_expr | 'CBRT' a_expr | qual_op a_expr | 'NOT' a_expr | 'NOT' a_expr | row 'OVERLAPS' row | 'DEFAULT' ) ( ( 'TYPECAST' cast_target | 'TYPEANNOTATE' typename | 'COLLATE' collation_name | 'AT' 'TIME' 'ZONE' a_expr | '+' a_expr | '-' a_expr | '*' a_expr | '/' a_expr | 'FLOORDIV' a_expr | '%' a_expr | '^' a_expr | '#' a_expr | '&' a_expr | '|' a_expr | '<' a_expr | '>' a_expr | '?' a_expr | 'JSON_SOME_EXISTS' a_expr | 'JSON_ALL_EXISTS' a_expr | 'CONTAINS' a_expr | 'CONTAINED_BY' a_expr | '=' a_expr | 'CONCAT' a_expr | 'LSHIFT' a_expr | 'RSHIFT' a_expr | 'FETCHVAL' a_expr | 'FETCHTEXT' a_expr | 'FETCHVAL_PATH' a_expr | 'FETCHTEXT_PATH' a_expr | 'REMOVE_PATH' a_expr | 'INET_CONTAINED_BY_OR_EQUALS' a_expr | 'AND_AND' a_expr | 'AT_AT' a_expr | 'DISTANCE' a_expr | 'COS_DISTANCE' a_expr | 'NEG_INNER_PRODUCT' a_expr | 'INET_CONTAINS_OR_EQUALS' a_expr | 'LESS_EQUALS' a_expr | 'GREATER_EQUALS' a_expr | 'NOT_EQUALS' a_expr | qual_op a_expr | 'AND' a_expr | 'OR' a_expr | 'LIKE' a_expr | 'LIKE' a_expr 'ESCAPE' a_expr | 'NOT' 'LIKE' a_expr | 'NOT' 'LIKE' a_expr 'ESCAPE' a_expr | 'ILIKE' a_expr | 'ILIKE' a_expr 'ESCAPE' a_expr | 'NOT' 'ILIKE' a_expr | 'NOT' 'ILIKE' a_expr 'ESCAPE' a_expr | 'SIMILAR' 'TO' a_expr | 'SIMILAR' 'TO' a_expr 'ESCAPE' a_expr | 'NOT' 'SIMILAR' 'TO' a_expr | 'NOT' 'SIMILAR' 'TO' a_expr 'ESCAPE' a_expr | '~' a_expr | 'NOT_REGMATCH' a_expr | 'REGIMATCH' a_expr | 'NOT_REGIMATCH' a_expr | 'IS' 'NAN' | 'IS' 'NOT' 'NAN' | 'IS' 'NULL' | 'ISNULL' | 'IS' 'NOT' 'NULL' | 'NOTNULL' | 'IS' 'TRUE' | 'IS' 'NOT' 'TRUE' | 'IS' 'FALSE' | 'IS' 'NOT' 'FALSE' | 'IS' 'UNKNOWN' | 'IS' 'NOT' 'UNKNOWN' | 'IS' 'DISTINCT' 'FROM' a_expr | 'IS' 'NOT' 'DISTINCT' 'FROM' a_expr | 'IS' 'OF' '(' type_list ')' | 'IS' 'NOT' 'OF' '(' type_list ')' | 'BETWEEN' opt_asymmetric b_expr 'AND' a_expr | 'NOT' 'BETWEEN' opt_asymmetric b_expr 'AND' a_expr | 'BETWEEN' 'SYMMETRIC' b_expr 'AND' a_expr | 'NOT' 'BETWEEN' 'SYMMETRIC' b_expr 'AND' a_expr | 'IN' in_expr | 'NOT' 'IN' in_expr | subquery_op sub_type a_expr ) )* + ( c_expr | '+' a_expr | '-' a_expr | '~' a_expr | 'SQRT' a_expr | 'CBRT' a_expr | qual_op a_expr | 'NOT' a_expr | 'NOT' a_expr | row 'OVERLAPS' row | 'DEFAULT' ) ( ( 'TYPECAST' cast_target | 'TYPEANNOTATE' typename | 'COLLATE' collation_name | 'AT' 'TIME' 'ZONE' a_expr | '+' a_expr | '-' a_expr | '*' a_expr | '/' a_expr | 'FLOORDIV' a_expr | '%' a_expr | '^' a_expr | '#' a_expr | '&' a_expr | '|' a_expr | '<' a_expr | '>' a_expr | '?' a_expr | 'JSON_SOME_EXISTS' a_expr | 'JSON_ALL_EXISTS' a_expr | 'CONTAINS' a_expr | 'CONTAINED_BY' a_expr | '=' a_expr | 'CONCAT' a_expr | 'LSHIFT' a_expr | 'RSHIFT' a_expr | 'FETCHVAL' a_expr | 'FETCHTEXT' a_expr | 'FETCHVAL_PATH' a_expr | 'FETCHTEXT_PATH' a_expr | 'REMOVE_PATH' a_expr | 'INET_CONTAINED_BY_OR_EQUALS' a_expr | 'AND_AND' a_expr | 'AT_AT' a_expr | 'INET_CONTAINS_OR_EQUALS' a_expr | 'LESS_EQUALS' a_expr | 'GREATER_EQUALS' a_expr | 'NOT_EQUALS' a_expr | qual_op a_expr | 'AND' a_expr | 'OR' a_expr | 'LIKE' a_expr | 'LIKE' a_expr 'ESCAPE' a_expr | 'NOT' 'LIKE' a_expr | 'NOT' 'LIKE' a_expr 'ESCAPE' a_expr | 'ILIKE' a_expr | 'ILIKE' a_expr 'ESCAPE' a_expr | 'NOT' 'ILIKE' a_expr | 'NOT' 'ILIKE' a_expr 'ESCAPE' a_expr | 'SIMILAR' 'TO' a_expr | 'SIMILAR' 'TO' a_expr 'ESCAPE' a_expr | 'NOT' 'SIMILAR' 'TO' a_expr | 'NOT' 'SIMILAR' 'TO' a_expr 'ESCAPE' a_expr | '~' a_expr | 'NOT_REGMATCH' a_expr | 'REGIMATCH' a_expr | 'NOT_REGIMATCH' a_expr | 'IS' 'NAN' | 'IS' 'NOT' 'NAN' | 'IS' 'NULL' | 'ISNULL' | 'IS' 'NOT' 'NULL' | 'NOTNULL' | 'IS' 'TRUE' | 'IS' 'NOT' 'TRUE' | 'IS' 'FALSE' | 'IS' 'NOT' 'FALSE' | 'IS' 'UNKNOWN' | 'IS' 'NOT' 'UNKNOWN' | 'IS' 'DISTINCT' 'FROM' a_expr | 'IS' 'NOT' 'DISTINCT' 'FROM' a_expr | 'IS' 'OF' '(' type_list ')' | 'IS' 'NOT' 'OF' '(' type_list ')' | 'BETWEEN' opt_asymmetric b_expr 'AND' a_expr | 'NOT' 'BETWEEN' opt_asymmetric b_expr 'AND' a_expr | 'BETWEEN' 'SYMMETRIC' b_expr 'AND' a_expr | 'NOT' 'BETWEEN' 'SYMMETRIC' b_expr 'AND' a_expr | 'IN' in_expr | 'NOT' 'IN' in_expr | subquery_op sub_type a_expr ) )* for_schedules_clause ::= 'FOR' 'SCHEDULES' select_stmt @@ -1819,9 +1802,6 @@ create_func_stmt ::= create_proc_stmt ::= 'CREATE' opt_or_replace 'PROCEDURE' routine_create_name '(' opt_routine_param_with_default_list ')' opt_create_routine_opt_list opt_routine_body -create_trigger_stmt ::= - 'CREATE' opt_or_replace 'TRIGGER' name trigger_action_time trigger_event_list 'ON' table_name opt_trigger_transition_list trigger_for_each trigger_when 'EXECUTE' function_or_procedure func_name '(' trigger_func_args ')' - statistics_name ::= name @@ -1920,10 +1900,6 @@ drop_proc_stmt ::= 'DROP' 'PROCEDURE' function_with_paramtypes_list opt_drop_behavior | 'DROP' 'PROCEDURE' 'IF' 'EXISTS' function_with_paramtypes_list opt_drop_behavior -drop_trigger_stmt ::= - 'DROP' 'TRIGGER' name 'ON' table_name opt_drop_behavior - | 'DROP' 'TRIGGER' 'IF' 'EXISTS' name 'ON' table_name opt_drop_behavior - explain_option_name ::= non_reserved_word @@ -2615,33 +2591,6 @@ opt_routine_body ::= | 'BEGIN' 'ATOMIC' routine_body_stmt_list 'END' | -trigger_action_time ::= - 'BEFORE' - | 'AFTER' - | 'INSTEAD' 'OF' - -trigger_event_list ::= - ( trigger_event ) ( ( 'OR' trigger_event ) )* - -opt_trigger_transition_list ::= - 'REFERENCING' trigger_transition_list - | - -trigger_for_each ::= - 'FOR' trigger_for_opt_each trigger_for_type - | - -trigger_when ::= - 'WHEN' a_expr - | - -function_or_procedure ::= - 'FUNCTION' - | 'PROCEDURE' - -trigger_func_args ::= - ( trigger_func_arg | ) ( ( ',' trigger_func_arg ) )* - create_stats_option_list ::= ( create_stats_option ) ( ( create_stats_option ) )* @@ -2764,6 +2713,7 @@ restore_options ::= | 'SKIP_MISSING_UDFS' | 'DETACHED' | 'SKIP_LOCALITIES_CHECK' + | 'DEBUG_PAUSE_ON' '=' string_or_placeholder | 'NEW_DB_NAME' '=' string_or_placeholder | 'INCREMENTAL_LOCATION' '=' string_or_placeholder_opt_list | virtual_cluster_name '=' string_or_placeholder @@ -3183,9 +3133,6 @@ all_op ::= | 'NOT_REGIMATCH' | 'AND_AND' | 'AT_AT' - | 'DISTANCE' - | 'COS_DISTANCE' - | 'NEG_INNER_PRODUCT' | '~' | 'SQRT' | 'CBRT' @@ -3255,31 +3202,6 @@ routine_return_stmt ::= routine_body_stmt_list ::= ( ) ( ( routine_body_stmt ';' ) )* -trigger_event ::= - 'INSERT' - | 'DELETE' - | 'UPDATE' - | 'UPDATE' 'OF' name_list - | 'TRUNCATE' - | 'UPSERT' - -trigger_transition_list ::= - ( trigger_transition ) ( ( trigger_transition ) )* - -trigger_for_opt_each ::= - 'EACH' - | - -trigger_for_type ::= - 'ROW' - | 'STATEMENT' - -trigger_func_arg ::= - 'ICONST' - | 'FCONST' - | 'SCONST' - | unrestricted_name - create_stats_option ::= as_of_clause | 'USING' 'EXTREMES' @@ -3469,7 +3391,6 @@ const_typename ::= | character_with_length | const_datetime | const_geo - | const_vector interval_type ::= 'INTERVAL' @@ -3553,10 +3474,6 @@ common_routine_opt_item ::= | 'IMMUTABLE' | 'STABLE' | 'VOLATILE' - | 'EXTERNAL' 'SECURITY' 'DEFINER' - | 'EXTERNAL' 'SECURITY' 'INVOKER' - | 'SECURITY' 'DEFINER' - | 'SECURITY' 'INVOKER' | 'LEAKPROOF' | 'NOT' 'LEAKPROOF' @@ -3667,9 +3584,6 @@ routine_body_stmt ::= stmt_without_legacy_transaction | routine_return_stmt -trigger_transition ::= - transition_is_new transition_is_row opt_as table_alias_name - family_name ::= name @@ -3782,6 +3696,7 @@ bare_label_keywords ::= | 'DEALLOCATE' | 'DEBUG_DUMP_METADATA_SST' | 'DEBUG_IDS' + | 'DEBUG_PAUSE_ON' | 'DEC' | 'DECIMAL' | 'DECLARE' @@ -3803,7 +3718,6 @@ bare_label_keywords ::= | 'DOMAIN' | 'DOUBLE' | 'DROP' - | 'EACH' | 'ELSE' | 'ENCODING' | 'ENCRYPTED' @@ -3879,7 +3793,6 @@ bare_label_keywords ::= | 'IFERROR' | 'IFNULL' | 'IGNORE_FOREIGN_KEYS' - | 'IGNORE_CDC_IGNORED_TTL_DELETES' | 'ILIKE' | 'IMMEDIATE' | 'IMMEDIATELY' @@ -3906,7 +3819,6 @@ bare_label_keywords ::= | 'INPUT' | 'INSENSITIVE' | 'INSERT' - | 'INSTEAD' | 'INT' | 'INTEGER' | 'INTERVAL' @@ -3950,7 +3862,6 @@ bare_label_keywords ::= | 'LOCALTIME' | 'LOCALTIMESTAMP' | 'LOCKED' - | 'LOGICAL' | 'LOGIN' | 'LOOKUP' | 'LOW' @@ -3960,7 +3871,6 @@ bare_label_keywords ::= | 'MERGE' | 'METHOD' | 'MINVALUE' - | 'MODE' | 'MODIFYCLUSTERSETTING' | 'MODIFYSQLCLUSTERSETTING' | 'MOVE' @@ -3980,7 +3890,6 @@ bare_label_keywords ::= | 'NAN' | 'NATURAL' | 'NEVER' - | 'NEW' | 'NEW_DB_NAME' | 'NEW_KMS' | 'NEXT' @@ -4016,7 +3925,6 @@ bare_label_keywords ::= | 'OF' | 'OFF' | 'OIDS' - | 'OLD' | 'OLD_KMS' | 'ONLY' | 'OPERATOR' @@ -4079,7 +3987,6 @@ bare_label_keywords ::= | 'REDACT' | 'REF' | 'REFERENCES' - | 'REFERENCING' | 'REFRESH' | 'REGION' | 'REGIONAL' @@ -4164,7 +4071,6 @@ bare_label_keywords ::= | 'STABLE' | 'START' | 'STATE' - | 'STATEMENT' | 'STATEMENTS' | 'STATISTICS' | 'STATUS' @@ -4247,7 +4153,6 @@ bare_label_keywords ::= | 'VARCHAR' | 'VARIABLES' | 'VARIADIC' - | 'VECTOR' | 'VERIFY_BACKUP_TABLE_DATA' | 'VIEW' | 'VIEWACTIVITY' @@ -4401,10 +4306,6 @@ const_geo ::= | 'GEOMETRY' '(' geo_shape_type ',' signed_iconst ')' | 'GEOGRAPHY' '(' geo_shape_type ',' signed_iconst ')' -const_vector ::= - 'VECTOR' - | 'VECTOR' '(' iconst32 ')' - interval_qualifier ::= 'YEAR' | 'MONTH' @@ -4587,18 +4488,6 @@ opt_link_sym ::= ',' 'SCONST' | -transition_is_new ::= - 'NEW' - | 'OLD' - -transition_is_row ::= - 'ROW' - | 'TABLE' - -opt_as ::= - 'AS' - | - col_def_list_no_types ::= ( name ) ( ( ',' name ) )* diff --git a/docs/generated/sql/functions.md b/docs/generated/sql/functions.md index 1e7345014295..df9e17317f33 100644 --- a/docs/generated/sql/functions.md +++ b/docs/generated/sql/functions.md @@ -199,53 +199,53 @@ Immutable array_position(array: varbit[], elem: varbit, start: int) → int

Return the index of the first occurrence of elem in array, with the search begins at start index.

Immutable -array_positions(array: bool[], elem: bool) → int[]

Returns an array of indexes of all occurrences of elem in array.

+array_positions(array: bool[], elem: bool) → int[]

Returns and array of indexes of all occurrences of elem in array.

Immutable -array_positions(array: bytes[], elem: bytes) → int[]

Returns an array of indexes of all occurrences of elem in array.

+array_positions(array: bytes[], elem: bytes) → int[]

Returns and array of indexes of all occurrences of elem in array.

Immutable -array_positions(array: date[], elem: date) → int[]

Returns an array of indexes of all occurrences of elem in array.

+array_positions(array: date[], elem: date) → int[]

Returns and array of indexes of all occurrences of elem in array.

Immutable -array_positions(array: decimal[], elem: decimal) → int[]

Returns an array of indexes of all occurrences of elem in array.

+array_positions(array: decimal[], elem: decimal) → int[]

Returns and array of indexes of all occurrences of elem in array.

Immutable -array_positions(array: float[], elem: float) → int[]

Returns an array of indexes of all occurrences of elem in array.

+array_positions(array: float[], elem: float) → int[]

Returns and array of indexes of all occurrences of elem in array.

Immutable -array_positions(array: inet[], elem: inet) → int[]

Returns an array of indexes of all occurrences of elem in array.

+array_positions(array: inet[], elem: inet) → int[]

Returns and array of indexes of all occurrences of elem in array.

Immutable -array_positions(array: int[], elem: int) → int[]

Returns an array of indexes of all occurrences of elem in array.

+array_positions(array: int[], elem: int) → int[]

Returns and array of indexes of all occurrences of elem in array.

Immutable -array_positions(array: interval[], elem: interval) → int[]

Returns an array of indexes of all occurrences of elem in array.

+array_positions(array: interval[], elem: interval) → int[]

Returns and array of indexes of all occurrences of elem in array.

Immutable -array_positions(array: string[], elem: string) → int[]

Returns an array of indexes of all occurrences of elem in array.

+array_positions(array: string[], elem: string) → int[]

Returns and array of indexes of all occurrences of elem in array.

Immutable -array_positions(array: time[], elem: time) → int[]

Returns an array of indexes of all occurrences of elem in array.

+array_positions(array: time[], elem: time) → int[]

Returns and array of indexes of all occurrences of elem in array.

Immutable -array_positions(array: timestamp[], elem: timestamp) → int[]

Returns an array of indexes of all occurrences of elem in array.

+array_positions(array: timestamp[], elem: timestamp) → int[]

Returns and array of indexes of all occurrences of elem in array.

Immutable -array_positions(array: timestamptz[], elem: timestamptz) → int[]

Returns an array of indexes of all occurrences of elem in array.

+array_positions(array: timestamptz[], elem: timestamptz) → int[]

Returns and array of indexes of all occurrences of elem in array.

Immutable -array_positions(array: uuid[], elem: uuid) → int[]

Returns an array of indexes of all occurrences of elem in array.

+array_positions(array: uuid[], elem: uuid) → int[]

Returns and array of indexes of all occurrences of elem in array.

Immutable -array_positions(array: anyenum[], elem: anyenum) → int[]

Returns an array of indexes of all occurrences of elem in array.

+array_positions(array: anyenum[], elem: anyenum) → int[]

Returns and array of indexes of all occurrences of elem in array.

Immutable -array_positions(array: box2d[], elem: box2d) → int[]

Returns an array of indexes of all occurrences of elem in array.

+array_positions(array: box2d[], elem: box2d) → int[]

Returns and array of indexes of all occurrences of elem in array.

Immutable -array_positions(array: geography[], elem: geography) → int[]

Returns an array of indexes of all occurrences of elem in array.

+array_positions(array: geography[], elem: geography) → int[]

Returns and array of indexes of all occurrences of elem in array.

Immutable -array_positions(array: geometry[], elem: geometry) → int[]

Returns an array of indexes of all occurrences of elem in array.

+array_positions(array: geometry[], elem: geometry) → int[]

Returns and array of indexes of all occurrences of elem in array.

Immutable -array_positions(array: jsonb[], elem: jsonb) → int[]

Returns an array of indexes of all occurrences of elem in array.

+array_positions(array: jsonb[], elem: jsonb) → int[]

Returns and array of indexes of all occurrences of elem in array.

Immutable -array_positions(array: oid[], elem: oid) → int[]

Returns an array of indexes of all occurrences of elem in array.

+array_positions(array: oid[], elem: oid) → int[]

Returns and array of indexes of all occurrences of elem in array.

Immutable -array_positions(array: pg_lsn[], elem: pg_lsn) → int[]

Returns an array of indexes of all occurrences of elem in array.

+array_positions(array: pg_lsn[], elem: pg_lsn) → int[]

Returns and array of indexes of all occurrences of elem in array.

Immutable -array_positions(array: refcursor[], elem: refcursor) → int[]

Returns an array of indexes of all occurrences of elem in array.

+array_positions(array: refcursor[], elem: refcursor) → int[]

Returns and array of indexes of all occurrences of elem in array.

Immutable -array_positions(array: timetz[], elem: timetz) → int[]

Returns an array of indexes of all occurrences of elem in array.

+array_positions(array: timetz[], elem: timetz) → int[]

Returns and array of indexes of all occurrences of elem in array.

Immutable -array_positions(array: tuple[], elem: tuple) → int[]

Returns an array of indexes of all occurrences of elem in array.

+array_positions(array: tuple[], elem: tuple) → int[]

Returns and array of indexes of all occurrences of elem in array.

Immutable -array_positions(array: varbit[], elem: varbit) → int[]

Returns an array of indexes of all occurrences of elem in array.

+array_positions(array: varbit[], elem: varbit) → int[]

Returns and array of indexes of all occurrences of elem in array.

Immutable array_prepend(elem: bool, array: bool[]) → bool[]

Prepends elem to array, returning the result.

Immutable @@ -1279,25 +1279,6 @@ the locality flag on node startup. Returns an error if no region is set.

Stable -### PGVector functions - - - - - - - - - - -
Function → ReturnsDescriptionVolatility
cosine_distance(v1: vector, v2: vector) → float

Returns the cosine distance between the two vectors.

-
Immutable
inner_product(v1: vector, v2: vector) → float

Returns the inner product between the two vectors.

-
Immutable
l1_distance(v1: vector, v2: vector) → float

Returns the Manhattan distance between the two vectors.

-
Immutable
l2_distance(v1: vector, v2: vector) → float

Returns the Euclidean distance between the two vectors.

-
Immutable
vector_dims(vector: vector) → int

Returns the number of the dimensions in the vector.

-
Immutable
vector_norm(vector: vector) → float

Returns the Euclidean norm of the vector.

-
Immutable
- ### STRING[] functions @@ -2880,7 +2861,7 @@ Can be used to define the tile bounds required by ST_AsMVTGeom to convert geomet - -
Immutable
compress(data: bytes, codec: string) → bytes

Compress data with the specified codec (gzip, ‘lz4’, ‘snappy’, 'zstd).

Immutable
concat(anyelement...) → string

Concatenates a comma-separated list of strings.

+
concat(string...) → string

Concatenates a comma-separated list of strings.

Immutable
concat_ws(string...) → string

Uses the first argument as a separator between the concatenation of the subsequent arguments.

For example concat_ws('!','wow','great') returns wow!great.

diff --git a/docs/generated/sql/operators.md b/docs/generated/sql/operators.md index 431da4df6506..5df24f706f65 100644 --- a/docs/generated/sql/operators.md +++ b/docs/generated/sql/operators.md @@ -55,7 +55,6 @@
interval * decimalinterval
interval * floatinterval
interval * intinterval
vector * vectorvector
@@ -90,7 +89,6 @@ -
+Return
timestamptz + intervaltimestamptz
timetz + datetimestamptz
timetz + intervaltimetz
vector + vectorvector
@@ -125,7 +123,6 @@ -
-Return
timestamptz - timestampinterval
timestamptz - timestamptzinterval
timetz - intervaltimetz
vector - vectorvector
@@ -216,17 +213,6 @@ - -
->Return
uuid < uuidbool
uuid[] < uuid[]bool
varbit < varbitbool
vector < vectorbool
- - - - -
<#>Return
vector <#> vectorfloat
- - - -
<->Return
vector <-> vectorfloat
@@ -292,12 +278,6 @@ - -
<<Return
uuid <= uuidbool
uuid[] <= uuid[]bool
varbit <= varbitbool
vector <= vectorbool
- - - -
<=>Return
vector <=> vectorfloat
@@ -364,7 +344,6 @@ -
<@Return
uuid = uuidbool
uuid[] = uuid[]bool
varbit = varbitbool
vector = vectorbool
@@ -433,7 +412,6 @@ -
>>Return
tuple IN tuplebool
uuid IN tuplebool
varbit IN tuplebool
vector IN tuplebool
@@ -497,7 +475,6 @@ -
IS NOT DISTINCT FROMReturn
uuid IS NOT DISTINCT FROM uuidbool
uuid[] IS NOT DISTINCT FROM uuid[]bool
varbit IS NOT DISTINCT FROM varbitbool
vector IS NOT DISTINCT FROM vectorbool
void IS NOT DISTINCT FROM unknownbool
diff --git a/docs/tech-notes/observability/async_logging.md b/docs/tech-notes/observability/async_logging.md deleted file mode 100644 index d24353fc6b26..000000000000 --- a/docs/tech-notes/observability/async_logging.md +++ /dev/null @@ -1,137 +0,0 @@ -# Async Buffered Logging in CRDB -Last Update: June 2024 - -Original author: abarganier - -"Buffered logging" in CRDB could mean one of two things as of today. It could refer to the buffering - capabilities of the `fileSink`, or it could refer to the asynchronous buffering capabilities of the -`bufferedSink`. This document provides an overview of the `bufferedSink`, which controls asynchronous -buffered logging within CRDB. It aims to explain the core concepts behind the `bufferedSink` implementation, -and provide context of recent events that influenced its development. - -## Overview & History - -### What's a "log sink"? -When we refer to a "log sink" within CRDB, we are generally referring to any implementation of the -`logSink` interface in `pkg/util/log`. Most of these implementations, such as the `fileSink`, `fluentSink`, -`httpSink`, and `stderrSink` have a user-facing counterpart in [the CRDB log config]( -https://www.cockroachlabs.com/docs/stable/configure-logs). When a customer creates a log configuration, -these `logSink` implementations are initialized at startup & make the config a reality. When a log message -is generated in CRDB, it is routed to the proper `logSink` based on the log configuration provided by the -customer. - - -### History of buffering -Originally, "buffering" was only available to the `fileSink` type log sink, which is controlled by the -`buffered-writes` [config option](https://www.cockroachlabs.com/docs/stable/configure-logs#output-to-files) -(specific to the `fileSink` only). When enabled (which it is, by default), writes to the `logSink` are added -to a buffer, until the buffer is full. When the buffer is full, the next write triggers a "flush" to the -underlying disk. Note however that this "flush" is not asynchronous. The logger/caller that triggers the -flush of the `fileSink` will do so synchronously. If the disk is unavailable, the caller will hang. -Generally, this has been acceptable since an unavailable disk usually means CRDB has much bigger problems -than just logging. However, recent desire to make `fileSink` logging more tolerant of disk -unavailability has prompted us to enable use of async buffering with the `fileSink` via the `bufferedSink` -(more on `bufferedSink` later). - -While this initial buffering capability existed for the `fileSink`, the logging sinks that involved the -network (`httpSink` and `fluentSink`) had no such capability. This quickly became a problem [[#67945](https://github.com/cockroachdb/cockroach/issues/67945)], -especially for serverless deployments where SQL pods rely heavily on network logging due to their ephemeral nature -(commonly, the SQL pod log files are discarded when the pod is deactivated). If the network target became -unavailable, `fluentSink` and `httpSink` would cause the caller to hang, which eventually could make the -process effectively unavailable as all server goroutines get blocked trying to make a logging call. - -This prompted the creation of the `bufferedSink`, which is a `logSink` implementation that "wraps" an -underlying `logSink` and provides *asynchronous* buffering. This `bufferedSink` is perhaps one of the -more complex pieces of code within the logging subsystem, and has been a source of bugs in the past [e.g. [#104413](https://github.com/cockroachdb/cockroach/issues/104413)], -which is what prompted this tech note. - -## Core concepts - -The `bufferedSink` is a `logSink` implementation that "wraps" another underlying "child" `logSink` implementation. -The `bufferedSink` accepts & buffers writes intended for the child sink, and a separate goroutine is responsible for -"flushing" the buffered writes once triggered. This is a fairly classic example of the asynchronous producer & consumer -pattern, which decouples the process of writing records from the process of consuming records. It shields the writer(s) -from any problems that may occur on the consumption side of things, which is the exact goal of the `bufferedSink` - if a -`logSink` becomes unavailable for whatever reason, the log *writer* goroutine should not be blocked or hang. The -`bufferedSink` should provide fast log write performance to writers, no matter what. - -### Flush goroutine & signaling - -As noted previously, the `bufferedSink` has two goroutines in play - the "writer", and the "flusher". Note that the -writer is simply whichever goroutine making the logging call, which eventually gets routed to the `bufferedSink`. -The `bufferedSink` does not explicitly create a writer goroutine. However, a flusher goroutine is explicitly created by -the `bufferedSink` once started. - -The writer and flusher communicate with each other using a buffered channel, which is used to signal the flusher to -perform the flush operation. The flusher receives the signal, atomically "dumps" the current buffer of logs to its local -memory, resets the buffer used by the writer, and then pushes the logs to the child `logSink`. - -If log volume is abnormally high, or the child `logSink` becomes unavailable, it's possible that the flusher goroutine -is not listening on the channel when signaled by the writer. Even in this instance, we want to protect the writer from -blocking when signaling the channel. To achieve this, we take a combination of approaches. The first is that we buffer -the channel with a size of 1. This allows writers to queue up one additional flush if one is currently ongoing. The -second is that when signaling the channel from the writer, we provide a `default` case to the `select` statement. If the -flusher goroutine is working on a flush, and the buffered channel already has another one scheduled, the writer will -simply take the `default` case and exit without scheduling an additional flush. In this case, another flush is already -scheduled, so the log message added by the writer will be picked up in the following flush. It's rare that this state -is reached, but it's important for us to protect writers from becoming blocked in this scenario. The general expected -scenario where this *would* occur is when the underlying child sink becomes available and the flusher goroutine is stuck -waiting. - -### Buffering - -The `bufferedSink` uses a bytes buffer that's size limited, which is configured in the logging configuration by the -`buffering.max-buffer-size`. However, under normal operation, the `bufferedSink` is likely to flush and empty the buffer -long before this max size is reached. This is because the `bufferedSink` is configured to flush before the buffer is -truly fully via the `buffering.flush-trigger-size` setting. The `bufferedSink` enforces that -`max-buffer-size` >= `flush-trigger-size`. - -If the buffer ever becomes full, the `bufferedSink` will start dropping the oldest events to make way for the new. The -count of messages dropped can be observed via the `log.buffered.messages.dropped` metric. - -### Output Formatting - -When buffered messages are flushed from the underlying `bufferedSink`, they are concatenated together by a delimiter. -By default, a newline is used, but the `bufferedSink` can also be configured to concatenate the individual payloads -together as a JSON array. These are configured by the `buffering.format` log config option, but is not explicitly -advertised in CRDB documentation as this was implemented for a special customer use case. - -### The `tryForceSync` and `extraFlush` options - -As part of the `logSink` interface, each implementation is expected to support a set of `sinkOutputOptions`. The -`bufferedSink` supports the `tryForceSink` and `extraFlush` options. - -`tryForceSync` attempts to force a synchronous flush. That is, it will block until the flush has been handled, so -long as the underlying sink can support the operation at that moment. This isn't an ironclad guarantee, but in the -vast majority of scenarios, this option is expected to be honored. - -In the `bufferedSink`, this `tryForceSync` option is achieved by triggering a flush immediately, and providing a -channel for the flusher goroutine to signal on once the flush has completed. In this case, the writer goroutine -signals an immediate flush, and waits for the flusher goroutine to signal on a channel once the flush has completed. - -This is a best effort attempt to honor `tryForceSync`. If one is already in progress, we simply buffer the message and -return, since this indicates that a flush has already been scheduled and the message will be flushed imminently anyway. -If you want to read an overly in-depth analysis of this option that was written back when we were fixing a bug with -this option, [see this document here](https://docs.google.com/document/d/11ey9EMCU5I73aVvJY2Vo2jbjFHwr_tVoynaKiY-sjfk/edit#heading=h.kw8y3kc4nv3r). - -The other option supported by the `bufferedSink` is the `extraFlush` option. This simply tells the `bufferedSink` to -flush immediately, but does not cause the writer to wait for the flush to complete. - -### Draining on Server Shutdown - -Logging is the very last thing that's shutdown during the node shutdown sequence within CRDB. We want logging facilities -available to the process until the very last moment, to ensure that various systems still have logging capabilities -during their own shutdown processes. For this reason, how we handle server shutdowns in the logging package needs a bit -extra care. - -The `bufferedSinkCloser` is a mechanism designed to signal all initialized `bufferedSink` instances to drain their -buffers by performing a final flush, and exit the flusher goroutine. It is triggered within the logging shutdown -function, which is the last operation performed prior to the process exiting (see the `Main()` function in `pkg/cli`). -Normally, we'd use a `stop.Stopper` for something like this, but even `Stopper`s are stopped before logging facilities -are stopped before logging is stopped, so we're unable to use them for logging. - -When a `bufferedSink` is created, it's registered with a process-global `bufferedSinkCloser`. When it's finally time to -shutdown logging, the `bufferedSinkCloser` will close a "stop channel" that's shared by all `bufferedSink` instances. -The `bufferedSinkCloser` then waits with a timeout on a `sync.WaitGroup` for all the `bufferedSink` instances to finish -their flush, and then returns. If a flusher goroutine is stuck due to an unavailable child sink, then the timeout will -eventually trigger (default 90 seconds) and a warning will be logged to stderr. diff --git a/docs/tla-plus/.gitignore b/docs/tla-plus/.gitignore index 0f8f677bd985..b5add9dd5d5e 100644 --- a/docs/tla-plus/.gitignore +++ b/docs/tla-plus/.gitignore @@ -13,5 +13,4 @@ **/*.toolbox/**/MC.cfg **/*.pdf **/*.old -**/states **/*~ diff --git a/docs/tla-plus/ParallelCommits/ParallelCommits.cfg b/docs/tla-plus/ParallelCommits/ParallelCommits.cfg deleted file mode 100644 index 8e4f9076f828..000000000000 --- a/docs/tla-plus/ParallelCommits/ParallelCommits.cfg +++ /dev/null @@ -1,18 +0,0 @@ -SPECIFICATION - Spec - -CONSTANTS - KEYS = {k1, k2} - PREVENTERS = {p1, p2} - MAX_ATTEMPTS = 3 - -INVARIANTS - TypeInvariants - AckImpliesCommit - -PROPERTIES - TemporalTxnRecordProperties - TemporalIntentProperties - TemporalTSCacheProperties - ImplicitCommitLeadsToExplicitCommit - AckLeadsToExplicitCommit diff --git a/docs/tla-plus/StoreLiveness/StoreLiveness.cfg b/docs/tla-plus/StoreLiveness/StoreLiveness.cfg deleted file mode 100644 index 951e00969b1b..000000000000 --- a/docs/tla-plus/StoreLiveness/StoreLiveness.cfg +++ /dev/null @@ -1,26 +0,0 @@ -SPECIFICATION - Spec - -CONSTANT - Nodes = {n1, n2} - MaxClock = 3 - MaxRestarts = 1 - HeartbeatIntervals = {1, 2} - - MsgHeartbeat = MsgHeartbeat - MsgHeartbeatResp = MsgHeartbeatResp - - AllowMsgReordering = TRUE - AllowClockRegressionOnRestart = TRUE - -INVARIANT - DurableSupportInvariant - SupportProvidedLeadsSupportAssumedInvariant - CurrentEpochLeadsSupportedEpochsInvariant - WithdrawnSupportMinimumEpochInvariant - -SYMMETRY - Symmetry - -CHECK_DEADLOCK - FALSE diff --git a/docs/tla-plus/StoreLiveness/StoreLiveness.tla b/docs/tla-plus/StoreLiveness/StoreLiveness.tla deleted file mode 100644 index 77ace1ef3119..000000000000 --- a/docs/tla-plus/StoreLiveness/StoreLiveness.tla +++ /dev/null @@ -1,517 +0,0 @@ ------------------------------ MODULE StoreLiveness ---------------------------- -EXTENDS TLC, Integers, FiniteSets, Sequences - -CONSTANTS Nodes, MaxClock, MaxRestarts, HeartbeatIntervals -CONSTANTS MsgHeartbeat, MsgHeartbeatResp, AllowMsgReordering, AllowClockRegressionOnRestart -ASSUME Cardinality(Nodes) > 0 -ASSUME Cardinality(HeartbeatIntervals) > 0 -ASSUME \A i \in HeartbeatIntervals: i < MaxClock - -(*****************************************************************************) -(* StoreLiveness is a specification for the Store Liveness fabric. Store *) -(* Liveness sits below Raft and power the Raft leader-lease mechanism. *) -(* *) -(* The central safety property of Store Liveness is Durable Support. A node *) -(* in the Store Liveness fabric can receive support from another node with *) -(* an associated "end time" and be confident that this support will not be *) -(* withdrawn until that supporting node's clock exceeds the end time. This *) -(* property allows us to build lease disjointness, as we can be sure that a *) -(* future lease will have a start time that is greater than the end time of *) -(* the previous lease's corresponding store liveness support. *) -(*****************************************************************************) - -(*--algorithm StoreLiveness -variables - max_epoch = [i \in Nodes |-> 1]; - max_requested = [i \in Nodes |-> 0]; - max_withdrawn = [i \in Nodes |-> 0]; - support_from = [i \in Nodes |-> [j \in Nodes \ {i} |-> [epoch |-> 1, expiration |-> 0]]]; - support_for = [i \in Nodes |-> [j \in Nodes \ {i} |-> [epoch |-> 0, expiration |-> 0]]]; - clocks = [i \in Nodes |-> 1]; - network = [i \in Nodes |-> EmptyNetwork]; - -define - \* Arbitrary maximum element in the set S. - Max(S) == CHOOSE x \in S : \A y \in S : y <= x - - \* Define Nodes as a symmetry set. Cuts runtime by Cardinality(Nodes)! - Symmetry == Permutations(Nodes) - - \* If we allow message reordering, represent the network as a set. Otherwise, - \* represent it as a sequence. - EmptyNetwork == IF AllowMsgReordering THEN {} ELSE <<>> - - EpochValid(map, i, j) == map[i][j].expiration /= 0 - \* Has i ever received support from j for the current epoch? - SupportFromEpochValid(i, j) == EpochValid(support_from, i, j) - \* Has i ever supported j for the current epoch? - SupportForEpochValid(i, j) == EpochValid(support_for, i, j) - - EpochSupportExpired(map, i, j, supporter_time) == map[i][j].expiration <= supporter_time - \* Is i's support from j (according to i's support_from map) expired (according to j's clock)? - SupportFromExpired(i, j) == EpochSupportExpired(support_from, i, j, clocks[j]) - \* Is i's support for j (according to i's support_for map) expired (according to i's clock)? - SupportForExpired(i, j) == EpochSupportExpired(support_for, i, j, clocks[i]) - - \* Is support for i from j upheld? - SupportUpheld(i, j) == support_from[i][j].epoch = support_for[j][i].epoch - - \* Can i withdraw support for j? - CanInvalidateSupportFor(i, j) == SupportForEpochValid(i, j) /\ SupportForExpired(i, j) - CanInvalidateSupportForSet(i) == {j \in Nodes \ {i}: CanInvalidateSupportFor(i, j)} - - \* If we ever had support for the current i=>j epoch, then either support - \* is still upheld or the support we have received had expired according to - \* j's clock. - \* - \* Durable support is the central safety property of the algorithm. - DurableSupportInvariant == - \A i \in Nodes: - \A j \in Nodes \ {i}: - SupportFromEpochValid(i, j) => - (SupportUpheld(i, j) \/ SupportFromExpired(i, j)) - - \* If support for i from j is provided in en epoch, the end time of support - \* known to the supporter (j) must be greater than or equal to the end time - \* of support known to the supportee (i). - \* - \* This is a structural invariant in the algorithm used to provide safety. - SupportProvidedLeadsSupportAssumedInvariant == - \A i \in Nodes: - \A j \in Nodes \ {i}: - SupportUpheld(i, j) => - support_from[i][j].expiration <= support_for[j][i].expiration - - \* A node's current epoch leads its supported epoch by all other nodes. - \* - \* This is a structural invariant in the algorithm used to provide safety. - CurrentEpochLeadsSupportedEpochsInvariant == - \A i \in Nodes: - \A j \in Nodes \ {i}: - max_epoch[i] >= support_from[i][j].epoch - - \* The minimum epoch assigned to store liveness support after support has - \* been withdrawn from a prior epoch leads the supportee's support_from epoch - \* by exactly 1. - \* - \* This is a structural invariant in the algorithm used to provide safety. - WithdrawnSupportMinimumEpochInvariant == - \A i \in Nodes: - \A j \in Nodes \ {i}: - (support_for[i][j].epoch > support_from[j][i].epoch /\ support_for[i][j].expiration = 0) => - support_for[i][j].epoch = support_from[j][i].epoch + 1 - - \* The Support Disjointness invariant states that, for any requester and supporter, - \* no two support intervals overlap in time; i.e. a node does not receive support - \* for a new epoch while support for the previous epoch is still valid. - \* We check this invariant as two assertions in the spec below because it is not - \* possible to state the invariant here with the minimal algorithm state we keep. -end define; - -macro forward(clock, time) -begin - if clock < time then - clock := time; - end if; -end macro - -macro send_msg(to, msg) -begin - if AllowMsgReordering then - network[to] := network[to] \union {msg}; - else - network[to] := Append(network[to], msg); - end if; -end macro - -macro send_heartbeat(to) -begin - with interval \in HeartbeatIntervals do - forward(max_requested[self], clocks[self] + interval); - send_msg(to, [ - type |-> MsgHeartbeat, - from |-> self, - epoch |-> support_from[self][to].epoch, - expiration |-> max_requested[self], - now |-> clocks[self] - ]); - - end with; -end macro - -macro send_heartbeat_resp(to) -begin - send_msg(to, [ - type |-> MsgHeartbeatResp, - from |-> self, - epoch |-> support_for[self][to].epoch, - expiration |-> support_for[self][to].expiration, - now |-> clocks[self] - ]); -end macro - -macro recv_msg() -begin - if AllowMsgReordering then - with recv \in network[self] do - network[self] := network[self] \ {recv}; - msg := recv; - end with; - else - msg := Head(network[self]); - network[self] := Tail(network[self]); - end if; - \* Clock propagation is necessary for the Support Disjointness Invariant. - forward(clocks[self], msg.now); -end macro - -macro restart() -begin - if AllowClockRegressionOnRestart then - clocks[self] := Max({max_withdrawn[self], max_requested[self], clocks[self] - 1}); - else - clocks[self] := Max({max_withdrawn[self], max_requested[self], clocks[self]}); - end if; - max_epoch[self] := max_epoch[self] + 1; - support_from[self] := [j \in Nodes \ {self} |-> [epoch |-> max_epoch[self], expiration |-> 0]]; -end macro - -process node \in Nodes -variables - restarts = 0; - msg = [type |-> FALSE]; -begin Loop: - while TRUE do - either - await clocks[self] < MaxClock; - TickClock: - clocks[self] := clocks[self] + 1; - or - await clocks[self] < MaxClock; - TickClockAndSendHeartbeats: - clocks[self] := clocks[self] + 1; - with i \in Nodes \ {self} do - send_heartbeat(i); - end with; - or - await restarts < MaxRestarts; - Restart: - restart(); - restarts := restarts + 1; - or - await CanInvalidateSupportForSet(self) /= {}; - WithdrawSupport: - with expired \in CanInvalidateSupportForSet(self) do - support_for[self][expired].epoch := support_for[self][expired].epoch + 1 || - support_for[self][expired].expiration := 0; - forward(max_withdrawn[self], clocks[self]); - end with; - or - await network[self] /= EmptyNetwork; - recv_msg(); - - if msg.type = MsgHeartbeat then - ReceiveHeartbeat: - if support_for[self][msg.from].epoch = msg.epoch then - \* Forward the expiration to prevent regressions due to out-of-order - \* delivery of heartbeats. - forward(support_for[self][msg.from].expiration, msg.expiration); - elsif support_for[self][msg.from].epoch < msg.epoch then - assert support_for[self][msg.from].expiration < msg.expiration; - \* This assertion is part of the Support Disjointness invariant. - \* We assert that the requestor of support with this new epoch has - \* a clock that exceeds the expiration of the previous epoch. - assert support_for[self][msg.from].expiration < clocks[self]; - support_for[self][msg.from].epoch := msg.epoch || - support_for[self][msg.from].expiration := msg.expiration; - end if; - - send_heartbeat_resp(msg.from); - - elsif msg.type = MsgHeartbeatResp then - ReceiveHeartbeatResp: - if max_epoch[self] < msg.epoch then - max_epoch[self] := msg.epoch; - end if; - if support_from[self][msg.from].epoch = msg.epoch then - \* Forward the expiration to prevent regressions due to out-of-order - \* delivery of heartbeat responses. - forward(support_from[self][msg.from].expiration, msg.expiration); - elsif support_from[self][msg.from].epoch < msg.epoch then - assert support_from[self][msg.from].epoch = msg.epoch - 1; - assert msg.expiration = 0; - \* This assertion is part of the Support Disjointness invariant. - \* We assert that support for the previous epoch has expired before - \* increasing the epoch and forgetting the previous epoch's expiration. - \* We check the expiration wrt clocks[self] because, by the propagation - \* of clocks via messages, we know that clocks[self] <= clock[msg.from]. - assert support_from[self][msg.from].expiration <= clocks[self]; - support_from[self][msg.from].epoch := msg.epoch || - support_from[self][msg.from].expiration := msg.expiration; - end if; - else - assert FALSE; - end if; - end either; - end while; -end process; -end algorithm; *) -\* BEGIN TRANSLATION (chksum(pcal) = "891e8ae9" /\ chksum(tla) = "38884a6c") -VARIABLES max_epoch, max_requested, max_withdrawn, support_from, support_for, - clocks, network, pc - -(* define statement *) -Max(S) == CHOOSE x \in S : \A y \in S : y <= x - - -Symmetry == Permutations(Nodes) - - - -EmptyNetwork == IF AllowMsgReordering THEN {} ELSE <<>> - -EpochValid(map, i, j) == map[i][j].expiration /= 0 - -SupportFromEpochValid(i, j) == EpochValid(support_from, i, j) - -SupportForEpochValid(i, j) == EpochValid(support_for, i, j) - -EpochSupportExpired(map, i, j, supporter_time) == map[i][j].expiration <= supporter_time - -SupportFromExpired(i, j) == EpochSupportExpired(support_from, i, j, clocks[j]) - -SupportForExpired(i, j) == EpochSupportExpired(support_for, i, j, clocks[i]) - - -SupportUpheld(i, j) == support_from[i][j].epoch = support_for[j][i].epoch - - -CanInvalidateSupportFor(i, j) == SupportForEpochValid(i, j) /\ SupportForExpired(i, j) -CanInvalidateSupportForSet(i) == {j \in Nodes \ {i}: CanInvalidateSupportFor(i, j)} - - - - - - -DurableSupportInvariant == - \A i \in Nodes: - \A j \in Nodes \ {i}: - SupportFromEpochValid(i, j) => - (SupportUpheld(i, j) \/ SupportFromExpired(i, j)) - - - - - - -SupportProvidedLeadsSupportAssumedInvariant == - \A i \in Nodes: - \A j \in Nodes \ {i}: - SupportUpheld(i, j) => - support_from[i][j].expiration <= support_for[j][i].expiration - - - - -CurrentEpochLeadsSupportedEpochsInvariant == - \A i \in Nodes: - \A j \in Nodes \ {i}: - max_epoch[i] >= support_from[i][j].epoch - - - - - - -WithdrawnSupportMinimumEpochInvariant == - \A i \in Nodes: - \A j \in Nodes \ {i}: - (support_for[i][j].epoch > support_from[j][i].epoch /\ support_for[i][j].expiration = 0) => - support_for[i][j].epoch = support_from[j][i].epoch + 1 - -VARIABLES restarts, msg - -vars == << max_epoch, max_requested, max_withdrawn, support_from, support_for, - clocks, network, pc, restarts, msg >> - -ProcSet == (Nodes) - -Init == (* Global variables *) - /\ max_epoch = [i \in Nodes |-> 1] - /\ max_requested = [i \in Nodes |-> 0] - /\ max_withdrawn = [i \in Nodes |-> 0] - /\ support_from = [i \in Nodes |-> [j \in Nodes \ {i} |-> [epoch |-> 1, expiration |-> 0]]] - /\ support_for = [i \in Nodes |-> [j \in Nodes \ {i} |-> [epoch |-> 0, expiration |-> 0]]] - /\ clocks = [i \in Nodes |-> 1] - /\ network = [i \in Nodes |-> EmptyNetwork] - (* Process node *) - /\ restarts = [self \in Nodes |-> 0] - /\ msg = [self \in Nodes |-> [type |-> FALSE]] - /\ pc = [self \in ProcSet |-> "Loop"] - -Loop(self) == /\ pc[self] = "Loop" - /\ \/ /\ clocks[self] < MaxClock - /\ pc' = [pc EXCEPT ![self] = "TickClock"] - /\ UNCHANGED <> - \/ /\ clocks[self] < MaxClock - /\ pc' = [pc EXCEPT ![self] = "TickClockAndSendHeartbeats"] - /\ UNCHANGED <> - \/ /\ restarts[self] < MaxRestarts - /\ pc' = [pc EXCEPT ![self] = "Restart"] - /\ UNCHANGED <> - \/ /\ CanInvalidateSupportForSet(self) /= {} - /\ pc' = [pc EXCEPT ![self] = "WithdrawSupport"] - /\ UNCHANGED <> - \/ /\ network[self] /= EmptyNetwork - /\ IF AllowMsgReordering - THEN /\ \E recv \in network[self]: - /\ network' = [network EXCEPT ![self] = network[self] \ {recv}] - /\ msg' = [msg EXCEPT ![self] = recv] - ELSE /\ msg' = [msg EXCEPT ![self] = Head(network[self])] - /\ network' = [network EXCEPT ![self] = Tail(network[self])] - /\ IF (clocks[self]) < (msg'[self].now) - THEN /\ clocks' = [clocks EXCEPT ![self] = msg'[self].now] - ELSE /\ TRUE - /\ UNCHANGED clocks - /\ IF msg'[self].type = MsgHeartbeat - THEN /\ pc' = [pc EXCEPT ![self] = "ReceiveHeartbeat"] - ELSE /\ IF msg'[self].type = MsgHeartbeatResp - THEN /\ pc' = [pc EXCEPT ![self] = "ReceiveHeartbeatResp"] - ELSE /\ Assert(FALSE, - "Failure of assertion at line 253, column 9.") - /\ pc' = [pc EXCEPT ![self] = "Loop"] - /\ UNCHANGED << max_epoch, max_requested, max_withdrawn, - support_from, support_for, restarts >> - -TickClock(self) == /\ pc[self] = "TickClock" - /\ clocks' = [clocks EXCEPT ![self] = clocks[self] + 1] - /\ pc' = [pc EXCEPT ![self] = "Loop"] - /\ UNCHANGED << max_epoch, max_requested, max_withdrawn, - support_from, support_for, network, - restarts, msg >> - -TickClockAndSendHeartbeats(self) == /\ pc[self] = "TickClockAndSendHeartbeats" - /\ clocks' = [clocks EXCEPT ![self] = clocks[self] + 1] - /\ \E i \in Nodes \ {self}: - \E interval \in HeartbeatIntervals: - /\ IF (max_requested[self]) < (clocks'[self] + interval) - THEN /\ max_requested' = [max_requested EXCEPT ![self] = clocks'[self] + interval] - ELSE /\ TRUE - /\ UNCHANGED max_requested - /\ IF AllowMsgReordering - THEN /\ network' = [network EXCEPT ![i] = network[i] \union {( [ - type |-> MsgHeartbeat, - from |-> self, - epoch |-> support_from[self][i].epoch, - expiration |-> max_requested'[self], - now |-> clocks'[self] - ])}] - ELSE /\ network' = [network EXCEPT ![i] = Append(network[i], ( [ - type |-> MsgHeartbeat, - from |-> self, - epoch |-> support_from[self][i].epoch, - expiration |-> max_requested'[self], - now |-> clocks'[self] - ]))] - /\ pc' = [pc EXCEPT ![self] = "Loop"] - /\ UNCHANGED << max_epoch, max_withdrawn, - support_from, support_for, - restarts, msg >> - -Restart(self) == /\ pc[self] = "Restart" - /\ IF AllowClockRegressionOnRestart - THEN /\ clocks' = [clocks EXCEPT ![self] = Max({max_withdrawn[self], max_requested[self], clocks[self] - 1})] - ELSE /\ clocks' = [clocks EXCEPT ![self] = Max({max_withdrawn[self], max_requested[self], clocks[self]})] - /\ max_epoch' = [max_epoch EXCEPT ![self] = max_epoch[self] + 1] - /\ support_from' = [support_from EXCEPT ![self] = [j \in Nodes \ {self} |-> [epoch |-> max_epoch'[self], expiration |-> 0]]] - /\ restarts' = [restarts EXCEPT ![self] = restarts[self] + 1] - /\ pc' = [pc EXCEPT ![self] = "Loop"] - /\ UNCHANGED << max_requested, max_withdrawn, support_for, - network, msg >> - -WithdrawSupport(self) == /\ pc[self] = "WithdrawSupport" - /\ \E expired \in CanInvalidateSupportForSet(self): - /\ support_for' = [support_for EXCEPT ![self][expired].epoch = support_for[self][expired].epoch + 1, - ![self][expired].expiration = 0] - /\ IF (max_withdrawn[self]) < (clocks[self]) - THEN /\ max_withdrawn' = [max_withdrawn EXCEPT ![self] = clocks[self]] - ELSE /\ TRUE - /\ UNCHANGED max_withdrawn - /\ pc' = [pc EXCEPT ![self] = "Loop"] - /\ UNCHANGED << max_epoch, max_requested, - support_from, clocks, network, - restarts, msg >> - -ReceiveHeartbeat(self) == /\ pc[self] = "ReceiveHeartbeat" - /\ IF support_for[self][msg[self].from].epoch = msg[self].epoch - THEN /\ IF (support_for[self][msg[self].from].expiration) < (msg[self].expiration) - THEN /\ support_for' = [support_for EXCEPT ![self][msg[self].from].expiration = msg[self].expiration] - ELSE /\ TRUE - /\ UNCHANGED support_for - ELSE /\ IF support_for[self][msg[self].from].epoch < msg[self].epoch - THEN /\ Assert(support_for[self][msg[self].from].expiration < msg[self].expiration, - "Failure of assertion at line 220, column 13.") - /\ Assert(support_for[self][msg[self].from].expiration < clocks[self], - "Failure of assertion at line 224, column 13.") - /\ support_for' = [support_for EXCEPT ![self][msg[self].from].epoch = msg[self].epoch, - ![self][msg[self].from].expiration = msg[self].expiration] - ELSE /\ TRUE - /\ UNCHANGED support_for - /\ IF AllowMsgReordering - THEN /\ network' = [network EXCEPT ![(msg[self].from)] = network[(msg[self].from)] \union {( [ - type |-> MsgHeartbeatResp, - from |-> self, - epoch |-> support_for'[self][(msg[self].from)].epoch, - expiration |-> support_for'[self][(msg[self].from)].expiration, - now |-> clocks[self] - ])}] - ELSE /\ network' = [network EXCEPT ![(msg[self].from)] = Append(network[(msg[self].from)], ( [ - type |-> MsgHeartbeatResp, - from |-> self, - epoch |-> support_for'[self][(msg[self].from)].epoch, - expiration |-> support_for'[self][(msg[self].from)].expiration, - now |-> clocks[self] - ]))] - /\ pc' = [pc EXCEPT ![self] = "Loop"] - /\ UNCHANGED << max_epoch, max_requested, - max_withdrawn, support_from, clocks, - restarts, msg >> - -ReceiveHeartbeatResp(self) == /\ pc[self] = "ReceiveHeartbeatResp" - /\ IF max_epoch[self] < msg[self].epoch - THEN /\ max_epoch' = [max_epoch EXCEPT ![self] = msg[self].epoch] - ELSE /\ TRUE - /\ UNCHANGED max_epoch - /\ IF support_from[self][msg[self].from].epoch = msg[self].epoch - THEN /\ IF (support_from[self][msg[self].from].expiration) < (msg[self].expiration) - THEN /\ support_from' = [support_from EXCEPT ![self][msg[self].from].expiration = msg[self].expiration] - ELSE /\ TRUE - /\ UNCHANGED support_from - ELSE /\ IF support_from[self][msg[self].from].epoch < msg[self].epoch - THEN /\ Assert(support_from[self][msg[self].from].epoch = msg[self].epoch - 1, - "Failure of assertion at line 241, column 13.") - /\ Assert(msg[self].expiration = 0, - "Failure of assertion at line 242, column 13.") - /\ Assert(support_from[self][msg[self].from].expiration <= clocks[self], - "Failure of assertion at line 248, column 13.") - /\ support_from' = [support_from EXCEPT ![self][msg[self].from].epoch = msg[self].epoch, - ![self][msg[self].from].expiration = msg[self].expiration] - ELSE /\ TRUE - /\ UNCHANGED support_from - /\ pc' = [pc EXCEPT ![self] = "Loop"] - /\ UNCHANGED << max_requested, max_withdrawn, - support_for, clocks, network, - restarts, msg >> - -node(self) == Loop(self) \/ TickClock(self) - \/ TickClockAndSendHeartbeats(self) \/ Restart(self) - \/ WithdrawSupport(self) \/ ReceiveHeartbeat(self) - \/ ReceiveHeartbeatResp(self) - -Next == (\E self \in Nodes: node(self)) - -Spec == Init /\ [][Next]_vars - -\* END TRANSLATION -==== diff --git a/githooks/post-checkout b/githooks/post-checkout index b33d8c7ba56d..5c3b6b290124 100755 --- a/githooks/post-checkout +++ b/githooks/post-checkout @@ -24,5 +24,3 @@ if [ "$3" == "1" ]; then fi fi -mkdir -p bin -ln -sf ../scripts/drtprod bin/drtprod diff --git a/githooks/pre-push b/githooks/pre-push index 534cab599c5d..5557508d7dbb 100755 --- a/githooks/pre-push +++ b/githooks/pre-push @@ -8,17 +8,11 @@ set -uo pipefail # deny push of a head but not a tag to cockroachdb/cochroach ssh and http URLs. while read local_ref local_sha remote_ref remote_sha do - if [[ "$remote_ref" == "refs/heads/"* ]] && [[ "$2" == *"cockroachdb/cockroach"* ]] && [[ "$remote_ref" != "refs/heads/blathers/backport-"* ]]; then + if [[ "$remote_ref" == "refs/heads/"* ]] && [[ "$2" == *"cockroachdb/cockroach"* ]]; then echo "Refusing to push to $remote_ref on $2." echo "Push your branch to your own fork and open a PR from there." echo "If you just want to see what CI thinks, you can push branch:refs/ci/branch to trigger a CI run." - if [[ "$remote_ref" != "refs/heads/release-"* ]] && [[ "$remote_ref" != "refs/heads/staging" ]] && [[ "$remote_ref" != "refs/heads/trying" ]]; then - echo "If this is an emergency or unusual circumstance that requires a branch on origin, push with --no-verify." - fi - if [[ "$remote_ref" != "refs/heads/custombuild"* ]]; then - echo "Consider using the prefix custombuild- for your branch name to help distinguish this branch from legitimate release branches." - fi - echo "If you push a branch to origin, delete it as soon as possible." + echo "If this is an emergency or unusual circumstance that requires a branch on origin, push with --no-verify." exit 1 fi done diff --git a/githooks/prepare-commit-msg b/githooks/prepare-commit-msg index 11234e5ca579..1f4438a911ca 100755 --- a/githooks/prepare-commit-msg +++ b/githooks/prepare-commit-msg @@ -119,8 +119,6 @@ ${cchar}Release note (backwards-incompatible change): \\ ${cchar}Release note (performance improvement): \\ ${cchar}Release note (cluster virtualization): \\ ${cchar}Release note (bug fix): \\ -${cchar} ^-- ensure there is a corresponding GitHub issue labeled \\ -${cchar} with C-bug and all known affected release branches \\ ; " diff --git a/go.mod b/go.mod index 34863e52d9a8..66bc9a34c44a 100644 --- a/go.mod +++ b/go.mod @@ -10,17 +10,17 @@ go 1.22.5 // merge of any upgrades we should communicate to all teams to be on the lookout // for behavior changes, just like we would after a go upgrade. require ( - golang.org/x/crypto v0.26.0 + golang.org/x/crypto v0.22.0 golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df golang.org/x/exp/typeparams v0.0.0-20221208152030-732eee02a75a // indirect - golang.org/x/mod v0.20.0 // indirect - golang.org/x/net v0.28.0 + golang.org/x/mod v0.14.0 // indirect + golang.org/x/net v0.24.0 golang.org/x/oauth2 v0.7.0 - golang.org/x/sync v0.8.0 - golang.org/x/sys v0.23.0 - golang.org/x/text v0.17.0 + golang.org/x/sync v0.7.0 + golang.org/x/sys v0.19.0 + golang.org/x/text v0.14.0 golang.org/x/time v0.3.0 - golang.org/x/tools v0.24.0 + golang.org/x/tools v0.17.0 ) // The following dependencies are key infrastructure dependencies and @@ -33,14 +33,14 @@ require ( github.com/golang/geo v0.0.0-20200319012246-673a6f80352d github.com/golang/mock v1.6.0 github.com/golang/protobuf v1.5.3 - github.com/golang/snappy v0.0.5-0.20231225225746-43d5d4cd4e0e + github.com/golang/snappy v0.0.4 github.com/google/btree v1.0.1 github.com/google/pprof v0.0.0-20210827144239-02619b876842 github.com/google/uuid v1.5.0 google.golang.org/api v0.114.0 google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 google.golang.org/grpc v1.56.3 - google.golang.org/protobuf v1.33.0 + google.golang.org/protobuf v1.30.0 ) // If any of the following dependencies get updated as a side-effect @@ -50,26 +50,26 @@ require ( cloud.google.com/go/kms v1.10.1 cloud.google.com/go/pubsub v1.30.0 cloud.google.com/go/storage v1.28.1 - github.com/Azure/azure-sdk-for-go v68.0.0+incompatible + github.com/Azure/azure-sdk-for-go v57.1.0+incompatible github.com/Azure/go-autorest/autorest v0.11.20 github.com/Azure/go-autorest/autorest/azure/auth v0.5.8 github.com/Azure/go-autorest/autorest/azure/cli v0.4.3 // indirect github.com/Azure/go-autorest/autorest/to v0.4.0 github.com/aws/aws-sdk-go v1.40.37 - github.com/aws/aws-sdk-go-v2 v1.30.4 - github.com/aws/aws-sdk-go-v2/config v1.27.31 - github.com/aws/aws-sdk-go-v2/credentials v1.17.30 - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16 // indirect - github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect + github.com/aws/aws-sdk-go-v2 v1.17.3 + github.com/aws/aws-sdk-go-v2/config v1.15.3 + github.com/aws/aws-sdk-go-v2/credentials v1.11.2 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.3 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.27 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.21 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.3.10 // indirect github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.18.3 github.com/aws/aws-sdk-go-v2/service/ec2 v1.34.0 github.com/aws/aws-sdk-go-v2/service/iam v1.18.3 - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.3 // indirect github.com/aws/aws-sdk-go-v2/service/rds v1.18.4 - github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.30.5 + github.com/aws/aws-sdk-go-v2/service/sso v1.11.3 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.16.3 // indirect ) // If any of the following dependencies get update as a side-effect @@ -90,12 +90,9 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/azcore v1.3.0 github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.1.0 github.com/Azure/azure-sdk-for-go/sdk/keyvault/azkeys v0.9.0 - github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute v1.0.0 github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.6.1 github.com/Azure/go-autorest/autorest/adal v0.9.15 github.com/BurntSushi/toml v1.2.1 - github.com/DataDog/datadog-api-client-go/v2 v2.15.0 - github.com/DataExMachina-dev/side-eye-go v0.0.0-20240528211710-5eb9c7a69e1d github.com/IBM/sarama v1.42.1 github.com/Masterminds/semver/v3 v3.1.1 github.com/MichaelTJones/walk v0.0.0-20161122175330-4748e29d5718 @@ -108,13 +105,7 @@ require ( github.com/apache/arrow/go/arrow v0.0.0-20200923215132-ac86123a3f01 github.com/apache/arrow/go/v11 v11.0.0 github.com/apache/pulsar-client-go v0.12.0 - github.com/aws/aws-msk-iam-sasl-signer-go v1.0.0 - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.16 - github.com/aws/aws-sdk-go-v2/service/kafka v1.21.0 - github.com/aws/aws-sdk-go-v2/service/kms v1.35.5 - github.com/aws/aws-sdk-go-v2/service/s3 v1.61.0 github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.18.2 - github.com/aws/smithy-go v1.20.4 github.com/axiomhq/hyperloglog v0.0.0-20181223111420-4b99d0c2c99e github.com/bazelbuild/rules_go v0.26.0 github.com/biogo/store v0.0.0-20160505134755-913427a1d5e8 @@ -127,13 +118,13 @@ require ( github.com/cockroachdb/cmux v0.0.0-20170110192607-30d10be49292 github.com/cockroachdb/cockroach-go/v2 v2.3.7 github.com/cockroachdb/crlfmt v0.0.0-20221214225007-b2fc5c302548 - github.com/cockroachdb/datadriven v1.0.3-0.20240530155848-7682d40af056 - github.com/cockroachdb/errors v1.11.3 + github.com/cockroachdb/datadriven v1.0.3-0.20230801171734-e384cf455877 + github.com/cockroachdb/errors v1.11.1 github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce github.com/cockroachdb/go-test-teamcity v0.0.0-20191211140407-cff980ad0a55 github.com/cockroachdb/gostdlib v1.19.0 github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b - github.com/cockroachdb/pebble v0.0.0-20240917211111-c826c0a21671 + github.com/cockroachdb/pebble v0.0.0-20240828225813-c94d74b2b544 github.com/cockroachdb/redact v1.1.5 github.com/cockroachdb/returncheck v0.0.0-20200612231554-92cdbca611dd github.com/cockroachdb/stress v0.0.0-20220803192808-1806698b1b7b @@ -153,12 +144,14 @@ require ( github.com/elastic/gosigar v0.14.3 github.com/emicklei/dot v0.15.0 github.com/fatih/color v1.9.0 + github.com/fraugster/parquet-go v0.10.0 github.com/fsnotify/fsnotify v1.5.1 - github.com/getsentry/sentry-go v0.27.0 + github.com/getsentry/sentry-go v0.23.0 github.com/ghemawat/stream v0.0.0-20171120220530-696b145b53b9 github.com/go-ldap/ldap/v3 v3.4.6 github.com/go-openapi/strfmt v0.22.0 github.com/go-sql-driver/mysql v1.6.0 + github.com/go-swagger/go-swagger v0.26.1 github.com/gogo/status v1.1.0 github.com/google/flatbuffers v2.0.8+incompatible github.com/google/go-cmp v0.6.0 @@ -173,16 +166,15 @@ require ( github.com/grafana/grafana-openapi-client-go v0.0.0-20240215164046-eb0e60d27cb7 github.com/grpc-ecosystem/grpc-gateway v1.16.0 github.com/guptarohit/asciigraph v0.5.5 - github.com/influxdata/influxdb-client-go/v2 v2.3.1-0.20210518120617-5d1fff431040 github.com/irfansharif/recorder v0.0.0-20211218081646-a21b46510fd6 github.com/jackc/pgx/v5 v5.4.2 github.com/jaegertracing/jaeger v1.18.1 github.com/jordan-wright/email v4.0.1-0.20210109023952-943e75fe5223+incompatible github.com/jordanlewis/gcassert v0.0.0-20240401195008-3141cbd028c0 github.com/kevinburke/go-bindata v3.13.0+incompatible - github.com/kisielk/errcheck v1.7.0 + github.com/kisielk/errcheck v1.6.1-0.20210625163953-8ddee489636a github.com/kisielk/gotool v1.0.0 - github.com/klauspost/compress v1.17.8 + github.com/klauspost/compress v1.17.4 github.com/klauspost/pgzip v1.2.5 github.com/knz/bubbline v0.0.0-20230422210153-e176cdfe1c43 github.com/knz/strtime v0.0.0-20200318182718-be999391ffa9 @@ -190,7 +182,7 @@ require ( github.com/kr/text v0.2.0 github.com/kylelemons/godebug v1.1.0 github.com/leanovate/gopter v0.2.5-0.20190402064358-634a59d12406 - github.com/lestrrat-go/jwx/v2 v2.1.1 + github.com/lestrrat-go/jwx v1.2.25 github.com/lib/pq v1.10.7 github.com/linkedin/goavro/v2 v2.12.0 github.com/lufia/iostat v1.2.1 @@ -209,7 +201,7 @@ require ( github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799 github.com/otan/gopgkrb5 v1.0.3 github.com/petermattis/goid v0.0.0-20211229010228-4d14c490ee36 - github.com/pierrec/lz4/v4 v4.1.21 + github.com/pierrec/lz4/v4 v4.1.19 github.com/pierrre/geohash v1.0.0 github.com/pires/go-proxyproto v0.7.0 github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4 @@ -232,7 +224,7 @@ require ( github.com/spf13/cobra v1.6.1 github.com/spf13/pflag v1.0.5 github.com/stretchr/testify v1.9.0 - github.com/twmb/franz-go v1.17.1 + github.com/twmb/franz-go v1.16.1 github.com/twmb/franz-go/pkg/kadm v1.11.0 github.com/twpayne/go-geom v1.4.2 github.com/wadey/gocovmerge v0.0.0-20160331181800-b5bfa59ec0ad @@ -248,7 +240,7 @@ require ( go.opentelemetry.io/otel/trace v1.17.0 go.opentelemetry.io/proto/otlp v0.11.0 golang.org/x/perf v0.0.0-20230113213139-801c7ef9e5c5 - golang.org/x/term v0.23.0 + golang.org/x/term v0.19.0 gopkg.in/yaml.v2 v2.4.0 gopkg.in/yaml.v3 v3.0.1 honnef.co/go/tools v0.4.5 @@ -274,7 +266,6 @@ require ( github.com/Azure/go-autorest/tracing v0.6.0 // indirect github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358 // indirect github.com/AzureAD/microsoft-authentication-library-for-go v0.5.1 // indirect - github.com/HdrHistogram/hdrhistogram-go v1.1.2 // indirect github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c // indirect github.com/Masterminds/goutils v1.1.0 // indirect github.com/Masterminds/semver v1.5.0 // indirect @@ -282,19 +273,13 @@ require ( github.com/Microsoft/go-winio v0.5.2 // indirect github.com/abbot/go-http-auth v0.4.1-0.20181019201920-860ed7f246ff // indirect github.com/aclements/go-moremath v0.0.0-20210112150236-f10218a38794 // indirect - github.com/ajstarks/svgo v0.0.0-20210923152817-c3b6e2f0c527 // indirect github.com/alexbrainman/sspi v0.0.0-20210105120005-909beea2cc74 // indirect github.com/andybalholm/brotli v1.0.5 // indirect github.com/apache/thrift v0.16.0 // indirect github.com/ardielle/ardielle-go v1.5.2 // indirect github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect github.com/atotto/clipboard v0.1.4 // indirect - github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.16 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.18 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.16 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 // indirect + github.com/aws/smithy-go v1.13.5 // indirect github.com/aymanbagabas/go-osc52 v1.0.3 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect @@ -303,11 +288,9 @@ require ( github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/charmbracelet/bubbletea v0.23.1 // indirect github.com/charmbracelet/lipgloss v0.6.0 // indirect - github.com/cockroachdb/crlib v0.0.0-20240904210011-3474b320e3bf // indirect - github.com/cockroachdb/swiss v0.0.0-20240612210725-f4de07ae6964 // indirect + github.com/cockroachdb/swiss v0.0.0-20240303172742-c161743eb608 // indirect github.com/danieljoos/wincred v1.1.2 // indirect - github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 // indirect - github.com/deepmap/oapi-codegen v1.6.0 // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect github.com/dgrijalva/jwt-go v3.2.0+incompatible // indirect github.com/dimchansky/utfbom v1.1.1 // indirect github.com/djherbis/atime v1.1.0 // indirect @@ -317,18 +300,17 @@ require ( github.com/eapache/go-xerial-snappy v0.0.0-20230731223053-c322873962e3 // indirect github.com/eapache/queue v1.1.0 // indirect github.com/fatih/structs v1.1.0 // indirect - github.com/fogleman/gg v1.3.0 // indirect + github.com/felixge/httpsnoop v1.0.1 // indirect github.com/ghodss/yaml v1.0.0 // indirect github.com/go-asn1-ber/asn1-ber v1.5.5 // indirect - github.com/go-fonts/liberation v0.2.0 // indirect github.com/go-kit/log v0.2.1 // indirect - github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81 // indirect github.com/go-logfmt/logfmt v0.5.1 // indirect github.com/go-logr/logr v1.3.0 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.2.6 // indirect github.com/go-openapi/analysis v0.22.2 // indirect github.com/go-openapi/errors v0.21.0 // indirect + github.com/go-openapi/inflect v0.19.0 // indirect github.com/go-openapi/jsonpointer v0.20.2 // indirect github.com/go-openapi/jsonreference v0.20.4 // indirect github.com/go-openapi/loads v0.21.5 // indirect @@ -336,28 +318,27 @@ require ( github.com/go-openapi/spec v0.20.14 // indirect github.com/go-openapi/swag v0.22.9 // indirect github.com/go-openapi/validate v0.23.0 // indirect - github.com/go-pdf/fpdf v0.5.0 // indirect - github.com/goccy/go-json v0.10.3 // indirect + github.com/goccy/go-json v0.9.11 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/gofrs/flock v0.8.1 // indirect github.com/gofrs/uuid v4.0.0+incompatible // indirect github.com/golang-jwt/jwt v3.2.2+incompatible // indirect github.com/golang-jwt/jwt/v4 v4.2.0 // indirect - github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect + github.com/gorilla/handlers v1.5.1 // indirect github.com/gorilla/websocket v1.4.2 // indirect github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/go-uuid v1.0.3 // indirect + github.com/hashicorp/hcl v1.0.0 // indirect github.com/huandu/xstrings v1.3.0 // indirect github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639 // indirect github.com/imdario/mergo v0.3.13 // indirect github.com/inconshreveable/mousetrap v1.0.1 // indirect - github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839 // indirect github.com/jackc/puddle/v2 v2.2.0 // indirect github.com/jcmturner/aescts/v2 v2.0.0 // indirect github.com/jcmturner/dnsutils/v2 v2.0.0 // indirect @@ -365,18 +346,20 @@ require ( github.com/jcmturner/goidentity/v6 v6.0.1 // indirect github.com/jcmturner/gokrb5/v8 v8.4.4 // indirect github.com/jcmturner/rpc/v2 v2.0.3 // indirect + github.com/jessevdk/go-flags v1.5.0 // indirect github.com/jhump/protoreflect v1.9.1-0.20210817181203-db1a327a393e // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/klauspost/asmfmt v1.3.2 // indirect github.com/klauspost/cpuid/v2 v2.0.9 // indirect - github.com/lestrrat-go/blackmagic v1.0.2 // indirect + github.com/lestrrat-go/backoff/v2 v2.0.8 // indirect + github.com/lestrrat-go/blackmagic v1.0.1 // indirect github.com/lestrrat-go/httpcc v1.0.1 // indirect - github.com/lestrrat-go/httprc v1.0.6 // indirect github.com/lestrrat-go/iter v1.0.2 // indirect - github.com/lestrrat-go/option v1.0.1 // indirect + github.com/lestrrat-go/option v1.0.0 // indirect github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect + github.com/magiconair/properties v1.8.5 // indirect github.com/mailru/easyjson v0.7.7 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-localereader v0.0.1 // indirect @@ -403,6 +386,7 @@ require ( github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect github.com/openzipkin/zipkin-go v0.2.5 // indirect + github.com/pelletier/go-toml v1.9.5 // indirect github.com/pierrec/lz4 v2.5.2+incompatible // indirect github.com/pkg/profile v1.6.0 // indirect github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect @@ -414,15 +398,19 @@ require ( github.com/rs/xid v1.3.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/sahilm/fuzzy v0.1.0 // indirect - github.com/segmentio/asm v1.2.0 // indirect github.com/sirupsen/logrus v1.9.0 // indirect github.com/slok/go-http-metrics v0.10.0 // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect + github.com/spf13/cast v1.3.1 // indirect + github.com/spf13/jwalterweatherman v1.1.0 // indirect + github.com/spf13/viper v1.8.1 // indirect + github.com/subosito/gotenv v1.2.0 // indirect github.com/tklauser/go-sysconf v0.3.9 // indirect github.com/tklauser/numcpus v0.3.0 // indirect + github.com/toqueteos/webbrowser v1.2.0 // indirect github.com/trivago/tgo v1.0.7 // indirect github.com/twitchtv/twirp v8.1.0+incompatible // indirect - github.com/twmb/franz-go/pkg/kmsg v1.8.0 // indirect + github.com/twmb/franz-go/pkg/kmsg v1.7.0 // indirect github.com/twpayne/go-kml v1.5.2 // indirect github.com/urfave/cli/v2 v2.3.0 // indirect github.com/yusufpapurcu/wmi v1.2.2 // indirect @@ -438,9 +426,7 @@ require ( go.uber.org/atomic v1.10.0 // indirect go.uber.org/multierr v1.7.0 // indirect go.uber.org/zap v1.19.0 // indirect - golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - gonum.org/v1/plot v0.10.0 // indirect google.golang.org/appengine v1.6.7 // indirect gopkg.in/square/go-jose.v2 v2.5.1 // indirect ) diff --git a/go.sum b/go.sum index 9546ee95b37c..ddfac72d578e 100644 --- a/go.sum +++ b/go.sum @@ -84,9 +84,8 @@ github.com/AthenZ/athenz v1.10.39/go.mod h1:3Tg8HLsiQZp81BJY58JBeU2BR6B/H4/0MQGf github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4= github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v41.3.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v57.1.0+incompatible h1:TKQ3ieyB0vVKkF6t9dsWbMjq56O1xU3eh3Ec09v6ajM= github.com/Azure/azure-sdk-for-go v57.1.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/azure-sdk-for-go v68.0.0+incompatible h1:fcYLmCpyNYRnvJbPerq7U0hS+6+I79yEDJBqVNcqUzU= -github.com/Azure/azure-sdk-for-go v68.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go/sdk/azcore v0.19.0/go.mod h1:h6H6c8enJmmocHUbLiiGY6sx7f9i+X3m1CHdd5c6Rdw= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.3.0 h1:VuHAcMq8pU1IWNT/m5yRaGqbK0BiQKHT8X4DTp9CHdI= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.3.0/go.mod h1:tZoQYdDZNOiIjdSn0dVWVfl0NEPGOJqVLzSrcFk4Is0= @@ -100,14 +99,6 @@ github.com/Azure/azure-sdk-for-go/sdk/keyvault/azkeys v0.9.0 h1:TOFrNxfjslms5nLL github.com/Azure/azure-sdk-for-go/sdk/keyvault/azkeys v0.9.0/go.mod h1:EAyXOW1F6BTJPiK2pDvmnvxOHPxoTYWoqBeIlql+QhI= github.com/Azure/azure-sdk-for-go/sdk/keyvault/internal v0.7.0 h1:Lg6BW0VPmCwcMlvOviL3ruHFO+H9tZNqscK0AeuFjGM= github.com/Azure/azure-sdk-for-go/sdk/keyvault/internal v0.7.0/go.mod h1:9V2j0jn9jDEkCkv8w/bKTNppX/d0FVA1ud77xCIP4KA= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute v1.0.0 h1:/Di3vB4sNeQ+7A8efjUVENvyB945Wruvstucqp7ZArg= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute v1.0.0/go.mod h1:gM3K25LQlsET3QR+4V74zxCsFAy0r6xMNN9n80SZn+4= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal v1.0.0 h1:lMW1lD/17LUA5z1XTURo7LcVG2ICBPlyMHjIUrcFZNQ= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal v1.0.0/go.mod h1:ceIuwmxDWptoW3eCqSXlnPsZFKh4X+R38dWPv7GS9Vs= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork v1.0.0 h1:nBy98uKOIfun5z6wx6jwWLrULcM0+cjBalBFZlEZ7CA= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork v1.0.0/go.mod h1:243D9iHbcQXoFUtgHJwL7gl2zx1aDuDMjvBZVGr2uW0= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.0.0 h1:ECsQtyERDVz3NP3kvDOTLvbQhqWp/x9EsGKtb4ogUr8= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.0.0/go.mod h1:s1tW/At+xHqjNFvWU4G0c0Qv33KOhvbGNj0RCTQDV8s= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.6.1 h1:YvQv9Mz6T8oR5ypQOL6erY0Z5t71ak1uHV4QFokCOZk= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.6.1/go.mod h1:c6WvOhtmjNUWbLfOG1qxM/q0SPvQNSVJvolm+C52dIU= github.com/Azure/azure-storage-blob-go v0.8.0/go.mod h1:lPI3aLPpuLTeUwh1sViKXFxwl2B6teiRqI0deQUvsw0= @@ -186,22 +177,16 @@ github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q github.com/DATA-DOG/go-sqlmock v1.4.1/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60= github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= -github.com/DataDog/datadog-api-client-go/v2 v2.15.0 h1:5UVON1xs6Lul4d6R5TmLDqqSJxOkunkm/UdM/fjm+zc= -github.com/DataDog/datadog-api-client-go/v2 v2.15.0/go.mod h1:ZG8wS+y2rUmkRDJZQq7Og7EAPFPage+7vXcmuah2I9o= github.com/DataDog/datadog-go v2.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/zstd v1.3.6-0.20190409195224-796139022798/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/DataDog/zstd v1.4.4/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/DataDog/zstd v1.5.6-0.20230824185856-869dae002e5e h1:ZIWapoIRN1VqT8GR8jAwb1Ie9GyehWjVcGh32Y2MznE= github.com/DataDog/zstd v1.5.6-0.20230824185856-869dae002e5e/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= -github.com/DataExMachina-dev/side-eye-go v0.0.0-20240528211710-5eb9c7a69e1d h1:0NRhNOBaRnkXED8mftbOSCNGAf8MZhv4zu840hIUpIc= -github.com/DataExMachina-dev/side-eye-go v0.0.0-20240528211710-5eb9c7a69e1d/go.mod h1:FukCpc3od3BzYgxUtTWm3iB4ALtc4UknLNMQ0rq+V3A= github.com/GeertJohan/go.incremental v1.0.0/go.mod h1:6fAjUhbVuX1KcMD3c8TEgVUqmo4seqhv0i0kdATSkM0= github.com/GeertJohan/go.rice v1.0.0/go.mod h1:eH6gbSOAUv07dQuZVnBmoDP8mgsM1rtixis4Tib9if0= github.com/GoogleCloudPlatform/cloudsql-proxy v0.0.0-20190129172621-c8b1d7a94ddf/go.mod h1:aJ4qN3TfrelA6NZ6AXsXRfmEVaYin3EDbSPJrKS8OXo= github.com/HdrHistogram/hdrhistogram-go v1.1.0/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= -github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= -github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= github.com/IBM/sarama v1.42.1 h1:wugyWa15TDEHh2kvq2gAy1IHLjEjuYOYgXz/ruC/OSQ= github.com/IBM/sarama v1.42.1/go.mod h1:Xxho9HkHd4K/MDUo/T/sOqwtX/17D33++E9Wib6hUdQ= github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c h1:RGWPOewvKIROun94nF7v2cua9qP+thov/7M50KEoeSU= @@ -278,7 +263,6 @@ github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= -github.com/ajstarks/svgo v0.0.0-20210923152817-c3b6e2f0c527 h1:NImof/JkF93OVWZY+PINgl6fPtQyF6f+hNUtZ0QZA1c= github.com/ajstarks/svgo v0.0.0-20210923152817-c3b6e2f0c527/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= github.com/akavel/rsrc v0.8.0/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= @@ -317,8 +301,10 @@ github.com/apache/pulsar-client-go v0.12.0/go.mod h1:dkutuH4oS2pXiGm+Ti7fQZ4MRjr github.com/apache/thrift v0.0.0-20151001171628-53dd39833a08/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apache/thrift v0.15.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU= github.com/apache/thrift v0.16.0 h1:qEy6UW60iVOlUy+b9ZR0d5WzUWYGOo4HfopoyBaNmoY= github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU= +github.com/araddon/dateparse v0.0.0-20210429162001-6b43995a97de/go.mod h1:DCaWoUhZrYW9p1lxo/cm8EmUOOzAPSEZNGF2DK1dJgw= github.com/ardielle/ardielle-go v1.5.2 h1:TilHTpHIQJ27R1Tl/iITBzMwiUGSlVfiVhwDNGM3Zj4= github.com/ardielle/ardielle-go v1.5.2/go.mod h1:I4hy1n795cUhaVt/ojz83SNVCYIGsAFAONtv2Dr7HUI= github.com/ardielle/ardielle-tools v1.5.4/go.mod h1:oZN+JRMnqGiIhrzkRN9l26Cej9dEx4jeNG6A+AdkShk= @@ -341,8 +327,6 @@ github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:W github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4= github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= -github.com/aws/aws-msk-iam-sasl-signer-go v1.0.0 h1:UyjtGmO0Uwl/K+zpzPwLoXzMhcN9xmnR2nrqJoBrg3c= -github.com/aws/aws-msk-iam-sasl-signer-go v1.0.0/go.mod h1:TJAXuFs2HcMib3sN5L0gUC+Q01Qvy3DemvA55WuC+iA= github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.28.8/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= @@ -356,69 +340,41 @@ github.com/aws/aws-sdk-go v1.40.37 h1:I+Q6cLctkFyMMrKukcDnj+i2kjrQ37LGiOM6xmsxC4 github.com/aws/aws-sdk-go v1.40.37/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/aws/aws-sdk-go-v2 v1.16.2/go.mod h1:ytwTPBG6fXTZLxxeeCCWj2/EMYp/xDUgX+OET6TLNNU= +github.com/aws/aws-sdk-go-v2 v1.17.3 h1:shN7NlnVzvDUgPQ+1rLMSxY8OWRNDRYtiqe0p/PgrhY= github.com/aws/aws-sdk-go-v2 v1.17.3/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= -github.com/aws/aws-sdk-go-v2 v1.19.1/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= -github.com/aws/aws-sdk-go-v2 v1.30.4 h1:frhcagrVNrzmT95RJImMHgabt99vkXGslubDaDagTk8= -github.com/aws/aws-sdk-go-v2 v1.30.4/go.mod h1:CT+ZPWXbYrci8chcARI3OmI/qgd+f6WtuLOoaIA8PR0= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4 h1:70PVAiL15/aBMh5LThwgXdSQorVr91L127ttckI9QQU= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4/go.mod h1:/MQxMqci8tlqDH+pjmoLu1i0tbWCUP1hhyMRuFxpQCw= -github.com/aws/aws-sdk-go-v2/config v1.27.31 h1:kxBoRsjhT3pq0cKthgj6RU6bXTm/2SgdoUMyrVw0rAI= -github.com/aws/aws-sdk-go-v2/config v1.27.31/go.mod h1:z04nZdSWFPaDwK3DdJOG2r+scLQzMYuJeW0CujEm9FM= -github.com/aws/aws-sdk-go-v2/credentials v1.17.30 h1:aau/oYFtibVovr2rDt8FHlU17BTicFEMAi29V1U+L5Q= -github.com/aws/aws-sdk-go-v2/credentials v1.17.30/go.mod h1:BPJ/yXV92ZVq6G8uYvbU0gSl8q94UB63nMT5ctNO38g= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 h1:yjwoSyDZF8Jth+mUk5lSPJCkMC0lMy6FaCD51jm6ayE= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12/go.mod h1:fuR57fAgMk7ot3WcNQfb6rSEn+SUffl7ri+aa8uKysI= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.16 h1:1FWqcOnvnO0lRsv0kLACwwQquoZIoS5tD0MtfoNdnkk= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.16/go.mod h1:+E8OuB446P/5Swajo40TqenLMzm6aYDEEz6FZDn/u1E= +github.com/aws/aws-sdk-go-v2/config v1.15.3 h1:5AlQD0jhVXlGzwo+VORKiUuogkG7pQcLJNzIzK7eodw= +github.com/aws/aws-sdk-go-v2/config v1.15.3/go.mod h1:9YL3v07Xc/ohTsxFXzan9ZpFpdTOFl4X65BAKYaz8jg= +github.com/aws/aws-sdk-go-v2/credentials v1.11.2 h1:RQQ5fzclAKJyY5TvF+fkjJEwzK4hnxQCLOu5JXzDmQo= +github.com/aws/aws-sdk-go-v2/credentials v1.11.2/go.mod h1:j8YsY9TXTm31k4eFhspiQicfXPLZ0gYXA50i4gxPE8g= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.3 h1:LWPg5zjHV9oz/myQr4wMs0gi4CjnDN/ILmyZUFYXZsU= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.3/go.mod h1:uk1vhHHERfSVCUnqSqz8O48LBYDSC+k6brng09jcMOk= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.9/go.mod h1:AnVH5pvai0pAF4lXRq0bmhbes1u9R8wTE+g+183bZNM= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.27 h1:I3cakv2Uy1vNmmhRQmFptYDxOvBnwCdNwyw63N0RaRU= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.27/go.mod h1:a1/UpzeyBBerajpnP5nGZa9mGzsBn5cOKxm6NWQsvoI= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.36/go.mod h1:T8Jsn/uNL/AFOXrVYQ1YQaN1r9gN34JU1855/Lyjv+o= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16 h1:TNyt/+X43KJ9IJJMjKfa3bNTiZbUP7DeCxfbTROESwY= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16/go.mod h1:2DwJF39FlNAUiX5pAc0UNeiz16lK2t7IaFcm0LFHEgc= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.3/go.mod h1:ssOhaLpRlh88H3UmEcsBoVKq309quMvm3Ds8e9d4eJM= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.21 h1:5NbbMrIzmUn/TXFqAle6mgrH5m9cOvMLRGL7pnG8tRE= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.21/go.mod h1:+Gxn8jYn5k9ebfHEqlhrMirFjSW0v0C9fI+KN5vk2kE= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.30/go.mod h1:v3GSCnFxbHzt9dlWBqvA1K1f9lmWuf4ztupZBCAIVs4= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16 h1:jYfy8UPmd+6kJW5YhY0L1/KftReOGxI/4NtVSTh9O/I= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16/go.mod h1:7ZfEPZxkW42Afq4uQB8H2E2e6ebh6mXTueEpYzjCzcs= -github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ= -github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.16 h1:mimdLQkIX1zr8GIPY1ZtALdBQGxcASiBd2MOp8m/dMc= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.16/go.mod h1:YHk6owoSwrIsok+cAH9PENCOGoH5PU2EllX4vLtSrsY= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.10 h1:by9P+oy3P/CwggN4ClnW2D4oL91QV7pBzBICi1chZvQ= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.10/go.mod h1:8DcYQcz0+ZJaSxANlHIsbbi6S+zMwjwdDqwW3r9AzaE= github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.18.3 h1:1OIa4zpY43n6Q5IX9b5mZWeq/KTV5243tXq5ABWlufI= github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.18.3/go.mod h1:/n2C9Hm6TK02P0xW9GFxPGKHhcdzg5D2g0qgIL1NuAo= github.com/aws/aws-sdk-go-v2/service/ec2 v1.34.0 h1:dfWleW7/a3+TR6qJynYZsaovCEStQOep5x+BxkiBDhc= github.com/aws/aws-sdk-go-v2/service/ec2 v1.34.0/go.mod h1:37MWOQMGyj8lcranOwo716OHvJgeFJUOaWu6vk1pWNE= github.com/aws/aws-sdk-go-v2/service/iam v1.18.3 h1:wllKL2fLtvfaNAVbXKMRmM/mD1oDNw0hXmDn8mE/6Us= github.com/aws/aws-sdk-go-v2/service/iam v1.18.3/go.mod h1:51xGfEjd1HXnTzw2mAp++qkRo+NyGYblZkuGTsb49yw= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 h1:KypMCbLPPHEmf9DgMGw51jMj77VfGPAN2Kv4cfhlfgI= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4/go.mod h1:Vz1JQXliGcQktFTN/LN6uGppAIRoLBR2bMvIMP0gOjc= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.18 h1:GckUnpm4EJOAio1c8o25a+b3lVfwVzC9gnSBqiiNmZM= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.18/go.mod h1:Br6+bxfG33Dk3ynmkhsW2Z/t9D4+lRqdLDNCKi85w0U= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.3 h1:Gh1Gpyh01Yvn7ilO/b/hr01WgNpaszfbKMUgqM186xQ= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.3/go.mod h1:wlY6SVjuwvh3TVRpTqdy4I1JpBFLX4UGeKZdWntaocw= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 h1:tJ5RnkHCiSH0jyd6gROjlJtNwov0eGYNz8s8nFcR0jQ= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18/go.mod h1:++NHzT+nAF7ZPrHPsA+ENvsXkOO8wEu+C6RXltAG4/c= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.16 h1:jg16PhLPUiHIj8zYIW6bqzeQSuHVEiWnGA0Brz5Xv2I= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.16/go.mod h1:Uyk1zE1VVdsHSU7096h/rwnXDzOzYQVl+FNPhPw7ShY= -github.com/aws/aws-sdk-go-v2/service/kafka v1.21.0 h1:u61dE8OpVXhT530fNoBuiFpVLuQY6e5Rmi85ku/5Mnk= -github.com/aws/aws-sdk-go-v2/service/kafka v1.21.0/go.mod h1:dMvUOL+hidPthEqNfciH0/qf9GJkYxPDo+JiPI+gwic= -github.com/aws/aws-sdk-go-v2/service/kms v1.35.5 h1:XUomV7SiclZl1QuXORdGcfFqHxEHET7rmNGtxTfNB+M= -github.com/aws/aws-sdk-go-v2/service/kms v1.35.5/go.mod h1:A5CS0VRmxxj2YKYLCY08l/Zzbd01m6JZn0WzxgT1OCA= github.com/aws/aws-sdk-go-v2/service/rds v1.18.4 h1:o5uszX76RaDFxNvf6b8qZ3GF55EdFoPH8GnrROjtL4k= github.com/aws/aws-sdk-go-v2/service/rds v1.18.4/go.mod h1:u33weNg1XPt3iTVX2wVFIf7oAD7XmgkF640mnM8wQ5Q= -github.com/aws/aws-sdk-go-v2/service/s3 v1.61.0 h1:Wb544Wh+xfSXqJ/j3R4aX9wrKUoZsJNmilBYZb3mKQ4= -github.com/aws/aws-sdk-go-v2/service/s3 v1.61.0/go.mod h1:BSPI0EfnYUuNHPS0uqIo5VrRwzie+Fp+YhQOUs16sKI= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.18.2 h1:QDVKb2VpuwzIslzshumxksayV5GkpqT+rkVvdPVrA9E= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.18.2/go.mod h1:jAeo/PdIJZuDSwsvxJS94G4d6h8tStj7WXVuKwLHWU8= -github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 h1:zCsFCKvbj25i7p1u94imVoO447I/sFv8qq+lGJhRN0c= -github.com/aws/aws-sdk-go-v2/service/sso v1.22.5/go.mod h1:ZeDX1SnKsVlejeuz41GiajjZpRSWR7/42q/EyA/QEiM= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 h1:SKvPgvdvmiTWoi0GAJ7AsJfOz3ngVkD/ERbs5pUnHNI= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5/go.mod h1:20sz31hv/WsPa3HhU3hfrIet2kxM4Pe0r20eBZ20Tac= -github.com/aws/aws-sdk-go-v2/service/sts v1.30.5 h1:OMsEmCyz2i89XwRwPouAJvhj81wINh+4UK+k/0Yo/q8= -github.com/aws/aws-sdk-go-v2/service/sts v1.30.5/go.mod h1:vmSqFK+BVIwVpDAGZB3CoCXHzurt4qBE8lf+I/kRTh0= +github.com/aws/aws-sdk-go-v2/service/sso v1.11.3 h1:frW4ikGcxfAEDfmQqWgMLp+F1n4nRo9sF39OcIb5BkQ= +github.com/aws/aws-sdk-go-v2/service/sso v1.11.3/go.mod h1:7UQ/e69kU7LDPtY40OyoHYgRmgfGM4mgsLYtcObdveU= +github.com/aws/aws-sdk-go-v2/service/sts v1.16.3 h1:cJGRyzCSVwZC7zZZ1xbx9m32UnrKydRYhOvcD1NYP9Q= +github.com/aws/aws-sdk-go-v2/service/sts v1.16.3/go.mod h1:bfBj0iVmsUyUg4weDB4NxktD9rDGeKSVWnjTnwbx9b8= github.com/aws/smithy-go v1.11.2/go.mod h1:3xHYmszWVx2c0kIwQeEVf9uSm4fYZt67FBJnwub1bgM= +github.com/aws/smithy-go v1.13.5 h1:hgz0X/DX0dGqTYpGALqXJoRKRj5oQ7150i5FdTePzO8= github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= -github.com/aws/smithy-go v1.20.4 h1:2HK1zBdPgRbjFOHlfeQZfpC4r72MOb9bZkiFwggKO+4= -github.com/aws/smithy-go v1.20.4/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= github.com/axiomhq/hyperloglog v0.0.0-20181223111420-4b99d0c2c99e h1:190ugM9MsyFauTkR/UqcHG/mn5nmFe6SvHJqEHIrtrA= github.com/axiomhq/hyperloglog v0.0.0-20181223111420-4b99d0c2c99e/go.mod h1:IOXAcuKIFq/mDyuQ4wyJuJ79XLMsmLM+5RdQ+vWrL7o= github.com/aymanbagabas/go-osc52 v1.0.3 h1:DTwqENW7X9arYimJrPeGZcV0ln14sGMt3pHZspWD+Mg= @@ -447,6 +403,7 @@ github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edY github.com/bits-and-blooms/bitset v1.4.0 h1:+YZ8ePm+He2pU3dZlIZiOeAKfrBkXi1lSrXJ/Xzgbu8= github.com/bits-and-blooms/bitset v1.4.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= github.com/bkaradzic/go-lz4 v1.0.0/go.mod h1:0YdlkowM3VswSROI7qDxhRvJ3sLhlFrRRwjwegp5jy4= +github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= @@ -534,15 +491,13 @@ github.com/cockroachdb/cockroach-go/v2 v2.3.7 h1:nq5GYDuA2zIR/kdLkVLTg7oHTw0UbGU github.com/cockroachdb/cockroach-go/v2 v2.3.7/go.mod h1:1wNJ45eSXW9AnOc3skntW9ZUZz6gxrQK3cOj3rK+BC8= github.com/cockroachdb/crlfmt v0.0.0-20221214225007-b2fc5c302548 h1:i0bnjanlWAvM50wHMT7EFyxlt5HQusznWrkwl+HBIsU= github.com/cockroachdb/crlfmt v0.0.0-20221214225007-b2fc5c302548/go.mod h1:qtkxNlt5i3rrdirfJE/bQeW/IeLajKexErv7jEIV+Uc= -github.com/cockroachdb/crlib v0.0.0-20240904210011-3474b320e3bf h1:alUhMh1MUl/WTVq56zeAGOiCR3YyIVblOp+mnNDzWIQ= -github.com/cockroachdb/crlib v0.0.0-20240904210011-3474b320e3bf/go.mod h1:Gq51ZeKaFCXk6QwuGM0w1dnaOqc/F5zKT2zA9D6Xeac= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= -github.com/cockroachdb/datadriven v1.0.3-0.20240530155848-7682d40af056 h1:slXychO2uDM6hYRu4c0pD0udNI8uObfeKN6UInWViS8= -github.com/cockroachdb/datadriven v1.0.3-0.20240530155848-7682d40af056/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= +github.com/cockroachdb/datadriven v1.0.3-0.20230801171734-e384cf455877 h1:1MLK4YpFtIEo3ZtMA5C795Wtv5VuUnrXX7mQG+aHg6o= +github.com/cockroachdb/datadriven v1.0.3-0.20230801171734-e384cf455877/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= github.com/cockroachdb/errors v1.9.1/go.mod h1:2sxOtL2WIc096WSZqZ5h8fa17rdDq9HZOZLBCor4mBk= -github.com/cockroachdb/errors v1.11.3 h1:5bA+k2Y6r+oz/6Z/RFlNeVCesGARKuC6YymtcDrbC/I= -github.com/cockroachdb/errors v1.11.3/go.mod h1:m4UIW4CDjx+R5cybPsNrRbreomiFqt8o1h1wUVazSd8= +github.com/cockroachdb/errors v1.11.1 h1:xSEW75zKaKCWzR3OfxXUxgrk/NtT4G1MiOv5lWZazG8= +github.com/cockroachdb/errors v1.11.1/go.mod h1:8MUxA3Gi6b25tYlFEBGLf+D8aISL+M4MIpiWMSNRfxw= github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce h1:giXvy4KSc/6g/esnpM7Geqxka4WSqI1SZc7sMJFd3y4= github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce/go.mod h1:9/y3cnZ5GKakj/H4y9r9GTjCvAFta7KLgSHPJJYc52M= github.com/cockroachdb/go-test-teamcity v0.0.0-20191211140407-cff980ad0a55 h1:YqzBA7tf8Gv8Oz0BbBsPenqkyjiohS7EUIwi7p1QJCU= @@ -554,8 +509,8 @@ github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZe github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= github.com/cockroachdb/metamorphic v0.0.0-20231108215700-4ba948b56895 h1:XANOgPYtvELQ/h4IrmPAohXqe2pWA8Bwhejr3VQoZsA= github.com/cockroachdb/metamorphic v0.0.0-20231108215700-4ba948b56895/go.mod h1:aPd7gM9ov9M8v32Yy5NJrDyOcD8z642dqs+F0CeNXfA= -github.com/cockroachdb/pebble v0.0.0-20240917211111-c826c0a21671 h1:CJrNNft8BOIke5WtJX0WzwSEq0GM0TaQbUozObb3veg= -github.com/cockroachdb/pebble v0.0.0-20240917211111-c826c0a21671/go.mod h1:LaF8D6p4Ko4EWprBmrcDs7FrmZYgDExF7dJyPvbq3Y4= +github.com/cockroachdb/pebble v0.0.0-20240828225813-c94d74b2b544 h1:CHOo+4/Uva1x/IY+hRejzYbk2l3L4YNszNe1xYVNq10= +github.com/cockroachdb/pebble v0.0.0-20240828225813-c94d74b2b544/go.mod h1:5twj9b9MNZDWfuWdEd2pj1csspOW5obIo8QnhTF4MqE= github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= github.com/cockroachdb/redact v1.1.5 h1:u1PMllDkdFfPWaNGMyLD1+so+aq3uUItthCFqzwPJ30= github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= @@ -563,8 +518,8 @@ github.com/cockroachdb/returncheck v0.0.0-20200612231554-92cdbca611dd h1:KFOt5I9 github.com/cockroachdb/returncheck v0.0.0-20200612231554-92cdbca611dd/go.mod h1:AN708GD2FFeLgUHMbD58YPe4Nw8GG//3rwgyG4L9gR0= github.com/cockroachdb/stress v0.0.0-20220803192808-1806698b1b7b h1:JbkTu68NpiczWOaciC2QSy33RFEnnq6H2pz7viQp0rc= github.com/cockroachdb/stress v0.0.0-20220803192808-1806698b1b7b/go.mod h1:oapRqABg5KA/TaAikQH53fpP5nvCe9sftYmYV/F/yVE= -github.com/cockroachdb/swiss v0.0.0-20240612210725-f4de07ae6964 h1:Ew0znI2JatzKy52N1iS5muUsHkf2UJuhocH7uFW7jjs= -github.com/cockroachdb/swiss v0.0.0-20240612210725-f4de07ae6964/go.mod h1:yBRu/cnL4ks9bgy4vAASdjIW+/xMlFwuHKqtmh3GZQg= +github.com/cockroachdb/swiss v0.0.0-20240303172742-c161743eb608 h1:GXGrLNSC5+LGrwVgtczB6JCITxB9WGaLv7XilPkBDvc= +github.com/cockroachdb/swiss v0.0.0-20240303172742-c161743eb608/go.mod h1:yBRu/cnL4ks9bgy4vAASdjIW+/xMlFwuHKqtmh3GZQg= github.com/cockroachdb/tablewriter v0.0.5-0.20200105123400-bd15540e8847 h1:c7yLgqcm/3c9lYtpWeVD9NYqA9cKsKHdpQM62PHtTUM= github.com/cockroachdb/tablewriter v0.0.5-0.20200105123400-bd15540e8847/go.mod h1:zq6QwlOf5SlnkVbMSr5EoBv3636FWnp+qbPhuoO21uA= github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= @@ -674,6 +629,7 @@ github.com/containers/ocicrypt v1.1.0/go.mod h1:b8AOe0YR67uU8OqfVNcznfFpAzu3rdgU github.com/containers/ocicrypt v1.1.1/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-iptables v0.4.5/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= github.com/coreos/go-iptables v0.5.0/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= @@ -725,9 +681,10 @@ github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 h1:rpfIENRNNilwHwZeG5+P150SMrnNEcHYvcCuK6dPZSg= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= -github.com/deepmap/oapi-codegen v1.6.0 h1:w/d1ntwh91XI0b/8ja7+u5SvA4IFfM0UNNLmiDR1gg0= +github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.0-20210816181553-5444fa50b93d/go.mod h1:tmAIfUFEirG/Y8jhZ9M+h36obRZAk/1fcSpXwAVlfqE= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 h1:HbphB4TFFXpv7MNrT52FGrrgVXF1owhMVTHFZIlnvd4= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0/go.mod h1:DZGJHZMqrU4JJqFAWUS2UO1+lbSKsdiOoYi9Zzey7Fc= github.com/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M= github.com/denisenkom/go-mssqldb v0.10.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/denisenkom/go-mssqldb v0.12.0/go.mod h1:iiK0YP1ZeepvmBQk/QpLEhhTNJgfzrpArPY/aFvc9yU= @@ -837,8 +794,9 @@ github.com/fatih/color v1.9.0 h1:8xPHl4/q1VyqGIPif1F+1V3Y3lSmrq01EabUW3CoW5s= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= +github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/fogleman/gg v1.3.0 h1:/7zJX8F6AaYQc57WQCyN9cAIz+4bCJGO9B+dyW29am8= github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= @@ -851,6 +809,8 @@ github.com/frankban/quicktest v1.7.3/go.mod h1:V1d2J5pfxYH6EjBAgSK7YNXcXlTWxUHdE github.com/frankban/quicktest v1.10.1/go.mod h1:z7wHrVXJKCWP1Ev7B3iy2DivmuL5uGeeJDWYz/6LLhY= github.com/frankban/quicktest v1.11.3 h1:8sXhOn0uLys67V8EsXLc6eszDs8VXWxL3iRvebPhedY= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= +github.com/fraugster/parquet-go v0.10.0 h1:whX91AO3dkkOnbH9MqD53DZ3rISw+Tnnj5yiqXjSv9Q= +github.com/fraugster/parquet-go v0.10.0/go.mod h1:asQOKX0K/j+F3Xyj87kw7gKrU3yXo9M2hb8STSQKIIw= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= @@ -860,8 +820,8 @@ github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYis github.com/gavv/httpexpect v2.0.0+incompatible/go.mod h1:x+9tiU1YnrOvnB725RkpoLv1M62hOWzwo5OXotisrKc= github.com/getkin/kin-openapi v0.53.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= github.com/getsentry/sentry-go v0.12.0/go.mod h1:NSap0JBYWzHND8oMbyi0+XZhUalc1TBdRL1M71JZW2c= -github.com/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK3r3Ps= -github.com/getsentry/sentry-go v0.27.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= +github.com/getsentry/sentry-go v0.23.0 h1:dn+QRCeJv4pPt9OjVXiMcGIBIefaTJPw/h0bZWO05nE= +github.com/getsentry/sentry-go v0.23.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= github.com/ghemawat/stream v0.0.0-20171120220530-696b145b53b9 h1:r5GgOLGbza2wVHRzK7aAj6lWZjfbAwiu/RDCVOKjRyM= github.com/ghemawat/stream v0.0.0-20171120220530-696b145b53b9/go.mod h1:106OIgooyS7OzLDOpUGgm9fA3bQENb/cFSyyBmMoJDs= github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= @@ -884,12 +844,9 @@ github.com/go-chi/chi/v5 v5.0.0/go.mod h1:BBug9lr0cqtdAhsu6R4AAdvufI0/XBzAQSsUqJ github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= -github.com/go-fonts/dejavu v0.1.0 h1:JSajPXURYqpr+Cu8U9bt8K+XcACIHWqWrvWCKyeFmVQ= github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= -github.com/go-fonts/latin-modern v0.2.0 h1:5/Tv1Ek/QCr20C6ZOz15vw3g7GELYL98KWr8Hgo+3vk= github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks= github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= -github.com/go-fonts/liberation v0.2.0 h1:jAkAWJP4S+OsrPLZM4/eC9iW7CtHy+HBXrEwZXWo5VM= github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= @@ -903,7 +860,6 @@ github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vb github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U= -github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81 h1:6zl3BbBhdnMkpSj2YY30qV3gDcVBGtFgVsV3+/i+mKQ= github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk= github.com/go-ldap/ldap/v3 v3.4.6 h1:ert95MdbiG7aWo/oPYp9btL3KJlMPKnP58r09rI8T+A= github.com/go-ldap/ldap/v3 v3.4.6/go.mod h1:IGMQANNtxpsOzj7uUAMjpGBaOVTC4DYyIy8VsTdxmtc= @@ -950,6 +906,8 @@ github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpX github.com/go-openapi/errors v0.20.0/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= github.com/go-openapi/errors v0.21.0 h1:FhChC/duCnfoLj1gZ0BgaBmzhJC2SL/sJr8a2vAobSY= github.com/go-openapi/errors v0.21.0/go.mod h1:jxNTMUxRCKj65yb/okJGEtahVd7uvWnuWfj53bse4ho= +github.com/go-openapi/inflect v0.19.0 h1:9jCH9scKIbHeV9m12SmPilScz6krDxKRasNNSNPXu/4= +github.com/go-openapi/inflect v0.19.0/go.mod h1:lHpZVlpIQqLyKwJ4N+YSc9hchQy/i12fJykb83CRBH4= github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= @@ -976,6 +934,7 @@ github.com/go-openapi/loads v0.19.5/go.mod h1:dswLCAdonkRufe/gSUC3gN8nTSaB9uaS2e github.com/go-openapi/loads v0.19.6/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc= github.com/go-openapi/loads v0.19.7/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc= github.com/go-openapi/loads v0.20.0/go.mod h1:2LhKquiE513rN5xC6Aan6lYOSddlL8Mp20AW9kpviM4= +github.com/go-openapi/loads v0.20.1/go.mod h1:/6LfFL8fDvTSX8ypmYXIq3U9Q7nfniSOStW22m864WM= github.com/go-openapi/loads v0.20.2/go.mod h1:hTVUotJ+UonAMMZsvakEgmWKgtulweO9vYP2bQYKA/o= github.com/go-openapi/loads v0.21.5 h1:jDzF4dSoHw6ZFADCGltDb2lE4F6De7aWSpe+IcsRzT0= github.com/go-openapi/loads v0.21.5/go.mod h1:PxTsnFBoBe+z89riT+wYt3prmSBP6GDAQh2l9H1Flz8= @@ -986,6 +945,7 @@ github.com/go-openapi/runtime v0.19.11/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2g github.com/go-openapi/runtime v0.19.15/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2gUt9nTQPQZuoo= github.com/go-openapi/runtime v0.19.16/go.mod h1:5P9104EJgYcizotuXhEuUrzVc+j1RiSjahULvYmlv98= github.com/go-openapi/runtime v0.19.24/go.mod h1:Lm9YGCeecBnUUkFTxPC4s1+lwrkJ0pthx8YvyjCfkgk= +github.com/go-openapi/runtime v0.19.26/go.mod h1:BvrQtn6iVb2QmiVXRsFAm6ZCAZBpbVKFfN6QWCp582M= github.com/go-openapi/runtime v0.19.29/go.mod h1:BvrQtn6iVb2QmiVXRsFAm6ZCAZBpbVKFfN6QWCp582M= github.com/go-openapi/runtime v0.27.1 h1:ae53yaOoh+fx/X5Eaq8cRmavHgDma65XPZuvBqvJYto= github.com/go-openapi/runtime v0.27.1/go.mod h1:fijeJEiEclyS8BRurYE1DE5TLb9/KZl6eAdbzjsrlLU= @@ -1000,6 +960,7 @@ github.com/go-openapi/spec v0.19.8/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHK github.com/go-openapi/spec v0.19.15/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU= github.com/go-openapi/spec v0.20.0/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU= github.com/go-openapi/spec v0.20.1/go.mod h1:93x7oh+d+FQsmsieroS4cmR3u0p/ywH649a3qwC9OsQ= +github.com/go-openapi/spec v0.20.2/go.mod h1:RW6Xcbs6LOyWLU/mXGdzn2Qc+3aj+ASfI7rvSZh1Vls= github.com/go-openapi/spec v0.20.3/go.mod h1:gG4F8wdEDN+YPBMVnzE85Rbhf+Th2DTvA9nFPQ5AYEg= github.com/go-openapi/spec v0.20.14 h1:7CBlRnw+mtjFGlPDRZmAMnq35cRzI91xj03HVyUi/Do= github.com/go-openapi/spec v0.20.14/go.mod h1:8EOhTpBoFiask8rrgwbLC3zmJfz4zsCUueRuPM6GNkw= @@ -1042,7 +1003,6 @@ github.com/go-openapi/validate v0.20.1/go.mod h1:b60iJT+xNNLfaQJUqLI7946tYiFEOuE github.com/go-openapi/validate v0.20.2/go.mod h1:e7OJoKNgd0twXZwIn0A43tHbvIcr/rZIVCbJBpTUoY0= github.com/go-openapi/validate v0.23.0 h1:2l7PJLzCis4YUGEoW6eoQw3WhyM65WSIcjX6SQnlfDw= github.com/go-openapi/validate v0.23.0/go.mod h1:EeiAZ5bmpSIOJV1WLfyYF9qp/B1ZgSaEpHTJHtN5cbE= -github.com/go-pdf/fpdf v0.5.0 h1:GHpcYsiDV2hdo77VTOuTF9k1sN8F8IY7NjnCo9x+NPY= github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.12.1/go.mod h1:IUMDtCfWo/w/mtMfIE/IG2K+Ey3ygWanZIBtBW0W2TM= @@ -1057,6 +1017,10 @@ github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LB github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-swagger/go-swagger v0.26.1 h1:1XUWLnH6hKxHzeKjJfA2gHkSqcT1Zgi4q/PZp2hDdN8= +github.com/go-swagger/go-swagger v0.26.1/go.mod h1:zlf/LHplZpdtU2mYXg9Ajd3+9TgHYltv5f/pEM6LjnI= +github.com/go-swagger/scan-repo-boundary v0.0.0-20180623220736-973b3573c013 h1:l9rI6sNaZgNC0LnF3MiE+qTmyBA/tZAg1rtyrGbUMK0= +github.com/go-swagger/scan-repo-boundary v0.0.0-20180623220736-973b3573c013/go.mod h1:b65mBPzqzZWxOZGxSWrqs4GInLIn+u99Q9q7p+GKni0= github.com/go-test/deep v1.0.4 h1:u2CU3YKy9I2pmu9pX0eq50wCgjfGIt539SqR7FbHiho= github.com/go-test/deep v1.0.4/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/go-zookeeper/zk v1.0.2/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= @@ -1087,8 +1051,9 @@ github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY9 github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= -github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA= -github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= +github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= +github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/gocql/gocql v0.0.0-20200228163523-cd4b606dd2fb/go.mod h1:DL0ekTmBSTdlNF25Orwt/JMzqIq3EJ4MVa/J/uK64OY= github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= github.com/godbus/dbus v0.0.0-20180201030542-885f9cc04c9c/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= @@ -1129,7 +1094,6 @@ github.com/golang-jwt/jwt/v4 v4.2.0 h1:besgBTC8w8HjP6NzQdxwKH9Z5oQMZ24ThTrHp3cZ8 github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang-sql/sqlexp v0.0.0-20170517235910-f1bb20e5a188/go.mod h1:vXjM/+wXQnTPR4KqTKDgJukSZ6amVRtWMPEjE6sQoK8= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= github.com/golang/geo v0.0.0-20200319012246-673a6f80352d h1:C/hKUcHT483btRbeGkrRjJz+Zbcj8audldIi9tRJDCc= @@ -1175,9 +1139,8 @@ github.com/golang/snappy v0.0.0-20170215233205-553a64147049/go.mod h1:/XxbfmMg8l github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.5-0.20231225225746-43d5d4cd4e0e h1:4bw4WeyTYPp0smaXiJZCNnLrvVBqirQVreixayXezGc= -github.com/golang/snappy v0.0.5-0.20231225225746-43d5d4cd4e0e/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golangci/lint-1 v0.0.0-20181222135242-d2cdd8c08219/go.mod h1:/X8TswGSh1pIozq4ZwCfxS0WA5JGXguxk94ar/4c87Y= github.com/gomodule/redigo v1.7.1-0.20190724094224-574c33c3df38/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= github.com/gonum/blas v0.0.0-20181208220705-f22b278b28ac/go.mod h1:P32wAyui1PQ58Oce/KYkOqQv8cVw1zAapXOl+dRFGbc= @@ -1288,6 +1251,8 @@ github.com/gordonklaus/ineffassign v0.0.0-20200309095847-7953dde2c7bf/go.mod h1: github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/handlers v0.0.0-20150720190736-60c7bfde3e33/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= github.com/gorilla/handlers v1.4.2/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= +github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= +github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.7.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= @@ -1373,6 +1338,7 @@ github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= @@ -1420,13 +1386,11 @@ github.com/influxdata/flux v0.120.1/go.mod h1:pGSAvyAA5d3et7SSzajaYShWYXmnRnJJq2 github.com/influxdata/httprouter v1.3.1-0.20191122104820-ee83e2772f69/go.mod h1:pwymjR6SrP3gD3pRj9RJwdl1j5s3doEEV8gS4X9qSzA= github.com/influxdata/influxdb v1.8.0/go.mod h1:SIzcnsjaHRFpmlxpJ4S3NT64qtEKYweNTUMb/vh0OMQ= github.com/influxdata/influxdb v1.9.3/go.mod h1:xD4ZjAgEJQO9/bX3NhFrssKtdNPi+ki1kjrttJRDhGc= -github.com/influxdata/influxdb-client-go/v2 v2.3.1-0.20210518120617-5d1fff431040 h1:MBLCfcSsUyFPDJp6T7EoHp/Ph3Jkrm4EuUKLD2rUWHg= github.com/influxdata/influxdb-client-go/v2 v2.3.1-0.20210518120617-5d1fff431040/go.mod h1:vLNHdxTJkIf2mSLvGrpj8TCcISApPoXkaxP8g9uRlW8= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/influxdata/influxql v1.1.0/go.mod h1:KpVI7okXjK6PRi3Z5B+mtKZli+R1DnZgb3N+tzevNgo= github.com/influxdata/influxql v1.1.1-0.20210223160523-b6ab99450c93/go.mod h1:gHp9y86a/pxhjJ+zMjNXiQAA197Xk9wLxaz+fGG+kWk= github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod h1:4kt73NQhadE3daL3WhR5EJ/J2ocX0PZzwxQ0gXJ7oFE= -github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839 h1:W9WBk7wlPfJLvMCdtV4zPulc4uCPrlywQOmbFOhgQNU= github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= github.com/influxdata/pkg-config v0.2.7/go.mod h1:EMS7Ll0S4qkzDk53XS3Z72/egBsPInt+BeRxb0WeSwk= github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19ybifQhZoQNF5D8= @@ -1515,6 +1479,7 @@ github.com/jcmturner/gokrb5/v8 v8.4.4/go.mod h1:1btQEpgT6k+unzCwX1KdWMEwPPkkgBtP github.com/jcmturner/rpc/v2 v2.0.3 h1:7FXXj8Ti1IaVFpSAziCZWNzbNuZmnvw/i6CqLNdWfZY= github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= github.com/jhump/protoreflect v1.6.0/go.mod h1:eaTn3RZAmMBcV0fifFvlm6VHNz3wSkYyXYWUh7ymB74= github.com/jhump/protoreflect v1.9.1-0.20210817181203-db1a327a393e h1:Yb4fEGk+GtBSNuvy5rs0ZJt/jtopc/z9azQaj3xbies= @@ -1573,8 +1538,8 @@ github.com/kevinburke/go-bindata v3.13.0+incompatible/go.mod h1:/pEEZ72flUW2p0yi github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/errcheck v1.7.0 h1:+SbscKmWJ5mOK/bO1zS60F5I9WwZDWOfRsC4RwfwRV0= -github.com/kisielk/errcheck v1.7.0/go.mod h1:1kLL+jV4e+CFfueBmI1dSK2ADDyQnlrnrY/FqKluHJQ= +github.com/kisielk/errcheck v1.6.1-0.20210625163953-8ddee489636a h1:o2feyvFn8r1nJu/iVn89h0kT+CH6pROXZZHQO60NbrI= +github.com/kisielk/errcheck v1.6.1-0.20210625163953-8ddee489636a/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/asmfmt v1.3.2 h1:4Ri7ox3EwapiOjCki+hw14RyKk201CN4rzyCJRFLpK4= @@ -1589,8 +1554,8 @@ github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdY github.com/klauspost/compress v1.13.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.17.8 h1:YcnTYrq7MikUT7k0Yb5eceMmALQPYBW/Xltxn0NAMnU= -github.com/klauspost/compress v1.17.8/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.4 h1:Ej5ixsIri7BrIjBkRZLTo6ghwrEtHFk7ijlczPW4fZ4= +github.com/klauspost/compress v1.17.4/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= @@ -1642,18 +1607,20 @@ github.com/leanovate/gopter v0.2.5-0.20190402064358-634a59d12406 h1:+OUpk+IVvmKU github.com/leanovate/gopter v0.2.5-0.20190402064358-634a59d12406/go.mod h1:gNcbPWNEWRe4lm+bycKqxUYoH5uoVje5SkOJ3uoLer8= github.com/leodido/go-urn v1.1.0/go.mod h1:+cyI34gQWZcE1eQU7NVgKkkzdXDQHr1dBMtdAPozLkw= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= -github.com/lestrrat-go/blackmagic v1.0.2 h1:Cg2gVSc9h7sz9NOByczrbUvLopQmXrfFx//N+AkAr5k= -github.com/lestrrat-go/blackmagic v1.0.2/go.mod h1:UrEqBzIR2U6CnzVyUtfM6oZNMt/7O7Vohk2J0OGSAtU= +github.com/lestrrat-go/backoff/v2 v2.0.8 h1:oNb5E5isby2kiro9AgdHLv5N5tint1AnDVVf2E2un5A= +github.com/lestrrat-go/backoff/v2 v2.0.8/go.mod h1:rHP/q/r9aT27n24JQLa7JhSQZCKBBOiM/uP402WwN8Y= +github.com/lestrrat-go/blackmagic v1.0.0/go.mod h1:TNgH//0vYSs8VXDCfkZLgIrVTTXQELZffUV0tz3MtdQ= +github.com/lestrrat-go/blackmagic v1.0.1 h1:lS5Zts+5HIC/8og6cGHb0uCcNCa3OUt1ygh3Qz2Fe80= +github.com/lestrrat-go/blackmagic v1.0.1/go.mod h1:UrEqBzIR2U6CnzVyUtfM6oZNMt/7O7Vohk2J0OGSAtU= github.com/lestrrat-go/httpcc v1.0.1 h1:ydWCStUeJLkpYyjLDHihupbn2tYmZ7m22BGkcvZZrIE= github.com/lestrrat-go/httpcc v1.0.1/go.mod h1:qiltp3Mt56+55GPVCbTdM9MlqhvzyuL6W/NMDA8vA5E= -github.com/lestrrat-go/httprc v1.0.6 h1:qgmgIRhpvBqexMJjA/PmwSvhNk679oqD1RbovdCGW8k= -github.com/lestrrat-go/httprc v1.0.6/go.mod h1:mwwz3JMTPBjHUkkDv/IGJ39aALInZLrhBp0X7KGUZlo= +github.com/lestrrat-go/iter v1.0.1/go.mod h1:zIdgO1mRKhn8l9vrZJZz9TUMMFbQbLeTsbqPDrJ/OJc= github.com/lestrrat-go/iter v1.0.2 h1:gMXo1q4c2pHmC3dn8LzRhJfP1ceCbgSiT9lUydIzltI= github.com/lestrrat-go/iter v1.0.2/go.mod h1:Momfcq3AnRlRjI5b5O8/G5/BvpzrhoFTZcn06fEOPt4= -github.com/lestrrat-go/jwx/v2 v2.1.1 h1:Y2ltVl8J6izLYFs54BVcpXLv5msSW4o8eXwnzZLI32E= -github.com/lestrrat-go/jwx/v2 v2.1.1/go.mod h1:4LvZg7oxu6Q5VJwn7Mk/UwooNRnTHUpXBj2C4j3HNx0= -github.com/lestrrat-go/option v1.0.1 h1:oAzP2fvZGQKWkvHa1/SAcFolBEca1oN+mQ7eooNBEYU= -github.com/lestrrat-go/option v1.0.1/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= +github.com/lestrrat-go/jwx v1.2.25 h1:tAx93jN2SdPvFn08fHNAhqFJazn5mBBOB8Zli0g0otA= +github.com/lestrrat-go/jwx v1.2.25/go.mod h1:zoNuZymNl5lgdcu6P7K6ie2QRll5HVfF4xwxBBK1NxY= +github.com/lestrrat-go/option v1.0.0 h1:WqAWL8kh8VcSoD6xjSH34/1m8yxluXQbDeKNfvFeEO4= +github.com/lestrrat-go/option v1.0.0/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= github.com/lib/pq v0.0.0-20180327071824-d34b9ff171c2/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= @@ -1678,6 +1645,8 @@ github.com/lyft/protoc-gen-star v0.5.1/go.mod h1:9toiA3cC7z5uVbODF7kEQ91Xn7XNFkV github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magiconair/properties v1.8.4/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= @@ -1985,6 +1954,8 @@ github.com/pelletier/go-toml v1.6.0/go.mod h1:5N711Q9dKgbdkxHL+MEfF31hpT7l0S0s/t github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= +github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= @@ -2001,8 +1972,8 @@ github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi github.com/pierrec/lz4 v2.4.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pierrec/lz4 v2.5.2+incompatible h1:WCjObylUIOlKy/+7Abdn34TLIkXiA4UWUMhxq9m9ZXI= github.com/pierrec/lz4 v2.5.2+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= -github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= +github.com/pierrec/lz4/v4 v4.1.19 h1:tYLzDnjDXh9qIxSTKHwXwOYmm9d887Y7Y1ZkyXYHAN4= +github.com/pierrec/lz4/v4 v4.1.19/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pierrre/compare v1.0.2 h1:k4IUsHgh+dbcAOIWCfxVa/7G6STjADH2qmhomv+1quc= github.com/pierrre/compare v1.0.2/go.mod h1:8UvyRHH+9HS8Pczdd2z5x/wvv67krDwVxoOndaIIDVU= github.com/pierrre/geohash v1.0.0 h1:f/zfjdV4rVofTCz1FhP07T+EMQAvcMM2ioGZVt+zqjI= @@ -2166,14 +2137,13 @@ github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdh github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/scaleway/scaleway-sdk-go v1.0.0-beta.7.0.20210223165440-c65ae3540d44/go.mod h1:CJJ5VAbozOl0yEw7nHB9+7BXTJbIn6h7W+f6Gau5IP8= github.com/schollz/closestmatch v2.1.0+incompatible/go.mod h1:RtP1ddjLong6gTkbtmuhtR2uUrrJOpYzYRvbcPAid+g= +github.com/scylladb/termtables v0.0.0-20191203121021-c4c0b6d42ff4/go.mod h1:C1a7PQSMz9NShzorzCiG2fk9+xuCgLkPeCvMHYR2OWg= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= github.com/seccomp/libseccomp-golang v0.9.2-0.20210429002308-3879420cc921/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= github.com/sectioneight/md-to-godoc v0.0.0-20161108233149-55e43be6c335/go.mod h1:lPZq22klO8la1kyImIDhrGytugMV0TsrsZB55a+xxI0= github.com/securego/gosec v0.0.0-20200203094520-d13bb6d2420c/go.mod h1:gp0gaHj0WlmPh9BdsTmo1aq6C27yIPWdxCKGFGdVKBE= -github.com/segmentio/asm v1.2.0 h1:9BQrFxC+YOHJlTlHGkTrFWf59nbL3XnCoFLTwDCI7ys= -github.com/segmentio/asm v1.2.0/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs= github.com/segmentio/kafka-go v0.1.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= github.com/segmentio/kafka-go v0.2.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= github.com/sergi/go-diff v1.0.0 h1:Kpca3qRNrduNnOQeazBd0ysaKrUJiIuISHxogkT9RPQ= @@ -2220,10 +2190,12 @@ github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= github.com/spf13/afero v1.3.4/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/afero v1.4.1/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= @@ -2233,6 +2205,7 @@ github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t6 github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= @@ -2243,6 +2216,8 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.6.2/go.mod h1:t3iDnF5Jlj76alVNuyFBk5oUMCvsrkbvZK0WQdfDi5k= +github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/spf13/viper v1.8.1 h1:Kq1fyeebqsBfbjZj4EL7gj2IO0mMaiyjYUWcUsl2O44= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= github.com/stephens2424/writerset v1.0.2/go.mod h1:aS2JhsMn6eA7e82oNmW4rfsgAOp9COBTTl8mzkwADnc= @@ -2277,6 +2252,7 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= @@ -2296,18 +2272,20 @@ github.com/tklauser/numcpus v0.3.0 h1:ILuRUQBtssgnxw0XXIjKUC56fgnOrFoQQ/4+DeU2bi github.com/tklauser/numcpus v0.3.0/go.mod h1:yFGUr7TUHQRAhyqBcEg0Ge34zDBAsIvJJcyE6boqnA8= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/toqueteos/webbrowser v1.2.0 h1:tVP/gpK69Fx+qMJKsLE7TD8LuGWPnEV71wBN9rrstGQ= +github.com/toqueteos/webbrowser v1.2.0/go.mod h1:XWoZq4cyp9WeUeak7w7LXRUQf1F1ATJMir8RTqb4ayM= github.com/trivago/tgo v1.0.7 h1:uaWH/XIy9aWYWpjm2CU3RpcqZXmX2ysQ9/Go+d9gyrM= github.com/trivago/tgo v1.0.7/go.mod h1:w4dpD+3tzNIIiIfkWWa85w5/B77tlvdZckQ+6PkFnhc= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= github.com/twitchtv/twirp v8.1.0+incompatible h1:KGXanpa9LXdVE/V5P/tA27rkKFmXRGCtSNT7zdeeVOY= github.com/twitchtv/twirp v8.1.0+incompatible/go.mod h1:RRJoFSAmTEh2weEqWtpPE3vFK5YBhA6bqp2l1kfCC5A= -github.com/twmb/franz-go v1.17.1 h1:0LwPsbbJeJ9R91DPUHSEd4su82WJWcTY1Zzbgbg4CeQ= -github.com/twmb/franz-go v1.17.1/go.mod h1:NreRdJ2F7dziDY/m6VyspWd6sNxHKXdMZI42UfQ3GXM= +github.com/twmb/franz-go v1.16.1 h1:rpWc7fB9jd7TgmCyfxzenBI+QbgS8ZfJOUQE+tzPtbE= +github.com/twmb/franz-go v1.16.1/go.mod h1:/pER254UPPGp/4WfGqRi+SIRGE50RSQzVubQp6+N4FA= github.com/twmb/franz-go/pkg/kadm v1.11.0 h1:FfeWJ0qadntFpAcQt8JzNXW4dijjytZNLrzJuzzzuxA= github.com/twmb/franz-go/pkg/kadm v1.11.0/go.mod h1:qrhkdH+SWS3ivmbqOgHbpgVHamhaKcjH0UM+uOp0M1A= -github.com/twmb/franz-go/pkg/kmsg v1.8.0 h1:lAQB9Z3aMrIP9qF9288XcFf/ccaSxEitNA1CDTEIeTA= -github.com/twmb/franz-go/pkg/kmsg v1.8.0/go.mod h1:HzYEb8G3uu5XevZbtU0dVbkphaKTHk0X68N5ka4q6mU= +github.com/twmb/franz-go/pkg/kmsg v1.7.0 h1:a457IbvezYfA5UkiBvyV3zj0Is3y1i8EJgqjJYoij2E= +github.com/twmb/franz-go/pkg/kmsg v1.7.0/go.mod h1:se9Mjdt0Nwzc9lnjJ0HyDtLyBnaBDAd7pCje47OhSyw= github.com/twpayne/go-geom v1.4.2 h1:I2MtC83UDniuTVzGWZOyhMn9hDPrjLm0jsUbohimtZQ= github.com/twpayne/go-geom v1.4.2/go.mod h1:zrqClsxeaIieScWGuas1Cm/5Nr/9i1xk9+0t+2ec9g8= github.com/twpayne/go-kml v1.5.2 h1:rFMw2/EwgkVssGS2MT6YfWSPZz6BgcJkLxQ53jnE8rQ= @@ -2432,6 +2410,7 @@ go.mongodb.org/mongo-driver v1.3.2/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS go.mongodb.org/mongo-driver v1.3.4/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= go.mongodb.org/mongo-driver v1.4.3/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= go.mongodb.org/mongo-driver v1.4.4/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= +go.mongodb.org/mongo-driver v1.4.5/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= go.mongodb.org/mongo-driver v1.4.6/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= go.mongodb.org/mongo-driver v1.5.1/go.mod h1:gRXCHX4Jo7J0IJ1oDQyUxF7jfy19UfxniMS4xxMmUqw= go.mongodb.org/mongo-driver v1.13.1 h1:YIc7HTYsKndGK4RFzJ3covLz1byri52x0IoMB0Pt/vk= @@ -2545,6 +2524,7 @@ golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201124201722-c8d3bf9c5392/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= @@ -2556,12 +2536,13 @@ golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220210151621-f4118a5b28e2/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220427172511-eb4f295cb31f/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= +golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -2591,7 +2572,6 @@ golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+o golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= -golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d h1:RNPAfi2nHY7C2srAV8A49jpsYr0ADedCk1wq6fTMTvs= golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -2620,9 +2600,8 @@ golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0= -golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -2703,8 +2682,8 @@ golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= +golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= golang.org/x/oauth2 v0.0.0-20170207211851-4464e7848382/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -2742,8 +2721,8 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= -golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180810173357-98c5dad5d1a0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -2891,8 +2870,8 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.23.0 h1:YfKFowiIMvtgl1UERQoTPPToxltDeZfbj4H7dVUCwmM= -golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= +golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -2902,8 +2881,8 @@ golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= -golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= +golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= +golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -2918,9 +2897,8 @@ golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -3007,6 +2985,7 @@ golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201125231158-b5590deeca9b/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= @@ -3022,9 +3001,8 @@ golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= +golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc= golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= -golang.org/x/tools v0.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24= -golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -3046,7 +3024,6 @@ gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6d gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= -gonum.org/v1/plot v0.10.0 h1:ymLukg4XJlQnYUJCp+coQq5M7BsUJFk6XQE4HPflwdw= gonum.org/v1/plot v0.10.0/go.mod h1:JWIHJ7U20drSQb/aDpTetJzfC1KlAPldJLpkSy88dvQ= google.golang.org/api v0.0.0-20160322025152-9bf6e6e569ff/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.0.0-20170206182103-3d017632ea10/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= @@ -3479,7 +3456,6 @@ modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I= modernc.org/z v1.3.0/go.mod h1:+mvgLH814oDjtATDdT3rs84JnUIpkvAF5B8AVkNlE2g= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/pdf v0.1.1 h1:k1MczvYDUvJBe93bYd7wrZLLUEcLZAuF824/I4e5Xr4= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= diff --git a/licenses/BSL.txt b/licenses/BSL.txt index fefd8356f245..483e07e4b1fe 100644 --- a/licenses/BSL.txt +++ b/licenses/BSL.txt @@ -3,7 +3,7 @@ Business Source License 1.1 Parameters Licensor: Cockroach Labs, Inc. -Licensed Work: CockroachDB 24.2 +Licensed Work: CockroachDB 24.1 The Licensed Work is (c) 2023 Cockroach Labs, Inc. Additional Use Grant: You may make use of the Licensed Work, provided that you may not use the Licensed Work for a Database @@ -15,7 +15,7 @@ Additional Use Grant: You may make use of the Licensed Work, provided that Licensed Work by creating tables whose schemas are controlled by such third parties. -Change Date: 2027-10-01 +Change Date: 2027-04-01 Change License: Apache License, Version 2.0 diff --git a/licenses/THIRD-PARTY-NOTICES.txt b/licenses/THIRD-PARTY-NOTICES.txt index 5508693ff810..4324e8bd6c66 100644 --- a/licenses/THIRD-PARTY-NOTICES.txt +++ b/licenses/THIRD-PARTY-NOTICES.txt @@ -11,39 +11,7 @@ https://github.com/cockroachdb/cockroach. -------------------------------------------------------------------------------- -Package Title: @aashutoshrathi/word-wrap (1.2.6) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-2016, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: @ant-design/colors (7.0.2) +Package Title: @ant-design/colors (3.2.2) -------------------------------------------------------------------------------- * Declared Licenses * @@ -76,100 +44,64 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: @ant-design/cssinjs (1.20.0) +Package Title: @ant-design/create-react-context (0.2.5) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) - -Copyright (c) 2019-present afc163 +Copyright (c) 2017-present James Kyle -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: @ant-design/icons (5.3.6) +Package Title: @ant-design/css-animation (1.7.3) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT LICENSE +The MIT License (MIT) -Copyright (c) 2018-present Ant UED, https://xtech.antfin.com/ +Copyright (c) 2014-present yiminghe -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: @ant-design/icons (5.4.0) +Package Title: @ant-design/icons (2.1.1) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT LICENSE - Copyright (c) 2018-present Ant UED, https://xtech.antfin.com/ - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: @ant-design/icons-svg (4.4.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -190,17 +122,14 @@ SOFTWARE. -------------------------------------------------------------------------------- -Package Title: @ant-design/react-slick (1.0.2) +Package Title: @ant-design/icons-react (2.0.1) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) - -Copyright (c) 2014 Kiran Abburi - +Copyright (c) 2018-present Ant UED, https://xtech.antfin.com/ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -220,10 +149,8 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -------------------------------------------------------------------------------- -Package Title: @babel/code-frame (7.12.11) +Package Title: @babel/runtime (7.12.13) -------------------------------------------------------------------------------- * Declared Licenses * @@ -256,7 +183,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: @babel/code-frame (7.22.5) +Package Title: @babel/runtime (7.14.6) -------------------------------------------------------------------------------- * Declared Licenses * @@ -289,73 +216,23 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: @babel/core (7.8.3) +Package Title: @cockroachlabs/cluster-ui (0.0.0) -------------------------------------------------------------------------------- * Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2014-present Sebastian McKenzie and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - +No licenses found -------------------------------------------------------------------------------- -Package Title: @babel/generator (7.22.5) +Package Title: @cockroachlabs/crdb-protobuf-client (0.0.0) -------------------------------------------------------------------------------- * Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2014-present Sebastian McKenzie and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - +No licenses found -------------------------------------------------------------------------------- -Package Title: @babel/generator (7.22.7) +Package Title: @cockroachlabs/design-tokens (0.4.5) -------------------------------------------------------------------------------- * Declared Licenses * @@ -364,31 +241,30 @@ MIT MIT License -Copyright (c) 2014-present Sebastian McKenzie and other contributors +Copyright (c) 2020 CockroachDB -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: @babel/helper-environment-visitor (7.22.5) +Package Title: @cockroachlabs/icons (0.5.2) -------------------------------------------------------------------------------- * Declared Licenses * @@ -397,31 +273,30 @@ MIT MIT License -Copyright (c) 2014-present Sebastian McKenzie and other contributors +Copyright (c) 2020 CockroachDB -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: @babel/helper-function-name (7.22.5) +Package Title: @cockroachlabs/icons (0.5.5) -------------------------------------------------------------------------------- * Declared Licenses * @@ -430,31 +305,30 @@ MIT MIT License -Copyright (c) 2014-present Sebastian McKenzie and other contributors +Copyright (c) 2020 CockroachDB -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: @babel/helper-hoist-variables (7.22.5) +Package Title: @cockroachlabs/ui-components (0.4.3) -------------------------------------------------------------------------------- * Declared Licenses * @@ -463,623 +337,656 @@ MIT MIT License -Copyright (c) 2014-present Sebastian McKenzie and other contributors +Copyright (c) 2020 CockroachDB -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: @babel/helper-module-imports (7.22.5) +Package Title: @popperjs/core (2.10.2) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License +The MIT License (MIT) -Copyright (c) 2014-present Sebastian McKenzie and other contributors +Copyright (c) 2019 Federico Zivolo -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: @babel/helper-split-export-declaration (7.22.6) +Package Title: @protobufjs/aspromise (1.1.2) -------------------------------------------------------------------------------- * Declared Licenses * -MIT +Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause +* Multi-license: BSD-2-Clause OR BSD-3-Clause * -MIT License +Copyright (c) 2016, Daniel Wirtz All rights reserved. -Copyright (c) 2014-present Sebastian McKenzie and other contributors +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of its author, nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* BSD-3-Clause * +Copyright (c) 2016, Daniel Wirtz All rights reserved. --------------------------------------------------------------------------------- -Package Title: @babel/helper-string-parser (7.22.5) --------------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -* Declared Licenses * -MIT +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of its author, nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -MIT License -Copyright (c) 2014-present Sebastian McKenzie and other contributors -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +-------------------------------------------------------------------------------- +Package Title: @protobufjs/base64 (1.1.2) +-------------------------------------------------------------------------------- -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +* Declared Licenses * +Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* Multi-license: BSD-2-Clause OR BSD-3-Clause * +Copyright (c) 2016, Daniel Wirtz All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: --------------------------------------------------------------------------------- -Package Title: @babel/helper-validator-identifier (7.22.5) --------------------------------------------------------------------------------- +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of its author, nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. -* Declared Licenses * -MIT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -MIT License +* BSD-3-Clause * -Copyright (c) 2014-present Sebastian McKenzie and other contributors +Copyright (c) 2016, Daniel Wirtz All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of its author, nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: @babel/helpers (7.22.6) +Package Title: @protobufjs/codegen (2.0.4) -------------------------------------------------------------------------------- * Declared Licenses * -MIT +Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause +* Multi-license: BSD-2-Clause OR BSD-3-Clause * -MIT License - -Copyright (c) 2014-present Sebastian McKenzie and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - +Copyright (c) 2016, Daniel Wirtz All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: --------------------------------------------------------------------------------- -Package Title: @babel/highlight (7.22.5) --------------------------------------------------------------------------------- +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of its author, nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. -* Declared Licenses * -MIT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -MIT License +* BSD-3-Clause * -Copyright (c) 2014-present Sebastian McKenzie and other contributors +Copyright (c) 2016, Daniel Wirtz All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of its author, nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: @babel/parser (7.22.6) +Package Title: @protobufjs/eventemitter (1.1.0) -------------------------------------------------------------------------------- * Declared Licenses * -MIT - - -Copyright (C) 2012-2014 by various contributors (see AUTHORS) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +* Multi-license: BSD-2-Clause OR BSD-3-Clause * -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +Copyright (c) 2016, Daniel Wirtz All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of its author, nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. --------------------------------------------------------------------------------- -Package Title: @babel/parser (7.22.7) --------------------------------------------------------------------------------- +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* Declared Licenses * -MIT +* BSD-3-Clause * -Copyright (C) 2012-2014 by various contributors (see AUTHORS) +Copyright (c) 2016, Daniel Wirtz All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of its author, nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: @babel/runtime (7.12.13) +Package Title: @protobufjs/fetch (1.1.0) -------------------------------------------------------------------------------- * Declared Licenses * -MIT +Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause +* Multi-license: BSD-2-Clause OR BSD-3-Clause * -MIT License +Copyright (c) 2016, Daniel Wirtz All rights reserved. -Copyright (c) 2014-present Sebastian McKenzie and other contributors +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of its author, nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* BSD-3-Clause * +Copyright (c) 2016, Daniel Wirtz All rights reserved. --------------------------------------------------------------------------------- -Package Title: @babel/runtime (7.25.0) --------------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -* Declared Licenses * -MIT +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of its author, nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -MIT License -Copyright (c) 2014-present Sebastian McKenzie and other contributors -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +-------------------------------------------------------------------------------- +Package Title: @protobufjs/float (1.0.2) +-------------------------------------------------------------------------------- -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +* Declared Licenses * +Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* Multi-license: BSD-2-Clause OR BSD-3-Clause * +Copyright (c) 2016, Daniel Wirtz All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: --------------------------------------------------------------------------------- -Package Title: @babel/runtime (7.22.6) --------------------------------------------------------------------------------- +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of its author, nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. -* Declared Licenses * -MIT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -MIT License +* BSD-3-Clause * -Copyright (c) 2014-present Sebastian McKenzie and other contributors +Copyright (c) 2016, Daniel Wirtz All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of its author, nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: @babel/runtime (7.24.5) +Package Title: @protobufjs/inquire (1.1.0) -------------------------------------------------------------------------------- * Declared Licenses * -MIT +Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause +* Multi-license: BSD-2-Clause OR BSD-3-Clause * -MIT License +Copyright (c) 2016, Daniel Wirtz All rights reserved. -Copyright (c) 2014-present Sebastian McKenzie and other contributors +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of its author, nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* BSD-3-Clause * +Copyright (c) 2016, Daniel Wirtz All rights reserved. --------------------------------------------------------------------------------- -Package Title: @babel/template (7.22.5) --------------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -* Declared Licenses * -MIT +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of its author, nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -MIT License -Copyright (c) 2014-present Sebastian McKenzie and other contributors -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +-------------------------------------------------------------------------------- +Package Title: @protobufjs/path (1.1.2) +-------------------------------------------------------------------------------- -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +* Declared Licenses * +Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* Multi-license: BSD-2-Clause OR BSD-3-Clause * +Copyright (c) 2016, Daniel Wirtz All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: --------------------------------------------------------------------------------- -Package Title: @babel/traverse (7.22.6) --------------------------------------------------------------------------------- +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of its author, nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. -* Declared Licenses * -MIT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -MIT License +* BSD-3-Clause * -Copyright (c) 2014-present Sebastian McKenzie and other contributors +Copyright (c) 2016, Daniel Wirtz All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of its author, nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: @babel/traverse (7.22.8) +Package Title: @protobufjs/pool (1.1.0) -------------------------------------------------------------------------------- * Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2014-present Sebastian McKenzie and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: @babel/types (7.22.5) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2014-present Sebastian McKenzie and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: @bufbuild/protobuf (1.10.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0, BSD-3-Clause - -* Apache-2.0 * - -Copyright 2021-2024 Buf Technologies, Inc. - -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. +Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause -* BSD-3-Clause * +* Multi-license: BSD-2-Clause OR BSD-3-Clause * -Copyright (c) . All rights reserved. +Copyright (c) 2016, Daniel Wirtz All rights reserved. Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +modification, are permitted provided that the following conditions are +met: - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of its author, nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* Other Licenses * -Protobuf - +* BSD-3-Clause * -Copyright 2008 Google Inc. All rights reserved. +Copyright (c) 2016, Daniel Wirtz All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of its author, nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -1093,84 +1000,30 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Code generated by the Protocol Buffer compiler is owned by the owner -of the input file used when generating it. This code is not -standalone and requires a support library to be linked with it. This -support library is itself covered by the above license. -------------------------------------------------------------------------------- -Package Title: @bufbuild/protobuf (1.7.2) +Package Title: @protobufjs/utf8 (1.1.0) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0, BSD-3-Clause - -* Apache-2.0 * - -Copyright 2021-2024 Buf Technologies, Inc. - -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. - -* BSD-3-Clause * - -Copyright (c) . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* Other Licenses * -Protobuf +BSD-3-Clause -Copyright 2008 Google Inc. All rights reserved. +Copyright (c) 2016, Daniel Wirtz All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of its author, nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -1184,23 +1037,19 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Code generated by the Protocol Buffer compiler is owned by the owner -of the input file used when generating it. This code is not -standalone and requires a support library to be linked with it. This -support library is itself covered by the above license. -------------------------------------------------------------------------------- -Package Title: @cockroachlabs/design-tokens (0.4.5) +Package Title: @redux-saga/core (1.1.3) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License +The MIT License (MIT) -Copyright (c) 2020 CockroachDB +Copyright (c) 2015 Yassine Elouafi Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -1222,17 +1071,18 @@ SOFTWARE. + -------------------------------------------------------------------------------- -Package Title: @cockroachlabs/icons (0.5.2) +Package Title: @redux-saga/deferred (1.1.2) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License +The MIT License (MIT) -Copyright (c) 2020 CockroachDB +Copyright (c) 2015 Yassine Elouafi Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -1254,17 +1104,18 @@ SOFTWARE. + -------------------------------------------------------------------------------- -Package Title: @cockroachlabs/icons (0.5.5) +Package Title: @redux-saga/delay-p (1.1.2) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License +The MIT License (MIT) -Copyright (c) 2020 CockroachDB +Copyright (c) 2015 Yassine Elouafi Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -1286,17 +1137,18 @@ SOFTWARE. + -------------------------------------------------------------------------------- -Package Title: @cockroachlabs/ui-components (0.4.3) +Package Title: @redux-saga/is (1.1.2) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License +The MIT License (MIT) -Copyright (c) 2020 CockroachDB +Copyright (c) 2015 Yassine Elouafi Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -1318,35 +1170,18 @@ SOFTWARE. --------------------------------------------------------------------------------- -Package Title: @ctrl/tinycolor (3.6.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Scott Cooper - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -------------------------------------------------------------------------------- -Package Title: @emotion/babel-plugin (11.11.0) +Package Title: @redux-saga/symbols (1.1.2) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License +The MIT License (MIT) -Copyright (c) Emotion team and other contributors +Copyright (c) 2015 Yassine Elouafi Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -1368,17 +1203,18 @@ SOFTWARE. + -------------------------------------------------------------------------------- -Package Title: @emotion/cache (11.11.0) +Package Title: @redux-saga/types (1.1.0) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License +The MIT License (MIT) -Copyright (c) Emotion team and other contributors +Copyright (c) 2015 Yassine Elouafi Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -1400,17 +1236,18 @@ SOFTWARE. + -------------------------------------------------------------------------------- -Package Title: @emotion/hash (0.8.0) +Package Title: @segment/loosely-validate-event (2.0.0) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License +The MIT License -Copyright (c) Emotion team and other contributors +Copyright (c) 2017 Segment.io friends@segment.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -1419,475 +1256,665 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: @emotion/hash (0.9.1) +Package Title: @types/d3-color (2.0.3) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License + MIT License -Copyright (c) Emotion team and other contributors + Copyright (c) Microsoft Corporation. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE -------------------------------------------------------------------------------- -Package Title: @emotion/memoize (0.8.1) +Package Title: @types/d3-interpolate (2.0.2) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License + MIT License -Copyright (c) Emotion team and other contributors + Copyright (c) Microsoft Corporation. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE -------------------------------------------------------------------------------- -Package Title: @emotion/react (11.11.1) +Package Title: @types/d3-path (1.0.9) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License + MIT License -Copyright (c) Emotion team and other contributors + Copyright (c) Microsoft Corporation. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE -------------------------------------------------------------------------------- -Package Title: @emotion/serialize (1.1.2) +Package Title: @types/d3-path (2.0.2) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License + MIT License -Copyright (c) Emotion team and other contributors + Copyright (c) Microsoft Corporation. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE -------------------------------------------------------------------------------- -Package Title: @emotion/sheet (1.2.2) +Package Title: @types/d3-scale (3.3.2) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License + MIT License -Copyright (c) Emotion team and other contributors + Copyright (c) Microsoft Corporation. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE -------------------------------------------------------------------------------- -Package Title: @emotion/unitless (0.7.5) +Package Title: @types/d3-shape (1.3.8) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License + MIT License -Copyright (c) Emotion team and other contributors + Copyright (c) Microsoft Corporation. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE -------------------------------------------------------------------------------- -Package Title: @emotion/unitless (0.8.1) +Package Title: @types/d3-shape (2.1.3) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License - -Copyright (c) Emotion team and other contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + MIT License -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + Copyright (c) Microsoft Corporation. + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE --------------------------------------------------------------------------------- -Package Title: @emotion/use-insertion-effect-with-fallbacks (1.0.1) --------------------------------------------------------------------------------- + + +-------------------------------------------------------------------------------- +Package Title: @types/d3-time (2.1.1) +-------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License + MIT License -Copyright (c) Emotion team and other contributors + Copyright (c) Microsoft Corporation. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE -------------------------------------------------------------------------------- -Package Title: @emotion/utils (1.2.1) +Package Title: @types/geojson (1.0.6) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License + MIT License -Copyright (c) Emotion team and other contributors + Copyright (c) Microsoft Corporation. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE -------------------------------------------------------------------------------- -Package Title: @emotion/weak-memoize (0.3.1) +Package Title: @types/hoist-non-react-statics (3.3.1) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License + MIT License -Copyright (c) Emotion team and other contributors + Copyright (c) Microsoft Corporation. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE -------------------------------------------------------------------------------- -Package Title: @eslint-community/eslint-utils (4.4.0) +Package Title: @types/long (3.0.32) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License + MIT License -Copyright (c) 2018 Toru Nagashima + Copyright (c) Microsoft Corporation. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE -------------------------------------------------------------------------------- -Package Title: @eslint-community/regexpp (4.10.1) +Package Title: @types/node (8.10.66) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License + MIT License -Copyright (c) 2018 Toru Nagashima + Copyright (c) Microsoft Corporation. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE -------------------------------------------------------------------------------- -Package Title: @eslint/eslintrc (0.4.3) +Package Title: @types/node (9.4.7) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License + MIT License -Copyright (c) 2020 ESLint + Copyright (c) Microsoft Corporation. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE -------------------------------------------------------------------------------- -Package Title: @eslint/eslintrc (1.4.1) +Package Title: @types/prop-types (15.7.3) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright OpenJS Foundation and other contributors, + MIT License -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Copyright (c) Microsoft Corporation. All rights reserved. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + + +-------------------------------------------------------------------------------- +Package Title: @types/react (16.14.8) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + + MIT License + + Copyright (c) Microsoft Corporation. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + + +-------------------------------------------------------------------------------- +Package Title: @types/react-redux (7.1.16) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + + MIT License + + Copyright (c) Microsoft Corporation. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + + +-------------------------------------------------------------------------------- +Package Title: @types/react-slick (0.23.4) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + + +-------------------------------------------------------------------------------- +Package Title: @types/recharts (1.8.24) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + + MIT License + + Copyright (c) Microsoft Corporation. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE -------------------------------------------------------------------------------- -Package Title: @eslint/eslintrc (2.1.4) +Package Title: @types/scheduler (0.16.1) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright OpenJS Foundation and other contributors, + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + + +-------------------------------------------------------------------------------- +Package Title: @yarnpkg/lockfile (1.1.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-2-Clause + + +Copyright (c) 2016-present, Yarn Contributors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* Other Licenses * +MIT + +Copyright (c) 2013 present, Facebook, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -1895,28 +1922,49 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +-------------------------------------------------------------------------------- +Package Title: add-dom-event-listener (1.1.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT License (MIT) + +Copyright (c) 2014-present yiminghe + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: @eslint/js (8.57.0) +Package Title: aec (39771216ff4c63d11f5e604076f9c45e8be1067b) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright OpenJS Foundation and other contributors, +The MIT License (MIT) + +Copyright (c) 2016 Taihei Morikuni Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -1925,21 +1973,21 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: @humanwhocodes/config-array (0.11.14) +Package Title: aescts (72347e1bd92aa67384e4f8c0e8a6d7cfaa716eea) -------------------------------------------------------------------------------- * Declared Licenses * @@ -2126,7 +2174,7 @@ Apache-2.0 APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" + boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -2134,7 +2182,7 @@ Apache-2.0 same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright {yyyy} {name of copyright owner} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -2151,14 +2199,14 @@ Apache-2.0 -------------------------------------------------------------------------------- -Package Title: @humanwhocodes/config-array (0.9.5) +Package Title: afero (bc94f58beda5dbff6f74599fcb1f1717c5b1c111) -------------------------------------------------------------------------------- * Declared Licenses * Apache-2.0 - Apache License + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -2333,46 +2381,168 @@ Apache-2.0 incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - -------------------------------------------------------------------------------- -Package Title: @humanwhocodes/module-importer (1.0.1) +Package Title: analytics-node (3.5.0) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0 +MIT - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +Copyright (c) 2017 Segment Inc. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +-------------------------------------------------------------------------------- +Package Title: ansi (c9f0611b6c70fa404402220bebec6d7fcc63741c) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +MIT License + +Copyright (c) 2021 Christian Muehlhaeuser + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: antd (3.26.20) +-------------------------------------------------------------------------------- + +* Declared Licenses * +Multi-license: MIT OR X11, MIT + +* Multi-license: MIT OR X11 * + +MIT LICENSE + +Copyright (c) 2015-present Ant UED, https://xtech.antfin.com/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +* MIT * + +MIT LICENSE + +Copyright (c) 2015-present Ant UED, https://xtech.antfin.com/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +* Other Licenses * +Multi-license: BSD-3-Clause OR MIT OR WTFPL OR X11 + + +MIT LICENSE + +Copyright (c) 2015-present Ant UED, https://xtech.antfin.com/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: apd (e2bc4ac3de01b23c1f75f4c440e394b202c77fa4) +-------------------------------------------------------------------------------- + +* Declared Licenses * +Apache-2.0 + + +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION @@ -2550,7 +2720,7 @@ Apache-2.0 APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" + boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -2558,7 +2728,7 @@ Apache-2.0 same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright {} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -2574,32 +2744,26 @@ Apache-2.0 --------------------------------------------------------------------------------- -Package Title: @humanwhocodes/object-schema (1.2.1) --------------------------------------------------------------------------------- -* Declared Licenses * +* Other Licenses * BSD-3-Clause -BSD 3-Clause License - -Copyright (c) 2019, Human Who Codes -All rights reserved. +Copyright (c) 2015 The Go Authors. All rights reserved. . All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE @@ -2613,148 +2777,227 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -------------------------------------------------------------------------------- -Package Title: @humanwhocodes/object-schema (2.0.3) +Package Title: arenaskl (f701008588b9f33126c0bc1c2a47587f2aafbbef) -------------------------------------------------------------------------------- * Declared Licenses * -BSD-3-Clause +Apache-2.0 -BSD 3-Clause License + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -Copyright (c) 2019, Human Who Codes -All rights reserved. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + 1. Definitions. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. --------------------------------------------------------------------------------- -Package Title: @jridgewell/gen-mapping (0.3.3) --------------------------------------------------------------------------------- + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -* Declared Licenses * -MIT + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -Copyright 2022 Justin Ridgewell + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and --------------------------------------------------------------------------------- -Package Title: @jridgewell/resolve-uri (3.1.0) --------------------------------------------------------------------------------- + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -* Declared Licenses * -MIT + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -Copyright 2019 Justin Ridgewell + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. --------------------------------------------------------------------------------- -Package Title: @jridgewell/set-array (1.1.2) --------------------------------------------------------------------------------- + END OF TERMS AND CONDITIONS -* Declared Licenses * -MIT + APPENDIX: How to apply the Apache License to your work. + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -Copyright 2022 Justin Ridgewell + Copyright {yyyy} {name of copyright owner} -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 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 -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + http://www.apache.org/licenses/LICENSE-2.0 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 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. -------------------------------------------------------------------------------- -Package Title: @jridgewell/sourcemap-codec (1.4.14) +Package Title: array-tree-filter (2.1.0) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License - -Copyright (c) 2015 Rich Harris - +Copyright (c) 2015 afc163@gmail.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -2762,262 +3005,392 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: @jridgewell/sourcemap-codec (1.4.15) +Package Title: arrow (ac86123a3f013ba1eeac2b66c2ccd00810c67871) -------------------------------------------------------------------------------- * Declared Licenses * -MIT - +Apache-2.0, Multi-license: Apache-2.0 OR BSD-2-Clause OR BSD-3-Clause OR BSL-1.0 OR CC0-1.0 OR CC-BY-3.0 OR JSON OR MIT OR Protobuf OR public-domain OR Zlib -The MIT License +* Apache-2.0 * -Copyright (c) 2015 Rich Harris -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + 1. Definitions. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. --------------------------------------------------------------------------------- -Package Title: @jridgewell/trace-mapping (0.3.18) --------------------------------------------------------------------------------- + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -* Declared Licenses * -MIT + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -Copyright 2022 Justin Ridgewell + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. --------------------------------------------------------------------------------- -Package Title: @nodelib/fs.scandir (2.1.5) --------------------------------------------------------------------------------- + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -* Declared Licenses * -MIT + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -The MIT License (MIT) + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -Copyright (c) Denis Malinochkin + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. --------------------------------------------------------------------------------- -Package Title: @nodelib/fs.stat (2.0.5) --------------------------------------------------------------------------------- + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -* Declared Licenses * -MIT + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -The MIT License (MIT) + END OF TERMS AND CONDITIONS -Copyright (c) Denis Malinochkin + APPENDIX: How to apply the Apache License to your work. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + Copyright [yyyy] [name of copyright owner] -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 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. --------------------------------------------------------------------------------- -Package Title: @nodelib/fs.walk (1.2.8) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +src/plasma/fling.cc and src/plasma/fling.h: Apache 2.0 +Copyright 2013 Sharvil Nanavati -The MIT License (MIT) +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 -Copyright (c) Denis Malinochkin + http://www.apache.org/licenses/LICENSE-2.0 -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +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. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +-------------------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +src/plasma/thirdparty/ae: Modified / 3-Clause BSD + +Copyright (c) 2006-2010, Salvatore Sanfilippo +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Redis nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: @popperjs/core (2.11.8) + +src/plasma/thirdparty/dlmalloc.c: CC0 + +This is a version (aka dlmalloc) of malloc/free/realloc written by +Doug Lea and released to the public domain, as explained at +http://creativecommons.org/publicdomain/zero/1.0/ Send questions, +comments, complaints, performance data, etc to dl@cs.oswego.edu + -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +src/plasma/common.cc (some portions) +Copyright (c) Austin Appleby (aappleby (AT) gmail) -The MIT License (MIT) +Some portions of this file are derived from code in the MurmurHash project -Copyright (c) 2019 Federico Zivolo +All code is released to the public domain. For business purposes, Murmurhash is +under the MIT license. -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +https://sites.google.com/site/murmurhash/ -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +-------------------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +src/arrow/util (some portions): Apache 2.0, and 3-clause BSD + +Some portions of this module are derived from code in the Chromium project, +copyright (c) Google inc and (c) The Chromium Authors and licensed under the +Apache 2.0 License or the under the 3-clause BSD license: + Copyright (c) 2013 The Chromium Authors. All rights reserved. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -Package Title: @popperjs/core (2.4.0) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +This project includes code from Daniel Lemire's FrameOfReference project. +https://github.com/lemire/FrameOfReference/blob/6ccaf9e97160f9a3b299e23a8ef739e711ef0c71/src/bpacking.cpp -The MIT License (MIT) +Copyright: 2013 Daniel Lemire +Home page: http://lemire.me/en/ +Project page: https://github.com/lemire/FrameOfReference +License: Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 -Copyright (c) 2019 Federico Zivolo +-------------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +This project includes code from the TensorFlow project -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Copyright 2015 The TensorFlow Authors. All Rights Reserved. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +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. --------------------------------------------------------------------------------- -Package Title: @protobufjs/aspromise (1.1.2) -------------------------------------------------------------------------------- -* Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause +This project includes code from the NumPy project. -* Multi-license: BSD-2-Clause OR BSD-3-Clause * +https://github.com/numpy/numpy/blob/e1f191c46f2eebd6cb892a4bfe14d9dd43a06c4e/numpy/core/src/multiarray/multiarraymodule.c#L2910 -Copyright (c) 2016, Daniel Wirtz All rights reserved. +https://github.com/numpy/numpy/blob/68fd82271b9ea5a9e50d4e761061dfcca851382a/numpy/core/src/multiarray/datetime.c + +Copyright (c) 2005-2017, NumPy Developers. +All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of its author, nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + * Neither the name of the NumPy Developers nor the names of any + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -3031,61 +3404,120 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- -* BSD-3-Clause * +This project includes code from the Boost project -Copyright (c) 2016, Daniel Wirtz All rights reserved. +Boost Software License - Version 1.0 - August 17th, 2003 -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of its author, nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------------------- + +This project includes code from the FlatBuffers project + +Copyright 2014 Google Inc. + +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. -------------------------------------------------------------------------------- -Package Title: @protobufjs/base64 (1.1.2) + +This project includes code from the tslib project + +Copyright 2015 Microsoft Corporation. All rights reserved. + +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. + -------------------------------------------------------------------------------- -* Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause +This project includes code from the jemalloc project -* Multi-license: BSD-2-Clause OR BSD-3-Clause * +https://github.com/jemalloc/jemalloc -Copyright (c) 2016, Daniel Wirtz All rights reserved. +Copyright (C) 2002-2017 Jason Evans . +All rights reserved. +Copyright (C) 2007-2012 Mozilla Foundation. All rights reserved. +Copyright (C) 2009-2017 Facebook, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice(s), + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice(s), + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- + +This project includes code from the Go project, BSD 3-clause license + PATENTS +weak patent termination clause +(https://github.com/golang/go/blob/master/PATENTS). + +Copyright (c) 2009 The Go Authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of its author, nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -3099,295 +3531,262 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- -* BSD-3-Clause * +This project includes code from the hs2client -Copyright (c) 2016, Daniel Wirtz All rights reserved. +https://github.com/cloudera/hs2client -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +Copyright 2016 Cloudera Inc. -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of its author, nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +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. -------------------------------------------------------------------------------- -Package Title: @protobufjs/codegen (2.0.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause - -* Multi-license: BSD-2-Clause OR BSD-3-Clause * - -Copyright (c) 2016, Daniel Wirtz All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +The script ci/scripts/util_wait_for_it.sh has the following license -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of its author, nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +Copyright (c) 2016 Giles Hall -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -* BSD-3-Clause * +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -Copyright (c) 2016, Daniel Wirtz All rights reserved. +-------------------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +The script r/configure has the following license (MIT) -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of its author, nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +Copyright (c) 2017, Jeroen Ooms and Jim Hester -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: @protobufjs/eventemitter (1.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause -* Multi-license: BSD-2-Clause OR BSD-3-Clause * +cpp/src/arrow/util/logging.cc, cpp/src/arrow/util/logging.h and +cpp/src/arrow/util/logging-test.cc are adapted from +Ray Project (https://github.com/ray-project/ray) (Apache 2.0). -Copyright (c) 2016, Daniel Wirtz All rights reserved. +Copyright (c) 2016 Ray Project (https://github.com/ray-project/ray) -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +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 -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of its author, nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. + http://www.apache.org/licenses/LICENSE-2.0 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +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. +-------------------------------------------------------------------------------- +The files cpp/src/arrow/vendored/datetime/date.h, cpp/src/arrow/vendored/datetime/tz.h, +cpp/src/arrow/vendored/datetime/tz_private.h, cpp/src/arrow/vendored/datetime/ios.h, +cpp/src/arrow/vendored/datetime/ios.mm, +cpp/src/arrow/vendored/datetime/tz.cpp are adapted from +Howard Hinnant's date library (https://github.com/HowardHinnant/date) +It is licensed under MIT license. -* BSD-3-Clause * +The MIT License (MIT) +Copyright (c) 2015, 2016, 2017 Howard Hinnant +Copyright (c) 2016 Adrian Colomitchi +Copyright (c) 2017 Florian Dang +Copyright (c) 2017 Paul Thompson +Copyright (c) 2018 Tomasz Kamiński -Copyright (c) 2016, Daniel Wirtz All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of its author, nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +The file cpp/src/arrow/util/utf8.h includes code adapted from the page + https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ +with the following license (MIT) +Copyright (c) 2008-2009 Bjoern Hoehrmann --------------------------------------------------------------------------------- -Package Title: @protobufjs/fetch (1.1.0) --------------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -* Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -* Multi-license: BSD-2-Clause OR BSD-3-Clause * +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -Copyright (c) 2016, Daniel Wirtz All rights reserved. +-------------------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +The file cpp/src/arrow/vendored/string_view.hpp has the following license -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of its author, nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +Boost Software License - Version 1.0 - August 17th, 2003 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. -* BSD-3-Clause * +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. -Copyright (c) 2016, Daniel Wirtz All rights reserved. +-------------------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +The file cpp/src/arrow/vendored/variant.hpp has the following license -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of its author, nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +Boost Software License - Version 1.0 - August 17th, 2003 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -Package Title: @protobufjs/float (1.0.2) -------------------------------------------------------------------------------- -* Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause +The files in cpp/src/arrow/vendored/xxhash/ have the following license +(BSD 2-Clause License) -* Multi-license: BSD-2-Clause OR BSD-3-Clause * +xxHash Library +Copyright (c) 2012-2014, Yann Collet +All rights reserved. -Copyright (c) 2016, Daniel Wirtz All rights reserved. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of its author, nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +You can contact the author at : +- xxHash homepage: http://www.xxhash.com +- xxHash source repository : https://github.com/Cyan4973/xxHash -* BSD-3-Clause * +-------------------------------------------------------------------------------- -Copyright (c) 2016, Daniel Wirtz All rights reserved. +The files in cpp/src/arrow/vendored/double-conversion/ have the following license +(BSD 3-Clause License) +Copyright 2006-2011, the V8 project authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of its author, nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -3401,300 +3800,181 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +The files in cpp/src/arrow/vendored/uriparser/ have the following license +(BSD 3-Clause License) --------------------------------------------------------------------------------- -Package Title: @protobufjs/inquire (1.1.0) --------------------------------------------------------------------------------- +uriparser - RFC 3986 URI parsing library -* Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause +Copyright (C) 2007, Weijia Song +Copyright (C) 2007, Sebastian Pipping +All rights reserved. -* Multi-license: BSD-2-Clause OR BSD-3-Clause * +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Copyright (c) 2016, Daniel Wirtz All rights reserved. + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of its author, nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. + * Neither the name of the nor the names of its + contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- -* BSD-3-Clause * +The files under dev/tasks/conda-recipes have the following license -Copyright (c) 2016, Daniel Wirtz All rights reserved. +BSD 3-clause license +Copyright (c) 2015-2018, conda-forge +All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of its author, nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: @protobufjs/path (1.1.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause - -* Multi-license: BSD-2-Clause OR BSD-3-Clause * - -Copyright (c) 2016, Daniel Wirtz All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of its author, nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright (c) 2016, Daniel Wirtz All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +The files in cpp/src/arrow/vendored/utfcpp/ have the following license -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of its author, nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +Copyright 2006-2018 Nemanja Trifunovic -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: @protobufjs/pool (1.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause - -* Multi-license: BSD-2-Clause OR BSD-3-Clause * - -Copyright (c) 2016, Daniel Wirtz All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of its author, nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright (c) 2016, Daniel Wirtz All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of its author, nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +This project includes code from Apache Kudu. + * cpp/cmake_modules/CompilerInfo.cmake is based on Kudu's cmake_modules/CompilerInfo.cmake +Copyright: 2016 The Apache Software Foundation. +Home page: https://kudu.apache.org/ +License: http://www.apache.org/licenses/LICENSE-2.0 -------------------------------------------------------------------------------- -Package Title: @protobufjs/utf8 (1.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2016, Daniel Wirtz All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of its author, nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +This project includes code from Apache Impala (incubating), formerly +Impala. The Impala code and rights were donated to the ASF as part of the +Incubator process after the initial code imports into Apache Parquet. +Copyright: 2012 Cloudera, Inc. +Copyright: 2016 The Apache Software Foundation. +Home page: http://impala.apache.org/ +License: http://www.apache.org/licenses/LICENSE-2.0 -------------------------------------------------------------------------------- -Package Title: @rc-component/color-picker (1.2.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT +This project includes code from Apache Aurora. -The MIT License (MIT) - -Copyright (c) 2019-present alipay.com +* dev/release/{release,changelog,release-candidate} are based on the scripts from + Apache Aurora -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Copyright: 2016 The Apache Software Foundation. +Home page: https://aurora.apache.org/ +License: http://www.apache.org/licenses/LICENSE-2.0 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +-------------------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +This project includes code from the Google styleguide. +* cpp/build-support/cpplint.py is based on the scripts from the Google styleguide. +Copyright: 2009 Google Inc. All rights reserved. +Homepage: https://github.com/google/styleguide +License: 3-clause BSD -------------------------------------------------------------------------------- -Package Title: @rc-component/context (1.4.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT +This project includes code from Snappy. -The MIT License (MIT) - -Copyright (c) 2014-present yiminghe +* cpp/cmake_modules/{SnappyCMakeLists.txt,SnappyConfig.h} are based on code + from Google's Snappy project. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Copyright: 2009 Google Inc. All rights reserved. +Homepage: https://github.com/google/snappy +License: 3-clause BSD -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +-------------------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +This project includes code from the manylinux project. +* python/manylinux1/scripts/{build_python.sh,python-tag-abi-tag.py, + requirements.txt} are based on code from the manylinux project. +Copyright: 2016 manylinux +Homepage: https://github.com/pypa/manylinux +License: The MIT License (MIT) --------------------------------------------------------------------------------- -Package Title: @rc-component/mini-decimal (1.1.0) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT - +This project includes code from the cymove project: -MIT License +* python/pyarrow/includes/common.pxd includes code from the cymove project -Copyright (c) 2019-present react-component +The MIT License (MIT) +Copyright (c) 2019 Omer Ozarslan Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -3706,442 +3986,496 @@ furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -Package Title: @rc-component/mutate-observer (1.1.0) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT - +The projects includes code from the Ursabot project under the dev/archery +directory. -MIT License +License: BSD 2-Clause -Copyright (c) 2019-present react-component +Copyright 2019 RStudio, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: @rc-component/portal (1.1.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT +This project include code from CMake. -MIT License - -Copyright (c) 2019-present react-component - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +* cpp/cmake_modules/FindGTest.cmake is based on code from CMake. +Copyright: Copyright 2000-2019 Kitware, Inc. and Contributors +Homepage: https://gitlab.kitware.com/cmake/cmake +License: 3-clause BSD -------------------------------------------------------------------------------- -Package Title: @rc-component/tour (1.8.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT +This project include code from mingw-w64. -MIT License +* cpp/src/arrow/util/cpu-info.cc has a polyfill for mingw-w64 < 5 -Copyright (c) 2019-present react-component +Copyright (c) 2009 - 2013 by the mingw-w64 project +Homepage: https://mingw-w64.org +License: Zope Public License (ZPL) Version 2.1. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +--------------------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +This project include code from Google's Asylo project. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +* cpp/src/arrow/result.h is based on status_or.h +Copyright (c) Copyright 2017 Asylo authors +Homepage: https://asylo.dev/ +License: Apache 2.0 -------------------------------------------------------------------------------- -Package Title: @rc-component/trigger (1.18.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT +This project includes code from Google's protobuf project -The MIT License (MIT) -Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ +* cpp/src/arrow/result.h ARROW_ASSIGN_OR_RAISE is based off ASSIGN_OR_RETURN -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright 2008 Google Inc. All rights reserved. +Homepage: https://developers.google.com/protocol-buffers/ +License: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Code generated by the Protocol Buffer compiler is owned by the owner +of the input file used when generating it. This code is not +standalone and requires a support library to be linked with it. This +support library is itself covered by the above license. -------------------------------------------------------------------------------- -Package Title: @redux-saga/core (1.1.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT +3rdparty dependency LLVM is statically linked in certain binary distributions. +Additionally some sections of source code have been derived from sources in LLVM +and have been clearly labeled as such. LLVM has the following license: -The MIT License (MIT) +============================================================================== +The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: +============================================================================== -Copyright (c) 2015 Yassine Elouafi + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 1. Definitions. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. --------------------------------------------------------------------------------- -Package Title: @redux-saga/deferred (1.2.1) --------------------------------------------------------------------------------- + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -* Declared Licenses * -MIT + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -MIT License + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -Copyright (c) Redux-Saga team and other contributors + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and --------------------------------------------------------------------------------- -Package Title: @redux-saga/delay-p (1.2.1) --------------------------------------------------------------------------------- + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -* Declared Licenses * -MIT + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -MIT License + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -Copyright (c) Redux-Saga team and other contributors + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + END OF TERMS AND CONDITIONS --------------------------------------------------------------------------------- -Package Title: @redux-saga/is (1.1.2) --------------------------------------------------------------------------------- + APPENDIX: How to apply the Apache License to your work. -* Declared Licenses * -MIT + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + Copyright [yyyy] [name of copyright owner] -The MIT License (MIT) + 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 -Copyright (c) 2015 Yassine Elouafi + http://www.apache.org/licenses/LICENSE-2.0 -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 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. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +---- LLVM Exceptions to the Apache 2.0 License ---- +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into an Object form of such source code, you +may redistribute such embedded portions in such Object form without complying +with the conditions of Sections 4(a), 4(b) and 4(d) of the License. +In addition, if you combine or link compiled forms of this Software with +software that is licensed under the GPLv2 ("Combined Software") and if a +court of competent jurisdiction determines that the patent provision (Section +3), the indemnity provision (Section 9) or other Section of the License +conflicts with the conditions of the GPLv2, you may retroactively and +prospectively choose to deem waived or otherwise exclude such Section(s) of +the License, but only in their entirety and only with respect to the Combined +Software. +============================================================================== +Software from third parties included in the LLVM Project: +============================================================================== +The LLVM Project contains third party software which is under different license +terms. All such code will be identified clearly using at least one of two +mechanisms: +1) It will be in a separate directory tree with its own `LICENSE.txt` or + `LICENSE` file at the top containing the specific license and restrictions + which apply to that software, or +2) It will contain specific license and restriction terms at the top of every + file. -------------------------------------------------------------------------------- -Package Title: @redux-saga/symbols (1.1.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) -Copyright (c) 2015 Yassine Elouafi - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +3rdparty dependency gRPC is statically linked in certain binary +distributions, like the python wheels. gRPC has the following license: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Copyright 2014 gRPC authors. +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. -------------------------------------------------------------------------------- -Package Title: @redux-saga/symbols (1.1.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License -Copyright (c) Redux-Saga team and other contributors +3rdparty dependency Apache Thrift is statically linked in certain binary +distributions, like the python wheels. Apache Thrift has the following license: -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Apache Thrift +Copyright (C) 2006 - 2019, The Apache Software Foundation -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +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. -------------------------------------------------------------------------------- -Package Title: @redux-saga/types (1.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT +3rdparty dependency Apache ORC is statically linked in certain binary +distributions, like the python wheels. Apache ORC has the following license: -The MIT License (MIT) - -Copyright (c) 2015 Yassine Elouafi - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Apache ORC +Copyright 2013-2019 The Apache Software Foundation -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +This product includes software developed by The Apache Software +Foundation (http://www.apache.org/). -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +This product includes software developed by Hewlett-Packard: +(c) Copyright [2014-2015] Hewlett-Packard Development Company, L.P +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. --------------------------------------------------------------------------------- -Package Title: @redux-saga/types (1.2.1) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +3rdparty dependency zstd is statically linked in certain binary +distributions, like the python wheels. ZSTD has the following license: +BSD License -MIT License +For Zstandard software -Copyright (c) Redux-Saga team and other contributors +Copyright (c) 2016-present, Facebook, Inc. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: @reduxjs/toolkit (1.6.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT +3rdparty dependency lz4 is statically linked in certain binary +distributions, like the python wheels. lz4 has the following license: -MIT License - -Copyright (c) 2018 Mark Erikson - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +LZ4 Library +Copyright (c) 2011-2016, Yann Collet +All rights reserved. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: @reduxjs/toolkit (1.9.7) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT +3rdparty dependency Brotli is statically linked in certain binary +distributions, like the python wheels. Brotli has the following license: -MIT License - -Copyright (c) 2018 Mark Erikson +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -4150,965 +4484,1314 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +-------------------------------------------------------------------------------- +3rdparty dependency rapidjson is statically linked in certain binary +distributions, like the python wheels. rapidjson and its dependencies have the +following licenses: --------------------------------------------------------------------------------- -Package Title: @segment/loosely-validate-event (2.0.0) --------------------------------------------------------------------------------- +Tencent is pleased to support the open source community by making RapidJSON +available. -* Declared Licenses * -MIT +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. +All rights reserved. +If you have downloaded a copy of the RapidJSON binary from Tencent, please note +that the RapidJSON binary is licensed under the MIT License. +If you have downloaded a copy of the RapidJSON source code from Tencent, please +note that RapidJSON source code is licensed under the MIT License, except for +the third-party components listed below which are subject to different license +terms. Your integration of RapidJSON into your own projects may require +compliance with the MIT License, as well as the other licenses applicable to +the third-party components included within RapidJSON. To avoid the problematic +JSON license in your own projects, it's sufficient to exclude the +bin/jsonchecker/ directory, as it's the only code under the JSON license. +A copy of the MIT License is included in this file. -The MIT License +Other dependencies and licenses: -Copyright (c) 2017 Segment.io friends@segment.com + Open Source Software Licensed Under the BSD License: + -------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + The msinttypes r29 + Copyright (c) 2006-2013 Alexander Chemeris + All rights reserved. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR + ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + DAMAGE. + Open Source Software Licensed Under the JSON License: + -------------------------------------------------------------------- --------------------------------------------------------------------------------- -Package Title: @types/d3-array (3.0.5) --------------------------------------------------------------------------------- + json.org + Copyright (c) 2002 JSON.org + All Rights Reserved. -* Declared Licenses * -MIT + JSON_checker + Copyright (c) 2002 JSON.org + All Rights Reserved. - MIT License + Terms of the JSON License: + --------------------------------------------------- - Copyright (c) Microsoft Corporation. + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. + The Software shall be used for Good, not Evil. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE - - - --------------------------------------------------------------------------------- -Package Title: @types/d3-color (3.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. - MIT License - Copyright (c) Microsoft Corporation. + Terms of the MIT License: + -------------------------------------------------------------------- - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +3rdparty dependency snappy is statically linked in certain binary +distributions, like the python wheels. snappy has the following license: --------------------------------------------------------------------------------- -Package Title: @types/d3-ease (3.0.0) --------------------------------------------------------------------------------- +Copyright 2011, Google Inc. +All rights reserved. -* Declared Licenses * -MIT +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of Google Inc. nor the names of its contributors may be + used to endorse or promote products derived from this software without + specific prior written permission. - MIT License +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - Copyright (c) Microsoft Corporation. +=== - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +Some of the benchmark data in testdata/ is licensed differently: - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. + - fireworks.jpeg is Copyright 2013 Steinar H. Gunderson, and + is licensed under the Creative Commons Attribution 3.0 license + (CC-BY-3.0). See https://creativecommons.org/licenses/by/3.0/ + for more information. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE + - kppkn.gtb is taken from the Gaviota chess tablebase set, and + is licensed under the MIT License. See + https://sites.google.com/site/gaviotachessengine/Home/endgame-tablebases-1 + for more information. + - paper-100k.pdf is an excerpt (bytes 92160 to 194560) from the paper + “Combinatorial Modeling of Chromatin Features Quantitatively Predicts DNA + Replication Timing in _Drosophila_” by Federico Comoglio and Renato Paro, + which is licensed under the CC-BY license. See + http://www.ploscompbiol.org/static/license for more ifnormation. + - alice29.txt, asyoulik.txt, plrabn12.txt and lcet10.txt are from Project + Gutenberg. The first three have expired copyrights and are in the public + domain; the latter does not have expired copyright, but is still in the + public domain according to the license information + (http://www.gutenberg.org/ebooks/53). --------------------------------------------------------------------------------- -Package Title: @types/d3-interpolate (3.0.1) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +3rdparty dependency gflags is statically linked in certain binary +distributions, like the python wheels. gflags has the following license: +Copyright (c) 2006, Google Inc. +All rights reserved. - MIT License +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - Copyright (c) Microsoft Corporation. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. +-------------------------------------------------------------------------------- - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE +3rdparty dependency glog is statically linked in certain binary +distributions, like the python wheels. glog has the following license: +Copyright (c) 2008, Google Inc. +All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: --------------------------------------------------------------------------------- -Package Title: @types/d3-path (1.0.9) --------------------------------------------------------------------------------- + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. -* Declared Licenses * -MIT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - MIT License +A function gettimeofday in utilities.cc is based on - Copyright (c) Microsoft Corporation. +http://www.google.com/codesearch/p?hl=en#dR3YEbitojA/COPYING&q=GetSystemTimeAsFileTime%20license:bsd - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +The license of this code is: - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. +Copyright (c) 2003-2008, Jouni Malinen and contributors +All Rights Reserved. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name(s) of the above-listed copyright holder(s) nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -Package Title: @types/d3-path (3.0.0) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +3rdparty dependency re2 is statically linked in certain binary +distributions, like the python wheels. re2 has the following license: +Copyright (c) 2009 The RE2 Authors. All rights reserved. - MIT License +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - Copyright (c) Microsoft Corporation. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its contributors + may be used to endorse or promote products derived from this + software without specific prior written permission. - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. +-------------------------------------------------------------------------------- - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE +3rdparty dependency c-ares is statically linked in certain binary +distributions, like the python wheels. c-ares has the following license: +# c-ares license +Copyright (c) 2007 - 2018, Daniel Stenberg with many contributors, see AUTHORS +file. --------------------------------------------------------------------------------- -Package Title: @types/d3-scale (4.0.3) --------------------------------------------------------------------------------- +Copyright 1998 by the Massachusetts Institute of Technology. -* Declared Licenses * -MIT +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided that +the above copyright notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting documentation, and that +the name of M.I.T. not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior permission. +M.I.T. makes no representations about the suitability of this software for any +purpose. It is provided "as is" without express or implied warranty. +-------------------------------------------------------------------------------- - MIT License +3rdparty dependency zlib is redistributed as a dynamically linked shared +library in certain binary distributions, like the python wheels. In the future +this will likely change to static linkage. zlib has the following license: - Copyright (c) Microsoft Corporation. +zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.11, January 15th, 2017 - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: + Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu --------------------------------------------------------------------------------- -Package Title: @types/d3-shape (1.3.8) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +3rdparty dependency openssl is redistributed as a dynamically linked shared +library in certain binary distributions, like the python wheels. openssl +preceding version 3 has the following license: + LICENSE ISSUES + ============== - MIT License + The OpenSSL toolkit stays under a double license, i.e. both the conditions of + the OpenSSL License and the original SSLeay license apply to the toolkit. + See below for the actual license texts. - Copyright (c) Microsoft Corporation. + OpenSSL License + --------------- - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +/* ==================================================================== + * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. + Original SSLeay License + ----------------------- - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +-------------------------------------------------------------------------------- +This project includes code from the rtools-backports project. --------------------------------------------------------------------------------- -Package Title: @types/d3-shape (3.1.1) --------------------------------------------------------------------------------- +* ci/scripts/PKGBUILD and ci/scripts/r_windows_build.sh are based on code + from the rtools-backports project. -* Declared Licenses * -MIT +Copyright: Copyright (c) 2013 - 2019, Алексей and Jeroen Ooms. +All rights reserved. +Homepage: https://github.com/r-windows/rtools-backports +License: 3-clause BSD +-------------------------------------------------------------------------------- - MIT License +Some code from pandas has been adapted for the pyarrow codebase. pandas is +available under the 3-clause BSD license, which follows: - Copyright (c) Microsoft Corporation. +pandas license +============== - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE +Copyright (c) 2011-2012, Lambda Foundry, Inc. and PyData Development Team +All rights reserved. +Copyright (c) 2008-2011 AQR Capital Management, LLC +All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: --------------------------------------------------------------------------------- -Package Title: @types/d3-time (3.0.0) --------------------------------------------------------------------------------- + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -* Declared Licenses * -MIT + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of the copyright holder nor the names of any + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. - MIT License +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - Copyright (c) Microsoft Corporation. +-------------------------------------------------------------------------------- - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +Some bits from DyND, in particular aspects of the build system, have been +adapted from libdynd and dynd-python under the terms of the BSD 2-clause +license - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. +The BSD 2-Clause License - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE + Copyright (C) 2011-12, Dynamic NDArray Developers + All rights reserved. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. --------------------------------------------------------------------------------- -Package Title: @types/d3-timer (3.0.0) --------------------------------------------------------------------------------- + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -* Declared Licenses * -MIT + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Dynamic NDArray Developers list: - MIT License + * Mark Wiebe + * Continuum Analytics - Copyright (c) Microsoft Corporation. +-------------------------------------------------------------------------------- - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +Some source code from Ibis (https://github.com/cloudera/ibis) has been adapted +for PyArrow. Ibis is released under the Apache License, Version 2.0. - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. +-------------------------------------------------------------------------------- - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE +This project includes code from the autobrew project. +* r/tools/autobrew and dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb + are based on code from the autobrew project. +Copyright (c) 2019, Jeroen Ooms +License: MIT +Homepage: https://github.com/jeroen/autobrew -------------------------------------------------------------------------------- -Package Title: @types/eslint-visitor-keys (1.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT +dev/tasks/homebrew-formulae/apache-arrow.rb has the following license: - MIT License - - Copyright (c) Microsoft Corporation. All rights reserved. +BSD 2-Clause License - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +Copyright (c) 2009-present, Homebrew contributors +All rights reserved. - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -Package Title: @types/geojson (1.0.6) --------------------------------------------------------------------------------- +---------------------------------------------------------------------- -* Declared Licenses * -MIT +cpp/src/arrow/vendored/base64.cpp has the following license +ZLIB License - MIT License +Copyright (C) 2004-2017 René Nyffenegger - Copyright (c) Microsoft Corporation. All rights reserved. +This source code is provided 'as-is', without any express or implied +warranty. In no event will the author be held liable for any damages arising +from the use of this software. - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +Permission is granted to anyone to use this software for any purpose, including +commercial applications, and to alter it and redistribute it freely, subject to +the following restrictions: - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. +1. The origin of this source code must not be misrepresented; you must not + claim that you wrote the original source code. If you use this source code + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original source code. +3. This notice may not be removed or altered from any source distribution. +René Nyffenegger rene.nyffenegger@adp-gmbh.ch --------------------------------------------------------------------------------- -Package Title: @types/history (4.7.8) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +The file cpp/src/arrow/vendored/optional.hpp has the following license +Boost Software License - Version 1.0 - August 17th, 2003 - MIT License +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: - Copyright (c) Microsoft Corporation. +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. +-------------------------------------------------------------------------------- - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE +The file cpp/src/arrow/vendored/musl/strptime.c has the following license +Copyright © 2005-2020 Rich Felker, et al. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: --------------------------------------------------------------------------------- -Package Title: @types/hoist-non-react-statics (3.3.1) --------------------------------------------------------------------------------- +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -* Declared Licenses * -MIT +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- - MIT License +The file cpp/cmake_modules/BuildUtils.cmake contains code from - Copyright (c) Microsoft Corporation. All rights reserved. +https://gist.github.com/cristianadam/ef920342939a89fae3e8a85ca9459b49 - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +which is made available under the MIT license - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. +Copyright (c) 2019 Cristian Adam - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. --------------------------------------------------------------------------------- -Package Title: @types/json-schema (7.0.12) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +The files in cpp/src/arrow/vendored/portable-snippets/ contain code from +https://github.com/nemequ/portable-snippets - MIT License +and have the following copyright notice: - Copyright (c) Microsoft Corporation. +Each source file contains a preamble explaining the license situation +for that file, which takes priority over this file. With the +exception of some code pulled in from other repositories (such as +µnit, an MIT-licensed project which is used for testing), the code is +public domain, released using the CC0 1.0 Universal dedication (*). - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +(*) https://creativecommons.org/publicdomain/zero/1.0/legalcode - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE +* Multi-license: Apache-2.0 OR BSD-2-Clause OR BSD-3-Clause OR BSL-1.0 OR CC0-1.0 OR CC-BY-3.0 OR JSON OR MIT OR Protobuf OR public-domain OR Zlib * + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ --------------------------------------------------------------------------------- -Package Title: @types/linkify-it (3.0.2) --------------------------------------------------------------------------------- + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -* Declared Licenses * -MIT + 1. Definitions. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. - MIT License + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. - Copyright (c) Microsoft Corporation. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. --------------------------------------------------------------------------------- -Package Title: @types/long (3.0.32) --------------------------------------------------------------------------------- + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -* Declared Licenses * -MIT + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. - MIT License + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. - Copyright (c) Microsoft Corporation. All rights reserved. + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. --------------------------------------------------------------------------------- -Package Title: @types/markdown-it (12.2.3) --------------------------------------------------------------------------------- + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -* Declared Licenses * -MIT + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. - MIT License + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. - Copyright (c) Microsoft Corporation. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: + END OF TERMS AND CONDITIONS - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. + APPENDIX: How to apply the Apache License to your work. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + Copyright [yyyy] [name of copyright owner] + 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 --------------------------------------------------------------------------------- -Package Title: @types/mdurl (1.0.2) --------------------------------------------------------------------------------- + http://www.apache.org/licenses/LICENSE-2.0 -* Declared Licenses * -MIT + 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. +-------------------------------------------------------------------------------- - MIT License +src/plasma/fling.cc and src/plasma/fling.h: Apache 2.0 - Copyright (c) Microsoft Corporation. All rights reserved. +Copyright 2013 Sharvil Nanavati - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +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 - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. + http://www.apache.org/licenses/LICENSE-2.0 - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE +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. +-------------------------------------------------------------------------------- +src/plasma/thirdparty/ae: Modified / 3-Clause BSD --------------------------------------------------------------------------------- -Package Title: @types/node (8.10.66) --------------------------------------------------------------------------------- +Copyright (c) 2006-2010, Salvatore Sanfilippo +All rights reserved. -* Declared Licenses * -MIT +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Redis nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. - MIT License +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. - Copyright (c) Microsoft Corporation. +-------------------------------------------------------------------------------- - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +src/plasma/thirdparty/dlmalloc.c: CC0 - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. +This is a version (aka dlmalloc) of malloc/free/realloc written by +Doug Lea and released to the public domain, as explained at +http://creativecommons.org/publicdomain/zero/1.0/ Send questions, +comments, complaints, performance data, etc to dl@cs.oswego.edu - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE +-------------------------------------------------------------------------------- +src/plasma/common.cc (some portions) +Copyright (c) Austin Appleby (aappleby (AT) gmail) --------------------------------------------------------------------------------- -Package Title: @types/node (9.4.7) --------------------------------------------------------------------------------- +Some portions of this file are derived from code in the MurmurHash project -* Declared Licenses * -MIT +All code is released to the public domain. For business purposes, Murmurhash is +under the MIT license. +https://sites.google.com/site/murmurhash/ - MIT License +-------------------------------------------------------------------------------- - Copyright (c) Microsoft Corporation. All rights reserved. +src/arrow/util (some portions): Apache 2.0, and 3-clause BSD - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +Some portions of this module are derived from code in the Chromium project, +copyright (c) Google inc and (c) The Chromium Authors and licensed under the +Apache 2.0 License or the under the 3-clause BSD license: - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. + Copyright (c) 2013 The Chromium Authors. All rights reserved. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -Package Title: @types/prop-types (15.5.1) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +This project includes code from Daniel Lemire's FrameOfReference project. +https://github.com/lemire/FrameOfReference/blob/6ccaf9e97160f9a3b299e23a8ef739e711ef0c71/src/bpacking.cpp - MIT License +Copyright: 2013 Daniel Lemire +Home page: http://lemire.me/en/ +Project page: https://github.com/lemire/FrameOfReference +License: Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 - Copyright (c) Microsoft Corporation. All rights reserved. +-------------------------------------------------------------------------------- - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +This project includes code from the TensorFlow project - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. +Copyright 2015 The TensorFlow Authors. All Rights Reserved. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE +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. --------------------------------------------------------------------------------- -Package Title: @types/react (16.14.8) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +This project includes code from the NumPy project. +https://github.com/numpy/numpy/blob/e1f191c46f2eebd6cb892a4bfe14d9dd43a06c4e/numpy/core/src/multiarray/multiarraymodule.c#L2910 - MIT License +https://github.com/numpy/numpy/blob/68fd82271b9ea5a9e50d4e761061dfcca851382a/numpy/core/src/multiarray/datetime.c - Copyright (c) Microsoft Corporation. +Copyright (c) 2005-2017, NumPy Developers. +All rights reserved. - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of the NumPy Developers nor the names of any + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: @types/react-redux (7.1.25) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - - MIT License - Copyright (c) Microsoft Corporation. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +This project includes code from the Boost project - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. +Boost Software License - Version 1.0 - August 17th, 2003 - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -Package Title: @types/react-router (5.1.15) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +This project includes code from the FlatBuffers project +Copyright 2014 Google Inc. - MIT License +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 - Copyright (c) Microsoft Corporation. + http://www.apache.org/licenses/LICENSE-2.0 - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +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. - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. +-------------------------------------------------------------------------------- - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE +This project includes code from the tslib project +Copyright 2015 Microsoft Corporation. All rights reserved. +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 --------------------------------------------------------------------------------- -Package Title: @types/recharts (1.8.24) --------------------------------------------------------------------------------- + http://www.apache.org/licenses/LICENSE-2.0 -* Declared Licenses * -MIT +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. +-------------------------------------------------------------------------------- - MIT License +This project includes code from the jemalloc project - Copyright (c) Microsoft Corporation. +https://github.com/jemalloc/jemalloc - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +Copyright (C) 2002-2017 Jason Evans . +All rights reserved. +Copyright (C) 2007-2012 Mozilla Foundation. All rights reserved. +Copyright (C) 2009-2017 Facebook, Inc. All rights reserved. - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice(s), + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice(s), + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +This project includes code from the Go project, BSD 3-clause license + PATENTS +weak patent termination clause +(https://github.com/golang/go/blob/master/PATENTS). +Copyright (c) 2009 The Go Authors. All rights reserved. --------------------------------------------------------------------------------- -Package Title: @types/scheduler (0.16.3) --------------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -* Declared Licenses * -MIT + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - MIT License +-------------------------------------------------------------------------------- - Copyright (c) Microsoft Corporation. +This project includes code from the hs2client - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +https://github.com/cloudera/hs2client - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. +Copyright 2016 Cloudera Inc. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE +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. -------------------------------------------------------------------------------- -Package Title: @typescript-eslint/eslint-plugin (4.29.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - -MIT License +The script ci/scripts/util_wait_for_it.sh has the following license -Copyright (c) 2019 TypeScript ESLint and other contributors +Copyright (c) 2016 Giles Hall -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. @@ -5121,61 +5804,21 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: @typescript-eslint/experimental-utils (2.34.0) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +The script r/configure has the following license (MIT) +Copyright (c) 2017, Jeroen Ooms and Jim Hester -MIT License +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: -Copyright (c) 2019 TypeScript ESLint and other contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: @typescript-eslint/experimental-utils (4.29.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2019 TypeScript ESLint and other contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, @@ -5185,85 +5828,40 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: @typescript-eslint/parser (2.34.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause - - -TypeScript ESLint Parser -Copyright JS Foundation and other contributors, https://js.foundation - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: @typescript-eslint/parser (5.0.0) -------------------------------------------------------------------------------- -* Declared Licenses * -BSD-2-Clause - - -TypeScript ESLint Parser -Copyright JS Foundation and other contributors, https://js.foundation - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +cpp/src/arrow/util/logging.cc, cpp/src/arrow/util/logging.h and +cpp/src/arrow/util/logging-test.cc are adapted from +Ray Project (https://github.com/ray-project/ray) (Apache 2.0). - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. +Copyright (c) 2016 Ray Project (https://github.com/ray-project/ray) -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +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. -------------------------------------------------------------------------------- -Package Title: @typescript-eslint/scope-manager (4.29.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License +The files cpp/src/arrow/vendored/datetime/date.h, cpp/src/arrow/vendored/datetime/tz.h, +cpp/src/arrow/vendored/datetime/tz_private.h, cpp/src/arrow/vendored/datetime/ios.h, +cpp/src/arrow/vendored/datetime/ios.mm, +cpp/src/arrow/vendored/datetime/tz.cpp are adapted from +Howard Hinnant's date library (https://github.com/HowardHinnant/date) +It is licensed under MIT license. -Copyright (c) 2019 TypeScript ESLint and other contributors +The MIT License (MIT) +Copyright (c) 2015, 2016, 2017 Howard Hinnant +Copyright (c) 2016 Adrian Colomitchi +Copyright (c) 2017 Florian Dang +Copyright (c) 2017 Paul Thompson +Copyright (c) 2018 Tomasz Kamiński Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -5283,19 +5881,13 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -------------------------------------------------------------------------------- -Package Title: @typescript-eslint/scope-manager (5.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT +The file cpp/src/arrow/util/utf8.h includes code adapted from the page + https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ +with the following license (MIT) -MIT License - -Copyright (c) 2019 TypeScript ESLint and other contributors +Copyright (c) 2008-2009 Bjoern Hoehrmann Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -5315,295 +5907,303 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -------------------------------------------------------------------------------- -Package Title: @typescript-eslint/scope-manager (5.26.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT +The file cpp/src/arrow/vendored/string_view.hpp has the following license -MIT License - -Copyright (c) 2019 TypeScript ESLint and other contributors +Boost Software License - Version 1.0 - August 17th, 2003 -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: @typescript-eslint/types (4.29.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT +The file cpp/src/arrow/vendored/variant.hpp has the following license -MIT License - -Copyright (c) 2019 TypeScript ESLint and other contributors +Boost Software License - Version 1.0 - August 17th, 2003 -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +The files in cpp/src/arrow/vendored/xxhash/ have the following license +(BSD 2-Clause License) --------------------------------------------------------------------------------- -Package Title: @typescript-eslint/types (5.0.0) --------------------------------------------------------------------------------- +xxHash Library +Copyright (c) 2012-2014, Yann Collet +All rights reserved. -* Declared Licenses * -MIT +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -MIT License +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Copyright (c) 2019 TypeScript ESLint and other contributors +You can contact the author at : +- xxHash homepage: http://www.xxhash.com +- xxHash source repository : https://github.com/Cyan4973/xxHash -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +-------------------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The files in cpp/src/arrow/vendored/double-conversion/ have the following license +(BSD 3-Clause License) -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Copyright 2006-2011, the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: @typescript-eslint/types (5.26.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT +The files in cpp/src/arrow/vendored/uriparser/ have the following license +(BSD 3-Clause License) -MIT License +uriparser - RFC 3986 URI parsing library -Copyright (c) 2019 TypeScript ESLint and other contributors +Copyright (C) 2007, Weijia Song +Copyright (C) 2007, Sebastian Pipping +All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + * Neither the name of the nor the names of its + contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: @typescript-eslint/typescript-estree (2.34.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause +The files under dev/tasks/conda-recipes have the following license -TypeScript ESTree +BSD 3-clause license +Copyright (c) 2015-2018, conda-forge +All rights reserved. -Originally extracted from: +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -TypeScript ESLint Parser -Copyright JS Foundation and other contributors, https://js.foundation +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: @typescript-eslint/typescript-estree (4.29.1) -------------------------------------------------------------------------------- -* Declared Licenses * -BSD-2-Clause - +The files in cpp/src/arrow/vendored/utfcpp/ have the following license -TypeScript ESTree +Copyright 2006-2018 Nemanja Trifunovic -Originally extracted from: +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: -TypeScript ESLint Parser -Copyright JS Foundation and other contributors, https://js.foundation +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. +-------------------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +This project includes code from Apache Kudu. + * cpp/cmake_modules/CompilerInfo.cmake is based on Kudu's cmake_modules/CompilerInfo.cmake +Copyright: 2016 The Apache Software Foundation. +Home page: https://kudu.apache.org/ +License: http://www.apache.org/licenses/LICENSE-2.0 --------------------------------------------------------------------------------- -Package Title: @typescript-eslint/typescript-estree (5.0.0) -------------------------------------------------------------------------------- -* Declared Licenses * -BSD-2-Clause +This project includes code from Apache Impala (incubating), formerly +Impala. The Impala code and rights were donated to the ASF as part of the +Incubator process after the initial code imports into Apache Parquet. +Copyright: 2012 Cloudera, Inc. +Copyright: 2016 The Apache Software Foundation. +Home page: http://impala.apache.org/ +License: http://www.apache.org/licenses/LICENSE-2.0 -TypeScript ESTree +-------------------------------------------------------------------------------- -Originally extracted from: +This project includes code from Apache Aurora. -TypeScript ESLint Parser -Copyright JS Foundation and other contributors, https://js.foundation +* dev/release/{release,changelog,release-candidate} are based on the scripts from + Apache Aurora -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +Copyright: 2016 The Apache Software Foundation. +Home page: https://aurora.apache.org/ +License: http://www.apache.org/licenses/LICENSE-2.0 - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. +-------------------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +This project includes code from the Google styleguide. +* cpp/build-support/cpplint.py is based on the scripts from the Google styleguide. +Copyright: 2009 Google Inc. All rights reserved. +Homepage: https://github.com/google/styleguide +License: 3-clause BSD -------------------------------------------------------------------------------- -Package Title: @typescript-eslint/typescript-estree (5.26.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause - -TypeScript ESTree - -Originally extracted from: +This project includes code from Snappy. -TypeScript ESLint Parser -Copyright JS Foundation and other contributors, https://js.foundation +* cpp/cmake_modules/{SnappyCMakeLists.txt,SnappyConfig.h} are based on code + from Google's Snappy project. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +Copyright: 2009 Google Inc. All rights reserved. +Homepage: https://github.com/google/snappy +License: 3-clause BSD - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. +-------------------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +This project includes code from the manylinux project. +* python/manylinux1/scripts/{build_python.sh,python-tag-abi-tag.py, + requirements.txt} are based on code from the manylinux project. +Copyright: 2016 manylinux +Homepage: https://github.com/pypa/manylinux +License: The MIT License (MIT) --------------------------------------------------------------------------------- -Package Title: @typescript-eslint/utils (5.26.0) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT - +This project includes code from the cymove project: -MIT License +* python/pyarrow/includes/common.pxd includes code from the cymove project -Copyright (c) 2019 TypeScript ESLint and other contributors +The MIT License (MIT) +Copyright (c) 2019 Omer Ozarslan Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -5615,380 +6215,496 @@ furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -Package Title: @typescript-eslint/utils (5.62.0) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +The projects includes code from the Ursabot project under the dev/archery +directory. +License: BSD 2-Clause -MIT License +Copyright 2019 RStudio, Inc. -Copyright (c) 2019 typescript-eslint and other contributors +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -Package Title: @typescript-eslint/visitor-keys (4.29.1) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +This project include code from CMake. +* cpp/cmake_modules/FindGTest.cmake is based on code from CMake. -MIT License +Copyright: Copyright 2000-2019 Kitware, Inc. and Contributors +Homepage: https://gitlab.kitware.com/cmake/cmake +License: 3-clause BSD -Copyright (c) 2019 TypeScript ESLint and other contributors +-------------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +This project include code from mingw-w64. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +* cpp/src/arrow/util/cpu-info.cc has a polyfill for mingw-w64 < 5 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Copyright (c) 2009 - 2013 by the mingw-w64 project +Homepage: https://mingw-w64.org +License: Zope Public License (ZPL) Version 2.1. +--------------------------------------------------------------------------------- +This project include code from Google's Asylo project. --------------------------------------------------------------------------------- -Package Title: @typescript-eslint/visitor-keys (5.0.0) --------------------------------------------------------------------------------- +* cpp/src/arrow/result.h is based on status_or.h -* Declared Licenses * -MIT +Copyright (c) Copyright 2017 Asylo authors +Homepage: https://asylo.dev/ +License: Apache 2.0 +-------------------------------------------------------------------------------- -MIT License +This project includes code from Google's protobuf project -Copyright (c) 2019 TypeScript ESLint and other contributors +* cpp/src/arrow/result.h ARROW_ASSIGN_OR_RAISE is based off ASSIGN_OR_RETURN -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright 2008 Google Inc. All rights reserved. +Homepage: https://developers.google.com/protocol-buffers/ +License: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Code generated by the Protocol Buffer compiler is owned by the owner +of the input file used when generating it. This code is not +standalone and requires a support library to be linked with it. This +support library is itself covered by the above license. --------------------------------------------------------------------------------- -Package Title: @typescript-eslint/visitor-keys (5.26.0) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT - +3rdparty dependency LLVM is statically linked in certain binary distributions. +Additionally some sections of source code have been derived from sources in LLVM +and have been clearly labeled as such. LLVM has the following license: -MIT License +============================================================================== +The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: +============================================================================== -Copyright (c) 2019 TypeScript ESLint and other contributors + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 1. Definitions. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. --------------------------------------------------------------------------------- -Package Title: @ungap/structured-clone (1.2.0) --------------------------------------------------------------------------------- + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -* Declared Licenses * -ISC + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -ISC License + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -Copyright (c) 2021, Andrea Giammarchi, @WebReflection + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. --------------------------------------------------------------------------------- -Package Title: @webassemblyjs/ast (1.8.5) --------------------------------------------------------------------------------- + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -* Declared Licenses * -MIT + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -MIT License + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -Copyright (c) 2018 Sven Sauleau + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. --------------------------------------------------------------------------------- -Package Title: @webassemblyjs/floating-point-hex-parser (1.8.5) --------------------------------------------------------------------------------- + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -* Declared Licenses * -MIT + END OF TERMS AND CONDITIONS + APPENDIX: How to apply the Apache License to your work. -MIT License + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -Copyright (c) 2017 Mauro Bringolf + Copyright [yyyy] [name of copyright owner] -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 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 -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + http://www.apache.org/licenses/LICENSE-2.0 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 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. --------------------------------------------------------------------------------- -Package Title: @webassemblyjs/helper-api-error (1.8.5) --------------------------------------------------------------------------------- +---- LLVM Exceptions to the Apache 2.0 License ---- -* Declared Licenses * -MIT +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into an Object form of such source code, you +may redistribute such embedded portions in such Object form without complying +with the conditions of Sections 4(a), 4(b) and 4(d) of the License. +In addition, if you combine or link compiled forms of this Software with +software that is licensed under the GPLv2 ("Combined Software") and if a +court of competent jurisdiction determines that the patent provision (Section +3), the indemnity provision (Section 9) or other Section of the License +conflicts with the conditions of the GPLv2, you may retroactively and +prospectively choose to deem waived or otherwise exclude such Section(s) of +the License, but only in their entirety and only with respect to the Combined +Software. -MIT License +============================================================================== +Software from third parties included in the LLVM Project: +============================================================================== +The LLVM Project contains third party software which is under different license +terms. All such code will be identified clearly using at least one of two +mechanisms: +1) It will be in a separate directory tree with its own `LICENSE.txt` or + `LICENSE` file at the top containing the specific license and restrictions + which apply to that software, or +2) It will contain specific license and restriction terms at the top of every + file. -Copyright (c) 2018 Sven Sauleau +-------------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +3rdparty dependency gRPC is statically linked in certain binary +distributions, like the python wheels. gRPC has the following license: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Copyright 2014 gRPC authors. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +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. --------------------------------------------------------------------------------- -Package Title: @webassemblyjs/helper-buffer (1.8.5) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +3rdparty dependency Apache Thrift is statically linked in certain binary +distributions, like the python wheels. Apache Thrift has the following license: +Apache Thrift +Copyright (C) 2006 - 2019, The Apache Software Foundation -MIT License +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). -Copyright (c) 2018 Sven Sauleau +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 -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + http://www.apache.org/licenses/LICENSE-2.0 -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +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. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +-------------------------------------------------------------------------------- +3rdparty dependency Apache ORC is statically linked in certain binary +distributions, like the python wheels. Apache ORC has the following license: +Apache ORC +Copyright 2013-2019 The Apache Software Foundation --------------------------------------------------------------------------------- -Package Title: @webassemblyjs/helper-code-frame (1.8.5) --------------------------------------------------------------------------------- +This product includes software developed by The Apache Software +Foundation (http://www.apache.org/). -* Declared Licenses * -MIT +This product includes software developed by Hewlett-Packard: +(c) Copyright [2014-2015] Hewlett-Packard Development Company, L.P +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 -MIT License + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (c) 2018 Sven Sauleau +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. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +-------------------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +3rdparty dependency zstd is statically linked in certain binary +distributions, like the python wheels. ZSTD has the following license: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +BSD License +For Zstandard software +Copyright (c) 2016-present, Facebook, Inc. All rights reserved. --------------------------------------------------------------------------------- -Package Title: @webassemblyjs/helper-fsm (1.8.5) --------------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -* Declared Licenses * -ISC, MIT + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -* ISC * + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC") -Copyright (c) 1995-2003 by Internet Software Consortium -Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. -THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. -* MIT * +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -MIT License +-------------------------------------------------------------------------------- -Copyright (c) 2018 Sven Sauleau +3rdparty dependency lz4 is statically linked in certain binary +distributions, like the python wheels. lz4 has the following license: -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +LZ4 Library +Copyright (c) 2011-2016, Yann Collet +All rights reserved. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: @webassemblyjs/helper-module-context (1.8.5) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT +3rdparty dependency Brotli is statically linked in certain binary +distributions, like the python wheels. Brotli has the following license: -MIT License - -Copyright (c) 2018 Sven Sauleau +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -5997,545 +6713,739 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. --------------------------------------------------------------------------------- -Package Title: @webassemblyjs/helper-wasm-bytecode (1.8.5) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +3rdparty dependency rapidjson is statically linked in certain binary +distributions, like the python wheels. rapidjson and its dependencies have the +following licenses: +Tencent is pleased to support the open source community by making RapidJSON +available. -MIT License +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. +All rights reserved. -Copyright (c) 2018 Sven Sauleau +If you have downloaded a copy of the RapidJSON binary from Tencent, please note +that the RapidJSON binary is licensed under the MIT License. +If you have downloaded a copy of the RapidJSON source code from Tencent, please +note that RapidJSON source code is licensed under the MIT License, except for +the third-party components listed below which are subject to different license +terms. Your integration of RapidJSON into your own projects may require +compliance with the MIT License, as well as the other licenses applicable to +the third-party components included within RapidJSON. To avoid the problematic +JSON license in your own projects, it's sufficient to exclude the +bin/jsonchecker/ directory, as it's the only code under the JSON license. +A copy of the MIT License is included in this file. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Other dependencies and licenses: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + Open Source Software Licensed Under the BSD License: + -------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + The msinttypes r29 + Copyright (c) 2006-2013 Alexander Chemeris + All rights reserved. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. --------------------------------------------------------------------------------- -Package Title: @webassemblyjs/helper-wasm-section (1.8.5) --------------------------------------------------------------------------------- + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR + ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + DAMAGE. -* Declared Licenses * -MIT + Open Source Software Licensed Under the JSON License: + -------------------------------------------------------------------- + json.org + Copyright (c) 2002 JSON.org + All Rights Reserved. -MIT License + JSON_checker + Copyright (c) 2002 JSON.org + All Rights Reserved. -Copyright (c) 2018 Sven Sauleau -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Terms of the JSON License: + --------------------------------------------------- -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + The Software shall be used for Good, not Evil. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -Package Title: @webassemblyjs/ieee754 (1.8.5) --------------------------------------------------------------------------------- -* Declared Licenses * -MIT + Terms of the MIT License: + -------------------------------------------------------------------- + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: -MIT License + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. -Copyright (c) 2018 Sven Sauleau + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +-------------------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +3rdparty dependency snappy is statically linked in certain binary +distributions, like the python wheels. snappy has the following license: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Copyright 2011, Google Inc. +All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of Google Inc. nor the names of its contributors may be + used to endorse or promote products derived from this software without + specific prior written permission. --------------------------------------------------------------------------------- -Package Title: @webassemblyjs/leb128 (1.8.5) --------------------------------------------------------------------------------- +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* Declared Licenses * -Apache-2.0, MIT +=== -* Apache-2.0 * +Some of the benchmark data in testdata/ is licensed differently: -Copyright 2012 The Obvious Corporation. -http://obvious.com/ + - fireworks.jpeg is Copyright 2013 Steinar H. Gunderson, and + is licensed under the Creative Commons Attribution 3.0 license + (CC-BY-3.0). See https://creativecommons.org/licenses/by/3.0/ + for more information. -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 + - kppkn.gtb is taken from the Gaviota chess tablebase set, and + is licensed under the MIT License. See + https://sites.google.com/site/gaviotachessengine/Home/endgame-tablebases-1 + for more information. -http://www.apache.org/licenses/LICENSE-2.0 + - paper-100k.pdf is an excerpt (bytes 92160 to 194560) from the paper + “Combinatorial Modeling of Chromatin Features Quantitatively Predicts DNA + Replication Timing in _Drosophila_” by Federico Comoglio and Renato Paro, + which is licensed under the CC-BY license. See + http://www.ploscompbiol.org/static/license for more ifnormation. -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. + - alice29.txt, asyoulik.txt, plrabn12.txt and lcet10.txt are from Project + Gutenberg. The first three have expired copyrights and are in the public + domain; the latter does not have expired copyright, but is still in the + public domain according to the license information + (http://www.gutenberg.org/ebooks/53). +-------------------------------------------------------------------------------- -------------------------------------------------------------------------- - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +3rdparty dependency gflags is statically linked in certain binary +distributions, like the python wheels. gflags has the following license: +Copyright (c) 2006, Google Inc. +All rights reserved. -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -1. Definitions. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +-------------------------------------------------------------------------------- - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +3rdparty dependency glog is statically linked in certain binary +distributions, like the python wheels. glog has the following license: - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +Copyright (c) 2008, Google Inc. +All rights reserved. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +A function gettimeofday in utilities.cc is based on - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +http://www.google.com/codesearch/p?hl=en#dR3YEbitojA/COPYING&q=GetSystemTimeAsFileTime%20license:bsd -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +The license of this code is: -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +Copyright (c) 2003-2008, Jouni Malinen and contributors +All Rights Reserved. -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +3. Neither the name(s) of the above-listed copyright holder(s) nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +-------------------------------------------------------------------------------- -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +3rdparty dependency re2 is statically linked in certain binary +distributions, like the python wheels. re2 has the following license: -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +Copyright (c) 2009 The RE2 Authors. All rights reserved. -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its contributors + may be used to endorse or promote products derived from this + software without specific prior written permission. -END OF TERMS AND CONDITIONS +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- -* MIT * +3rdparty dependency c-ares is statically linked in certain binary +distributions, like the python wheels. c-ares has the following license: -Copyright (c) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +# c-ares license -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Copyright (c) 2007 - 2018, Daniel Stenberg with many contributors, see AUTHORS +file. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Copyright 1998 by the Massachusetts Institute of Technology. +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided that +the above copyright notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting documentation, and that +the name of M.I.T. not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior permission. +M.I.T. makes no representations about the suitability of this software for any +purpose. It is provided "as is" without express or implied warranty. --------------------------------------------------------------------------------- -Package Title: @webassemblyjs/utf8 (1.8.5) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +3rdparty dependency zlib is redistributed as a dynamically linked shared +library in certain binary distributions, like the python wheels. In the future +this will likely change to static linkage. zlib has the following license: +zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.11, January 15th, 2017 -MIT License + Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler -Copyright (c) 2018 Sven Sauleau + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +-------------------------------------------------------------------------------- + +3rdparty dependency openssl is redistributed as a dynamically linked shared +library in certain binary distributions, like the python wheels. openssl +preceding version 3 has the following license: + + LICENSE ISSUES + ============== + + The OpenSSL toolkit stays under a double license, i.e. both the conditions of + the OpenSSL License and the original SSLeay license apply to the toolkit. + See below for the actual license texts. + + OpenSSL License + --------------- + +/* ==================================================================== + * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + Original SSLeay License + ----------------------- +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ -------------------------------------------------------------------------------- -Package Title: @webassemblyjs/wasm-edit (1.8.5) + +This project includes code from the rtools-backports project. + +* ci/scripts/PKGBUILD and ci/scripts/r_windows_build.sh are based on code + from the rtools-backports project. + +Copyright: Copyright (c) 2013 - 2019, Алексей and Jeroen Ooms. +All rights reserved. +Homepage: https://github.com/r-windows/rtools-backports +License: 3-clause BSD + -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +Some code from pandas has been adapted for the pyarrow codebase. pandas is +available under the 3-clause BSD license, which follows: +pandas license +============== -MIT License +Copyright (c) 2011-2012, Lambda Foundry, Inc. and PyData Development Team +All rights reserved. -Copyright (c) 2018 Sven Sauleau +Copyright (c) 2008-2011 AQR Capital Management, LLC +All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of the copyright holder nor the names of any + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -Package Title: @webassemblyjs/wasm-gen (1.8.5) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +Some bits from DyND, in particular aspects of the build system, have been +adapted from libdynd and dynd-python under the terms of the BSD 2-clause +license +The BSD 2-Clause License -MIT License + Copyright (C) 2011-12, Dynamic NDArray Developers + All rights reserved. -Copyright (c) 2018 Sven Sauleau + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Dynamic NDArray Developers list: + * Mark Wiebe + * Continuum Analytics -------------------------------------------------------------------------------- -Package Title: @webassemblyjs/wasm-opt (1.8.5) + +Some source code from Ibis (https://github.com/cloudera/ibis) has been adapted +for PyArrow. Ibis is released under the Apache License, Version 2.0. + -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +This project includes code from the autobrew project. +* r/tools/autobrew and dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb + are based on code from the autobrew project. -MIT License +Copyright (c) 2019, Jeroen Ooms +License: MIT +Homepage: https://github.com/jeroen/autobrew -Copyright (c) 2018 Sven Sauleau +-------------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +dev/tasks/homebrew-formulae/apache-arrow.rb has the following license: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +BSD 2-Clause License -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Copyright (c) 2009-present, Homebrew contributors +All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. --------------------------------------------------------------------------------- -Package Title: @webassemblyjs/wasm-parser (1.8.5) --------------------------------------------------------------------------------- +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -* Declared Licenses * -MIT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +---------------------------------------------------------------------- -MIT License +cpp/src/arrow/vendored/base64.cpp has the following license -Copyright (c) 2018 Sven Sauleau +ZLIB License -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright (C) 2004-2017 René Nyffenegger -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +This source code is provided 'as-is', without any express or implied +warranty. In no event will the author be held liable for any damages arising +from the use of this software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Permission is granted to anyone to use this software for any purpose, including +commercial applications, and to alter it and redistribute it freely, subject to +the following restrictions: +1. The origin of this source code must not be misrepresented; you must not + claim that you wrote the original source code. If you use this source code + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original source code. --------------------------------------------------------------------------------- -Package Title: @webassemblyjs/wast-parser (1.8.5) --------------------------------------------------------------------------------- +3. This notice may not be removed or altered from any source distribution. -* Declared Licenses * -MIT +René Nyffenegger rene.nyffenegger@adp-gmbh.ch +-------------------------------------------------------------------------------- -MIT License +The file cpp/src/arrow/vendored/optional.hpp has the following license -Copyright (c) 2018 Sven Sauleau +Boost Software License - Version 1.0 - August 17th, 2003 -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +The file cpp/src/arrow/vendored/musl/strptime.c has the following license + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -Package Title: @webassemblyjs/wast-printer (1.8.5) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +The file cpp/cmake_modules/BuildUtils.cmake contains code from +https://gist.github.com/cristianadam/ef920342939a89fae3e8a85ca9459b49 -MIT License +which is made available under the MIT license -Copyright (c) 2018 Sven Sauleau +Copyright (c) 2019 Cristian Adam Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -6555,54 +7465,83 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: @xtuc/ieee754 (1.2.0) -------------------------------------------------------------------------------- -* Declared Licenses * -BSD-3-Clause - +The files in cpp/src/arrow/vendored/portable-snippets/ contain code from -Copyright (c) 2008, Fair Oaks Labs, Inc. -All rights reserved. +https://github.com/nemequ/portable-snippets -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +and have the following copyright notice: - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +Each source file contains a preamble explaining the license situation +for that file, which takes priority over this file. With the +exception of some code pulled in from other repositories (such as +µnit, an MIT-licensed project which is used for testing), the code is +public domain, released using the CC0 1.0 Universal dedication (*). - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +(*) https://creativecommons.org/publicdomain/zero/1.0/legalcode + + + +* Other Licenses * +BSD-3-Clause, Multi-license: BSD-2-Clause OR BSD-3-Clause OR MIT OR NCSA, Multi-license: Apache-2.0 OR MIT, Multi-license: BSD-2-Clause OR BSD-3-Clause OR BSL-1.0 OR CC0-1.0 OR CC-BY-3.0 OR JSON OR MIT OR NCSA OR Protobuf OR public-domain OR Zlib, MIT, BSL-1.0, NCSA, BSD-2-Clause, CC0-1.0, Zlib + +* BSD-3-Clause * + +Copyright (c) yyyy] [name of copyright owner] . All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - * Neither the name of Fair Oaks Labs, Inc. nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* Multi-license: BSD-2-Clause OR BSD-3-Clause OR MIT OR NCSA * +Copyright (c) yyyy] [name of copyright owner] --------------------------------------------------------------------------------- -Package Title: @xtuc/long (4.2.2) --------------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -* Declared Licenses * -Apache-2.0 + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* Multi-license: Apache-2.0 OR MIT * Apache License @@ -6807,260 +7746,340 @@ Apache-2.0 See the License for the specific language governing permissions and limitations under the License. +-------------------------------------------------------------------------------- +src/plasma/fling.cc and src/plasma/fling.h: Apache 2.0 --------------------------------------------------------------------------------- -Package Title: acorn (3.3.0) --------------------------------------------------------------------------------- +Copyright 2013 Sharvil Nanavati -* Declared Licenses * -MIT +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 -Copyright (C) 2012-2016 by various contributors (see AUTHORS) +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. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +-------------------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +src/plasma/thirdparty/ae: Modified / 3-Clause BSD -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +Copyright (c) 2006-2010, Salvatore Sanfilippo +All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Redis nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -Package Title: acorn (5.7.4) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +src/plasma/thirdparty/dlmalloc.c: CC0 +This is a version (aka dlmalloc) of malloc/free/realloc written by +Doug Lea and released to the public domain, as explained at +http://creativecommons.org/publicdomain/zero/1.0/ Send questions, +comments, complaints, performance data, etc to dl@cs.oswego.edu -Copyright (C) 2012-2018 by various contributors (see AUTHORS) +-------------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +src/plasma/common.cc (some portions) -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +Copyright (c) Austin Appleby (aappleby (AT) gmail) -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +Some portions of this file are derived from code in the MurmurHash project +All code is released to the public domain. For business purposes, Murmurhash is +under the MIT license. +https://sites.google.com/site/murmurhash/ -------------------------------------------------------------------------------- -Package Title: acorn (6.4.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT +src/arrow/util (some portions): Apache 2.0, and 3-clause BSD -Copyright (C) 2012-2018 by various contributors (see AUTHORS) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Some portions of this module are derived from code in the Chromium project, +copyright (c) Google inc and (c) The Chromium Authors and licensed under the +Apache 2.0 License or the under the 3-clause BSD license: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + Copyright (c) 2013 The Chromium Authors. All rights reserved. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -Package Title: acorn (7.4.1) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +This project includes code from Daniel Lemire's FrameOfReference project. +https://github.com/lemire/FrameOfReference/blob/6ccaf9e97160f9a3b299e23a8ef739e711ef0c71/src/bpacking.cpp -MIT License +Copyright: 2013 Daniel Lemire +Home page: http://lemire.me/en/ +Project page: https://github.com/lemire/FrameOfReference +License: Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2012-2018 by various contributors (see AUTHORS) +-------------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +This project includes code from the TensorFlow project -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +Copyright 2015 The TensorFlow Authors. All Rights Reserved. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +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. --------------------------------------------------------------------------------- -Package Title: acorn (8.10.0) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +This project includes code from the NumPy project. +https://github.com/numpy/numpy/blob/e1f191c46f2eebd6cb892a4bfe14d9dd43a06c4e/numpy/core/src/multiarray/multiarraymodule.c#L2910 -MIT License +https://github.com/numpy/numpy/blob/68fd82271b9ea5a9e50d4e761061dfcca851382a/numpy/core/src/multiarray/datetime.c -Copyright (C) 2012-2022 by various contributors (see AUTHORS) +Copyright (c) 2005-2017, NumPy Developers. +All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of the NumPy Developers nor the names of any + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: acorn-jsx (3.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT +This project includes code from the Boost project -Copyright (C) 2012-2014 by Ingvar Stepanyan +Boost Software License - Version 1.0 - August 17th, 2003 -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +This project includes code from the FlatBuffers project --------------------------------------------------------------------------------- -Package Title: acorn-jsx (5.3.2) --------------------------------------------------------------------------------- +Copyright 2014 Google Inc. -* Declared Licenses * -MIT +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 -Copyright (C) 2012-2017 by Ingvar Stepanyan +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. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +-------------------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +This project includes code from the tslib project -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +Copyright 2015 Microsoft Corporation. All rights reserved. + +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. --------------------------------------------------------------------------------- -Package Title: add-dom-event-listener (1.1.0) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +This project includes code from the jemalloc project +https://github.com/jemalloc/jemalloc -The MIT License (MIT) +Copyright (C) 2002-2017 Jason Evans . +All rights reserved. +Copyright (C) 2007-2012 Mozilla Foundation. All rights reserved. +Copyright (C) 2009-2017 Facebook, Inc. All rights reserved. -Copyright (c) 2014-present yiminghe +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice(s), + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice(s), + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +This project includes code from the Go project, BSD 3-clause license + PATENTS +weak patent termination clause +(https://github.com/golang/go/blob/master/PATENTS). -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -Package Title: aec (39771216ff4c63d11f5e604076f9c45e8be1067b) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +This project includes code from the hs2client +https://github.com/cloudera/hs2client -The MIT License (MIT) +Copyright 2016 Cloudera Inc. -Copyright (c) 2016 Taihei Morikuni +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 -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +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. + +-------------------------------------------------------------------------------- + +The script ci/scripts/util_wait_for_it.sh has the following license + +Copyright (c) 2016 Giles Hall + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. @@ -7073,416 +8092,64 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: aescts (72347e1bd92aa67384e4f8c0e8a6d7cfaa716eea) -------------------------------------------------------------------------------- -* Declared Licenses * -Apache-2.0 +The script r/configure has the following license (MIT) +Copyright (c) 2017, Jeroen Ooms and Jim Hester - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - 1. Definitions. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +-------------------------------------------------------------------------------- - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +cpp/src/arrow/util/logging.cc, cpp/src/arrow/util/logging.h and +cpp/src/arrow/util/logging-test.cc are adapted from +Ray Project (https://github.com/ray-project/ray) (Apache 2.0). - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - 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. - - - --------------------------------------------------------------------------------- -Package Title: afero (2a70f2bb2db1524bf2aa3ca0cfebefa8d6367b7b) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +Copyright (c) 2016 Ray Project (https://github.com/ray-project/ray) - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. +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. -------------------------------------------------------------------------------- -Package Title: ajv (6.12.6) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - +The files cpp/src/arrow/vendored/datetime/date.h, cpp/src/arrow/vendored/datetime/tz.h, +cpp/src/arrow/vendored/datetime/tz_private.h, cpp/src/arrow/vendored/datetime/ios.h, +cpp/src/arrow/vendored/datetime/ios.mm, +cpp/src/arrow/vendored/datetime/tz.cpp are adapted from +Howard Hinnant's date library (https://github.com/HowardHinnant/date) +It is licensed under MIT license. The MIT License (MIT) - -Copyright (c) 2015-2017 Evgeny Poberezkin +Copyright (c) 2015, 2016, 2017 Howard Hinnant +Copyright (c) 2016 Adrian Colomitchi +Copyright (c) 2017 Florian Dang +Copyright (c) 2017 Paul Thompson +Copyright (c) 2018 Tomasz Kamiński Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -7502,20 +8169,13 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: ajv (8.12.0) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT - - -The MIT License (MIT) +The file cpp/src/arrow/util/utf8.h includes code adapted from the page + https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ +with the following license (MIT) -Copyright (c) 2015-2021 Evgeny Poberezkin +Copyright (c) 2008-2009 Bjoern Hoehrmann Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -7535,89 +8195,440 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -------------------------------------------------------------------------------- -Package Title: ajv-errors (1.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT +The file cpp/src/arrow/vendored/string_view.hpp has the following license -MIT License - -Copyright (c) 2017 Evgeny Poberezkin +Boost Software License - Version 1.0 - August 17th, 2003 -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: ajv-keywords (3.5.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - -The MIT License (MIT) +The file cpp/src/arrow/vendored/variant.hpp has the following license -Copyright (c) 2016 Evgeny Poberezkin +Boost Software License - Version 1.0 - August 17th, 2003 -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -Package Title: analysis (5d13d1c39508670d6fe58bea385793ce226ed103) -------------------------------------------------------------------------------- -* Declared Licenses * -Apache-2.0 - +The files in cpp/src/arrow/vendored/xxhash/ have the following license +(BSD 2-Clause License) +xxHash Library +Copyright (c) 2012-2014, Yann Collet +All rights reserved. - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. - 1. Definitions. +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at : +- xxHash homepage: http://www.xxhash.com +- xxHash source repository : https://github.com/Cyan4973/xxHash + +-------------------------------------------------------------------------------- + +The files in cpp/src/arrow/vendored/double-conversion/ have the following license +(BSD 3-Clause License) + +Copyright 2006-2011, the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- + +The files in cpp/src/arrow/vendored/uriparser/ have the following license +(BSD 3-Clause License) + +uriparser - RFC 3986 URI parsing library + +Copyright (C) 2007, Weijia Song +Copyright (C) 2007, Sebastian Pipping +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + * Neither the name of the nor the names of its + contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- + +The files under dev/tasks/conda-recipes have the following license + +BSD 3-clause license +Copyright (c) 2015-2018, conda-forge +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- + +The files in cpp/src/arrow/vendored/utfcpp/ have the following license + +Copyright 2006-2018 Nemanja Trifunovic + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------------------- + +This project includes code from Apache Kudu. + + * cpp/cmake_modules/CompilerInfo.cmake is based on Kudu's cmake_modules/CompilerInfo.cmake + +Copyright: 2016 The Apache Software Foundation. +Home page: https://kudu.apache.org/ +License: http://www.apache.org/licenses/LICENSE-2.0 + +-------------------------------------------------------------------------------- + +This project includes code from Apache Impala (incubating), formerly +Impala. The Impala code and rights were donated to the ASF as part of the +Incubator process after the initial code imports into Apache Parquet. + +Copyright: 2012 Cloudera, Inc. +Copyright: 2016 The Apache Software Foundation. +Home page: http://impala.apache.org/ +License: http://www.apache.org/licenses/LICENSE-2.0 + +-------------------------------------------------------------------------------- + +This project includes code from Apache Aurora. + +* dev/release/{release,changelog,release-candidate} are based on the scripts from + Apache Aurora + +Copyright: 2016 The Apache Software Foundation. +Home page: https://aurora.apache.org/ +License: http://www.apache.org/licenses/LICENSE-2.0 + +-------------------------------------------------------------------------------- + +This project includes code from the Google styleguide. + +* cpp/build-support/cpplint.py is based on the scripts from the Google styleguide. + +Copyright: 2009 Google Inc. All rights reserved. +Homepage: https://github.com/google/styleguide +License: 3-clause BSD + +-------------------------------------------------------------------------------- + +This project includes code from Snappy. + +* cpp/cmake_modules/{SnappyCMakeLists.txt,SnappyConfig.h} are based on code + from Google's Snappy project. + +Copyright: 2009 Google Inc. All rights reserved. +Homepage: https://github.com/google/snappy +License: 3-clause BSD + +-------------------------------------------------------------------------------- + +This project includes code from the manylinux project. + +* python/manylinux1/scripts/{build_python.sh,python-tag-abi-tag.py, + requirements.txt} are based on code from the manylinux project. + +Copyright: 2016 manylinux +Homepage: https://github.com/pypa/manylinux +License: The MIT License (MIT) + +-------------------------------------------------------------------------------- + +This project includes code from the cymove project: + +* python/pyarrow/includes/common.pxd includes code from the cymove project + +The MIT License (MIT) +Copyright (c) 2019 Omer Ozarslan + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +OR OTHER DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------------------- + +The projects includes code from the Ursabot project under the dev/archery +directory. + +License: BSD 2-Clause + +Copyright 2019 RStudio, Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- + +This project include code from CMake. + +* cpp/cmake_modules/FindGTest.cmake is based on code from CMake. + +Copyright: Copyright 2000-2019 Kitware, Inc. and Contributors +Homepage: https://gitlab.kitware.com/cmake/cmake +License: 3-clause BSD + +-------------------------------------------------------------------------------- + +This project include code from mingw-w64. + +* cpp/src/arrow/util/cpu-info.cc has a polyfill for mingw-w64 < 5 + +Copyright (c) 2009 - 2013 by the mingw-w64 project +Homepage: https://mingw-w64.org +License: Zope Public License (ZPL) Version 2.1. + +--------------------------------------------------------------------------------- + +This project include code from Google's Asylo project. + +* cpp/src/arrow/result.h is based on status_or.h + +Copyright (c) Copyright 2017 Asylo authors +Homepage: https://asylo.dev/ +License: Apache 2.0 + +-------------------------------------------------------------------------------- + +This project includes code from Google's protobuf project + +* cpp/src/arrow/result.h ARROW_ASSIGN_OR_RAISE is based off ASSIGN_OR_RETURN + +Copyright 2008 Google Inc. All rights reserved. +Homepage: https://developers.google.com/protocol-buffers/ +License: + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Code generated by the Protocol Buffer compiler is owned by the owner +of the input file used when generating it. This code is not +standalone and requires a support library to be linked with it. This +support library is itself covered by the above license. + +-------------------------------------------------------------------------------- + +3rdparty dependency LLVM is statically linked in certain binary distributions. +Additionally some sections of source code have been derived from sources in LLVM +and have been clearly labeled as such. LLVM has the following license: + +============================================================================== +The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: +============================================================================== + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. @@ -7676,14 +8687,14 @@ Apache-2.0 on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - 2. Grant of Copyright License. Subject to the terms and conditions of + 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - 3. Grant of Patent License. Subject to the terms and conditions of + 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, @@ -7699,7 +8710,7 @@ Apache-2.0 granted to You under this License for that Work shall terminate as of the date such litigation is filed. - 4. Redistribution. You may reproduce and distribute copies of the + 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: @@ -7740,7 +8751,7 @@ Apache-2.0 reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - 5. Submission of Contributions. Unless You explicitly state otherwise, + 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. @@ -7748,12 +8759,12 @@ Apache-2.0 the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - 6. Trademarks. This License does not grant permission to use the trade + 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - 7. Disclaimer of Warranty. Unless required by applicable law or + 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or @@ -7763,7 +8774,7 @@ Apache-2.0 appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - 8. Limitation of Liability. In no event and under no legal theory, + 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be @@ -7775,7 +8786,7 @@ Apache-2.0 other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - 9. Accepting Warranty or Additional Liability. While redistributing + 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this @@ -7786,9 +8797,9 @@ Apache-2.0 incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - END OF TERMS AND CONDITIONS + END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. + APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" @@ -7799,179 +8810,190 @@ Apache-2.0 same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright [yyyy] [name of copyright owner] - 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 + 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. - + 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. --------------------------------------------------------------------------------- -Package Title: analytics-node (3.5.0) --------------------------------------------------------------------------------- +---- LLVM Exceptions to the Apache 2.0 License ---- -* Declared Licenses * -MIT +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into an Object form of such source code, you +may redistribute such embedded portions in such Object form without complying +with the conditions of Sections 4(a), 4(b) and 4(d) of the License. +In addition, if you combine or link compiled forms of this Software with +software that is licensed under the GPLv2 ("Combined Software") and if a +court of competent jurisdiction determines that the patent provision (Section +3), the indemnity provision (Section 9) or other Section of the License +conflicts with the conditions of the GPLv2, you may retroactively and +prospectively choose to deem waived or otherwise exclude such Section(s) of +the License, but only in their entirety and only with respect to the Combined +Software. -Copyright (c) 2017 Segment Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +============================================================================== +Software from third parties included in the LLVM Project: +============================================================================== +The LLVM Project contains third party software which is under different license +terms. All such code will be identified clearly using at least one of two +mechanisms: +1) It will be in a separate directory tree with its own `LICENSE.txt` or + `LICENSE` file at the top containing the specific license and restrictions + which apply to that software, or +2) It will contain specific license and restriction terms at the top of every + file. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +-------------------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +3rdparty dependency gRPC is statically linked in certain binary +distributions, like the python wheels. gRPC has the following license: +Copyright 2014 gRPC authors. --------------------------------------------------------------------------------- -Package Title: ansi (c9f0611b6c70fa404402220bebec6d7fcc63741c) --------------------------------------------------------------------------------- +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 -* Declared Licenses * -MIT + 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. -MIT License +-------------------------------------------------------------------------------- -Copyright (c) 2021 Christian Muehlhaeuser +3rdparty dependency Apache Thrift is statically linked in certain binary +distributions, like the python wheels. Apache Thrift has the following license: -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Apache Thrift +Copyright (C) 2006 - 2019, The Apache Software Foundation -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +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. --------------------------------------------------------------------------------- -Package Title: ansi-colors (4.1.3) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +3rdparty dependency Apache ORC is statically linked in certain binary +distributions, like the python wheels. Apache ORC has the following license: +Apache ORC +Copyright 2013-2019 The Apache Software Foundation -The MIT License (MIT) +This product includes software developed by The Apache Software +Foundation (http://www.apache.org/). -Copyright (c) 2015-present, Brian Woodward. +This product includes software developed by Hewlett-Packard: +(c) Copyright [2014-2015] Hewlett-Packard Development Company, L.P -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +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 -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + http://www.apache.org/licenses/LICENSE-2.0 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +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. +-------------------------------------------------------------------------------- +3rdparty dependency zstd is statically linked in certain binary +distributions, like the python wheels. ZSTD has the following license: --------------------------------------------------------------------------------- -Package Title: ansi-regex (2.1.1) --------------------------------------------------------------------------------- +BSD License -* Declared Licenses * -MIT +For Zstandard software +Copyright (c) 2016-present, Facebook, Inc. All rights reserved. -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -Package Title: ansi-regex (4.1.1) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +3rdparty dependency lz4 is statically linked in certain binary +distributions, like the python wheels. lz4 has the following license: +LZ4 Library +Copyright (c) 2011-2016, Yann Collet +All rights reserved. -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -Package Title: ansi-regex (5.0.1) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +3rdparty dependency Brotli is statically linked in certain binary +distributions, like the python wheels. Brotli has the following license: +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. -Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -7979,393 +9001,637 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. --------------------------------------------------------------------------------- -Package Title: ansi-styles (2.2.1) -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +3rdparty dependency rapidjson is statically linked in certain binary +distributions, like the python wheels. rapidjson and its dependencies have the +following licenses: +Tencent is pleased to support the open source community by making RapidJSON +available. -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. +All rights reserved. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +If you have downloaded a copy of the RapidJSON binary from Tencent, please note +that the RapidJSON binary is licensed under the MIT License. +If you have downloaded a copy of the RapidJSON source code from Tencent, please +note that RapidJSON source code is licensed under the MIT License, except for +the third-party components listed below which are subject to different license +terms. Your integration of RapidJSON into your own projects may require +compliance with the MIT License, as well as the other licenses applicable to +the third-party components included within RapidJSON. To avoid the problematic +JSON license in your own projects, it's sufficient to exclude the +bin/jsonchecker/ directory, as it's the only code under the JSON license. +A copy of the MIT License is included in this file. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Other dependencies and licenses: + Open Source Software Licensed Under the BSD License: + -------------------------------------------------------------------- --------------------------------------------------------------------------------- -Package Title: ansi-styles (3.2.1) --------------------------------------------------------------------------------- + The msinttypes r29 + Copyright (c) 2006-2013 Alexander Chemeris + All rights reserved. -* Declared Licenses * -MIT + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR + ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + DAMAGE. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + Open Source Software Licensed Under the JSON License: + -------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + json.org + Copyright (c) 2002 JSON.org + All Rights Reserved. + JSON_checker + Copyright (c) 2002 JSON.org + All Rights Reserved. --------------------------------------------------------------------------------- -Package Title: ansi-styles (4.3.0) --------------------------------------------------------------------------------- -* Declared Licenses * -MIT + Terms of the JSON License: + --------------------------------------------------- + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + The Software shall be used for Good, not Evil. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -Package Title: antd (5.6.1) + Terms of the MIT License: + -------------------------------------------------------------------- + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + -------------------------------------------------------------------------------- -* Declared Licenses * -MIT +3rdparty dependency snappy is statically linked in certain binary +distributions, like the python wheels. snappy has the following license: +Copyright 2011, Google Inc. +All rights reserved. -MIT LICENSE +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -Copyright (c) 2015-present Ant UED, https://xtech.antfin.com/ + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of Google Inc. nor the names of its contributors may be + used to endorse or promote products derived from this software without + specific prior written permission. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +=== -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Some of the benchmark data in testdata/ is licensed differently: + - fireworks.jpeg is Copyright 2013 Steinar H. Gunderson, and + is licensed under the Creative Commons Attribution 3.0 license + (CC-BY-3.0). See https://creativecommons.org/licenses/by/3.0/ + for more information. + - kppkn.gtb is taken from the Gaviota chess tablebase set, and + is licensed under the MIT License. See + https://sites.google.com/site/gaviotachessengine/Home/endgame-tablebases-1 + for more information. + + - paper-100k.pdf is an excerpt (bytes 92160 to 194560) from the paper + “Combinatorial Modeling of Chromatin Features Quantitatively Predicts DNA + Replication Timing in _Drosophila_” by Federico Comoglio and Renato Paro, + which is licensed under the CC-BY license. See + http://www.ploscompbiol.org/static/license for more ifnormation. + + - alice29.txt, asyoulik.txt, plrabn12.txt and lcet10.txt are from Project + Gutenberg. The first three have expired copyrights and are in the public + domain; the latter does not have expired copyright, but is still in the + public domain according to the license information + (http://www.gutenberg.org/ebooks/53). --------------------------------------------------------------------------------- -Package Title: anymatch (3.1.3) -------------------------------------------------------------------------------- -* Declared Licenses * -ISC +3rdparty dependency gflags is statically linked in certain binary +distributions, like the python wheels. gflags has the following license: +Copyright (c) 2006, Google Inc. +All rights reserved. -The ISC License +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -Copyright (c) 2019 Elan Shanker, Paul Miller (https://paulmillr.com) + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +3rdparty dependency glog is statically linked in certain binary +distributions, like the python wheels. glog has the following license: +Copyright (c) 2008, Google Inc. +All rights reserved. --------------------------------------------------------------------------------- -Package Title: apd (cb6ebb8e161b24c7a21963bb05a275146ae4eaeb) --------------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -* Declared Licenses * -Apache-2.0 + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +A function gettimeofday in utilities.cc is based on - 1. Definitions. +http://www.google.com/codesearch/p?hl=en#dR3YEbitojA/COPYING&q=GetSystemTimeAsFileTime%20license:bsd - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +The license of this code is: - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +Copyright (c) 2003-2008, Jouni Malinen and contributors +All Rights Reserved. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +3. Neither the name(s) of the above-listed copyright holder(s) nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +-------------------------------------------------------------------------------- - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +3rdparty dependency re2 is statically linked in certain binary +distributions, like the python wheels. re2 has the following license: - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +Copyright (c) 2009 The RE2 Authors. All rights reserved. - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its contributors + may be used to endorse or promote products derived from this + software without specific prior written permission. - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and +-------------------------------------------------------------------------------- - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +3rdparty dependency c-ares is statically linked in certain binary +distributions, like the python wheels. c-ares has the following license: - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +# c-ares license - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. +Copyright (c) 2007 - 2018, Daniel Stenberg with many contributors, see AUTHORS +file. - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +Copyright 1998 by the Massachusetts Institute of Technology. - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided that +the above copyright notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting documentation, and that +the name of M.I.T. not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior permission. +M.I.T. makes no representations about the suitability of this software for any +purpose. It is provided "as is" without express or implied warranty. - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +-------------------------------------------------------------------------------- - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +3rdparty dependency zlib is redistributed as a dynamically linked shared +library in certain binary distributions, like the python wheels. In the future +this will likely change to static linkage. zlib has the following license: - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.11, January 15th, 2017 - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. + Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler - END OF TERMS AND CONDITIONS + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. - APPENDIX: How to apply the Apache License to your work. + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. - Copyright {} + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu - 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 +3rdparty dependency openssl is redistributed as a dynamically linked shared +library in certain binary distributions, like the python wheels. openssl +preceding version 3 has the following license: - 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. + LICENSE ISSUES + ============== + + The OpenSSL toolkit stays under a double license, i.e. both the conditions of + the OpenSSL License and the original SSLeay license apply to the toolkit. + See below for the actual license texts. + OpenSSL License + --------------- +/* ==================================================================== + * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + Original SSLeay License + ----------------------- -* Other Licenses * -BSD-3-Clause +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +-------------------------------------------------------------------------------- +This project includes code from the rtools-backports project. -Copyright (c) 2015 The Go Authors. All rights reserved. . All rights reserved. +* ci/scripts/PKGBUILD and ci/scripts/r_windows_build.sh are based on code + from the rtools-backports project. + +Copyright: Copyright (c) 2013 - 2019, Алексей and Jeroen Ooms. +All rights reserved. +Homepage: https://github.com/r-windows/rtools-backports +License: 3-clause BSD + +-------------------------------------------------------------------------------- + +Some code from pandas has been adapted for the pyarrow codebase. pandas is +available under the 3-clause BSD license, which follows: + +pandas license +============== + +Copyright (c) 2011-2012, Lambda Foundry, Inc. and PyData Development Team +All rights reserved. + +Copyright (c) 2008-2011 AQR Capital Management, LLC +All rights reserved. Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +modification, are permitted provided that the following conditions are +met: - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. + * Neither the name of the copyright holder nor the names of any + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- + +Some bits from DyND, in particular aspects of the build system, have been +adapted from libdynd and dynd-python under the terms of the BSD 2-clause +license + +The BSD 2-Clause License + + Copyright (C) 2011-12, Dynamic NDArray Developers + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Dynamic NDArray Developers list: + + * Mark Wiebe + * Continuum Analytics + +-------------------------------------------------------------------------------- + +Some source code from Ibis (https://github.com/cloudera/ibis) has been adapted +for PyArrow. Ibis is released under the Apache License, Version 2.0. + +-------------------------------------------------------------------------------- + +This project includes code from the autobrew project. + +* r/tools/autobrew and dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb + are based on code from the autobrew project. + +Copyright (c) 2019, Jeroen Ooms +License: MIT +Homepage: https://github.com/jeroen/autobrew + +-------------------------------------------------------------------------------- + +dev/tasks/homebrew-formulae/apache-arrow.rb has the following license: + +BSD 2-Clause License + +Copyright (c) 2009-present, Homebrew contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE @@ -8378,239 +9644,283 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +---------------------------------------------------------------------- --------------------------------------------------------------------------------- -Package Title: appengine (5d1c1d03f8703c2e81478d9a30e9afa2d3e4bd8a) --------------------------------------------------------------------------------- +cpp/src/arrow/vendored/base64.cpp has the following license -* Declared Licenses * -Apache-2.0 +ZLIB License +Copyright (C) 2004-2017 René Nyffenegger +This source code is provided 'as-is', without any express or implied +warranty. In no event will the author be held liable for any damages arising +from the use of this software. - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +Permission is granted to anyone to use this software for any purpose, including +commercial applications, and to alter it and redistribute it freely, subject to +the following restrictions: - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +1. The origin of this source code must not be misrepresented; you must not + claim that you wrote the original source code. If you use this source code + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. - 1. Definitions. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original source code. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +3. This notice may not be removed or altered from any source distribution. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +René Nyffenegger rene.nyffenegger@adp-gmbh.ch - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +-------------------------------------------------------------------------------- - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +The file cpp/src/arrow/vendored/optional.hpp has the following license - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +Boost Software License - Version 1.0 - August 17th, 2003 - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +-------------------------------------------------------------------------------- - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +The file cpp/src/arrow/vendored/musl/strptime.c has the following license - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +Copyright © 2005-2020 Rich Felker, et al. - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +-------------------------------------------------------------------------------- - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +The file cpp/cmake_modules/BuildUtils.cmake contains code from - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. +https://gist.github.com/cristianadam/ef920342939a89fae3e8a85ca9459b49 - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +which is made available under the MIT license - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +Copyright (c) 2019 Cristian Adam - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. +-------------------------------------------------------------------------------- - END OF TERMS AND CONDITIONS +The files in cpp/src/arrow/vendored/portable-snippets/ contain code from - APPENDIX: How to apply the Apache License to your work. +https://github.com/nemequ/portable-snippets - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. +and have the following copyright notice: - Copyright [yyyy] [name of copyright owner] +Each source file contains a preamble explaining the license situation +for that file, which takes priority over this file. With the +exception of some code pulled in from other repositories (such as +µnit, an MIT-licensed project which is used for testing), the code is +public domain, released using the CC0 1.0 Universal dedication (*). - 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 +(*) https://creativecommons.org/publicdomain/zero/1.0/legalcode - 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. +* Multi-license: BSD-2-Clause OR BSD-3-Clause OR BSL-1.0 OR CC0-1.0 OR CC-BY-3.0 OR JSON OR MIT OR NCSA OR Protobuf OR public-domain OR Zlib * + +Copyright (c) yyyy] [name of copyright owner] +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -* Other Licenses * -BSD-3-Clause + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +* MIT * + +Copyright (c) yyyy] [name of copyright owner] +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +* BSL-1.0 * + +Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following: +The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* NCSA * + +Copyright (c) 2003-2010 University of Illinois at Urbana-Champaign. . All rights reserved. +Developed by: + + + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal with the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimers. + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimers in the documentation and/or other materials provided with the distribution. + * Neither the names of , nor the names of its contributors may be used to endorse or promote products derived from this Software without specific prior written permission. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE. -Copyright (c) 2011 The Go Authors. All rights reserved. . All rights reserved. +* BSD-2-Clause * + +Copyright (c) yyyy] [name of copyright owner] Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +* CC0-1.0 * + +<> +CC0 1.0 Universal<> +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + 1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: + i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); + iii. publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and + vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. + 2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. + 3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. + 4. Limitations and Disclaimers. + a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. + d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + +* Zlib * + +This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. +Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: + 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + +-------------------------------------------------------------------------------- +Package Title: asciigraph (748c9ad442544a7b414e6065138420349fe1ad6e) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-3-Clause + + +BSD 3-Clause License + +Copyright (c) 2018, Rohit Gupta +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE @@ -8624,39 +9934,66 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + -------------------------------------------------------------------------------- -Package Title: aproba (1.2.0) +Package Title: async-validator (1.11.5) -------------------------------------------------------------------------------- * Declared Licenses * -ISC +MIT -Copyright (c) 2015, Rebecca Turner +The MIT License (MIT) -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +Copyright (c) 2014-present yiminghe -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: arenaskl (f701008588b9f33126c0bc1c2a47587f2aafbbef) +Package Title: atomic (96800363039fbf926a6c826795797abcde5f07a5) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +Copyright (c) 2016 Uber Technologies, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: aws-sdk-go (23db5a40f4d1f4ede9752ac34c7ed80541a402f3) -------------------------------------------------------------------------------- * Declared Licenses * Apache-2.0 + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -8837,7 +10174,7 @@ Apache-2.0 APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" + boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -8845,7 +10182,7 @@ Apache-2.0 same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright {yyyy} {name of copyright owner} + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -8861,18 +10198,41 @@ Apache-2.0 --------------------------------------------------------------------------------- -Package Title: argparse (1.0.10) --------------------------------------------------------------------------------- +* Other Licenses * +BSD-3-Clause, MIT, RSA-MD -* Declared Licenses * -MIT +* BSD-3-Clause * +Copyright (c) 2009 The Go Authors. All rights reserved. . All rights reserved. -(The MIT License) +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Copyright (C) 2012 by Vitaly Puzrin +* MIT * +Copyright (c) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -8880,286 +10240,81 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +* RSA-MD * +Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved. +License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing this software or this function. +License is also granted to make and use derivative works provided that such works are identified as "derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing the derived work. +RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of any kind. +These notices must be retained in any copies of any part of this documentation and/or software. -------------------------------------------------------------------------------- -Package Title: argparse (2.0.1) +Package Title: axios (0.21.1) -------------------------------------------------------------------------------- * Declared Licenses * -Python-2.0 - - -A. HISTORY OF THE SOFTWARE -========================== - -Python was created in the early 1990s by Guido van Rossum at Stichting -Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands -as a successor of a language called ABC. Guido remains Python's -principal author, although it includes many contributions from others. - -In 1995, Guido continued his work on Python at the Corporation for -National Research Initiatives (CNRI, see http://www.cnri.reston.va.us) -in Reston, Virginia where he released several versions of the -software. - -In May 2000, Guido and the Python core development team moved to -BeOpen.com to form the BeOpen PythonLabs team. In October of the same -year, the PythonLabs team moved to Digital Creations, which became -Zope Corporation. In 2001, the Python Software Foundation (PSF, see -https://www.python.org/psf/) was formed, a non-profit organization -created specifically to own Python-related Intellectual Property. -Zope Corporation was a sponsoring member of the PSF. - -All Python releases are Open Source (see http://www.opensource.org for -the Open Source Definition). Historically, most, but not all, Python -releases have also been GPL-compatible; the table below summarizes -the various releases. - - Release Derived Year Owner GPL- - from compatible? (1) - - 0.9.0 thru 1.2 1991-1995 CWI yes - 1.3 thru 1.5.2 1.2 1995-1999 CNRI yes - 1.6 1.5.2 2000 CNRI no - 2.0 1.6 2000 BeOpen.com no - 1.6.1 1.6 2001 CNRI yes (2) - 2.1 2.0+1.6.1 2001 PSF no - 2.0.1 2.0+1.6.1 2001 PSF yes - 2.1.1 2.1+2.0.1 2001 PSF yes - 2.1.2 2.1.1 2002 PSF yes - 2.1.3 2.1.2 2002 PSF yes - 2.2 and above 2.1.1 2001-now PSF yes - -Footnotes: - -(1) GPL-compatible doesn't mean that we're distributing Python under - the GPL. All Python licenses, unlike the GPL, let you distribute - a modified version without making your changes open source. The - GPL-compatible licenses make it possible to combine Python with - other software that is released under the GPL; the others don't. - -(2) According to Richard Stallman, 1.6.1 is not GPL-compatible, - because its license has a choice of law clause. According to - CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1 - is "not incompatible" with the GPL. +MIT -Thanks to the many outside volunteers who have worked under Guido's -direction to make these releases possible. +Copyright (c) 2014-present Matt Zabriskie -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON -=============================================================== +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 --------------------------------------------- +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -1. This LICENSE AGREEMENT is between the Python Software Foundation -("PSF"), and the Individual or Organization ("Licensee") accessing and -otherwise using this software ("Python") in source or binary form and -its associated documentation. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -2. Subject to the terms and conditions of this License Agreement, PSF hereby -grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, -analyze, test, perform and/or display publicly, prepare derivative works, -distribute, and otherwise use Python alone or in any derivative version, -provided, however, that PSF's License Agreement and PSF's notice of copyright, -i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Python Software Foundation; -All Rights Reserved" are retained in Python alone or in any derivative version -prepared by Licensee. -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python or any part thereof, and wants to make -the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to Python. -4. PSF is making Python available to Licensee on an "AS IS" -basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. +-------------------------------------------------------------------------------- +Package Title: axios-retry (3.1.9) +-------------------------------------------------------------------------------- -5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. Nothing in this License Agreement shall be deemed to create any -relationship of agency, partnership, or joint venture between PSF and -Licensee. This License Agreement does not grant permission to use PSF -trademarks or trade name in a trademark sense to endorse or promote -products or services of Licensee, or any third party. - -8. By copying, installing or otherwise using Python, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. - - -BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0 -------------------------------------------- +* Declared Licenses * +Apache-2.0 -BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 - -1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an -office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the -Individual or Organization ("Licensee") accessing and otherwise using -this software in source or binary form and its associated -documentation ("the Software"). - -2. Subject to the terms and conditions of this BeOpen Python License -Agreement, BeOpen hereby grants Licensee a non-exclusive, -royalty-free, world-wide license to reproduce, analyze, test, perform -and/or display publicly, prepare derivative works, distribute, and -otherwise use the Software alone or in any derivative version, -provided, however, that the BeOpen Python License is retained in the -Software, alone or in any derivative version prepared by Licensee. - -3. BeOpen is making the Software available to Licensee on an "AS IS" -basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE -SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS -AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY -DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -5. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -6. This License Agreement shall be governed by and interpreted in all -respects by the law of the State of California, excluding conflict of -law provisions. Nothing in this License Agreement shall be deemed to -create any relationship of agency, partnership, or joint venture -between BeOpen and Licensee. This License Agreement does not grant -permission to use BeOpen trademarks or trade names in a trademark -sense to endorse or promote products or services of Licensee, or any -third party. As an exception, the "BeOpen Python" logos available at -http://www.pythonlabs.com/logos.html may be used according to the -permissions granted on that web page. - -7. By copying, installing or otherwise using the software, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. - - -CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1 ---------------------------------------- - -1. This LICENSE AGREEMENT is between the Corporation for National -Research Initiatives, having an office at 1895 Preston White Drive, -Reston, VA 20191 ("CNRI"), and the Individual or Organization -("Licensee") accessing and otherwise using Python 1.6.1 software in -source or binary form and its associated documentation. - -2. Subject to the terms and conditions of this License Agreement, CNRI -hereby grants Licensee a nonexclusive, royalty-free, world-wide -license to reproduce, analyze, test, perform and/or display publicly, -prepare derivative works, distribute, and otherwise use Python 1.6.1 -alone or in any derivative version, provided, however, that CNRI's -License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) -1995-2001 Corporation for National Research Initiatives; All Rights -Reserved" are retained in Python 1.6.1 alone or in any derivative -version prepared by Licensee. Alternately, in lieu of CNRI's License -Agreement, Licensee may substitute the following text (omitting the -quotes): "Python 1.6.1 is made available subject to the terms and -conditions in CNRI's License Agreement. This Agreement together with -Python 1.6.1 may be located on the Internet using the following -unique, persistent identifier (known as a handle): 1895.22/1013. This -Agreement may also be obtained from a proxy server on the Internet -using the following URL: http://hdl.handle.net/1895.22/1013". - -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python 1.6.1 or any part thereof, and wants to make -the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to Python 1.6.1. - -4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" -basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. This License Agreement shall be governed by the federal -intellectual property law of the United States, including without -limitation the federal copyright law, and, to the extent such -U.S. federal law does not apply, by the law of the Commonwealth of -Virginia, excluding Virginia's conflict of law provisions. -Notwithstanding the foregoing, with regard to derivative works based -on Python 1.6.1 that incorporate non-separable material that was -previously distributed under the GNU General Public License (GPL), the -law of the Commonwealth of Virginia shall govern this License -Agreement only as to issues arising under or with respect to -Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this -License Agreement shall be deemed to create any relationship of -agency, partnership, or joint venture between CNRI and Licensee. This -License Agreement does not grant permission to use CNRI trademarks or -trade name in a trademark sense to endorse or promote products or -services of Licensee, or any third party. - -8. By clicking on the "ACCEPT" button where indicated, or by copying, -installing or otherwise using Python 1.6.1, Licensee agrees to be -bound by the terms and conditions of this License Agreement. - - ACCEPT - - -CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2 --------------------------------------------------- -Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, -The Netherlands. All rights reserved. +Copyright 2019 Softonic International S.A. -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of Stichting Mathematisch -Centrum or CWI not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. +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 -STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE -FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + 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. -------------------------------------------------------------------------------- -Package Title: arr-diff (4.0.0) +Package Title: azure-sdk-for-go (19034cd08ea6c46c1acc2e3da242fdae7b6926cc) -------------------------------------------------------------------------------- * Declared Licenses * @@ -9168,7 +10323,7 @@ MIT The MIT License (MIT) -Copyright (c) 2014-2017, Jon Schlinkert +Copyright (c) Microsoft Corporation. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -9177,21 +10332,40 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +* Other Licenses * +Apache-2.0 + + +Copyright Microsoft Corporation + +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. -------------------------------------------------------------------------------- -Package Title: arr-flatten (1.1.0) +Package Title: azure-sdk-for-go (3a7a4f3e6a5e676a2da09147753394b6c44e2d3c) -------------------------------------------------------------------------------- * Declared Licenses * @@ -9200,7 +10374,7 @@ MIT The MIT License (MIT) -Copyright (c) 2014-2017, Jon Schlinkert. +Copyright (c) Microsoft Corporation. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -9209,28 +10383,50 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +* Other Licenses * +Apache-2.0 + + +Copyright Microsoft Corporation. All rights reserved. + +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. + + +-------------------------------------------------------------------------------- +Package Title: azure-sdk-for-go (619b9be70883c10aba943df9bd92edc7f7275882) -------------------------------------------------------------------------------- -Package Title: array-tree-filter (2.1.0) --------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright (c) +The MIT License (MIT) + +Copyright (c) Microsoft Corporation. + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -9250,15 +10446,151 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +* Other Licenses * +AML, IPA + +* AML * + +Copyright: Copyright (c) 2006 by Apple Computer, Inc., All Rights Reserved. +IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in consideration of your agreement to the following terms, and your use, installation, modification or redistribution of this Apple software constitutes acceptance of these terms. If you do not agree with these terms, please do not use, install, modify or redistribute this Apple software. +In consideration of your agreement to abide by the following terms, and subject to these terms, Apple grants you a personal, non-exclusive license, under Apple's copyrights in this original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the Apple Software, with or without modifications, in source and/or binary forms; provided that if you redistribute the Apple Software in its entirety and without modifications, you must retain this notice and the following text and disclaimers in all such redistributions of the Apple Software. Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to endorse or promote products derived from the Apple Software without specific prior written permission from Apple. Except as expressly stated in this notice, no other rights or licenses, express or implied, are granted by Apple herein, including but not limited to any patent rights that may be infringed by your derivative works or by other works in which the Apple Software may be incorporated. +The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. +IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +* IPA * + +The Licensor provides the Licensed Program (as defined in Article 1 below) under the terms of this license agreement ("Agreement"). Any use, reproduction or distribution of the Licensed Program, or any exercise of rights under this Agreement by a Recipient (as defined in Article 1 below) constitutes the Recipient's acceptance of this Agreement. +Article 1 (Definitions) + 1. "Digital Font Program" shall mean a computer program containing, or used to render or display fonts. + 2. "Licensed Program" shall mean a Digital Font Program licensed by the Licensor under this Agreement. + 3. "Derived Program" shall mean a Digital Font Program created as a result of a modification, addition, deletion, replacement or any other adaptation to or of a part or all of the Licensed Program, and includes a case where a Digital Font Program newly created by retrieving font information from a part or all of the Licensed Program or Embedded Fonts from a Digital Document File with or without modification of the retrieved font information. + 4. "Digital Content" shall mean products provided to end users in the form of digital data, including video content, motion and/or still pictures, TV programs or other broadcasting content and products consisting of character text, pictures, photographic images, graphic symbols and/or the like. + 5. "Digital Document File" shall mean a PDF file or other Digital Content created by various software programs in which a part or all of the Licensed Program becomes embedded or contained in the file for the display of the font ("Embedded Fonts"). Embedded Fonts are used only in the display of characters in the particular Digital Document File within which they are embedded, and shall be distinguished from those in any Digital Font Program, which may be used for display of characters outside that particular Digital Document File. + 6. "Computer" shall include a server in this Agreement. + 7. "Reproduction and Other Exploitation" shall mean reproduction, transfer, distribution, lease, public transmission, presentation, exhibition, adaptation and any other exploitation. + 8. "Recipient" shall mean anyone who receives the Licensed Program under this Agreement, including one that receives the Licensed Program from a Recipient. +Article 2 (Grant of License) +The Licensor grants to the Recipient a license to use the Licensed Program in any and all countries in accordance with each of the provisions set forth in this Agreement. However, any and all rights underlying in the Licensed Program shall be held by the Licensor. In no sense is this Agreement intended to transfer any right relating to the Licensed Program held by the Licensor except as specifically set forth herein or any right relating to any trademark, trade name, or service mark to the Recipient. + 1. The Recipient may install the Licensed Program on any number of Computers and use the same in accordance with the provisions set forth in this Agreement. + 2. The Recipient may use the Licensed Program, with or without modification in printed materials or in Digital Content as an expression of character texts or the like. + 3. The Recipient may conduct Reproduction and Other Exploitation of the printed materials and Digital Content created in accordance with the preceding Paragraph, for commercial or non-commercial purposes and in any form of media including but not limited to broadcasting, communication and various recording media. + 4. If any Recipient extracts Embedded Fonts from a Digital Document File to create a Derived Program, such Derived Program shall be subject to the terms of this agreement. + 5. If any Recipient performs Reproduction or Other Exploitation of a Digital Document File in which Embedded Fonts of the Licensed Program are used only for rendering the Digital Content within such Digital Document File then such Recipient shall have no further obligations under this Agreement in relation to such actions. + 6. The Recipient may reproduce the Licensed Program as is without modification and transfer such copies, publicly transmit or otherwise redistribute the Licensed Program to a third party for commercial or non-commercial purposes ("Redistribute"), in accordance with the provisions set forth in Article 3 Paragraph 2. + 7. The Recipient may create, use, reproduce and/or Redistribute a Derived Program under the terms stated above for the Licensed Program: provided, that the Recipient shall follow the provisions set forth in Article 3 Paragraph 1 when Redistributing the Derived Program. +Article 3 (Restriction) +The license granted in the preceding Article shall be subject to the following restrictions: + 1. If a Derived Program is Redistributed pursuant to Paragraph 4 and 7 of the preceding Article, the following conditions must be met : + (1) The following must be also Redistributed together with the Derived Program, or be made available online or by means of mailing mechanisms in exchange for a cost which does not exceed the total costs of postage, storage medium and handling fees: + (a) a copy of the Derived Program; and + (b) any additional file created by the font developing program in the course of creating the Derived Program that can be used for further modification of the Derived Program, if any. + (2) It is required to also Redistribute means to enable recipients of the Derived Program to replace the Derived Program with the Licensed Program first released under this License (the "Original Program"). Such means may be to provide a difference file from the Original Program, or instructions setting out a method to replace the Derived Program with the Original Program. + (3) The Recipient must license the Derived Program under the terms and conditions of this Agreement. + (4) No one may use or include the name of the Licensed Program as a program name, font name or file name of the Derived Program. + (5) Any material to be made available online or by means of mailing a medium to satisfy the requirements of this paragraph may be provided, verbatim, by any party wishing to do so. + 2. If the Recipient Redistributes the Licensed Program pursuant to Paragraph 6 of the preceding Article, the Recipient shall meet all of the following conditions: + (1) The Recipient may not change the name of the Licensed Program. + (2) The Recipient may not alter or otherwise modify the Licensed Program. + (3) The Recipient must attach a copy of this Agreement to the Licensed Program. + 3. THIS LICENSED PROGRAM IS PROVIDED BY THE LICENSOR "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTY AS TO THE LICENSED PROGRAM OR ANY DERIVED PROGRAM, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT SHALL THE LICENSOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXTENDED, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO; PROCUREMENT OF SUBSTITUTED GOODS OR SERVICE; DAMAGES ARISING FROM SYSTEM FAILURE; LOSS OR CORRUPTION OF EXISTING DATA OR PROGRAM; LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE INSTALLATION, USE, THE REPRODUCTION OR OTHER EXPLOITATION OF THE LICENSED PROGRAM OR ANY DERIVED PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + 4. The Licensor is under no obligation to respond to any technical questions or inquiries, or provide any other user support in connection with the installation, use or the Reproduction and Other Exploitation of the Licensed Program or Derived Programs thereof. +Article 4 (Termination of Agreement) + 1. The term of this Agreement shall begin from the time of receipt of the Licensed Program by the Recipient and shall continue as long as the Recipient retains any such Licensed Program in any way. + 2. Notwithstanding the provision set forth in the preceding Paragraph, in the event of the breach of any of the provisions set forth in this Agreement by the Recipient, this Agreement shall automatically terminate without any notice. In the case of such termination, the Recipient may not use or conduct Reproduction and Other Exploitation of the Licensed Program or a Derived Program: provided that such termination shall not affect any rights of any other Recipient receiving the Licensed Program or the Derived Program from such Recipient who breached this Agreement. +Article 5 (Governing Law) + 1. IPA may publish revised and/or new versions of this License. In such an event, the Recipient may select either this Agreement or any subsequent version of the Agreement in using, conducting the Reproduction and Other Exploitation of, or Redistributing the Licensed Program or a Derived Program. Other matters not specified above shall be subject to the Copyright Law of Japan and other related laws and regulations of Japan. + 2. This Agreement shall be construed under the laws of Japan. + + -------------------------------------------------------------------------------- -Package Title: array-union (2.1.0) +Package Title: azure-sdk-for-go (e3202264a0d49f5767c1618dac4ebac39e65980f) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright (c) Sindre Sorhus (sindresorhus.com) +The MIT License (MIT) + +Copyright (c) Microsoft Corporation. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +* Other Licenses * +Apache-2.0 + + +Copyright Microsoft Corporation. All rights reserved. + +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. + + +-------------------------------------------------------------------------------- +Package Title: babel-polyfill (6.26.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +Copyright (c) 2020-present Nicolò Ribaudo and other contributors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +-------------------------------------------------------------------------------- +Package Title: babel-runtime (6.26.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +Copyright (c) 2014-present Sebastian McKenzie and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -9279,7 +10611,112 @@ SOFTWARE. -------------------------------------------------------------------------------- -Package Title: array-unique (0.3.2) +Package Title: backoff (6b0e4ad0cd65431b217393bff47d1dff727b264b) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT License (MIT) + +Copyright (c) 2014 Cenk Altı + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: big.js (5.2.2) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT Licence (Expat). + +Copyright (c) 2018 Michael Mclaughlin + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + + +-------------------------------------------------------------------------------- +Package Title: blackfriday (4c9bf9512682b995722660a4196c0013228e2049) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-2-Clause + + +Blackfriday is distributed under the Simplified BSD License: + +> Copyright © 2011 Russ Ross +> All rights reserved. +> +> Redistribution and use in source and binary forms, with or without +> modification, are permitted provided that the following conditions +> are met: +> +> 1. Redistributions of source code must retain the above copyright +> notice, this list of conditions and the following disclaimer. +> +> 2. Redistributions in binary form must reproduce the above +> copyright notice, this list of conditions and the following +> disclaimer in the documentation and/or other materials provided with +> the distribution. +> +> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +> "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +> LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +> FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +> COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +> INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +> BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +> LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +> CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +> LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +> ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +> POSSIBILITY OF SUCH DAMAGE. + + + +-------------------------------------------------------------------------------- +Package Title: bluebird (3.5.1) -------------------------------------------------------------------------------- * Declared Licenses * @@ -9288,7 +10725,7 @@ MIT The MIT License (MIT) -Copyright (c) 2014-2016, Jon Schlinkert +Copyright (c) 2013-2017 Petka Antonov Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -9302,7 +10739,7 @@ all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN @@ -9311,13 +10748,12 @@ THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: arrow (ac86123a3f013ba1eeac2b66c2ccd00810c67871) +Package Title: btree (479b5e81b0a93ec038d201b0b33d17db599531d3) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0, Multi-license: Apache-2.0 OR BSD-2-Clause OR BSD-3-Clause OR BSL-1.0 OR CC0-1.0 OR CC-BY-3.0 OR JSON OR MIT OR Protobuf OR public-domain OR Zlib +Apache-2.0 -* Apache-2.0 * Apache License @@ -9522,364 +10958,577 @@ Apache-2.0, Multi-license: Apache-2.0 OR BSD-2-Clause OR BSD-3-Clause OR BSL-1.0 See the License for the specific language governing permissions and limitations under the License. --------------------------------------------------------------------------------- -src/plasma/fling.cc and src/plasma/fling.h: Apache 2.0 -Copyright 2013 Sharvil Nanavati +-------------------------------------------------------------------------------- +Package Title: bubbles (a6a12c4a31ebfa225a55e5f7c0fff1c09060bb28) +-------------------------------------------------------------------------------- -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 +* Declared Licenses * +MIT - 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. +MIT License --------------------------------------------------------------------------------- +Copyright (c) 2020 Charmbracelet, Inc -src/plasma/thirdparty/ae: Modified / 3-Clause BSD +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Copyright (c) 2006-2010, Salvatore Sanfilippo -All rights reserved. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of Redis nor the names of its contributors may be used - to endorse or promote products derived from this software without - specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +Package Title: bubbletea (1024a1c3e9aeb50aeaf1e8b065ed29ac4864d785) -------------------------------------------------------------------------------- -src/plasma/thirdparty/dlmalloc.c: CC0 +* Declared Licenses * +MIT -This is a version (aka dlmalloc) of malloc/free/realloc written by -Doug Lea and released to the public domain, as explained at -http://creativecommons.org/publicdomain/zero/1.0/ Send questions, -comments, complaints, performance data, etc to dl@cs.oswego.edu --------------------------------------------------------------------------------- +MIT License -src/plasma/common.cc (some portions) +Copyright (c) 2020 Charmbracelet, Inc -Copyright (c) Austin Appleby (aappleby (AT) gmail) +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Some portions of this file are derived from code in the MurmurHash project +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -All code is released to the public domain. For business purposes, Murmurhash is -under the MIT license. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -https://sites.google.com/site/murmurhash/ --------------------------------------------------------------------------------- -src/arrow/util (some portions): Apache 2.0, and 3-clause BSD +-------------------------------------------------------------------------------- +Package Title: bubbline (05558f88fdc478db43e981443f3db8f73fa7b192) +-------------------------------------------------------------------------------- -Some portions of this module are derived from code in the Chromium project, -copyright (c) Google inc and (c) The Chromium Authors and licensed under the -Apache 2.0 License or the under the 3-clause BSD license: +* Declared Licenses * +Apache-2.0 - Copyright (c) 2013 The Chromium Authors. All rights reserved. - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 1. Definitions. --------------------------------------------------------------------------------- + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -This project includes code from Daniel Lemire's FrameOfReference project. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -https://github.com/lemire/FrameOfReference/blob/6ccaf9e97160f9a3b299e23a8ef739e711ef0c71/src/bpacking.cpp + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -Copyright: 2013 Daniel Lemire -Home page: http://lemire.me/en/ -Project page: https://github.com/lemire/FrameOfReference -License: Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. --------------------------------------------------------------------------------- + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -This project includes code from the TensorFlow project + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -Copyright 2015 The TensorFlow Authors. All Rights Reserved. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -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 + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. - http://www.apache.org/licenses/LICENSE-2.0 + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -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. + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. --------------------------------------------------------------------------------- + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -This project includes code from the NumPy project. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -https://github.com/numpy/numpy/blob/e1f191c46f2eebd6cb892a4bfe14d9dd43a06c4e/numpy/core/src/multiarray/multiarraymodule.c#L2910 + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -https://github.com/numpy/numpy/blob/68fd82271b9ea5a9e50d4e761061dfcca851382a/numpy/core/src/multiarray/datetime.c + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -Copyright (c) 2005-2017, NumPy Developers. -All rights reserved. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. - * Neither the name of the NumPy Developers nor the names of any - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +Package Title: buffer-writer (1.0.1) -------------------------------------------------------------------------------- -This project includes code from the Boost project +* Declared Licenses * +MIT -Boost Software License - Version 1.0 - August 17th, 2003 -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: +The MIT License (MIT) -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +-------------------------------------------------------------------------------- +Package Title: cachecontrol (858c6e7e6b7e879f681b8ced4da529d4b2918ab6) -------------------------------------------------------------------------------- -This project includes code from the FlatBuffers project +* Declared Licenses * +Apache-2.0 -Copyright 2014 Google Inc. -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 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -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. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION --------------------------------------------------------------------------------- + 1. Definitions. -This project includes code from the tslib project + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -Copyright 2015 Microsoft Corporation. All rights reserved. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -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 + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. - http://www.apache.org/licenses/LICENSE-2.0 + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -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. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. --------------------------------------------------------------------------------- + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -This project includes code from the jemalloc project + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -https://github.com/jemalloc/jemalloc + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -Copyright (C) 2002-2017 Jason Evans . -All rights reserved. -Copyright (C) 2007-2012 Mozilla Foundation. All rights reserved. -Copyright (C) 2009-2017 Facebook, Inc. All rights reserved. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: -1. Redistributions of source code must retain the above copyright notice(s), - this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice(s), - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY EXPRESS -OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -This project includes code from the Go project, BSD 3-clause license + PATENTS -weak patent termination clause -(https://github.com/golang/go/blob/master/PATENTS). + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -Copyright (c) 2009 The Go Authors. All rights reserved. + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and --------------------------------------------------------------------------------- + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -This project includes code from the hs2client + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -https://github.com/cloudera/hs2client + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -Copyright 2016 Cloudera Inc. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -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 + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -http://www.apache.org/licenses/LICENSE-2.0 + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -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. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. --------------------------------------------------------------------------------- + END OF TERMS AND CONDITIONS -The script ci/scripts/util_wait_for_it.sh has the following license + APPENDIX: How to apply the Apache License to your work. -Copyright (c) 2016 Giles Hall + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: + Copyright [yyyy] [name of copyright owner] -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 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 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 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. + + + +* Other Licenses * +BSD-3-Clause + + +Copyright (c) 2009 The Go Authors. All rights reserved. . All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +-------------------------------------------------------------------------------- +Package Title: cancelreader (d11f1e77abf7f8d69d81553ccaaf0b81163541a6) -------------------------------------------------------------------------------- -The script r/configure has the following license (MIT) +* Declared Licenses * +MIT -Copyright (c) 2017, Jeroen Ooms and Jim Hester -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: +MIT License + +Copyright (c) 2022 Erik Geiser and Christian Muehlhaeuser + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. @@ -9892,148 +11541,20 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -cpp/src/arrow/util/logging.cc, cpp/src/arrow/util/logging.h and -cpp/src/arrow/util/logging-test.cc are adapted from -Ray Project (https://github.com/ray-project/ray) (Apache 2.0). -Copyright (c) 2016 Ray Project (https://github.com/ray-project/ray) +-------------------------------------------------------------------------------- +Package Title: charenc (0.0.2) +-------------------------------------------------------------------------------- -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 +* Declared Licenses * +Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause - http://www.apache.org/licenses/LICENSE-2.0 +* Multi-license: BSD-2-Clause OR BSD-3-Clause * -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. - --------------------------------------------------------------------------------- -The files cpp/src/arrow/vendored/datetime/date.h, cpp/src/arrow/vendored/datetime/tz.h, -cpp/src/arrow/vendored/datetime/tz_private.h, cpp/src/arrow/vendored/datetime/ios.h, -cpp/src/arrow/vendored/datetime/ios.mm, -cpp/src/arrow/vendored/datetime/tz.cpp are adapted from -Howard Hinnant's date library (https://github.com/HowardHinnant/date) -It is licensed under MIT license. - -The MIT License (MIT) -Copyright (c) 2015, 2016, 2017 Howard Hinnant -Copyright (c) 2016 Adrian Colomitchi -Copyright (c) 2017 Florian Dang -Copyright (c) 2017 Paul Thompson -Copyright (c) 2018 Tomasz Kamiński - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - --------------------------------------------------------------------------------- - -The file cpp/src/arrow/util/utf8.h includes code adapted from the page - https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ -with the following license (MIT) - -Copyright (c) 2008-2009 Bjoern Hoehrmann - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - --------------------------------------------------------------------------------- - -The file cpp/src/arrow/vendored/string_view.hpp has the following license - -Boost Software License - Version 1.0 - August 17th, 2003 - -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: - -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - --------------------------------------------------------------------------------- - -The file cpp/src/arrow/vendored/variant.hpp has the following license - -Boost Software License - Version 1.0 - August 17th, 2003 - -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: - -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - --------------------------------------------------------------------------------- - -The files in cpp/src/arrow/vendored/xxhash/ have the following license -(BSD 2-Clause License) +Copyright © 2011, Paul Vorbach. All rights reserved. +Copyright © 2009, Jeff Mott. All rights reserved. -xxHash Library -Copyright (c) 2012-2014, Yann Collet All rights reserved. Redistribution and use in source and binary forms, with or without modification, @@ -10041,10 +11562,12 @@ are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +* Neither the name Crypto-JS nor the names of its contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED @@ -10057,217 +11580,114 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -You can contact the author at : -- xxHash homepage: http://www.xxhash.com -- xxHash source repository : https://github.com/Cyan4973/xxHash - --------------------------------------------------------------------------------- - -The files in cpp/src/arrow/vendored/double-conversion/ have the following license -(BSD 3-Clause License) - -Copyright 2006-2011, the V8 project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -The files in cpp/src/arrow/vendored/uriparser/ have the following license -(BSD 3-Clause License) - -uriparser - RFC 3986 URI parsing library - -Copyright (C) 2007, Weijia Song -Copyright (C) 2007, Sebastian Pipping -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. - - * Neither the name of the nor the names of its - contributors may be used to endorse or promote products - derived from this software without specific prior written - permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- +* BSD-3-Clause * -The files under dev/tasks/conda-recipes have the following license +Copyright © 2011, Paul Vorbach. All rights reserved. +Copyright © 2009, Jeff Mott. All rights reserved. -BSD 3-clause license -Copyright (c) 2015-2018, conda-forge All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software without - specific prior written permission. +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. +* Neither the name Crypto-JS nor the names of its contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR -TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -The files in cpp/src/arrow/vendored/utfcpp/ have the following license - -Copyright 2006-2018 Nemanja Trifunovic - -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +Package Title: circbuf (bbbad097214e2918d8543d5201d12bfd7bca254d) -------------------------------------------------------------------------------- -This project includes code from Apache Kudu. - - * cpp/cmake_modules/CompilerInfo.cmake is based on Kudu's cmake_modules/CompilerInfo.cmake +* Declared Licenses * +MIT -Copyright: 2016 The Apache Software Foundation. -Home page: https://kudu.apache.org/ -License: http://www.apache.org/licenses/LICENSE-2.0 --------------------------------------------------------------------------------- +The MIT License (MIT) -This project includes code from Apache Impala (incubating), formerly -Impala. The Impala code and rights were donated to the ASF as part of the -Incubator process after the initial code imports into Apache Parquet. +Copyright (c) 2013 Armon Dadgar -Copyright: 2012 Cloudera, Inc. -Copyright: 2016 The Apache Software Foundation. -Home page: http://impala.apache.org/ -License: http://www.apache.org/licenses/LICENSE-2.0 +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: --------------------------------------------------------------------------------- +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -This project includes code from Apache Aurora. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -* dev/release/{release,changelog,release-candidate} are based on the scripts from - Apache Aurora -Copyright: 2016 The Apache Software Foundation. -Home page: https://aurora.apache.org/ -License: http://www.apache.org/licenses/LICENSE-2.0 +-------------------------------------------------------------------------------- +Package Title: circuitbreaker (a614b14ccf63dd2311d4ff646c30c61b8ed34aa8) -------------------------------------------------------------------------------- -This project includes code from the Google styleguide. - -* cpp/build-support/cpplint.py is based on the scripts from the Google styleguide. - -Copyright: 2009 Google Inc. All rights reserved. -Homepage: https://github.com/google/styleguide -License: 3-clause BSD +* Declared Licenses * +MIT --------------------------------------------------------------------------------- -This project includes code from Snappy. +(The MIT License) -* cpp/cmake_modules/{SnappyCMakeLists.txt,SnappyConfig.h} are based on code - from Google's Snappy project. +Copyright (c) 2014 Scott Barron -Copyright: 2009 Google Inc. All rights reserved. -Homepage: https://github.com/google/snappy -License: 3-clause BSD +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: --------------------------------------------------------------------------------- +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -This project includes code from the manylinux project. +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -* python/manylinux1/scripts/{build_python.sh,python-tag-abi-tag.py, - requirements.txt} are based on code from the manylinux project. -Copyright: 2016 manylinux -Homepage: https://github.com/pypa/manylinux -License: The MIT License (MIT) +-------------------------------------------------------------------------------- +Package Title: classnames (2.3.1) -------------------------------------------------------------------------------- -This project includes code from the cymove project: +* Declared Licenses * +MIT -* python/pyarrow/includes/common.pxd includes code from the cymove project The MIT License (MIT) -Copyright (c) 2019 Omer Ozarslan + +Copyright (c) 2018 Jed Watson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -10279,132 +11699,63 @@ furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -OR OTHER DEALINGS IN THE SOFTWARE. - --------------------------------------------------------------------------------- - -The projects includes code from the Ursabot project under the dev/archery -directory. - -License: BSD 2-Clause - -Copyright 2019 RStudio, Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- - -This project include code from CMake. - -* cpp/cmake_modules/FindGTest.cmake is based on code from CMake. - -Copyright: Copyright 2000-2019 Kitware, Inc. and Contributors -Homepage: https://gitlab.kitware.com/cmake/cmake -License: 3-clause BSD - +Package Title: classnames (2.2.6) -------------------------------------------------------------------------------- -This project include code from mingw-w64. - -* cpp/src/arrow/util/cpu-info.cc has a polyfill for mingw-w64 < 5 - -Copyright (c) 2009 - 2013 by the mingw-w64 project -Homepage: https://mingw-w64.org -License: Zope Public License (ZPL) Version 2.1. - ---------------------------------------------------------------------------------- - -This project include code from Google's Asylo project. - -* cpp/src/arrow/result.h is based on status_or.h - -Copyright (c) Copyright 2017 Asylo authors -Homepage: https://asylo.dev/ -License: Apache 2.0 +* Declared Licenses * +MIT --------------------------------------------------------------------------------- -This project includes code from Google's protobuf project +The MIT License (MIT) -* cpp/src/arrow/result.h ARROW_ASSIGN_OR_RAISE is based off ASSIGN_OR_RETURN +Copyright (c) 2017 Jed Watson -Copyright 2008 Google Inc. All rights reserved. -Homepage: https://developers.google.com/protocol-buffers/ -License: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Code generated by the Protocol Buffer compiler is owned by the owner -of the input file used when generating it. This code is not -standalone and requires a support library to be linked with it. This -support library is itself covered by the above license. +-------------------------------------------------------------------------------- +Package Title: client_golang (2e1c4818ccfdcf953ce399cadad615ff2bed968c) -------------------------------------------------------------------------------- -3rdparty dependency LLVM is statically linked in certain binary distributions. -Additionally some sections of source code have been derived from sources in LLVM -and have been clearly labeled as such. LLVM has the following license: +* Declared Licenses * +Apache-2.0 -============================================================================== -The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: -============================================================================== Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - 1. Definitions. + 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. @@ -10463,14 +11814,14 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - 2. Grant of Copyright License. Subject to the terms and conditions of + 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - 3. Grant of Patent License. Subject to the terms and conditions of + 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, @@ -10486,7 +11837,7 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: granted to You under this License for that Work shall terminate as of the date such litigation is filed. - 4. Redistribution. You may reproduce and distribute copies of the + 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: @@ -10527,7 +11878,7 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - 5. Submission of Contributions. Unless You explicitly state otherwise, + 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. @@ -10535,12 +11886,12 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - 6. Trademarks. This License does not grant permission to use the trade + 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - 7. Disclaimer of Warranty. Unless required by applicable law or + 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or @@ -10550,7 +11901,7 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - 8. Limitation of Liability. In no event and under no legal theory, + 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be @@ -10562,7 +11913,7 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - 9. Accepting Warranty or Additional Liability. While redistributing + 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this @@ -10573,9 +11924,9 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - END OF TERMS AND CONDITIONS + END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. + APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" @@ -10586,342 +11937,257 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright [yyyy] [name of copyright owner] - 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 + 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. - - ----- LLVM Exceptions to the Apache 2.0 License ---- - -As an exception, if, as a result of your compiling your source code, portions -of this Software are embedded into an Object form of such source code, you -may redistribute such embedded portions in such Object form without complying -with the conditions of Sections 4(a), 4(b) and 4(d) of the License. + 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. -In addition, if you combine or link compiled forms of this Software with -software that is licensed under the GPLv2 ("Combined Software") and if a -court of competent jurisdiction determines that the patent provision (Section -3), the indemnity provision (Section 9) or other Section of the License -conflicts with the conditions of the GPLv2, you may retroactively and -prospectively choose to deem waived or otherwise exclude such Section(s) of -the License, but only in their entirety and only with respect to the Combined -Software. -============================================================================== -Software from third parties included in the LLVM Project: -============================================================================== -The LLVM Project contains third party software which is under different license -terms. All such code will be identified clearly using at least one of two -mechanisms: -1) It will be in a separate directory tree with its own `LICENSE.txt` or - `LICENSE` file at the top containing the specific license and restrictions - which apply to that software, or -2) It will contain specific license and restriction terms at the top of every - file. -------------------------------------------------------------------------------- - -3rdparty dependency gRPC is statically linked in certain binary -distributions, like the python wheels. gRPC has the following license: - -Copyright 2014 gRPC authors. - -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. - +Package Title: client_model (147c58e9608a4f9628b53b6cc863325ca746f63a) -------------------------------------------------------------------------------- -3rdparty dependency Apache Thrift is statically linked in certain binary -distributions, like the python wheels. Apache Thrift has the following license: +* Declared Licenses * +Apache-2.0 -Apache Thrift -Copyright (C) 2006 - 2019, The Apache Software Foundation -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -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 + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - http://www.apache.org/licenses/LICENSE-2.0 + 1. Definitions. -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. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. --------------------------------------------------------------------------------- + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -3rdparty dependency Apache ORC is statically linked in certain binary -distributions, like the python wheels. Apache ORC has the following license: + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -Apache ORC -Copyright 2013-2019 The Apache Software Foundation + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -This product includes software developed by The Apache Software -Foundation (http://www.apache.org/). + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -This product includes software developed by Hewlett-Packard: -(c) Copyright [2014-2015] Hewlett-Packard Development Company, L.P + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -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 + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). - http://www.apache.org/licenses/LICENSE-2.0 + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -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. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." --------------------------------------------------------------------------------- + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -3rdparty dependency zstd is statically linked in certain binary -distributions, like the python wheels. ZSTD has the following license: + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -BSD License + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -For Zstandard software + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -Copyright (c) 2016-present, Facebook, Inc. All rights reserved. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. - * Neither the name Facebook nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. --------------------------------------------------------------------------------- + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -3rdparty dependency lz4 is statically linked in certain binary -distributions, like the python wheels. lz4 has the following license: + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -LZ4 Library -Copyright (c) 2011-2016, Yann Collet -All rights reserved. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + END OF TERMS AND CONDITIONS -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. + APPENDIX: How to apply the Apache License to your work. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. --------------------------------------------------------------------------------- + Copyright [yyyy] [name of copyright owner] -3rdparty dependency Brotli is statically linked in certain binary -distributions, like the python wheels. Brotli has the following license: + 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 -Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + http://www.apache.org/licenses/LICENSE-2.0 -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 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. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -------------------------------------------------------------------------------- - -3rdparty dependency rapidjson is statically linked in certain binary -distributions, like the python wheels. rapidjson and its dependencies have the -following licenses: - -Tencent is pleased to support the open source community by making RapidJSON -available. - -Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. -All rights reserved. - -If you have downloaded a copy of the RapidJSON binary from Tencent, please note -that the RapidJSON binary is licensed under the MIT License. -If you have downloaded a copy of the RapidJSON source code from Tencent, please -note that RapidJSON source code is licensed under the MIT License, except for -the third-party components listed below which are subject to different license -terms. Your integration of RapidJSON into your own projects may require -compliance with the MIT License, as well as the other licenses applicable to -the third-party components included within RapidJSON. To avoid the problematic -JSON license in your own projects, it's sufficient to exclude the -bin/jsonchecker/ directory, as it's the only code under the JSON license. -A copy of the MIT License is included in this file. - -Other dependencies and licenses: - - Open Source Software Licensed Under the BSD License: - -------------------------------------------------------------------- - - The msinttypes r29 - Copyright (c) 2006-2013 Alexander Chemeris - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY - EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR - ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH - DAMAGE. - - Open Source Software Licensed Under the JSON License: - -------------------------------------------------------------------- - - json.org - Copyright (c) 2002 JSON.org - All Rights Reserved. - - JSON_checker - Copyright (c) 2002 JSON.org - All Rights Reserved. - - - Terms of the JSON License: - --------------------------------------------------- - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - The Software shall be used for Good, not Evil. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - - Terms of the MIT License: - -------------------------------------------------------------------- - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - +Package Title: clipboard (e4aee1922c628e6966acd4207c408df132dc6fb5) -------------------------------------------------------------------------------- -3rdparty dependency snappy is statically linked in certain binary -distributions, like the python wheels. snappy has the following license: +* Declared Licenses * +BSD-3-Clause -Copyright 2011, Google Inc. -All rights reserved. + +Copyright (c) 2013 Ato Araki. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its contributors may be - used to endorse or promote products derived from this software without - specific prior written permission. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of @atotto. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -10935,479 +12201,454 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -=== -Some of the benchmark data in testdata/ is licensed differently: - - fireworks.jpeg is Copyright 2013 Steinar H. Gunderson, and - is licensed under the Creative Commons Attribution 3.0 license - (CC-BY-3.0). See https://creativecommons.org/licenses/by/3.0/ - for more information. +-------------------------------------------------------------------------------- +Package Title: cloud.google.com/go/iam (v0.8.0) +-------------------------------------------------------------------------------- - - kppkn.gtb is taken from the Gaviota chess tablebase set, and - is licensed under the MIT License. See - https://sites.google.com/site/gaviotachessengine/Home/endgame-tablebases-1 - for more information. +* Declared Licenses * +Apache-2.0 - - paper-100k.pdf is an excerpt (bytes 92160 to 194560) from the paper - “Combinatorial Modeling of Chromatin Features Quantitatively Predicts DNA - Replication Timing in _Drosophila_” by Federico Comoglio and Renato Paro, - which is licensed under the CC-BY license. See - http://www.ploscompbiol.org/static/license for more ifnormation. - - alice29.txt, asyoulik.txt, plrabn12.txt and lcet10.txt are from Project - Gutenberg. The first three have expired copyrights and are in the public - domain; the latter does not have expired copyright, but is still in the - public domain according to the license information - (http://www.gutenberg.org/ebooks/53). --------------------------------------------------------------------------------- + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -3rdparty dependency gflags is statically linked in certain binary -distributions, like the python wheels. gflags has the following license: + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -Copyright (c) 2006, Google Inc. -All rights reserved. + 1. Definitions. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. --------------------------------------------------------------------------------- + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -3rdparty dependency glog is statically linked in certain binary -distributions, like the python wheels. glog has the following license: + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -Copyright (c) 2008, Google Inc. -All rights reserved. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -A function gettimeofday in utilities.cc is based on + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -http://www.google.com/codesearch/p?hl=en#dR3YEbitojA/COPYING&q=GetSystemTimeAsFileTime%20license:bsd + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -The license of this code is: + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -Copyright (c) 2003-2008, Jouni Malinen and contributors -All Rights Reserved. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -3. Neither the name(s) of the above-listed copyright holder(s) nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. --------------------------------------------------------------------------------- + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -3rdparty dependency re2 is statically linked in certain binary -distributions, like the python wheels. re2 has the following license: + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -Copyright (c) 2009 The RE2 Authors. All rights reserved. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its contributors - may be used to endorse or promote products derived from this - software without specific prior written permission. + END OF TERMS AND CONDITIONS -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + APPENDIX: How to apply the Apache License to your work. --------------------------------------------------------------------------------- + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -3rdparty dependency c-ares is statically linked in certain binary -distributions, like the python wheels. c-ares has the following license: + Copyright 2014 Google Inc. -# c-ares license + 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 -Copyright (c) 2007 - 2018, Daniel Stenberg with many contributors, see AUTHORS -file. + http://www.apache.org/licenses/LICENSE-2.0 -Copyright 1998 by the Massachusetts Institute of Technology. + 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. -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, provided that -the above copyright notice appear in all copies and that both that copyright -notice and this permission notice appear in supporting documentation, and that -the name of M.I.T. not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior permission. -M.I.T. makes no representations about the suitability of this software for any -purpose. It is provided "as is" without express or implied warranty. --------------------------------------------------------------------------------- -3rdparty dependency zlib is redistributed as a dynamically linked shared -library in certain binary distributions, like the python wheels. In the future -this will likely change to static linkage. zlib has the following license: +-------------------------------------------------------------------------------- +Package Title: cloud.google.com/go/kms (v1.6.0) +-------------------------------------------------------------------------------- -zlib.h -- interface of the 'zlib' general purpose compression library - version 1.2.11, January 15th, 2017 +* Declared Licenses * +Apache-2.0 - Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - Jean-loup Gailly Mark Adler - jloup@gzip.org madler@alumni.caltech.edu + 1. Definitions. --------------------------------------------------------------------------------- + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -3rdparty dependency openssl is redistributed as a dynamically linked shared -library in certain binary distributions, like the python wheels. openssl -preceding version 3 has the following license: + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. - LICENSE ISSUES - ============== + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. - The OpenSSL toolkit stays under a double license, i.e. both the conditions of - the OpenSSL License and the original SSLeay license apply to the toolkit. - See below for the actual license texts. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. - OpenSSL License - --------------- + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -/* ==================================================================== - * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. - Original SSLeay License - ----------------------- + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. --------------------------------------------------------------------------------- + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -This project includes code from the rtools-backports project. + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -* ci/scripts/PKGBUILD and ci/scripts/r_windows_build.sh are based on code - from the rtools-backports project. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -Copyright: Copyright (c) 2013 - 2019, Алексей and Jeroen Ooms. -All rights reserved. -Homepage: https://github.com/r-windows/rtools-backports -License: 3-clause BSD + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. --------------------------------------------------------------------------------- - -Some code from pandas has been adapted for the pyarrow codebase. pandas is -available under the 3-clause BSD license, which follows: - -pandas license -============== - -Copyright (c) 2011-2012, Lambda Foundry, Inc. and PyData Development Team -All rights reserved. - -Copyright (c) 2008-2011 AQR Capital Management, LLC -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: - * Neither the name of the copyright holder nor the names of any - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and --------------------------------------------------------------------------------- + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -Some bits from DyND, in particular aspects of the build system, have been -adapted from libdynd and dynd-python under the terms of the BSD 2-clause -license + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -The BSD 2-Clause License + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. - Copyright (C) 2011-12, Dynamic NDArray Developers - All rights reserved. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -Dynamic NDArray Developers list: + END OF TERMS AND CONDITIONS - * Mark Wiebe - * Continuum Analytics + APPENDIX: How to apply the Apache License to your work. --------------------------------------------------------------------------------- + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -Some source code from Ibis (https://github.com/cloudera/ibis) has been adapted -for PyArrow. Ibis is released under the Apache License, Version 2.0. + Copyright [yyyy] [name of copyright owner] --------------------------------------------------------------------------------- + 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 -This project includes code from the autobrew project. + http://www.apache.org/licenses/LICENSE-2.0 -* r/tools/autobrew and dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb - are based on code from the autobrew project. + 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. -Copyright (c) 2019, Jeroen Ooms -License: MIT -Homepage: https://github.com/jeroen/autobrew --------------------------------------------------------------------------------- -dev/tasks/homebrew-formulae/apache-arrow.rb has the following license: +* Other Licenses * +BSD-3-Clause, BSD-2-Clause -BSD 2-Clause License +* BSD-3-Clause * -Copyright (c) 2009-present, Homebrew contributors -All rights reserved. +Copyright (c) 2017 The Go Authors . All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE @@ -11420,133 +12661,73 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ----------------------------------------------------------------------- - -cpp/src/arrow/vendored/base64.cpp has the following license - -ZLIB License +* BSD-2-Clause * -Copyright (C) 2004-2017 René Nyffenegger +Copyright (c) 1996-1998 John D -This source code is provided 'as-is', without any express or implied -warranty. In no event will the author be held liable for any damages arising -from the use of this software. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -Permission is granted to anyone to use this software for any purpose, including -commercial applications, and to alter it and redistribute it freely, subject to -the following restrictions: + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -1. The origin of this source code must not be misrepresented; you must not - claim that you wrote the original source code. If you use this source code - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original source code. + and/or other materials provided with the distribution. -3. This notice may not be removed or altered from any source distribution. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -René Nyffenegger rene.nyffenegger@adp-gmbh.ch -------------------------------------------------------------------------------- - -The file cpp/src/arrow/vendored/optional.hpp has the following license - -Boost Software License - Version 1.0 - August 17th, 2003 - -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: - -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - +Package Title: cls-bluebird (2.1.0) -------------------------------------------------------------------------------- -The file cpp/src/arrow/vendored/musl/strptime.c has the following license - -Copyright © 2005-2020 Rich Felker, et al. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* Declared Licenses * +BSD-2-Clause --------------------------------------------------------------------------------- -The file cpp/cmake_modules/BuildUtils.cmake contains code from +Copyright (c) -https://gist.github.com/cristianadam/ef920342939a89fae3e8a85ca9459b49 +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -which is made available under the MIT license + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -Copyright (c) 2019 Cristian Adam + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + and/or other materials provided with the distribution. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +-------------------------------------------------------------------------------- +Package Title: cmux (30d10be492927e2dcae0089c374c455d42414fcb) -------------------------------------------------------------------------------- -The files in cpp/src/arrow/vendored/portable-snippets/ contain code from - -https://github.com/nemequ/portable-snippets - -and have the following copyright notice: - -Each source file contains a preamble explaining the license situation -for that file, which takes priority over this file. With the -exception of some code pulled in from other repositories (such as -µnit, an MIT-licensed project which is used for testing), the code is -public domain, released using the CC0 1.0 Universal dedication (*). - -(*) https://creativecommons.org/publicdomain/zero/1.0/legalcode - +* Declared Licenses * +Apache-2.0 -* Multi-license: Apache-2.0 OR BSD-2-Clause OR BSD-3-Clause OR BSL-1.0 OR CC0-1.0 OR CC-BY-3.0 OR JSON OR MIT OR Protobuf OR public-domain OR Zlib * Apache License @@ -11751,411 +12932,872 @@ public domain, released using the CC0 1.0 Universal dedication (*). See the License for the specific language governing permissions and limitations under the License. --------------------------------------------------------------------------------- - -src/plasma/fling.cc and src/plasma/fling.h: Apache 2.0 -Copyright 2013 Sharvil Nanavati -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 +-------------------------------------------------------------------------------- +Package Title: cobra (de187e874d1ca382320088f8f6d76333408e5c2e) +-------------------------------------------------------------------------------- - http://www.apache.org/licenses/LICENSE-2.0 +* Declared Licenses * +Apache-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. --------------------------------------------------------------------------------- + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -src/plasma/thirdparty/ae: Modified / 3-Clause BSD + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -Copyright (c) 2006-2010, Salvatore Sanfilippo -All rights reserved. + 1. Definitions. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of Redis nor the names of its contributors may be used - to endorse or promote products derived from this software without - specific prior written permission. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. --------------------------------------------------------------------------------- + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -src/plasma/thirdparty/dlmalloc.c: CC0 + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -This is a version (aka dlmalloc) of malloc/free/realloc written by -Doug Lea and released to the public domain, as explained at -http://creativecommons.org/publicdomain/zero/1.0/ Send questions, -comments, complaints, performance data, etc to dl@cs.oswego.edu + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. --------------------------------------------------------------------------------- + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -src/plasma/common.cc (some portions) + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -Copyright (c) Austin Appleby (aappleby (AT) gmail) + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -Some portions of this file are derived from code in the MurmurHash project + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -All code is released to the public domain. For business purposes, Murmurhash is -under the MIT license. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -https://sites.google.com/site/murmurhash/ + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. --------------------------------------------------------------------------------- + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -src/arrow/util (some portions): Apache 2.0, and 3-clause BSD + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -Some portions of this module are derived from code in the Chromium project, -copyright (c) Google inc and (c) The Chromium Authors and licensed under the -Apache 2.0 License or the under the 3-clause BSD license: + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and - Copyright (c) 2013 The Chromium Authors. All rights reserved. + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. --------------------------------------------------------------------------------- + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -This project includes code from Daniel Lemire's FrameOfReference project. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -https://github.com/lemire/FrameOfReference/blob/6ccaf9e97160f9a3b299e23a8ef739e711ef0c71/src/bpacking.cpp + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -Copyright: 2013 Daniel Lemire -Home page: http://lemire.me/en/ -Project page: https://github.com/lemire/FrameOfReference -License: Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 + +-------------------------------------------------------------------------------- +Package Title: cockroach-go (2c9d026f19fba1cf30c7a1880db4a668bc5d26e2) -------------------------------------------------------------------------------- -This project includes code from the TensorFlow project +* Declared Licenses * +Apache-2.0 -Copyright 2015 The TensorFlow Authors. All Rights Reserved. -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 +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ - http://www.apache.org/licenses/LICENSE-2.0 + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -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. + 1. Definitions. --------------------------------------------------------------------------------- + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -This project includes code from the NumPy project. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -https://github.com/numpy/numpy/blob/e1f191c46f2eebd6cb892a4bfe14d9dd43a06c4e/numpy/core/src/multiarray/multiarraymodule.c#L2910 + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -https://github.com/numpy/numpy/blob/68fd82271b9ea5a9e50d4e761061dfcca851382a/numpy/core/src/multiarray/datetime.c + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -Copyright (c) 2005-2017, NumPy Developers. -All rights reserved. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. - * Neither the name of the NumPy Developers nor the names of any - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. --------------------------------------------------------------------------------- + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -This project includes code from the Boost project + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -Boost Software License - Version 1.0 - August 17th, 2003 + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and --------------------------------------------------------------------------------- + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -This project includes code from the FlatBuffers project + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -Copyright 2014 Google Inc. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -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 + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. - http://www.apache.org/licenses/LICENSE-2.0 + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -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. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. --------------------------------------------------------------------------------- + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -This project includes code from the tslib project + END OF TERMS AND CONDITIONS -Copyright 2015 Microsoft Corporation. All rights reserved. + APPENDIX: How to apply the Apache License to your work. -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 + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. - http://www.apache.org/licenses/LICENSE-2.0 + Copyright {} -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. + 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 -This project includes code from the jemalloc project + 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. -https://github.com/jemalloc/jemalloc -Copyright (C) 2002-2017 Jason Evans . -All rights reserved. -Copyright (C) 2007-2012 Mozilla Foundation. All rights reserved. -Copyright (C) 2009-2017 Facebook, Inc. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: -1. Redistributions of source code must retain the above copyright notice(s), - this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice(s), - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY EXPRESS -OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +Package Title: combokeys (2.4.6) -------------------------------------------------------------------------------- -This project includes code from the Go project, BSD 3-clause license + PATENTS -weak patent termination clause -(https://github.com/golang/go/blob/master/PATENTS). +* Declared Licenses * +Apache-2.0 -Copyright (c) 2009 The Go Authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION --------------------------------------------------------------------------------- + 1. Definitions. -This project includes code from the hs2client + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -https://github.com/cloudera/hs2client + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -Copyright 2016 Cloudera Inc. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -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 + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -http://www.apache.org/licenses/LICENSE-2.0 + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -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. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. --------------------------------------------------------------------------------- + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -The script ci/scripts/util_wait_for_it.sh has the following license + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -Copyright (c) 2016 Giles Hall + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. --------------------------------------------------------------------------------- + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -The script r/configure has the following license (MIT) + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -Copyright (c) 2017, Jeroen Ooms and Jim Hester + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +-------------------------------------------------------------------------------- +Package Title: common (2af6d036253eee1a9a08c6ddf6be6d67537bcdff) -------------------------------------------------------------------------------- -cpp/src/arrow/util/logging.cc, cpp/src/arrow/util/logging.h and -cpp/src/arrow/util/logging-test.cc are adapted from -Ray Project (https://github.com/ray-project/ray) (Apache 2.0). +* Declared Licenses * +Apache-2.0 -Copyright (c) 2016 Ray Project (https://github.com/ray-project/ray) -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 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ - http://www.apache.org/licenses/LICENSE-2.0 + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. + + + +* Other Licenses * +BSD-3-Clause + + +Copyright (c) 2011 Open Knowledge Foundation Ltd. . All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -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. -------------------------------------------------------------------------------- -The files cpp/src/arrow/vendored/datetime/date.h, cpp/src/arrow/vendored/datetime/tz.h, -cpp/src/arrow/vendored/datetime/tz_private.h, cpp/src/arrow/vendored/datetime/ios.h, -cpp/src/arrow/vendored/datetime/ios.mm, -cpp/src/arrow/vendored/datetime/tz.cpp are adapted from -Howard Hinnant's date library (https://github.com/HowardHinnant/date) -It is licensed under MIT license. +Package Title: component-classes (1.2.6) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT -The MIT License (MIT) -Copyright (c) 2015, 2016, 2017 Howard Hinnant -Copyright (c) 2016 Adrian Colomitchi -Copyright (c) 2017 Florian Dang -Copyright (c) 2017 Paul Thompson -Copyright (c) 2018 Tomasz Kamiński +Copyright (c) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -12174,14 +13816,16 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------------------- +Package Title: component-indexof (0.0.3) -------------------------------------------------------------------------------- -The file cpp/src/arrow/util/utf8.h includes code adapted from the page - https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ -with the following license (MIT) +* Declared Licenses * +MIT -Copyright (c) 2008-2009 Bjoern Hoehrmann +Copyright (c) 2012 TJ Holowaychuk Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -12200,303 +13844,308 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------------------- +Package Title: component-type (1.2.1) -------------------------------------------------------------------------------- -The file cpp/src/arrow/vendored/string_view.hpp has the following license +* Declared Licenses * +MIT -Boost Software License - Version 1.0 - August 17th, 2003 -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: +Copyright (c) TJ Holowaychuk +Copyright (c) Sindre Sorhus (https://sindresorhus.com) +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +-------------------------------------------------------------------------------- +Package Title: compress (e766bf73b4e3b6538676f9c1e6e40b2bde3e37f6) -------------------------------------------------------------------------------- -The file cpp/src/arrow/vendored/variant.hpp has the following license +* Declared Licenses * +MIT, Apache-2.0, BSD-3-Clause -Boost Software License - Version 1.0 - August 17th, 2003 +* MIT * -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: +Copyright (c) 2012 The Go Authors. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. --------------------------------------------------------------------------------- +* Apache-2.0 * -The files in cpp/src/arrow/vendored/xxhash/ have the following license -(BSD 2-Clause License) +Copyright (c) 2012 The Go Authors. All rights reserved. +Copyright (c) 2019 Klaus Post. All rights reserved. -xxHash Library -Copyright (c) 2012-2014, Yann Collet -All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. +------------------ -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Files: gzhttp/* -You can contact the author at : -- xxHash homepage: http://www.xxhash.com -- xxHash source repository : https://github.com/Cyan4973/xxHash + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ --------------------------------------------------------------------------------- - -The files in cpp/src/arrow/vendored/double-conversion/ have the following license -(BSD 3-Clause License) - -Copyright 2006-2011, the V8 project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -The files in cpp/src/arrow/vendored/uriparser/ have the following license -(BSD 3-Clause License) - -uriparser - RFC 3986 URI parsing library - -Copyright (C) 2007, Weijia Song -Copyright (C) 2007, Sebastian Pipping -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. - - * Neither the name of the nor the names of its - contributors may be used to endorse or promote products - derived from this software without specific prior written - permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -The files under dev/tasks/conda-recipes have the following license - -BSD 3-clause license -Copyright (c) 2015-2018, conda-forge -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software without - specific prior written permission. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR -TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 1. Definitions. --------------------------------------------------------------------------------- + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -The files in cpp/src/arrow/vendored/utfcpp/ have the following license + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -Copyright 2006-2018 Nemanja Trifunovic + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. --------------------------------------------------------------------------------- + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -This project includes code from Apache Kudu. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. - * cpp/cmake_modules/CompilerInfo.cmake is based on Kudu's cmake_modules/CompilerInfo.cmake + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -Copyright: 2016 The Apache Software Foundation. -Home page: https://kudu.apache.org/ -License: http://www.apache.org/licenses/LICENSE-2.0 + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. --------------------------------------------------------------------------------- + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -This project includes code from Apache Impala (incubating), formerly -Impala. The Impala code and rights were donated to the ASF as part of the -Incubator process after the initial code imports into Apache Parquet. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -Copyright: 2012 Cloudera, Inc. -Copyright: 2016 The Apache Software Foundation. -Home page: http://impala.apache.org/ -License: http://www.apache.org/licenses/LICENSE-2.0 + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: --------------------------------------------------------------------------------- + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -This project includes code from Apache Aurora. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -* dev/release/{release,changelog,release-candidate} are based on the scripts from - Apache Aurora + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -Copyright: 2016 The Apache Software Foundation. -Home page: https://aurora.apache.org/ -License: http://www.apache.org/licenses/LICENSE-2.0 + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. --------------------------------------------------------------------------------- + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -This project includes code from the Google styleguide. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -* cpp/build-support/cpplint.py is based on the scripts from the Google styleguide. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -Copyright: 2009 Google Inc. All rights reserved. -Homepage: https://github.com/google/styleguide -License: 3-clause BSD + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. --------------------------------------------------------------------------------- + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -This project includes code from Snappy. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -* cpp/cmake_modules/{SnappyCMakeLists.txt,SnappyConfig.h} are based on code - from Google's Snappy project. + END OF TERMS AND CONDITIONS -Copyright: 2009 Google Inc. All rights reserved. -Homepage: https://github.com/google/snappy -License: 3-clause BSD + APPENDIX: How to apply the Apache License to your work. --------------------------------------------------------------------------------- + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -This project includes code from the manylinux project. + Copyright 2016-2017 The New York Times Company -* python/manylinux1/scripts/{build_python.sh,python-tag-abi-tag.py, - requirements.txt} are based on code from the manylinux project. + 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 -Copyright: 2016 manylinux -Homepage: https://github.com/pypa/manylinux -License: The MIT License (MIT) + 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. -This project includes code from the cymove project: +------------------ -* python/pyarrow/includes/common.pxd includes code from the cymove project +Files: s2/cmd/internal/readahead/* The MIT License (MIT) -Copyright (c) 2019 Omer Ozarslan + +Copyright (c) 2015 Klaus Post Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -12508,95 +14157,75 @@ furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -OR OTHER DEALINGS IN THE SOFTWARE. - --------------------------------------------------------------------------------- - -The projects includes code from the Ursabot project under the dev/archery -directory. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -License: BSD 2-Clause +--------------------- +Files: snappy/* +Files: internal/snapref/* -Copyright 2019 RStudio, Inc. +Copyright (c) 2011 The Snappy-Go Authors. All rights reserved. Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +modification, are permitted provided that the following conditions are +met: -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- - -This project include code from CMake. - -* cpp/cmake_modules/FindGTest.cmake is based on code from CMake. - -Copyright: Copyright 2000-2019 Kitware, Inc. and Contributors -Homepage: https://gitlab.kitware.com/cmake/cmake -License: 3-clause BSD - --------------------------------------------------------------------------------- - -This project include code from mingw-w64. - -* cpp/src/arrow/util/cpu-info.cc has a polyfill for mingw-w64 < 5 - -Copyright (c) 2009 - 2013 by the mingw-w64 project -Homepage: https://mingw-w64.org -License: Zope Public License (ZPL) Version 2.1. +----------------- ---------------------------------------------------------------------------------- +Files: s2/cmd/internal/filepathx/* -This project include code from Google's Asylo project. +Copyright 2016 The filepathx Authors -* cpp/src/arrow/result.h is based on status_or.h +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -Copyright (c) Copyright 2017 Asylo authors -Homepage: https://asylo.dev/ -License: Apache 2.0 +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. --------------------------------------------------------------------------------- +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -This project includes code from Google's protobuf project -* cpp/src/arrow/result.h ARROW_ASSIGN_OR_RAISE is based off ASSIGN_OR_RETURN +* BSD-3-Clause * -Copyright 2008 Google Inc. All rights reserved. -Homepage: https://developers.google.com/protocol-buffers/ -License: +Copyright (c) 2011 The Snappy-Go Authors. All rights reserved. +Copyright (c) 2019 Klaus Post. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -12612,28 +14241,23 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Code generated by the Protocol Buffer compiler is owned by the owner -of the input file used when generating it. This code is not -standalone and requires a support library to be linked with it. This -support library is itself covered by the above license. + +-------------------------------------------------------------------------------- +Package Title: concurrent (bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94) -------------------------------------------------------------------------------- -3rdparty dependency LLVM is statically linked in certain binary distributions. -Additionally some sections of source code have been derived from sources in LLVM -and have been clearly labeled as such. LLVM has the following license: +* Declared Licenses * +Apache-2.0 -============================================================================== -The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: -============================================================================== Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - 1. Definitions. + 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. @@ -12692,14 +14316,14 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - 2. Grant of Copyright License. Subject to the terms and conditions of + 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - 3. Grant of Patent License. Subject to the terms and conditions of + 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, @@ -12715,7 +14339,7 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: granted to You under this License for that Work shall terminate as of the date such litigation is filed. - 4. Redistribution. You may reproduce and distribute copies of the + 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: @@ -12756,7 +14380,7 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - 5. Submission of Contributions. Unless You explicitly state otherwise, + 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. @@ -12764,12 +14388,12 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - 6. Trademarks. This License does not grant permission to use the trade + 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - 7. Disclaimer of Warranty. Unless required by applicable law or + 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or @@ -12779,7 +14403,7 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - 8. Limitation of Liability. In no event and under no legal theory, + 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be @@ -12791,7 +14415,7 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - 9. Accepting Warranty or Additional Liability. While redistributing + 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this @@ -12802,9 +14426,9 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - END OF TERMS AND CONDITIONS + END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. + APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" @@ -12815,189 +14439,297 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright [yyyy] [name of copyright owner] - 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 + 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. + 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. ----- LLVM Exceptions to the Apache 2.0 License ---- -As an exception, if, as a result of your compiling your source code, portions -of this Software are embedded into an Object form of such source code, you -may redistribute such embedded portions in such Object form without complying -with the conditions of Sections 4(a), 4(b) and 4(d) of the License. +-------------------------------------------------------------------------------- +Package Title: connected-react-router (6.9.1) +-------------------------------------------------------------------------------- -In addition, if you combine or link compiled forms of this Software with -software that is licensed under the GPLv2 ("Combined Software") and if a -court of competent jurisdiction determines that the patent provision (Section -3), the indemnity provision (Section 9) or other Section of the License -conflicts with the conditions of the GPLv2, you may retroactively and -prospectively choose to deem waived or otherwise exclude such Section(s) of -the License, but only in their entirety and only with respect to the Combined -Software. +* Declared Licenses * +MIT -============================================================================== -Software from third parties included in the LLVM Project: -============================================================================== -The LLVM Project contains third party software which is under different license -terms. All such code will be identified clearly using at least one of two -mechanisms: -1) It will be in a separate directory tree with its own `LICENSE.txt` or - `LICENSE` file at the top containing the specific license and restrictions - which apply to that software, or -2) It will contain specific license and restriction terms at the top of every - file. --------------------------------------------------------------------------------- +The MIT License (MIT) -3rdparty dependency gRPC is statically linked in certain binary -distributions, like the python wheels. gRPC has the following license: +Copyright (c) 2016-present Supasate Choochaisri -Copyright 2014 gRPC authors. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -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 +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - http://www.apache.org/licenses/LICENSE-2.0 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -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. + +-------------------------------------------------------------------------------- +Package Title: console (b5cb846c9186d67bcae3ce3c324e47cd317d9527) -------------------------------------------------------------------------------- -3rdparty dependency Apache Thrift is statically linked in certain binary -distributions, like the python wheels. Apache Thrift has the following license: +* Declared Licenses * +Apache-2.0 -Apache Thrift -Copyright (C) 2006 - 2019, The Apache Software Foundation -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). -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 + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ - http://www.apache.org/licenses/LICENSE-2.0 + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -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. + 1. Definitions. --------------------------------------------------------------------------------- + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -3rdparty dependency Apache ORC is statically linked in certain binary -distributions, like the python wheels. Apache ORC has the following license: + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -Apache ORC -Copyright 2013-2019 The Apache Software Foundation + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -This product includes software developed by The Apache Software -Foundation (http://www.apache.org/). + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -This product includes software developed by Hewlett-Packard: -(c) Copyright [2014-2015] Hewlett-Packard Development Company, L.P + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -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 + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. - http://www.apache.org/licenses/LICENSE-2.0 + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -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. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. --------------------------------------------------------------------------------- + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -3rdparty dependency zstd is statically linked in certain binary -distributions, like the python wheels. ZSTD has the following license: + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -BSD License + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -For Zstandard software + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -Copyright (c) 2016-present, Facebook, Inc. All rights reserved. + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and - * Neither the name Facebook nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + Copyright The containerd Authors + + 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 + + https://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. + + +-------------------------------------------------------------------------------- +Package Title: copy-to-clipboard (3.3.1) -------------------------------------------------------------------------------- -3rdparty dependency lz4 is statically linked in certain binary -distributions, like the python wheels. lz4 has the following license: +* Declared Licenses * +MIT -LZ4 Library -Copyright (c) 2011-2016, Yann Collet -All rights reserved. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +MIT License -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Copyright (c) 2017 sudodoki + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +Package Title: core-js (2.6.12) -------------------------------------------------------------------------------- -3rdparty dependency Brotli is statically linked in certain binary -distributions, like the python wheels. Brotli has the following license: +* Declared Licenses * +MIT -Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Copyright (c) 2014-2020 Denis Pushkarev Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -13011,238 +14743,167 @@ all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- - -3rdparty dependency rapidjson is statically linked in certain binary -distributions, like the python wheels. rapidjson and its dependencies have the -following licenses: - -Tencent is pleased to support the open source community by making RapidJSON -available. -Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. -All rights reserved. -If you have downloaded a copy of the RapidJSON binary from Tencent, please note -that the RapidJSON binary is licensed under the MIT License. -If you have downloaded a copy of the RapidJSON source code from Tencent, please -note that RapidJSON source code is licensed under the MIT License, except for -the third-party components listed below which are subject to different license -terms. Your integration of RapidJSON into your own projects may require -compliance with the MIT License, as well as the other licenses applicable to -the third-party components included within RapidJSON. To avoid the problematic -JSON license in your own projects, it's sufficient to exclude the -bin/jsonchecker/ directory, as it's the only code under the JSON license. -A copy of the MIT License is included in this file. +-------------------------------------------------------------------------------- +Package Title: create-react-class (15.7.0) +-------------------------------------------------------------------------------- -Other dependencies and licenses: +* Declared Licenses * +MIT - Open Source Software Licensed Under the BSD License: - -------------------------------------------------------------------- - The msinttypes r29 - Copyright (c) 2006-2013 Alexander Chemeris - All rights reserved. +MIT License - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: +Copyright (c) 2013-present, Facebook, Inc. - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY - EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR - ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH - DAMAGE. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - Open Source Software Licensed Under the JSON License: - -------------------------------------------------------------------- +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - json.org - Copyright (c) 2002 JSON.org - All Rights Reserved. - JSON_checker - Copyright (c) 2002 JSON.org - All Rights Reserved. +-------------------------------------------------------------------------------- +Package Title: create-react-context (0.3.0) +-------------------------------------------------------------------------------- - Terms of the JSON License: - --------------------------------------------------- +* Declared Licenses * +MIT - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. +Copyright (c) 2017-present James Kyle - The Software shall be used for Good, not Evil. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - Terms of the MIT License: - -------------------------------------------------------------------- - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. +-------------------------------------------------------------------------------- +Package Title: crypt (0.0.2) +-------------------------------------------------------------------------------- - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. +* Declared Licenses * +Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause --------------------------------------------------------------------------------- +* Multi-license: BSD-2-Clause OR BSD-3-Clause * -3rdparty dependency snappy is statically linked in certain binary -distributions, like the python wheels. snappy has the following license: +Copyright © 2011, Paul Vorbach. All rights reserved. +Copyright © 2009, Jeff Mott. All rights reserved. -Copyright 2011, Google Inc. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its contributors may be - used to endorse or promote products derived from this software without - specific prior written permission. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -=== - -Some of the benchmark data in testdata/ is licensed differently: +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. +* Neither the name Crypto-JS nor the names of its contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. - - fireworks.jpeg is Copyright 2013 Steinar H. Gunderson, and - is licensed under the Creative Commons Attribution 3.0 license - (CC-BY-3.0). See https://creativecommons.org/licenses/by/3.0/ - for more information. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - kppkn.gtb is taken from the Gaviota chess tablebase set, and - is licensed under the MIT License. See - https://sites.google.com/site/gaviotachessengine/Home/endgame-tablebases-1 - for more information. - - paper-100k.pdf is an excerpt (bytes 92160 to 194560) from the paper - “Combinatorial Modeling of Chromatin Features Quantitatively Predicts DNA - Replication Timing in _Drosophila_” by Federico Comoglio and Renato Paro, - which is licensed under the CC-BY license. See - http://www.ploscompbiol.org/static/license for more ifnormation. +* BSD-3-Clause * - - alice29.txt, asyoulik.txt, plrabn12.txt and lcet10.txt are from Project - Gutenberg. The first three have expired copyrights and are in the public - domain; the latter does not have expired copyright, but is still in the - public domain according to the license information - (http://www.gutenberg.org/ebooks/53). +Copyright © 2011, Paul Vorbach. All rights reserved. +Copyright © 2009, Jeff Mott. All rights reserved. --------------------------------------------------------------------------------- +All rights reserved. -3rdparty dependency gflags is statically linked in certain binary -distributions, like the python wheels. gflags has the following license: +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -Copyright (c) 2006, Google Inc. -All rights reserved. +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. +* Neither the name Crypto-JS nor the names of its contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +Package Title: crypto (a9f661cb6e1b78478731da332a7b82f1e2fd779c) -------------------------------------------------------------------------------- -3rdparty dependency glog is statically linked in certain binary -distributions, like the python wheels. glog has the following license: +* Declared Licenses * +BSD-3-Clause -Copyright (c) 2008, Google Inc. -All rights reserved. + +Copyright (c) 2009 The Go Authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -13259,377 +14920,306 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -A function gettimeofday in utilities.cc is based on -http://www.google.com/codesearch/p?hl=en#dR3YEbitojA/COPYING&q=GetSystemTimeAsFileTime%20license:bsd +* Other Licenses * +openssl-ssleay -The license of this code is: -Copyright (c) 2003-2008, Jouni Malinen and contributors -All Rights Reserved. +LICENSE ISSUES + ============== + + The OpenSSL toolkit stays under a dual license, i.e. both the conditions of + the OpenSSL License and the original SSLeay license apply to the toolkit. + See below for the actual license texts. Actually both licenses are BSD-style + Open Source licenses. In case of any license issues related to OpenSSL + please contact openssl-core@openssl.org. + + OpenSSL License + --------------- Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +modification, are permitted provided that the following conditions +are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. -3. Neither the name(s) of the above-listed copyright holder(s) nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. --------------------------------------------------------------------------------- +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. -3rdparty dependency re2 is statically linked in certain binary -distributions, like the python wheels. re2 has the following license: +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" -Copyright (c) 2009 The RE2 Authors. All rights reserved. +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its contributors - may be used to endorse or promote products derived from this - software without specific prior written permission. +This product includes cryptographic software written by Eric Young +(eay@cryptsoft.com). This product includes software written by Tim +Hudson (tjh@cryptsoft.com). -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- + Original SSLeay License + ----------------------- -3rdparty dependency c-ares is statically linked in certain binary -distributions, like the python wheels. c-ares has the following license: +Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +All rights reserved. -# c-ares license +This package is an SSL implementation written +by Eric Young (eay@cryptsoft.com). +The implementation was written so as to conform with Netscapes SSL. -Copyright (c) 2007 - 2018, Daniel Stenberg with many contributors, see AUTHORS -file. +This library is free for commercial and non-commercial use as long as +the following conditions are aheared to. The following conditions +apply to all code found in this distribution, be it the RC4, RSA, +lhash, DES, etc., code; not just the SSL code. The SSL documentation +included with this distribution is covered by the same copyright terms +except that the holder is Tim Hudson (tjh@cryptsoft.com). -Copyright 1998 by the Massachusetts Institute of Technology. +Copyright remains Eric Young's, and as such any Copyright notices in +the code are not to be removed. +If this package is used in a product, Eric Young should be given attribution +as the author of the parts of the library used. +This can be in the form of a textual message at program startup or +in documentation (online or textual) provided with the package. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + "This product includes cryptographic software written by + Eric Young (eay@cryptsoft.com)" + The word 'cryptographic' can be left out if the rouines from the library + being used are not cryptographic related :-). +4. If you include any Windows specific code (or a derivative thereof) from + the apps directory (application code) you must include an acknowledgement: + "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + +THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +The licence and distribution terms for any publically available version or +derivative of this code cannot be changed. i.e. this code cannot simply be +copied and put under another distribution licence +[including the GNU Public Licence.] -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, provided that -the above copyright notice appear in all copies and that both that copyright -notice and this permission notice appear in supporting documentation, and that -the name of M.I.T. not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior permission. -M.I.T. makes no representations about the suitability of this software for any -purpose. It is provided "as is" without express or implied warranty. +-------------------------------------------------------------------------------- +Package Title: css-animation (1.6.1) -------------------------------------------------------------------------------- -3rdparty dependency zlib is redistributed as a dynamically linked shared -library in certain binary distributions, like the python wheels. In the future -this will likely change to static linkage. zlib has the following license: +* Declared Licenses * +MIT -zlib.h -- interface of the 'zlib' general purpose compression library - version 1.2.11, January 15th, 2017 - Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler +The MIT License (MIT) - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. +Copyright (c) 2014-present yiminghe - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - Jean-loup Gailly Mark Adler - jloup@gzip.org madler@alumni.caltech.edu +-------------------------------------------------------------------------------- +Package Title: css-unit-converter (1.1.2) -------------------------------------------------------------------------------- -3rdparty dependency openssl is redistributed as a dynamically linked shared -library in certain binary distributions, like the python wheels. openssl -preceding version 3 has the following license: +* Declared Licenses * +MIT - LICENSE ISSUES - ============== - The OpenSSL toolkit stays under a double license, i.e. both the conditions of - the OpenSSL License and the original SSLeay license apply to the toolkit. - See below for the actual license texts. +The MIT License (MIT) - OpenSSL License - --------------- +Copyright 2015 Andy Jansson -/* ==================================================================== - * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: - Original SSLeay License - ----------------------- +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ +-------------------------------------------------------------------------------- +Package Title: csstype (3.0.8) -------------------------------------------------------------------------------- -This project includes code from the rtools-backports project. +* Declared Licenses * +MIT -* ci/scripts/PKGBUILD and ci/scripts/r_windows_build.sh are based on code - from the rtools-backports project. -Copyright: Copyright (c) 2013 - 2019, Алексей and Jeroen Ooms. -All rights reserved. -Homepage: https://github.com/r-windows/rtools-backports -License: 3-clause BSD +Copyright (c) 2017-2018 Fredrik Nicol --------------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Some code from pandas has been adapted for the pyarrow codebase. pandas is -available under the 3-clause BSD license, which follows: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -pandas license -============== +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -Copyright (c) 2011-2012, Lambda Foundry, Inc. and PyData Development Team -All rights reserved. -Copyright (c) 2008-2011 AQR Capital Management, LLC -All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +-------------------------------------------------------------------------------- +Package Title: d3-array (2.12.1) +-------------------------------------------------------------------------------- - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +* Declared Licenses * +Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +* Multi-license: BSD-2-Clause OR BSD-3-Clause * - * Neither the name of the copyright holder nor the names of any - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Copyright 2010-2020 Mike Bostock +All rights reserved. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: --------------------------------------------------------------------------------- +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -Some bits from DyND, in particular aspects of the build system, have been -adapted from libdynd and dynd-python under the terms of the BSD 2-clause -license +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -The BSD 2-Clause License +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. - Copyright (C) 2011-12, Dynamic NDArray Developers - All rights reserved. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +* BSD-3-Clause * - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Copyright 2010-2020 Mike Bostock +All rights reserved. - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -Dynamic NDArray Developers list: +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. - * Mark Wiebe - * Continuum Analytics +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. --------------------------------------------------------------------------------- +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. -Some source code from Ibis (https://github.com/cloudera/ibis) has been adapted -for PyArrow. Ibis is released under the Apache License, Version 2.0. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -This project includes code from the autobrew project. -* r/tools/autobrew and dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb - are based on code from the autobrew project. +* Other Licenses * +ISC -Copyright (c) 2019, Jeroen Ooms -License: MIT -Homepage: https://github.com/jeroen/autobrew +Copyright (c) 2021 Mike Bostock +Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +-------------------------------------------------------------------------------- +Package Title: d3-color (2.0.0) -------------------------------------------------------------------------------- -dev/tasks/homebrew-formulae/apache-arrow.rb has the following license: +* Declared Licenses * +Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause -BSD 2-Clause License +* Multi-license: BSD-2-Clause OR BSD-3-Clause * -Copyright (c) 2009-present, Homebrew contributors +Copyright 2010-2016 Mike Bostock All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. @@ -13638,288 +15228,635 @@ modification, are permitted provided that the following conditions are met: this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. ----------------------------------------------------------------------- +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -cpp/src/arrow/vendored/base64.cpp has the following license -ZLIB License +* BSD-3-Clause * -Copyright (C) 2004-2017 René Nyffenegger +Copyright 2010-2016 Mike Bostock +All rights reserved. -This source code is provided 'as-is', without any express or implied -warranty. In no event will the author be held liable for any damages arising -from the use of this software. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -Permission is granted to anyone to use this software for any purpose, including -commercial applications, and to alter it and redistribute it freely, subject to -the following restrictions: +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -1. The origin of this source code must not be misrepresented; you must not - claim that you wrote the original source code. If you use this source code - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original source code. +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. -3. This notice may not be removed or altered from any source distribution. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -René Nyffenegger rene.nyffenegger@adp-gmbh.ch --------------------------------------------------------------------------------- -The file cpp/src/arrow/vendored/optional.hpp has the following license +-------------------------------------------------------------------------------- +Package Title: d3-format (2.0.0) +-------------------------------------------------------------------------------- -Boost Software License - Version 1.0 - August 17th, 2003 +* Declared Licenses * +Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: +* Multi-license: BSD-2-Clause OR BSD-3-Clause * -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. +Copyright 2010-2015 Mike Bostock +All rights reserved. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: --------------------------------------------------------------------------------- +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -The file cpp/src/arrow/vendored/musl/strptime.c has the following license +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -Copyright © 2005-2020 Rich Felker, et al. +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* BSD-3-Clause * --------------------------------------------------------------------------------- +Copyright 2010-2015 Mike Bostock +All rights reserved. -The file cpp/cmake_modules/BuildUtils.cmake contains code from +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -https://gist.github.com/cristianadam/ef920342939a89fae3e8a85ca9459b49 +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -which is made available under the MIT license +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -Copyright (c) 2019 Cristian Adam +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +-------------------------------------------------------------------------------- +Package Title: d3-interpolate (2.0.1) -------------------------------------------------------------------------------- -The files in cpp/src/arrow/vendored/portable-snippets/ contain code from +* Declared Licenses * +Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause -https://github.com/nemequ/portable-snippets +* Multi-license: BSD-2-Clause OR BSD-3-Clause * -and have the following copyright notice: +Copyright 2010-2016 Mike Bostock +All rights reserved. -Each source file contains a preamble explaining the license situation -for that file, which takes priority over this file. With the -exception of some code pulled in from other repositories (such as -µnit, an MIT-licensed project which is used for testing), the code is -public domain, released using the CC0 1.0 Universal dedication (*). +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -(*) https://creativecommons.org/publicdomain/zero/1.0/legalcode +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* Other Licenses * -BSD-3-Clause, Multi-license: BSD-2-Clause OR BSD-3-Clause OR MIT OR NCSA, Multi-license: Apache-2.0 OR MIT, Multi-license: BSD-2-Clause OR BSD-3-Clause OR BSL-1.0 OR CC0-1.0 OR CC-BY-3.0 OR JSON OR MIT OR NCSA OR Protobuf OR public-domain OR Zlib, MIT, BSL-1.0, NCSA, BSD-2-Clause, CC0-1.0, Zlib * BSD-3-Clause * -Copyright (c) yyyy] [name of copyright owner] . All rights reserved. +Copyright 2010-2016 Mike Bostock +All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* Multi-license: BSD-2-Clause OR BSD-3-Clause OR MIT OR NCSA * -Copyright (c) yyyy] [name of copyright owner] -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +-------------------------------------------------------------------------------- +Package Title: d3-path (2.0.0) +-------------------------------------------------------------------------------- - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +* Declared Licenses * +Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation +* Multi-license: BSD-2-Clause OR BSD-3-Clause * - and/or other materials provided with the distribution. +Copyright 2015-2016 Mike Bostock +All rights reserved. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -* Multi-license: Apache-2.0 OR MIT * +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - 1. Definitions. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +* BSD-3-Clause * - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +Copyright 2015-2016 Mike Bostock +All rights reserved. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +-------------------------------------------------------------------------------- +Package Title: d3-scale (3.3.0) +-------------------------------------------------------------------------------- - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +* Declared Licenses * +Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work +* Multi-license: BSD-2-Clause OR BSD-3-Clause * + +Copyright 2010-2015 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* BSD-3-Clause * + +Copyright 2010-2015 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +-------------------------------------------------------------------------------- +Package Title: d3-shape (2.1.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause + +* Multi-license: BSD-2-Clause OR BSD-3-Clause * + +Copyright 2010-2015 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* BSD-3-Clause * + +Copyright 2010-2015 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +-------------------------------------------------------------------------------- +Package Title: d3-time (2.1.1) +-------------------------------------------------------------------------------- + +* Declared Licenses * +Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause + +* Multi-license: BSD-2-Clause OR BSD-3-Clause * + +Copyright 2010-2016 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* BSD-3-Clause * + +Copyright 2010-2016 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +-------------------------------------------------------------------------------- +Package Title: d3-time-format (3.0.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause + +* Multi-license: BSD-2-Clause OR BSD-3-Clause * + +Copyright 2010-2017 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* BSD-3-Clause * + +Copyright 2010-2017 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +-------------------------------------------------------------------------------- +Package Title: datadriven (26b70ec25f5935afbf28f0fa1ffea6b385636e27) +-------------------------------------------------------------------------------- + +* Declared Licenses * +Apache-2.0 + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate @@ -14039,168 +15976,125 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. See the License for the specific language governing permissions and limitations under the License. --------------------------------------------------------------------------------- -src/plasma/fling.cc and src/plasma/fling.h: Apache 2.0 -Copyright 2013 Sharvil Nanavati +-------------------------------------------------------------------------------- +Package Title: debug (2.6.9) +-------------------------------------------------------------------------------- -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 +* Declared Licenses * +MIT - 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. +(The MIT License) --------------------------------------------------------------------------------- +Copyright (c) 2014 TJ Holowaychuk -src/plasma/thirdparty/ae: Modified / 3-Clause BSD +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the 'Software'), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: -Copyright (c) 2006-2010, Salvatore Sanfilippo -All rights reserved. +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of Redis nor the names of its contributors may be used - to endorse or promote products derived from this software without - specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +Package Title: debug (3.1.0) -------------------------------------------------------------------------------- -src/plasma/thirdparty/dlmalloc.c: CC0 +* Declared Licenses * +MIT -This is a version (aka dlmalloc) of malloc/free/realloc written by -Doug Lea and released to the public domain, as explained at -http://creativecommons.org/publicdomain/zero/1.0/ Send questions, -comments, complaints, performance data, etc to dl@cs.oswego.edu --------------------------------------------------------------------------------- +(The MIT License) -src/plasma/common.cc (some portions) +Copyright (c) 2014 TJ Holowaychuk -Copyright (c) Austin Appleby (aappleby (AT) gmail) +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the 'Software'), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: -Some portions of this file are derived from code in the MurmurHash project +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -All code is released to the public domain. For business purposes, Murmurhash is -under the MIT license. -https://sites.google.com/site/murmurhash/ + +-------------------------------------------------------------------------------- +Package Title: decimal.js-light (2.5.1) -------------------------------------------------------------------------------- -src/arrow/util (some portions): Apache 2.0, and 3-clause BSD +* Declared Licenses * +MIT -Some portions of this module are derived from code in the Chromium project, -copyright (c) Google inc and (c) The Chromium Authors and licensed under the -Apache 2.0 License or the under the 3-clause BSD license: - Copyright (c) 2013 The Chromium Authors. All rights reserved. +The MIT Expat Licence. - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: +Copyright (c) 2020 Michael Mclaughlin - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. --------------------------------------------------------------------------------- +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -This project includes code from Daniel Lemire's FrameOfReference project. -https://github.com/lemire/FrameOfReference/blob/6ccaf9e97160f9a3b299e23a8ef739e711ef0c71/src/bpacking.cpp -Copyright: 2013 Daniel Lemire -Home page: http://lemire.me/en/ -Project page: https://github.com/lemire/FrameOfReference -License: Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 +-------------------------------------------------------------------------------- +Package Title: demangle (28f6c0f3b63983aaa99575ca3b693afff7996387) -------------------------------------------------------------------------------- -This project includes code from the TensorFlow project - -Copyright 2015 The TensorFlow Authors. All Rights Reserved. - -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. - --------------------------------------------------------------------------------- - -This project includes code from the NumPy project. - -https://github.com/numpy/numpy/blob/e1f191c46f2eebd6cb892a4bfe14d9dd43a06c4e/numpy/core/src/multiarray/multiarraymodule.c#L2910 +* Declared Licenses * +BSD-3-Clause -https://github.com/numpy/numpy/blob/68fd82271b9ea5a9e50d4e761061dfcca851382a/numpy/core/src/multiarray/datetime.c -Copyright (c) 2005-2017, NumPy Developers. -All rights reserved. +Copyright (c) 2015 The Go Authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - * Neither the name of the NumPy Developers nor the names of any - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -14214,745 +16108,307 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- - -This project includes code from the Boost project - -Boost Software License - Version 1.0 - August 17th, 2003 - -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: - -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +Package Title: depd (1.1.2) -------------------------------------------------------------------------------- -This project includes code from the FlatBuffers project - -Copyright 2014 Google Inc. - -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 +* Declared Licenses * +MIT - 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. +(The MIT License) --------------------------------------------------------------------------------- +Copyright (c) 2014-2017 Douglas Christopher Wilson -This project includes code from the tslib project +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -Copyright 2015 Microsoft Corporation. All rights reserved. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -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 +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - 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. +-------------------------------------------------------------------------------- +Package Title: Django (5.0.4) -------------------------------------------------------------------------------- -This project includes code from the jemalloc project +* Declared Licenses * +No licenses found -https://github.com/jemalloc/jemalloc -Copyright (C) 2002-2017 Jason Evans . -All rights reserved. -Copyright (C) 2007-2012 Mozilla Foundation. All rights reserved. -Copyright (C) 2009-2017 Facebook, Inc. All rights reserved. +-------------------------------------------------------------------------------- +Package Title: django-cockroachdb (5.0) +-------------------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: -1. Redistributions of source code must retain the above copyright notice(s), - this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice(s), - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +* Declared Licenses * +Apache-2.0 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY EXPRESS -OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -This project includes code from the Go project, BSD 3-clause license + PATENTS -weak patent termination clause -(https://github.com/golang/go/blob/master/PATENTS). + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -Copyright (c) 2009 The Go Authors. All rights reserved. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: + 1. Definitions. - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. --------------------------------------------------------------------------------- + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -This project includes code from the hs2client + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -https://github.com/cloudera/hs2client + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -Copyright 2016 Cloudera Inc. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -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 + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -http://www.apache.org/licenses/LICENSE-2.0 + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -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. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." --------------------------------------------------------------------------------- + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -The script ci/scripts/util_wait_for_it.sh has the following license + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -Copyright (c) 2016 Giles Hall + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and --------------------------------------------------------------------------------- + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -The script r/configure has the following license (MIT) + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -Copyright (c) 2017, Jeroen Ooms and Jim Hester + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. --------------------------------------------------------------------------------- + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -cpp/src/arrow/util/logging.cc, cpp/src/arrow/util/logging.h and -cpp/src/arrow/util/logging-test.cc are adapted from -Ray Project (https://github.com/ray-project/ray) (Apache 2.0). + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -Copyright (c) 2016 Ray Project (https://github.com/ray-project/ray) + END OF TERMS AND CONDITIONS -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 + APPENDIX: How to apply the Apache License to your work. - http://www.apache.org/licenses/LICENSE-2.0 + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -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. + Copyright [yyyy] [name of copyright owner] --------------------------------------------------------------------------------- -The files cpp/src/arrow/vendored/datetime/date.h, cpp/src/arrow/vendored/datetime/tz.h, -cpp/src/arrow/vendored/datetime/tz_private.h, cpp/src/arrow/vendored/datetime/ios.h, -cpp/src/arrow/vendored/datetime/ios.mm, -cpp/src/arrow/vendored/datetime/tz.cpp are adapted from -Howard Hinnant's date library (https://github.com/HowardHinnant/date) -It is licensed under MIT license. + 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 -The MIT License (MIT) -Copyright (c) 2015, 2016, 2017 Howard Hinnant -Copyright (c) 2016 Adrian Colomitchi -Copyright (c) 2017 Florian Dang -Copyright (c) 2017 Paul Thompson -Copyright (c) 2018 Tomasz Kamiński + http://www.apache.org/licenses/LICENSE-2.0 -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 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. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +-------------------------------------------------------------------------------- +Package Title: dnsutils (90052734000be120c409677a88cb517e5b49dbf4) -------------------------------------------------------------------------------- -The file cpp/src/arrow/util/utf8.h includes code adapted from the page - https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ -with the following license (MIT) +* Declared Licenses * +Apache-2.0 -Copyright (c) 2008-2009 Bjoern Hoehrmann -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 1. Definitions. --------------------------------------------------------------------------------- + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -The file cpp/src/arrow/vendored/string_view.hpp has the following license + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -Boost Software License - Version 1.0 - August 17th, 2003 + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. --------------------------------------------------------------------------------- - -The file cpp/src/arrow/vendored/variant.hpp has the following license - -Boost Software License - Version 1.0 - August 17th, 2003 - -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: - -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - --------------------------------------------------------------------------------- - -The files in cpp/src/arrow/vendored/xxhash/ have the following license -(BSD 2-Clause License) - -xxHash Library -Copyright (c) 2012-2014, Yann Collet -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -You can contact the author at : -- xxHash homepage: http://www.xxhash.com -- xxHash source repository : https://github.com/Cyan4973/xxHash - --------------------------------------------------------------------------------- - -The files in cpp/src/arrow/vendored/double-conversion/ have the following license -(BSD 3-Clause License) - -Copyright 2006-2011, the V8 project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -The files in cpp/src/arrow/vendored/uriparser/ have the following license -(BSD 3-Clause License) - -uriparser - RFC 3986 URI parsing library - -Copyright (C) 2007, Weijia Song -Copyright (C) 2007, Sebastian Pipping -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. - - * Neither the name of the nor the names of its - contributors may be used to endorse or promote products - derived from this software without specific prior written - permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -The files under dev/tasks/conda-recipes have the following license - -BSD 3-clause license -Copyright (c) 2015-2018, conda-forge -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR -TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -The files in cpp/src/arrow/vendored/utfcpp/ have the following license - -Copyright 2006-2018 Nemanja Trifunovic - -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: - -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - --------------------------------------------------------------------------------- - -This project includes code from Apache Kudu. - - * cpp/cmake_modules/CompilerInfo.cmake is based on Kudu's cmake_modules/CompilerInfo.cmake - -Copyright: 2016 The Apache Software Foundation. -Home page: https://kudu.apache.org/ -License: http://www.apache.org/licenses/LICENSE-2.0 - --------------------------------------------------------------------------------- - -This project includes code from Apache Impala (incubating), formerly -Impala. The Impala code and rights were donated to the ASF as part of the -Incubator process after the initial code imports into Apache Parquet. - -Copyright: 2012 Cloudera, Inc. -Copyright: 2016 The Apache Software Foundation. -Home page: http://impala.apache.org/ -License: http://www.apache.org/licenses/LICENSE-2.0 - --------------------------------------------------------------------------------- - -This project includes code from Apache Aurora. - -* dev/release/{release,changelog,release-candidate} are based on the scripts from - Apache Aurora - -Copyright: 2016 The Apache Software Foundation. -Home page: https://aurora.apache.org/ -License: http://www.apache.org/licenses/LICENSE-2.0 - --------------------------------------------------------------------------------- - -This project includes code from the Google styleguide. - -* cpp/build-support/cpplint.py is based on the scripts from the Google styleguide. - -Copyright: 2009 Google Inc. All rights reserved. -Homepage: https://github.com/google/styleguide -License: 3-clause BSD - --------------------------------------------------------------------------------- - -This project includes code from Snappy. - -* cpp/cmake_modules/{SnappyCMakeLists.txt,SnappyConfig.h} are based on code - from Google's Snappy project. - -Copyright: 2009 Google Inc. All rights reserved. -Homepage: https://github.com/google/snappy -License: 3-clause BSD - --------------------------------------------------------------------------------- - -This project includes code from the manylinux project. - -* python/manylinux1/scripts/{build_python.sh,python-tag-abi-tag.py, - requirements.txt} are based on code from the manylinux project. - -Copyright: 2016 manylinux -Homepage: https://github.com/pypa/manylinux -License: The MIT License (MIT) - --------------------------------------------------------------------------------- - -This project includes code from the cymove project: - -* python/pyarrow/includes/common.pxd includes code from the cymove project - -The MIT License (MIT) -Copyright (c) 2019 Omer Ozarslan - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -OR OTHER DEALINGS IN THE SOFTWARE. - --------------------------------------------------------------------------------- - -The projects includes code from the Ursabot project under the dev/archery -directory. - -License: BSD 2-Clause - -Copyright 2019 RStudio, Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -This project include code from CMake. - -* cpp/cmake_modules/FindGTest.cmake is based on code from CMake. - -Copyright: Copyright 2000-2019 Kitware, Inc. and Contributors -Homepage: https://gitlab.kitware.com/cmake/cmake -License: 3-clause BSD - --------------------------------------------------------------------------------- - -This project include code from mingw-w64. - -* cpp/src/arrow/util/cpu-info.cc has a polyfill for mingw-w64 < 5 - -Copyright (c) 2009 - 2013 by the mingw-w64 project -Homepage: https://mingw-w64.org -License: Zope Public License (ZPL) Version 2.1. - ---------------------------------------------------------------------------------- - -This project include code from Google's Asylo project. - -* cpp/src/arrow/result.h is based on status_or.h - -Copyright (c) Copyright 2017 Asylo authors -Homepage: https://asylo.dev/ -License: Apache 2.0 - --------------------------------------------------------------------------------- - -This project includes code from Google's protobuf project - -* cpp/src/arrow/result.h ARROW_ASSIGN_OR_RAISE is based off ASSIGN_OR_RETURN - -Copyright 2008 Google Inc. All rights reserved. -Homepage: https://developers.google.com/protocol-buffers/ -License: - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Code generated by the Protocol Buffer compiler is owned by the owner -of the input file used when generating it. This code is not -standalone and requires a support library to be linked with it. This -support library is itself covered by the above license. - --------------------------------------------------------------------------------- - -3rdparty dependency LLVM is statically linked in certain binary distributions. -Additionally some sections of source code have been derived from sources in LLVM -and have been clearly labeled as such. LLVM has the following license: - -============================================================================== -The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: -============================================================================== - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the @@ -14980,14 +16436,14 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - 2. Grant of Copyright License. Subject to the terms and conditions of + 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - 3. Grant of Patent License. Subject to the terms and conditions of + 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, @@ -15003,7 +16459,7 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: granted to You under this License for that Work shall terminate as of the date such litigation is filed. - 4. Redistribution. You may reproduce and distribute copies of the + 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: @@ -15044,7 +16500,7 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - 5. Submission of Contributions. Unless You explicitly state otherwise, + 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. @@ -15052,12 +16508,12 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - 6. Trademarks. This License does not grant permission to use the trade + 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - 7. Disclaimer of Warranty. Unless required by applicable law or + 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or @@ -15067,7 +16523,7 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - 8. Limitation of Liability. In no event and under no legal theory, + 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be @@ -15079,7 +16535,7 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - 9. Accepting Warranty or Additional Liability. While redistributing + 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this @@ -15090,9 +16546,9 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - END OF TERMS AND CONDITIONS + END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. + APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" @@ -15103,189 +16559,205 @@ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright [yyyy] [name of copyright owner] - 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 + 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. + 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. ----- LLVM Exceptions to the Apache 2.0 License ---- -As an exception, if, as a result of your compiling your source code, portions -of this Software are embedded into an Object form of such source code, you -may redistribute such embedded portions in such Object form without complying -with the conditions of Sections 4(a), 4(b) and 4(d) of the License. +-------------------------------------------------------------------------------- +Package Title: dom-align (1.12.2) +-------------------------------------------------------------------------------- -In addition, if you combine or link compiled forms of this Software with -software that is licensed under the GPLv2 ("Combined Software") and if a -court of competent jurisdiction determines that the patent provision (Section -3), the indemnity provision (Section 9) or other Section of the License -conflicts with the conditions of the GPLv2, you may retroactively and -prospectively choose to deem waived or otherwise exclude such Section(s) of -the License, but only in their entirety and only with respect to the Combined -Software. +* Declared Licenses * +MIT -============================================================================== -Software from third parties included in the LLVM Project: -============================================================================== -The LLVM Project contains third party software which is under different license -terms. All such code will be identified clearly using at least one of two -mechanisms: -1) It will be in a separate directory tree with its own `LICENSE.txt` or - `LICENSE` file at the top containing the specific license and restrictions - which apply to that software, or -2) It will contain specific license and restriction terms at the top of every - file. --------------------------------------------------------------------------------- +The MIT License (MIT) -3rdparty dependency gRPC is statically linked in certain binary -distributions, like the python wheels. gRPC has the following license: +Copyright (c) 2014-present yiminghe -Copyright 2014 gRPC authors. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -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 +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - http://www.apache.org/licenses/LICENSE-2.0 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -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. + +-------------------------------------------------------------------------------- +Package Title: dom-closest (0.2.0) -------------------------------------------------------------------------------- -3rdparty dependency Apache Thrift is statically linked in certain binary -distributions, like the python wheels. Apache Thrift has the following license: +* Declared Licenses * +MIT -Apache Thrift -Copyright (C) 2006 - 2019, The Apache Software Foundation -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). +Copyright (c) Nicolas Gallagher -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 +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - 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. +-------------------------------------------------------------------------------- +Package Title: dom-helpers (3.4.0) -------------------------------------------------------------------------------- -3rdparty dependency Apache ORC is statically linked in certain binary -distributions, like the python wheels. Apache ORC has the following license: +* Declared Licenses * +MIT -Apache ORC -Copyright 2013-2019 The Apache Software Foundation -This product includes software developed by The Apache Software -Foundation (http://www.apache.org/). +The MIT License (MIT) -This product includes software developed by Hewlett-Packard: -(c) Copyright [2014-2015] Hewlett-Packard Development Company, L.P +Copyright (c) 2015 Jason Quense -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 +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - http://www.apache.org/licenses/LICENSE-2.0 +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -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. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +-------------------------------------------------------------------------------- +Package Title: dom-matches (2.0.0) -------------------------------------------------------------------------------- -3rdparty dependency zstd is statically linked in certain binary -distributions, like the python wheels. ZSTD has the following license: +* Declared Licenses * +MIT -BSD License -For Zstandard software +Copyright (c) Nicolas Gallagher -Copyright (c) 2016-present, Facebook, Inc. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name Facebook nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +Package Title: dom-scroll-into-view (1.2.1) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +Copyright (c) +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +-------------------------------------------------------------------------------- +Package Title: dot (807d563b34a335869e9c7e51a0f3ebe30b3c7a7b) -------------------------------------------------------------------------------- -3rdparty dependency lz4 is statically linked in certain binary -distributions, like the python wheels. lz4 has the following license: +* Declared Licenses * +MIT -LZ4 Library -Copyright (c) 2011-2016, Yann Collet -All rights reserved. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +Copyright(c) Ernest Micklei -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +MIT License + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +Package Title: dottie (2.0.0) -------------------------------------------------------------------------------- -3rdparty dependency Brotli is statically linked in certain binary -distributions, like the python wheels. Brotli has the following license: +* Declared Licenses * +MIT -Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +The MIT License + +Copyright (c) 2013-2014 Mick Hansen. http://mhansen.io Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -15299,204 +16771,149 @@ all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- - -3rdparty dependency rapidjson is statically linked in certain binary -distributions, like the python wheels. rapidjson and its dependencies have the -following licenses: - -Tencent is pleased to support the open source community by making RapidJSON -available. -Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. -All rights reserved. -If you have downloaded a copy of the RapidJSON binary from Tencent, please note -that the RapidJSON binary is licensed under the MIT License. -If you have downloaded a copy of the RapidJSON source code from Tencent, please -note that RapidJSON source code is licensed under the MIT License, except for -the third-party components listed below which are subject to different license -terms. Your integration of RapidJSON into your own projects may require -compliance with the MIT License, as well as the other licenses applicable to -the third-party components included within RapidJSON. To avoid the problematic -JSON license in your own projects, it's sufficient to exclude the -bin/jsonchecker/ directory, as it's the only code under the JSON license. -A copy of the MIT License is included in this file. -Other dependencies and licenses: - Open Source Software Licensed Under the BSD License: - -------------------------------------------------------------------- +-------------------------------------------------------------------------------- +Package Title: draft-js (0.10.5) +-------------------------------------------------------------------------------- - The msinttypes r29 - Copyright (c) 2006-2013 Alexander Chemeris - All rights reserved. +* Declared Licenses * +BSD-3-Clause - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +BSD License - THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY - EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR - ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH - DAMAGE. +For Draft.js software - Open Source Software Licensed Under the JSON License: - -------------------------------------------------------------------- +Copyright (c) 2013-present, Facebook, Inc. +All rights reserved. - json.org - Copyright (c) 2002 JSON.org - All Rights Reserved. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: - JSON_checker - Copyright (c) 2002 JSON.org - All Rights Reserved. + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - Terms of the JSON License: - --------------------------------------------------- + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - The Software shall be used for Good, not Evil. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. +* Other Licenses * +MIT - Terms of the MIT License: - -------------------------------------------------------------------- +Copyright (c) 2013 present, Facebook, Inc. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +Package Title: dst (ce1c8af3ca7fccd4405ec0594a8b68d40370dda0) -------------------------------------------------------------------------------- -3rdparty dependency snappy is statically linked in certain binary -distributions, like the python wheels. snappy has the following license: - -Copyright 2011, Google Inc. -All rights reserved. +* Declared Licenses * +MIT, BSD-3-Clause -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +* MIT * - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its contributors may be - used to endorse or promote products derived from this software without - specific prior written permission. +Copyright (c) 2018 David Brophy +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -=== +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -Some of the benchmark data in testdata/ is licensed differently: +* BSD-3-Clause * - - fireworks.jpeg is Copyright 2013 Steinar H. Gunderson, and - is licensed under the Creative Commons Attribution 3.0 license - (CC-BY-3.0). See https://creativecommons.org/licenses/by/3.0/ - for more information. +MIT License - - kppkn.gtb is taken from the Gaviota chess tablebase set, and - is licensed under the MIT License. See - https://sites.google.com/site/gaviotachessengine/Home/endgame-tablebases-1 - for more information. +Copyright (c) 2018 David Brophy - - paper-100k.pdf is an excerpt (bytes 92160 to 194560) from the paper - “Combinatorial Modeling of Chromatin Features Quantitatively Predicts DNA - Replication Timing in _Drosophila_” by Federico Comoglio and Renato Paro, - which is licensed under the CC-BY license. See - http://www.ploscompbiol.org/static/license for more ifnormation. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - - alice29.txt, asyoulik.txt, plrabn12.txt and lcet10.txt are from Project - Gutenberg. The first three have expired copyrights and are in the public - domain; the latter does not have expired copyright, but is still in the - public domain according to the license information - (http://www.gutenberg.org/ebooks/53). +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. --------------------------------------------------------------------------------- +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -3rdparty dependency gflags is statically linked in certain binary -distributions, like the python wheels. gflags has the following license: +This package was forked from https://github.com/golang/go/tree/master/src/go/ast - original license: -Copyright (c) 2006, Google Inc. -All rights reserved. +Copyright (c) 2009 The Go Authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -15512,408 +16929,280 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +Package Title: emojis-list (3.0.0) -------------------------------------------------------------------------------- -3rdparty dependency glog is statically linked in certain binary -distributions, like the python wheels. glog has the following license: +* Declared Licenses * +MIT -Copyright (c) 2008, Google Inc. -All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +The MIT License (MIT) - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. +Copyright © 2015 Kiko Beats -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -A function gettimeofday in utilities.cc is based on +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -http://www.google.com/codesearch/p?hl=en#dR3YEbitojA/COPYING&q=GetSystemTimeAsFileTime%20license:bsd -The license of this code is: -Copyright (c) 2003-2008, Jouni Malinen and contributors -All Rights Reserved. +-------------------------------------------------------------------------------- +Package Title: enquire.js (2.1.6) +-------------------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +* Declared Licenses * +MIT -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. +The MIT License (MIT) -3. Neither the name(s) of the above-listed copyright holder(s) nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. +Copyright (c) 2012 Nick Williams -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -3rdparty dependency re2 is statically linked in certain binary -distributions, like the python wheels. re2 has the following license: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Copyright (c) 2009 The RE2 Authors. All rights reserved. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its contributors - may be used to endorse or promote products derived from this - software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- - -3rdparty dependency c-ares is statically linked in certain binary -distributions, like the python wheels. c-ares has the following license: - -# c-ares license - -Copyright (c) 2007 - 2018, Daniel Stenberg with many contributors, see AUTHORS -file. - -Copyright 1998 by the Massachusetts Institute of Technology. - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, provided that -the above copyright notice appear in all copies and that both that copyright -notice and this permission notice appear in supporting documentation, and that -the name of M.I.T. not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior permission. -M.I.T. makes no representations about the suitability of this software for any -purpose. It is provided "as is" without express or implied warranty. - +Package Title: errors (3fdcae9f5040e35557f917e29c20e8de800483a9) -------------------------------------------------------------------------------- -3rdparty dependency zlib is redistributed as a dynamically linked shared -library in certain binary distributions, like the python wheels. In the future -this will likely change to static linkage. zlib has the following license: - -zlib.h -- interface of the 'zlib' general purpose compression library - version 1.2.11, January 15th, 2017 - - Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: +* Declared Licenses * +Apache-2.0 - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - Jean-loup Gailly Mark Adler - jloup@gzip.org madler@alumni.caltech.edu + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ --------------------------------------------------------------------------------- + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -3rdparty dependency openssl is redistributed as a dynamically linked shared -library in certain binary distributions, like the python wheels. openssl -preceding version 3 has the following license: + 1. Definitions. - LICENSE ISSUES - ============== + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. - The OpenSSL toolkit stays under a double license, i.e. both the conditions of - the OpenSSL License and the original SSLeay license apply to the toolkit. - See below for the actual license texts. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. - OpenSSL License - --------------- + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -/* ==================================================================== - * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. - Original SSLeay License - ----------------------- + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. --------------------------------------------------------------------------------- + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -This project includes code from the rtools-backports project. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -* ci/scripts/PKGBUILD and ci/scripts/r_windows_build.sh are based on code - from the rtools-backports project. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -Copyright: Copyright (c) 2013 - 2019, Алексей and Jeroen Ooms. -All rights reserved. -Homepage: https://github.com/r-windows/rtools-backports -License: 3-clause BSD + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. --------------------------------------------------------------------------------- + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -Some code from pandas has been adapted for the pyarrow codebase. pandas is -available under the 3-clause BSD license, which follows: + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -pandas license -============== + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -Copyright (c) 2011-2012, Lambda Foundry, Inc. and PyData Development Team -All rights reserved. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -Copyright (c) 2008-2011 AQR Capital Management, LLC -All rights reserved. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. - * Neither the name of the copyright holder nor the names of any - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. --------------------------------------------------------------------------------- + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -Some bits from DyND, in particular aspects of the build system, have been -adapted from libdynd and dynd-python under the terms of the BSD 2-clause -license + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -The BSD 2-Clause License + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. - Copyright (C) 2011-12, Dynamic NDArray Developers - All rights reserved. + END OF TERMS AND CONDITIONS - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: + APPENDIX: How to apply the Apache License to your work. - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. + Copyright [yyyy] [name of copyright owner] - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 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 -Dynamic NDArray Developers list: + http://www.apache.org/licenses/LICENSE-2.0 - * Mark Wiebe - * Continuum Analytics + 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. --------------------------------------------------------------------------------- -Some source code from Ibis (https://github.com/cloudera/ibis) has been adapted -for PyArrow. Ibis is released under the Apache License, Version 2.0. -------------------------------------------------------------------------------- - -This project includes code from the autobrew project. - -* r/tools/autobrew and dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb - are based on code from the autobrew project. - -Copyright (c) 2019, Jeroen Ooms -License: MIT -Homepage: https://github.com/jeroen/autobrew - +Package Title: errors (614d223910a179a466c1767a985424175c39b465) -------------------------------------------------------------------------------- -dev/tasks/homebrew-formulae/apache-arrow.rb has the following license: +* Declared Licenses * +BSD-2-Clause -BSD 2-Clause License -Copyright (c) 2009-present, Homebrew contributors +Copyright (c) 2015, Dave Cheney All rights reserved. Redistribution and use in source and binary forms, with or without @@ -15937,553 +17226,384 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ----------------------------------------------------------------------- -cpp/src/arrow/vendored/base64.cpp has the following license -ZLIB License +-------------------------------------------------------------------------------- +Package Title: errwrap (7b00e5db719c64d14dd0caaacbd13e76254d02c0) +-------------------------------------------------------------------------------- -Copyright (C) 2004-2017 René Nyffenegger +* Declared Licenses * +MPL-2.0 -This source code is provided 'as-is', without any express or implied -warranty. In no event will the author be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, including -commercial applications, and to alter it and redistribute it freely, subject to -the following restrictions: +Mozilla Public License, version 2.0 -1. The origin of this source code must not be misrepresented; you must not - claim that you wrote the original source code. If you use this source code - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. +1. Definitions -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original source code. +1.1. “Contributor” -3. This notice may not be removed or altered from any source distribution. + means each individual or legal entity that creates, contributes to the + creation of, or owns Covered Software. -René Nyffenegger rene.nyffenegger@adp-gmbh.ch +1.2. “Contributor Version” --------------------------------------------------------------------------------- + means the combination of the Contributions of others (if any) used by a + Contributor and that particular Contributor’s Contribution. -The file cpp/src/arrow/vendored/optional.hpp has the following license +1.3. “Contribution” -Boost Software License - Version 1.0 - August 17th, 2003 + means Covered Software of a particular Contributor. -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: +1.4. “Covered Software” -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. + means Source Code Form to which the initial Contributor has attached the + notice in Exhibit A, the Executable Form of such Source Code Form, and + Modifications of such Source Code Form, in each case including portions + thereof. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. +1.5. “Incompatible With Secondary Licenses” + means --------------------------------------------------------------------------------- + a. that the initial Contributor has attached the notice described in + Exhibit B to the Covered Software; or -The file cpp/src/arrow/vendored/musl/strptime.c has the following license + b. that the Covered Software was made available under the terms of version + 1.1 or earlier of the License, but not also under the terms of a + Secondary License. -Copyright © 2005-2020 Rich Felker, et al. +1.6. “Executable Form” -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: + means any form of the work other than Source Code Form. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +1.7. “Larger Work” -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + means a work that combines Covered Software with other material, in a separate + file or files, that is not Covered Software. --------------------------------------------------------------------------------- +1.8. “License” -The file cpp/cmake_modules/BuildUtils.cmake contains code from + means this document. -https://gist.github.com/cristianadam/ef920342939a89fae3e8a85ca9459b49 +1.9. “Licensable” -which is made available under the MIT license + means having the right to grant, to the maximum extent possible, whether at the + time of the initial grant or subsequently, any and all of the rights conveyed by + this License. -Copyright (c) 2019 Cristian Adam +1.10. “Modifications” -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + means any of the following: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + a. any file in Source Code Form that results from an addition to, deletion + from, or modification of the contents of Covered Software; or -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + b. any new file in Source Code Form that contains any Covered Software. --------------------------------------------------------------------------------- +1.11. “Patent Claims” of a Contributor -The files in cpp/src/arrow/vendored/portable-snippets/ contain code from + means any patent claim(s), including without limitation, method, process, + and apparatus claims, in any patent Licensable by such Contributor that + would be infringed, but for the grant of the License, by the making, + using, selling, offering for sale, having made, import, or transfer of + either its Contributions or its Contributor Version. -https://github.com/nemequ/portable-snippets +1.12. “Secondary License” -and have the following copyright notice: + means either the GNU General Public License, Version 2.0, the GNU Lesser + General Public License, Version 2.1, the GNU Affero General Public + License, Version 3.0, or any later versions of those licenses. -Each source file contains a preamble explaining the license situation -for that file, which takes priority over this file. With the -exception of some code pulled in from other repositories (such as -µnit, an MIT-licensed project which is used for testing), the code is -public domain, released using the CC0 1.0 Universal dedication (*). +1.13. “Source Code Form” -(*) https://creativecommons.org/publicdomain/zero/1.0/legalcode + means the form of the work preferred for making modifications. +1.14. “You” (or “Your”) -* Multi-license: BSD-2-Clause OR BSD-3-Clause OR BSL-1.0 OR CC0-1.0 OR CC-BY-3.0 OR JSON OR MIT OR NCSA OR Protobuf OR public-domain OR Zlib * + means an individual or a legal entity exercising rights under this + License. For legal entities, “You” includes any entity that controls, is + controlled by, or is under common control with You. For purposes of this + definition, “control” means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. -Copyright (c) yyyy] [name of copyright owner] -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +2. License Grants and Conditions - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +2.1. Grants - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: - and/or other materials provided with the distribution. + a. under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or as + part of a Larger Work; and -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + b. under Patent Claims of such Contributor to make, use, sell, offer for + sale, have made, import, and otherwise transfer either its Contributions + or its Contributor Version. -* MIT * +2.2. Effective Date -Copyright (c) yyyy] [name of copyright owner] -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + The licenses granted in Section 2.1 with respect to any Contribution become + effective for each Contribution on the date the Contributor first distributes + such Contribution. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +2.3. Limitations on Grant Scope -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + The licenses granted in this Section 2 are the only rights granted under this + License. No additional rights or licenses will be implied from the distribution + or licensing of Covered Software under this License. Notwithstanding Section + 2.1(b) above, no patent license is granted by a Contributor: -* BSL-1.0 * + a. for any code that a Contributor has removed from Covered Software; or -Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following: -The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + b. for infringements caused by: (i) Your and any other third party’s + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or -* NCSA * + c. under Patent Claims infringed by Covered Software in the absence of its + Contributions. -Copyright (c) 2003-2010 University of Illinois at Urbana-Champaign. . All rights reserved. -Developed by: - - - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal with the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimers. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimers in the documentation and/or other materials provided with the distribution. - * Neither the names of , nor the names of its contributors may be used to endorse or promote products derived from this Software without specific prior written permission. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE. + This License does not grant any rights in the trademarks, service marks, or + logos of any Contributor (except as may be necessary to comply with the + notice requirements in Section 3.4). -* BSD-2-Clause * +2.4. Subsequent Licenses -Copyright (c) yyyy] [name of copyright owner] + No Contributor makes additional grants as a result of Your choice to + distribute the Covered Software under a subsequent version of this License + (see Section 10.2) or under the terms of a Secondary License (if permitted + under the terms of Section 3.3). -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +2.5. Representation - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + Each Contributor represents that the Contributor believes its Contributions + are its original creation(s) or it has sufficient rights to grant the + rights to its Contributions conveyed by this License. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation +2.6. Fair Use - and/or other materials provided with the distribution. + This License is not intended to limit any rights You have under applicable + copyright doctrines of fair use, fair dealing, or other equivalents. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +2.7. Conditions -* CC0-1.0 * + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in + Section 2.1. -<> -CC0 1.0 Universal<> -Statement of Purpose -The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). -Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. -For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. - 1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: - i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; - ii. moral rights retained by the original author(s) and/or performer(s); - iii. publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; - iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; - v. rights protecting the extraction, dissemination, use and reuse of data in a Work; - vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and - vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. - 2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. - 3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. - 4. Limitations and Disclaimers. - a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. - b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. - c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. - d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. -* Zlib * +3. Responsibilities -This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. -Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: - 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. +3.1. Distribution of Source Form + All distribution of Covered Software in Source Code Form, including any + Modifications that You create or to which You contribute, must be under the + terms of this License. You must inform recipients that the Source Code Form + of the Covered Software is governed by the terms of this License, and how + they can obtain a copy of this License. You may not attempt to alter or + restrict the recipients’ rights in the Source Code Form. --------------------------------------------------------------------------------- -Package Title: asap (2.0.6) --------------------------------------------------------------------------------- +3.2. Distribution of Executable Form -* Declared Licenses * -MIT + If You distribute Covered Software in Executable Form then: + a. such Covered Software must also be made available in Source Code Form, + as described in Section 3.1, and You must inform recipients of the + Executable Form how they can obtain a copy of such Source Code Form by + reasonable means in a timely manner, at a charge no more than the cost + of distribution to the recipient; and + b. You may distribute such Executable Form under the terms of this License, + or sublicense it under different terms, provided that the license for + the Executable Form does not attempt to limit or alter the recipients’ + rights in the Source Code Form under this License. -Copyright 2009–2014 Contributors. All rights reserved. +3.3. Distribution of a Larger Work -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + You may create and distribute a Larger Work under terms of Your choice, + provided that You also comply with the requirements of this License for the + Covered Software. If the Larger Work is a combination of Covered Software + with a work governed by one or more Secondary Licenses, and the Covered + Software is not Incompatible With Secondary Licenses, this License permits + You to additionally distribute such Covered Software under the terms of + such Secondary License(s), so that the recipient of the Larger Work may, at + their option, further distribute the Covered Software under the terms of + either this License or such Secondary License(s). -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +3.4. Notices -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. + You may not remove or alter the substance of any license notices (including + copyright notices, patent notices, disclaimers of warranty, or limitations + of liability) contained within the Source Code Form of the Covered + Software, except that You may alter any license notices to the extent + required to remedy known factual inaccuracies. +3.5. Application of Additional Terms + You may choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of Covered + Software. However, You may do so only on Your own behalf, and not on behalf + of any Contributor. You must make it absolutely clear that any such + warranty, support, indemnity, or liability obligation is offered by You + alone, and You hereby agree to indemnify every Contributor for any + liability incurred by such Contributor as a result of warranty, support, + indemnity or liability terms You offer. You may include additional + disclaimers of warranty and limitations of liability specific to any + jurisdiction. +4. Inability to Comply Due to Statute or Regulation --------------------------------------------------------------------------------- -Package Title: asciigraph (748c9ad442544a7b414e6065138420349fe1ad6e) --------------------------------------------------------------------------------- + If it is impossible for You to comply with any of the terms of this License + with respect to some or all of the Covered Software due to statute, judicial + order, or regulation then You must: (a) comply with the terms of this License + to the maximum extent possible; and (b) describe the limitations and the code + they affect. Such description must be placed in a text file included with all + distributions of the Covered Software under this License. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. -* Declared Licenses * -BSD-3-Clause +5. Termination +5.1. The rights granted under this License will terminate automatically if You + fail to comply with any of its terms. However, if You become compliant, + then the rights granted under this License from a particular Contributor + are reinstated (a) provisionally, unless and until such Contributor + explicitly and finally terminates Your grants, and (b) on an ongoing basis, + if such Contributor fails to notify You of the non-compliance by some + reasonable means prior to 60 days after You have come back into compliance. + Moreover, Your grants from a particular Contributor are reinstated on an + ongoing basis if such Contributor notifies You of the non-compliance by + some reasonable means, this is the first time You have received notice of + non-compliance with this License from such Contributor, and You become + compliant prior to 30 days after Your receipt of the notice. -BSD 3-Clause License +5.2. If You initiate litigation against any entity by asserting a patent + infringement claim (excluding declaratory judgment actions, counter-claims, + and cross-claims) alleging that a Contributor Version directly or + indirectly infringes any patent, then the rights granted to You by any and + all Contributors for the Covered Software under Section 2.1 of this License + shall terminate. -Copyright (c) 2018, Rohit Gupta -All rights reserved. +5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user + license agreements (excluding distributors and resellers) which have been + validly granted by You or Your distributors under this License prior to + termination shall survive termination. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +6. Disclaimer of Warranty -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + Covered Software is provided under this License on an “as is” basis, without + warranty of any kind, either expressed, implied, or statutory, including, + without limitation, warranties that the Covered Software is free of defects, + merchantable, fit for a particular purpose or non-infringing. The entire + risk as to the quality and performance of the Covered Software is with You. + Should any Covered Software prove defective in any respect, You (not any + Contributor) assume the cost of any necessary servicing, repair, or + correction. This disclaimer of warranty constitutes an essential part of this + License. No use of any Covered Software is authorized under this License + except under this disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +7. Limitation of Liability -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. + Under no circumstances and under no legal theory, whether tort (including + negligence), contract, or otherwise, shall any Contributor, or anyone who + distributes Covered Software as permitted above, be liable to You for any + direct, indirect, special, incidental, or consequential damages of any + character including, without limitation, damages for lost profits, loss of + goodwill, work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses, even if such party shall have been + informed of the possibility of such damages. This limitation of liability + shall not apply to liability for death or personal injury resulting from such + party’s negligence to the extent applicable law prohibits such limitation. + Some jurisdictions do not allow the exclusion or limitation of incidental or + consequential damages, so this exclusion and limitation may not apply to You. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +8. Litigation + Any litigation relating to this License may be brought only in the courts of + a jurisdiction where the defendant maintains its principal place of business + and such litigation shall be governed by laws of that jurisdiction, without + reference to its conflict-of-law provisions. Nothing in this Section shall + prevent a party’s ability to bring cross-claims or counter-claims. +9. Miscellaneous --------------------------------------------------------------------------------- -Package Title: asm2plan9s (cdd76441f9d8c17c52d85f7657da5e8ce55f6083) --------------------------------------------------------------------------------- + This License represents the complete agreement concerning the subject matter + hereof. If any provision of this License is held to be unenforceable, such + provision shall be reformed only to the extent necessary to make it + enforceable. Any law or regulation which provides that the language of a + contract shall be construed against the drafter shall not be used to construe + this License against a Contributor. -* Declared Licenses * -Apache-2.0 +10. Versions of the License +10.1. New Versions - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ + Mozilla Foundation is the license steward. Except as provided in Section + 10.3, no one other than the license steward has the right to modify or + publish new versions of this License. Each version will be given a + distinguishing version number. - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +10.2. Effect of New Versions - 1. Definitions. + You may distribute the Covered Software under the terms of the version of + the License under which You originally received the Covered Software, or + under the terms of any subsequent version published by the license + steward. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +10.3. Modified Versions - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. + If you create software not governed by this License, and you want to + create a new license for such software, you may create and use a modified + version of this License if you rename the license and remove any + references to the name of the license steward (except to note that such + modified license differs from this License). - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses + If You choose to distribute Source Code Form that is Incompatible With + Secondary Licenses under the terms of this version of the License, the + notice described in Exhibit B of this License must be attached. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +Exhibit A - Source Code Form License Notice - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. + This Source Code Form is subject to the + terms of the Mozilla Public License, v. + 2.0. If a copy of the MPL was not + distributed with this file, You can + obtain one at + http://mozilla.org/MPL/2.0/. - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +If it is not possible or desirable to put the notice in a particular file, then +You may include the notice in a location (such as a LICENSE file in a relevant +directory) where a recipient would be likely to look for such a notice. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +You may add additional accurate notices of copyright ownership. - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +Exhibit B - “Incompatible With Secondary Licenses” Notice - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." + This Source Code Form is “Incompatible + With Secondary Licenses”, as defined by + the Mozilla Public License, v. 2.0. - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. -------------------------------------------------------------------------------- -Package Title: asmfmt (ef134b9cec704e2b7b336fb02153b7d1a58247da) +Package Title: esbuild (0.14.43) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) +MIT License -Copyright (c) 2015 Klaus Post +Copyright (c) 2020 Evan Wallace Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -16505,51 +17625,17 @@ SOFTWARE. - -* Other Licenses * -BSD-3-Clause - - -Copyright (c) 2009 The Go Authors . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -------------------------------------------------------------------------------- -Package Title: asn1-ber (04301b4b1c5ff66221f8f8a394f814a9917d678a) +Package Title: esbuild-loader (2.19.0) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) +MIT License -Copyright (c) 2011-2015 Michael Mitton (mmitton@gmail.com) -Portions copyright (c) 2015-2016 go-asn1-ber Authors +Copyright (c) Hiroki Osame Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -16572,36 +17658,39 @@ SOFTWARE. -------------------------------------------------------------------------------- -Package Title: assert (1.5.0) +Package Title: eventemitter3 (4.0.7) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright Joyent, Inc. and other Node contributors. All rights reserved. +The MIT License (MIT) + +Copyright (c) 2014 Arnout Kazemier + Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: assign-symbols (1.0.0) +Package Title: eventlistener (0.0.1) -------------------------------------------------------------------------------- * Declared Licenses * @@ -16610,7 +17699,7 @@ MIT The MIT License (MIT) -Copyright (c) 2015, Jon Schlinkert. +Copyright (c) 2013 FINN.no AS Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -16619,49 +17708,97 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: astral-regex (2.0.0) +Package Title: exp (025e73f80486958a9c517ade99a38db4628f15d6) -------------------------------------------------------------------------------- * Declared Licenses * -MIT +BSD-3-Clause -Copyright (c) Kevin Mårtensson (github.com/kevva) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright (c) 2009 The Go Authors. All rights reserved. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +-------------------------------------------------------------------------------- +Package Title: exp (79cabaa25d7518588d46eb676385c8dff49670c3) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-3-Clause + + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -------------------------------------------------------------------------------- -Package Title: astroturf (0.10.2) +Package Title: fast-equals (2.0.4) -------------------------------------------------------------------------------- * Declared Licenses * @@ -16670,7 +17807,7 @@ MIT MIT License -Copyright (c) 2016 4Catalyzer +Copyright (c) 2017 Tony Quetano Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -16693,7 +17830,7 @@ SOFTWARE. -------------------------------------------------------------------------------- -Package Title: astroturf (0.10.5) +Package Title: fbjs (0.8.17) -------------------------------------------------------------------------------- * Declared Licenses * @@ -16702,70 +17839,97 @@ MIT MIT License -Copyright (c) 2016 4Catalyzer +Copyright (c) 2013-present, Facebook, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: async-validator (1.11.5) +Package Title: follow-redirects (1.14.1) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) - -Copyright (c) 2014-present yiminghe +Copyright 2014–present Olivier Lalonde , James Talmage , Ruben Verborgh -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: async-validator (4.2.5) +Package Title: fsnotify (466b39d216616549a37ee93c7c47775f6a010790) -------------------------------------------------------------------------------- * Declared Licenses * -MIT - +BSD-3-Clause -The MIT License (MIT) -Copyright (c) 2014-present yiminghe +Copyright (c) 2012 The Go Authors. All rights reserved. +Copyright (c) 2012-2019 fsnotify Authors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: atime (ba95caf97c0b346727855dcc13d9cee7d44180e5) +Package Title: fuzzy (0ca8ec0fccc8cd7d336a6d6dec490a327a8d5cb0) -------------------------------------------------------------------------------- * Declared Licenses * @@ -16774,7 +17938,7 @@ MIT The MIT License (MIT) -Copyright (c) 2015 Dustin H +Copyright (c) 2017 Sahil Muthoo Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -16796,49 +17960,72 @@ SOFTWARE. +-------------------------------------------------------------------------------- +Package Title: gax-go (2592e2286ac291a2d9e7c06e1f31b3a6d772131c) +-------------------------------------------------------------------------------- -* Other Licenses * +* Declared Licenses * BSD-3-Clause -Copyright (c) 2009 The Go Authors. All rights reserved. . All rights reserved. - +Copyright 2016, Google Inc. +All rights reserved. Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +modification, are permitted provided that the following conditions are +met: - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +* Other Licenses * +Apache-2.0 + + +Copyright 2021 Google LLC + +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. -------------------------------------------------------------------------------- -Package Title: atomic (96800363039fbf926a6c826795797abcde5f07a5) +Package Title: generic-pool (2.4.3) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright (c) 2016 Uber Technologies, Inc. - +Copyright (c) 2010-2016 James Cooper <james@bitmechanic.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -16846,21 +18033,48 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +-------------------------------------------------------------------------------- +Package Title: generic-pool (3.4.2) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +Copyright (c) 2010-2016 James Cooper <james@bitmechanic.com> +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: aws-msk-iam-sasl-signer-go (6f7dd66289fe6a4f5ad517b796e9bd4f851bab81) +Package Title: geo (673a6f80352d38c1ea2f05c915a659938872212f) -------------------------------------------------------------------------------- * Declared Licenses * @@ -17043,29 +18257,213 @@ Apache-2.0 incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. + -------------------------------------------------------------------------------- -Package Title: aws-sdk-go (23db5a40f4d1f4ede9752ac34c7ed80541a402f3) +Package Title: geohash (b120471f64550e097320b8fa96d8b6a0157d6fd9) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0 +MIT +Copyright (C) 2015 Pierre Durand - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - 1. Definitions. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - "Licensor" shall mean the copyright owner or entity authorized by + +-------------------------------------------------------------------------------- +Package Title: github.com/aclements/go-moremath (f10218a38794) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-3-Clause + + +Copyright (c) 2015 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +-------------------------------------------------------------------------------- +Package Title: github.com/alessio/shellescape (v1.4.1) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT License (MIT) + +Copyright (c) 2016 Alessio Treglia + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: github.com/andybalholm/cascadia (v1.2.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-2-Clause + + +Copyright (c) 2011 Andy Balholm. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +-------------------------------------------------------------------------------- +Package Title: github.com/apache/thrift (v0.16.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-3-Clause, FSFAP, Apache-2.0 + +* BSD-3-Clause * + +Copyright (c) 2007 Thomas Porschberg . All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +* FSFAP * + +Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty. + +* Apache-2.0 * + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all @@ -17256,135 +18654,183 @@ Apache-2.0 See the License for the specific language governing permissions and limitations under the License. +-------------------------------------------------- +SOFTWARE DISTRIBUTED WITH THRIFT: +The Apache Thrift software includes a number of subcomponents with +separate copyright notices and license terms. Your use of the source +code for the these subcomponents is subject to the terms and +conditions of the following licenses. -* Other Licenses * -BSD-3-Clause, MIT, RSA-MD +-------------------------------------------------- +Portions of the following files are licensed under the MIT License: -* BSD-3-Clause * + lib/erl/src/Makefile.am -Copyright (c) 2009 The Go Authors. All rights reserved. . All rights reserved. +Please see doc/otp-base-license.txt for the full terms of this license. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +-------------------------------------------------- +For the aclocal/ax_boost_base.m4 and contrib/fb303/aclocal/ax_boost_base.m4 components: - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +# Copyright (c) 2007 Thomas Porschberg +# +# Copying and distribution of this file, with or without +# modification, are permitted in any medium without royalty provided +# the copyright notice and this notice are preserved. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +-------------------------------------------------- +For the lib/nodejs/lib/thrift/json_parse.js: - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +/* + json_parse.js + 2015-05-02 + Public Domain. + NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +(By Douglas Crockford ) -* MIT * +-------------------------------------------------- +For lib/cpp/src/thrift/windows/SocketPair.cpp -Copyright (c) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +/* socketpair.c + * Copyright 2007 by Nathan C. Myers ; some rights reserved. + * This code is Free Software. It may be copied freely, in original or + * modified form, subject only to the restrictions that (1) the author is + * relieved from all responsibilities for any use for any purpose, and (2) + * this copyright notice must be retained, unchanged, in its entirety. If + * for any reason the author might be held responsible for any consequences + * of copying or use, license is withheld. + */ -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +-------------------------------------------------- +For lib/py/compat/win32/stdint.h -* RSA-MD * +// ISO C9x compliant stdint.h for Microsoft Visual Studio +// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 +// +// Copyright (c) 2006-2008 Alexander Chemeris +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. The name of the author may be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +/////////////////////////////////////////////////////////////////////////////// -Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved. -License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing this software or this function. -License is also granted to make and use derivative works provided that such works are identified as "derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing the derived work. -RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of any kind. -These notices must be retained in any copies of any part of this documentation and/or software. +-------------------------------------------------- +Codegen template in t_html_generator.h --------------------------------------------------------------------------------- -Package Title: axios (0.21.4) --------------------------------------------------------------------------------- +* Bootstrap v2.0.3 +* +* Copyright 2012 Twitter, Inc +* Licensed under the Apache License v2.0 +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Designed and built with all the love in the world @twitter by @mdo and @fat. -* Declared Licenses * -MIT +--------------------------------------------------- +For t_cl_generator.cc + * Copyright (c) 2008- Patrick Collison + * Copyright (c) 2006- Facebook -Copyright (c) 2014-present Matt Zabriskie +--------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +* Other Licenses * +BSD-2-Clause, BSL-1.0, FSFULLR, GPL-3.0-or-later, gpl-1.0-plus WITH autoconf-macro-exception, public-domain, LGPL-2.1-only, MIT +* BSD-2-Clause * +Copyright (c) 2012 Raphael Kubo da Costa --------------------------------------------------------------------------------- -Package Title: axios-retry (3.1.9) --------------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -* Declared Licenses * -Apache-2.0 + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation -Copyright 2019 Softonic International S.A. + and/or other materials provided with the distribution. -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 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - http://www.apache.org/licenses/LICENSE-2.0 +* BSL-1.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. +Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following: +The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* FSFULLR * --------------------------------------------------------------------------------- -Package Title: azure-sdk-for-go (19034cd08ea6c46c1acc2e3da242fdae7b6926cc) --------------------------------------------------------------------------------- +Copyright 1996-2006 Free Software Foundation, Inc. +This file is free software; the Free Software Foundation gives unlimited permission to copy and/or distribute it, with or without modifications, as long as this notice is preserved. -* Declared Licenses * -MIT +* GPL-3.0-or-later * +Copyright (C) 2015 Reuben Thomas +This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 or any later version. +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. +You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/ -The MIT License (MIT) +* gpl-1.0-plus WITH autoconf-macro-exception * -Copyright (c) Microsoft Corporation. +As a special exception, the respective Autoconf Macro's copyright owner +gives unlimited permission to copy, distribute and modify the configure +scripts that are the output of Autoconf when processing the Macro. You +need not follow the terms of the GNU General Public License when using +or + +This special exception to the GPL applies to versions of the Autoconf +Macro released by the Autoconf Archive. When you make and distribute a +modified version of the Autoconf Macro, you may extend this special +exception to the GPL to apply to your modified version as well. + +* public-domain * +* LGPL-2.1-only * + +Copyright (C) 1991, 1999 Free Software Foundation, Inc. +This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; version 2.1. +This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. +You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +* MIT * +Copyright (c) 2006 Martin J. Logan, Erlware> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -17404,282 +18850,252 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +Package Title: github.com/aws/aws-sdk-go-v2/service/ec2 (v1.34.0) +-------------------------------------------------------------------------------- -* Other Licenses * +* Declared Licenses * Apache-2.0 -Copyright Microsoft Corporation - -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. + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -See the License for the specific language governing permissions and limitations under the License. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + 1. Definitions. --------------------------------------------------------------------------------- -Package Title: azure-sdk-for-go (3a7a4f3e6a5e676a2da09147753394b6c44e2d3c) --------------------------------------------------------------------------------- + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -* Declared Licenses * -MIT + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -The MIT License (MIT) + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -Copyright (c) Microsoft Corporation. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -* Other Licenses * -Apache-2.0 + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -Copyright Microsoft Corporation. All rights reserved. + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -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. - - --------------------------------------------------------------------------------- -Package Title: azure-sdk-for-go (619b9be70883c10aba943df9bd92edc7f7275882) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) Microsoft Corporation. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -* Other Licenses * -AML, IPA + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -* AML * + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -Copyright: Copyright (c) 2006 by Apple Computer, Inc., All Rights Reserved. -IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in consideration of your agreement to the following terms, and your use, installation, modification or redistribution of this Apple software constitutes acceptance of these terms. If you do not agree with these terms, please do not use, install, modify or redistribute this Apple software. -In consideration of your agreement to abide by the following terms, and subject to these terms, Apple grants you a personal, non-exclusive license, under Apple's copyrights in this original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the Apple Software, with or without modifications, in source and/or binary forms; provided that if you redistribute the Apple Software in its entirety and without modifications, you must retain this notice and the following text and disclaimers in all such redistributions of the Apple Software. Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to endorse or promote products derived from the Apple Software without specific prior written permission from Apple. Except as expressly stated in this notice, no other rights or licenses, express or implied, are granted by Apple herein, including but not limited to any patent rights that may be infringed by your derivative works or by other works in which the Apple Software may be incorporated. -The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. -IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -* IPA * + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -The Licensor provides the Licensed Program (as defined in Article 1 below) under the terms of this license agreement ("Agreement"). Any use, reproduction or distribution of the Licensed Program, or any exercise of rights under this Agreement by a Recipient (as defined in Article 1 below) constitutes the Recipient's acceptance of this Agreement. -Article 1 (Definitions) - 1. "Digital Font Program" shall mean a computer program containing, or used to render or display fonts. - 2. "Licensed Program" shall mean a Digital Font Program licensed by the Licensor under this Agreement. - 3. "Derived Program" shall mean a Digital Font Program created as a result of a modification, addition, deletion, replacement or any other adaptation to or of a part or all of the Licensed Program, and includes a case where a Digital Font Program newly created by retrieving font information from a part or all of the Licensed Program or Embedded Fonts from a Digital Document File with or without modification of the retrieved font information. - 4. "Digital Content" shall mean products provided to end users in the form of digital data, including video content, motion and/or still pictures, TV programs or other broadcasting content and products consisting of character text, pictures, photographic images, graphic symbols and/or the like. - 5. "Digital Document File" shall mean a PDF file or other Digital Content created by various software programs in which a part or all of the Licensed Program becomes embedded or contained in the file for the display of the font ("Embedded Fonts"). Embedded Fonts are used only in the display of characters in the particular Digital Document File within which they are embedded, and shall be distinguished from those in any Digital Font Program, which may be used for display of characters outside that particular Digital Document File. - 6. "Computer" shall include a server in this Agreement. - 7. "Reproduction and Other Exploitation" shall mean reproduction, transfer, distribution, lease, public transmission, presentation, exhibition, adaptation and any other exploitation. - 8. "Recipient" shall mean anyone who receives the Licensed Program under this Agreement, including one that receives the Licensed Program from a Recipient. -Article 2 (Grant of License) -The Licensor grants to the Recipient a license to use the Licensed Program in any and all countries in accordance with each of the provisions set forth in this Agreement. However, any and all rights underlying in the Licensed Program shall be held by the Licensor. In no sense is this Agreement intended to transfer any right relating to the Licensed Program held by the Licensor except as specifically set forth herein or any right relating to any trademark, trade name, or service mark to the Recipient. - 1. The Recipient may install the Licensed Program on any number of Computers and use the same in accordance with the provisions set forth in this Agreement. - 2. The Recipient may use the Licensed Program, with or without modification in printed materials or in Digital Content as an expression of character texts or the like. - 3. The Recipient may conduct Reproduction and Other Exploitation of the printed materials and Digital Content created in accordance with the preceding Paragraph, for commercial or non-commercial purposes and in any form of media including but not limited to broadcasting, communication and various recording media. - 4. If any Recipient extracts Embedded Fonts from a Digital Document File to create a Derived Program, such Derived Program shall be subject to the terms of this agreement. - 5. If any Recipient performs Reproduction or Other Exploitation of a Digital Document File in which Embedded Fonts of the Licensed Program are used only for rendering the Digital Content within such Digital Document File then such Recipient shall have no further obligations under this Agreement in relation to such actions. - 6. The Recipient may reproduce the Licensed Program as is without modification and transfer such copies, publicly transmit or otherwise redistribute the Licensed Program to a third party for commercial or non-commercial purposes ("Redistribute"), in accordance with the provisions set forth in Article 3 Paragraph 2. - 7. The Recipient may create, use, reproduce and/or Redistribute a Derived Program under the terms stated above for the Licensed Program: provided, that the Recipient shall follow the provisions set forth in Article 3 Paragraph 1 when Redistributing the Derived Program. -Article 3 (Restriction) -The license granted in the preceding Article shall be subject to the following restrictions: - 1. If a Derived Program is Redistributed pursuant to Paragraph 4 and 7 of the preceding Article, the following conditions must be met : - (1) The following must be also Redistributed together with the Derived Program, or be made available online or by means of mailing mechanisms in exchange for a cost which does not exceed the total costs of postage, storage medium and handling fees: - (a) a copy of the Derived Program; and - (b) any additional file created by the font developing program in the course of creating the Derived Program that can be used for further modification of the Derived Program, if any. - (2) It is required to also Redistribute means to enable recipients of the Derived Program to replace the Derived Program with the Licensed Program first released under this License (the "Original Program"). Such means may be to provide a difference file from the Original Program, or instructions setting out a method to replace the Derived Program with the Original Program. - (3) The Recipient must license the Derived Program under the terms and conditions of this Agreement. - (4) No one may use or include the name of the Licensed Program as a program name, font name or file name of the Derived Program. - (5) Any material to be made available online or by means of mailing a medium to satisfy the requirements of this paragraph may be provided, verbatim, by any party wishing to do so. - 2. If the Recipient Redistributes the Licensed Program pursuant to Paragraph 6 of the preceding Article, the Recipient shall meet all of the following conditions: - (1) The Recipient may not change the name of the Licensed Program. - (2) The Recipient may not alter or otherwise modify the Licensed Program. - (3) The Recipient must attach a copy of this Agreement to the Licensed Program. - 3. THIS LICENSED PROGRAM IS PROVIDED BY THE LICENSOR "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTY AS TO THE LICENSED PROGRAM OR ANY DERIVED PROGRAM, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT SHALL THE LICENSOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXTENDED, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO; PROCUREMENT OF SUBSTITUTED GOODS OR SERVICE; DAMAGES ARISING FROM SYSTEM FAILURE; LOSS OR CORRUPTION OF EXISTING DATA OR PROGRAM; LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE INSTALLATION, USE, THE REPRODUCTION OR OTHER EXPLOITATION OF THE LICENSED PROGRAM OR ANY DERIVED PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - 4. The Licensor is under no obligation to respond to any technical questions or inquiries, or provide any other user support in connection with the installation, use or the Reproduction and Other Exploitation of the Licensed Program or Derived Programs thereof. -Article 4 (Termination of Agreement) - 1. The term of this Agreement shall begin from the time of receipt of the Licensed Program by the Recipient and shall continue as long as the Recipient retains any such Licensed Program in any way. - 2. Notwithstanding the provision set forth in the preceding Paragraph, in the event of the breach of any of the provisions set forth in this Agreement by the Recipient, this Agreement shall automatically terminate without any notice. In the case of such termination, the Recipient may not use or conduct Reproduction and Other Exploitation of the Licensed Program or a Derived Program: provided that such termination shall not affect any rights of any other Recipient receiving the Licensed Program or the Derived Program from such Recipient who breached this Agreement. -Article 5 (Governing Law) - 1. IPA may publish revised and/or new versions of this License. In such an event, the Recipient may select either this Agreement or any subsequent version of the Agreement in using, conducting the Reproduction and Other Exploitation of, or Redistributing the Licensed Program or a Derived Program. Other matters not specified above shall be subject to the Copyright Law of Japan and other related laws and regulations of Japan. - 2. This Agreement shall be construed under the laws of Japan. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. --------------------------------------------------------------------------------- -Package Title: azure-sdk-for-go (e3202264a0d49f5767c1618dac4ebac39e65980f) --------------------------------------------------------------------------------- + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -* Declared Licenses * -MIT + END OF TERMS AND CONDITIONS + APPENDIX: How to apply the Apache License to your work. -The MIT License (MIT) + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -Copyright (c) Microsoft Corporation. + Copyright [yyyy] [name of copyright owner] -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 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 -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + http://www.apache.org/licenses/LICENSE-2.0 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 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. * Other Licenses * -Apache-2.0 - - -Copyright Microsoft Corporation. All rights reserved. - -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. - - --------------------------------------------------------------------------------- -Package Title: babel-plugin-macros (3.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) -Copyright (c) 2020 Kent C. Dodds - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: babel-polyfill (6.26.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT +BSD-3-Clause, MIT, RSA-MD +* BSD-3-Clause * -Copyright (c) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright (c) 2009 The Go Authors. All rights reserved. . All rights reserved. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. --------------------------------------------------------------------------------- -Package Title: babel-runtime (6.26.0) --------------------------------------------------------------------------------- + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. -* Declared Licenses * -MIT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* MIT * Copyright (c) Permission is hereby granted, free of charge, to any person obtaining a copy @@ -17700,142 +19116,24 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* RSA-MD * --------------------------------------------------------------------------------- -Package Title: backoff (6b0e4ad0cd65431b217393bff47d1dff727b264b) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014 Cenk Altı - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: balanced-match (1.0.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -(MIT) - -Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: base (0.11.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: base64-js (1.5.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014 Jameson Little - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - +Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved. +License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing this software or this function. +License is also granted to make and use derivative works provided that such works are identified as "derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing the derived work. +RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of any kind. +These notices must be retained in any copies of any part of this documentation and/or software. -------------------------------------------------------------------------------- -Package Title: bazel-remote (400101af9d14bae5fb400b80b8dbd279b4b30075) +Package Title: github.com/aws/aws-sdk-go-v2/service/iam (v1.18.3) -------------------------------------------------------------------------------- * Declared Licenses * Apache-2.0 + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -18016,7 +19314,7 @@ Apache-2.0 APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" + boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -18024,7 +19322,7 @@ Apache-2.0 same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright {yyyy} {name of copyright owner} + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -18040,35 +19338,12 @@ Apache-2.0 --------------------------------------------------------------------------------- -Package Title: bexp (e83ac869537e66020f9f0a1496e2ca08956e2e76) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0, MIT - -* Apache-2.0 * - -Copyright [yyyy] [name of copyright owner] - -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. +* Other Licenses * +MIT, RSA-MD, BSD-3-Clause * MIT * -MIT License - -Copyright (c) 2012 Marko Kungla. - +Copyright (c) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -18087,51 +19362,56 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* RSA-MD * +Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved. +License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing this software or this function. +License is also granted to make and use derivative works provided that such works are identified as "derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing the derived work. +RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of any kind. +These notices must be retained in any copies of any part of this documentation and/or software. --------------------------------------------------------------------------------- -Package Title: big.js (5.2.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT Licence (Expat). +* BSD-3-Clause * -Copyright (c) 2018 Michael Mclaughlin +Copyright (c) 2009 The Go Authors. All rights reserved. . All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: binary-extensions (2.2.0) +Package Title: github.com/Azure/azure-sdk-for-go/sdk/azidentity (v1.1.0) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright (c) 2019 Sindre Sorhus (https://sindresorhus.com), Paul Miller (https://paulmillr.com) +The MIT License (MIT) + +Copyright (c) Microsoft Corporation. + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -18151,428 +19431,28 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -Package Title: bitset (312c8c2fdfd7ee465f7117dbff639547a3c20776) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2014 Will Fitzgerald. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: blackfriday (4c9bf9512682b995722660a4196c0013228e2049) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause - - -Blackfriday is distributed under the Simplified BSD License: - -> Copyright © 2011 Russ Ross -> All rights reserved. -> -> Redistribution and use in source and binary forms, with or without -> modification, are permitted provided that the following conditions -> are met: -> -> 1. Redistributions of source code must retain the above copyright -> notice, this list of conditions and the following disclaimer. -> -> 2. Redistributions in binary form must reproduce the above -> copyright notice, this list of conditions and the following -> disclaimer in the documentation and/or other materials provided with -> the distribution. -> -> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -> "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -> LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -> FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -> COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -> INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -> BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -> LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -> CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -> LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -> ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -> POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: bluebird (3.5.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2013-2017 Petka Antonov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: bluebird (3.7.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2013-2018 Petka Antonov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: bn.js (4.12.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright Fedor Indutny, 2015. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: bn.js (5.2.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright Fedor Indutny, 2015. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: brace-expansion (1.1.11) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2013 Julian Gruber - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: braces (2.3.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-2018, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: brotli (2848168f550a22ff691915d3d760b328244bfae8) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - * Other Licenses * -BSD-3-Clause - - -Copyright (c) 2016 The Go Authors . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: browserify-aes (1.2.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-2017 browserify-aes contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: browserify-cipher (1.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-2017 Calvin Metcalf & contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - +Apache-2.0 --------------------------------------------------------------------------------- -Package Title: browserify-des (1.0.2) --------------------------------------------------------------------------------- -* Declared Licenses * -MIT +Copyright Microsoft Corporation. All rights reserved. +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 -Copyright (c) 2014-2017 Calvin Metcalf, Fedor Indutny & contributors -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +http://www.apache.org/licenses/LICENSE-2.0 -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +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. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +See the License for the specific language governing permissions and limitations under the License. -------------------------------------------------------------------------------- -Package Title: browserify-rsa (4.1.0) +Package Title: github.com/Azure/azure-sdk-for-go/sdk/keyvault/internal (v0.7.0) -------------------------------------------------------------------------------- * Declared Licenses * @@ -18581,7 +19461,7 @@ MIT The MIT License (MIT) -Copyright (c) 2014-2016 Calvin Metcalf & contributors +Copyright (c) Microsoft Corporation. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -18603,32 +19483,27 @@ SOFTWARE. --------------------------------------------------------------------------------- -Package Title: browserify-sign (4.2.1) --------------------------------------------------------------------------------- +* Other Licenses * +Apache-2.0 -* Declared Licenses * -ISC +Copyright Microsoft Corporation. All rights reserved. -Copyright (c) 2014-2015 Calvin Metcalf and browserify-sign contributors +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 -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +http://www.apache.org/licenses/LICENSE-2.0 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +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. -------------------------------------------------------------------------------- -Package Title: browserify-zlib (0.2.0) +Package Title: github.com/Azure/azure-sdk-for-go/sdk/storage/azblob (v0.6.1) -------------------------------------------------------------------------------- * Declared Licenses * @@ -18637,7 +19512,7 @@ MIT The MIT License (MIT) -Copyright (c) 2014-2015 Devon Govett +Copyright (c) Microsoft Corporation. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -18657,59 +19532,29 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -This project contains parts of Node.js. -Node.js is licensed for use as follows: - -""" -Copyright Node.js contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +* Other Licenses * +Apache-2.0 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" -This license applies to parts of Node.js originating from the -https://github.com/joyent/node repository: +Copyright Microsoft Corporation. All rights reserved. -""" -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +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 -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +http://www.apache.org/licenses/LICENSE-2.0 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" +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. -------------------------------------------------------------------------------- -Package Title: btree (479b5e81b0a93ec038d201b0b33d17db599531d3) +Package Title: github.com/Azure/go-autorest/autorest/azure/auth (v0.5.8) -------------------------------------------------------------------------------- * Declared Licenses * @@ -18894,18 +19739,7 @@ Apache-2.0 END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] + Copyright 2015 Microsoft Corporation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -18922,98 +19756,35 @@ Apache-2.0 -------------------------------------------------------------------------------- -Package Title: bubbles (a6a12c4a31ebfa225a55e5f7c0fff1c09060bb28) +Package Title: github.com/Azure/go-autorest/autorest/azure/cli (v0.4.3) -------------------------------------------------------------------------------- * Declared Licenses * -MIT - +Apache-2.0 -MIT License -Copyright (c) 2020 Charmbracelet, Inc -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 1. Definitions. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. --------------------------------------------------------------------------------- -Package Title: bubbletea (97ee90cf5a2c5141040a60cac732c8996b7192c7) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2020 Charmbracelet, Inc - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: bubbline (e176cdfe1c436f59c9e7f2957e06716ffe82fa07) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. @@ -19170,18 +19941,7 @@ Apache-2.0 END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] + Copyright 2015 Microsoft Corporation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -19198,159 +19958,7 @@ Apache-2.0 -------------------------------------------------------------------------------- -Package Title: buffer (4.9.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) Feross Aboukhadijeh, and other contributors. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: buffer-from (1.1.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2016, 2018 Linus Unnebäck - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: buffer-writer (1.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: buffer-writer (2.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: builtin-status-codes (3.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Ben Drucker (bendrucker.me) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: c2goasm (36a3d3bbc4f3ec1eafcf7989776be7e84736ace9) +Package Title: github.com/Azure/go-autorest/autorest/to (v0.4.0) -------------------------------------------------------------------------------- * Declared Licenses * @@ -19535,18 +20143,7 @@ Apache-2.0 END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] + Copyright 2015 Microsoft Corporation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -19563,57 +20160,7 @@ Apache-2.0 -------------------------------------------------------------------------------- -Package Title: cacache (12.0.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -ISC License - -Copyright (c) npm, Inc. - -Permission to use, copy, modify, and/or distribute this software for -any purpose with or without fee is hereby granted, provided that the -above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE COPYRIGHT HOLDER DISCLAIMS -ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE -USE OR PERFORMANCE OF THIS SOFTWARE. - - - -* Other Licenses * -Multi-license: CC0-1.0 OR ISC - - -ISC License - -Copyright (c) npm, Inc. - -Permission to use, copy, modify, and/or distribute this software for -any purpose with or without fee is hereby granted, provided that the -above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE COPYRIGHT HOLDER DISCLAIMS -ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE -USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: cachecontrol (858c6e7e6b7e879f681b8ced4da529d4b2918ab6) +Package Title: github.com/Azure/go-autorest/autorest/validation (v0.3.1) -------------------------------------------------------------------------------- * Declared Licenses * @@ -19798,18 +20345,7 @@ Apache-2.0 END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] + Copyright 2015 Microsoft Corporation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -19825,215 +20361,111 @@ Apache-2.0 -* Other Licenses * -BSD-3-Clause - - -Copyright (c) 2009 The Go Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -------------------------------------------------------------------------------- -Package Title: call-bind (1.0.2) +Package Title: github.com/AzureAD/microsoft-authentication-library-for-go (v0.5.1) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License - -Copyright (c) 2020 Jordan Harband - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: callsites (3.1.0) --------------------------------------------------------------------------------- + MIT License -* Declared Licenses * -MIT + Copyright (c) Microsoft Corporation. + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -------------------------------------------------------------------------------- -Package Title: camelcase (1.2.1) +Package Title: github.com/blevesearch/snowballstem (v0.9.0) -------------------------------------------------------------------------------- * Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - +BSD-3-Clause --------------------------------------------------------------------------------- -Package Title: camelcase (5.3.1) --------------------------------------------------------------------------------- -* Declared Licenses * -MIT +Copyright (c) 2001, Dr Martin Porter +Copyright (c) 2004,2005, Richard Boulton +Copyright (c) 2013, Yoshiki Shibukawa +Copyright (c) 2006,2007,2009,2010,2011,2014-2019, Olly Betts +All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + 3. Neither the name of the Snowball project nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -------------------------------------------------------------------------------- -Package Title: cancelreader (d11f1e77abf7f8d69d81553ccaaf0b81163541a6) +Package Title: github.com/cenkalti/backoff (v2.2.1) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License +The MIT License (MIT) -Copyright (c) 2022 Erik Geiser and Christian Muehlhaeuser +Copyright (c) 2014 Cenk Altı -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: catharsis (0.9.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2014 Google Inc. -Copyright (c) 2012-2014 Jeff Williams - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and -associated documentation files (the "Software"), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, publish, distribute, -sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial -portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT -NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES -OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + -------------------------------------------------------------------------------- -Package Title: center-align (0.1.3) +Package Title: github.com/codahale/hdrhistogram (3a0bb77429bd) -------------------------------------------------------------------------------- * Declared Licenses * @@ -20042,7 +20474,7 @@ MIT The MIT License (MIT) -Copyright (c) 2015, Jon Schlinkert. +Copyright (c) 2014 Coda Hale Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -20065,396 +20497,27 @@ THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: chalk (1.1.3) +Package Title: github.com/containerd/containerd (v1.5.4) -------------------------------------------------------------------------------- * Declared Licenses * -MIT - +Apache-2.0 -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION --------------------------------------------------------------------------------- -Package Title: chalk (2.4.2) --------------------------------------------------------------------------------- + 1. Definitions. -* Declared Licenses * -MIT + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: chalk (3.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: chalk (4.1.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: charenc (0.0.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause - -* Multi-license: BSD-2-Clause OR BSD-3-Clause * - -Copyright © 2011, Paul Vorbach. All rights reserved. -Copyright © 2009, Jeff Mott. All rights reserved. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. -* Neither the name Crypto-JS nor the names of its contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright © 2011, Paul Vorbach. All rights reserved. -Copyright © 2009, Jeff Mott. All rights reserved. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. -* Neither the name Crypto-JS nor the names of its contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: chokidar (3.5.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2012-2019 Paul Miller (https://paulmillr.com), Elan Shanker - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the “Software”), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: chownr (1.1.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: chrome-trace-event (1.0.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -# This is the MIT license - -Copyright (c) 2015 Joyent Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - - --------------------------------------------------------------------------------- -Package Title: cipher-base (1.0.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2017 crypto-browserify contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: classnames (2.3.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2018 Jed Watson - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: cli (09ac54c2f97f4249282baf266c54a09fab1bef58) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2016 Jeremy Saenz & Contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: client_golang (3583c1e1d085b75cab406c78b015562d45552b39) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common @@ -20619,24 +20682,13 @@ Apache-2.0 END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] + Copyright The containerd Authors 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 + https://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, @@ -20647,10 +20699,11 @@ Apache-2.0 * Other Licenses * -MIT +MIT, BSD-2-Clause, CC-BY-4.0, BSD-3-Clause, CC-BY-SA-4.0, ISC, MPL-2.0, proprietary-license +* MIT * -Copyright (c) 2015 Björn Rabenstein +Copyright (c) 2015 Microsoft Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -20669,316 +20722,431 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* BSD-2-Clause * --------------------------------------------------------------------------------- -Package Title: client_model (63fb9822ca3ba7a4ba5184071fb8f2ea000a99ef) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 +Copyright (c) 2013 The GoGo Authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation - 1. Definitions. + and/or other materials provided with the distribution. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +* CC-BY-4.0 * - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +Attribution 4.0 International<> +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. +Section 1 – Definitions. + a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. + b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. + c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. + d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. + e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. + f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. + g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. + h. Licensor means the individual(s) or entity(ies) granting rights under this Public License. + i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. + j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. + k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. +Section 2 – Scope. + a. License grant. + 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: + A. reproduce and Share the Licensed Material, in whole or in part; and + B. produce, reproduce, and Share Adapted Material. + 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. + 3. Term. The term of this Public License is specified in Section 6(a). + 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. + 5. Downstream recipients. + A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. + B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. + 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). + b. Other rights. + 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. + 2. Patent and trademark rights are not licensed under this Public License. + 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. +Section 3 – License Conditions. +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + a. Attribution. + 1. If You Share the Licensed Material (including in modified form), You must: + A. retain the following if it is supplied by the Licensor with the Licensed Material: + i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); + ii. a copyright notice; + iii. a notice that refers to this Public License; + iv. a notice that refers to the disclaimer of warranties; + v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; + B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and + C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. + 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. + 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. + 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. +Section 4 – Sui Generis Database Rights. +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: + a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; + b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and + c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. +For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. +Section 5 – Disclaimer of Warranties and Limitation of Liability. + a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. + b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. + c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. +Section 6 – Term and Termination. + a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. + b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: + 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or + 2. upon express reinstatement by the Licensor. + c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. + d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. + e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. +Section 7 – Other Terms and Conditions. + a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. + b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. +Section 8 – Interpretation. + a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. + b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. + c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. + d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. +Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. +Creative Commons may be contacted at creativecommons.org. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +* BSD-3-Clause * - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +Copyright (c) The containerd Authors. . All rights reserved. - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - END OF TERMS AND CONDITIONS +* CC-BY-SA-4.0 * - APPENDIX: How to apply the Apache License to your work. +Attribution-ShareAlike 4.0 International<> +Using Creative Commons Public Licenses +Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. +Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors : wiki.creativecommons.org/Considerations_for_licensors +Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor's permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. +Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public : wiki.creativecommons.org/Considerations_for_licensees +Creative Commons Attribution-ShareAlike 4.0 International Public License +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. +Section 1 – Definitions. + a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. + b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. + c. BY-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License. + d. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. + e. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. + f. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. + g. License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution and ShareAlike. + h. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. + i. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. + j. Licensor means the individual(s) or entity(ies) granting rights under this Public License. + k. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. + l. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. + m. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. +Section 2 – Scope. + a. License grant. + 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: + A. reproduce and Share the Licensed Material, in whole or in part; and + B. produce, reproduce, and Share Adapted Material. + 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. + 3. Term. The term of this Public License is specified in Section 6(a). + 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. + 5. Downstream recipients. + A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. + B. Additional offer from the Licensor – Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter's License You apply. + C. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. + 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). + b. Other rights. + 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. + 2. Patent and trademark rights are not licensed under this Public License. + 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. +Section 3 – License Conditions. +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + a. Attribution. + 1. If You Share the Licensed Material (including in modified form), You must: + A. retain the following if it is supplied by the Licensor with the Licensed Material: + i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); + ii. a copyright notice; + iii. a notice that refers to this Public License; + iv. a notice that refers to the disclaimer of warranties; + v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; + B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and + C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. + 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. + 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. + b. ShareAlike.In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply. + 1. The Adapter's License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-SA Compatible License. + 2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material. + 3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply. +Section 4 – Sui Generis Database Rights. +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: + a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; + b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and + c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. + For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. +Section 5 – Disclaimer of Warranties and Limitation of Liability. + a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. + b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. + c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. +Section 6 – Term and Termination. + a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. + b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: + 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or + 2. upon express reinstatement by the Licensor. + c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. + d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. + e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. +Section 7 – Other Terms and Conditions. + a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. + b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. +Section 8 – Interpretation. + a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. + b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. + c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. + d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. +Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. +Creative Commons may be contacted at creativecommons.org. - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. +* ISC * - Copyright [yyyy] [name of copyright owner] +Copyright (c) 2012-2016 Dave Collins +Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - 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 +* MPL-2.0 * - http://www.apache.org/licenses/LICENSE-2.0 +1. Definitions + 1.1. "Contributor" means each individual or legal entity that creates, contributes to the creation of, or owns Covered Software. + 1.2. "Contributor Version" means the combination of the Contributions of others (if any) used by a Contributor and that particular Contributor's Contribution. + 1.3. "Contribution" means Covered Software of a particular Contributor. + 1.4. "Covered Software" means Source Code Form to which the initial Contributor has attached the notice in Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof. + 1.5. "Incompatible With Secondary Licenses" means + (a) that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or + (b) that the Covered Software was made available under the terms of version 1.1 or earlier of the License, but not also under the terms of a Secondary License. + 1.6. "Executable Form" means any form of the work other than Source Code Form. + 1.7. "Larger Work" means a work that combines Covered Software with other material, in a separate file or files, that is not Covered Software. + 1.8. "License" means this document. + 1.9. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently, any and all of the rights conveyed by this License. + 1.10. "Modifications" means any of the following: + (a) any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or + (b) any new file in Source Code Form that contains any Covered Software. + 1.11. "Patent Claims" of a Contributor means any patent claim(s), including without limitation, method, process, and apparatus claims, in any patent Licensable by such Contributor that would be infringed, but for the grant of the License, by the making, using, selling, offering for sale, having made, import, or transfer of either its Contributions or its Contributor Version. + 1.12. "Secondary License" means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses. + 1.13. "Source Code Form" means the form of the work preferred for making modifications. + 1.14. "You" (or "Your") means an individual or a legal entity exercising rights under this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. + 2. License Grants and Conditions + 2.1. Grants + Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license: + (a) under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and + (b) under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version. + 2.2. Effective Date + The licenses granted in Section 2.1 with respect to any Contribution become effective for each Contribution on the date the Contributor first distributes such Contribution. + 2.3. Limitations on Grant Scope + The licenses granted in this Section 2 are the only rights granted under this License. No additional rights or licenses will be implied from the distribution or licensing of Covered Software under this License. Notwithstanding Section 2.1(b) above, no patent license is granted by a Contributor: + (a) for any code that a Contributor has removed from Covered Software; or + (b) for infringements caused by: (i) Your and any other third party's modifications of Covered Software, or (ii) the combination of its Contributions with other software (except as part of its Contributor Version); or + (c) under Patent Claims infringed by Covered Software in the absence of its Contributions. + This License does not grant any rights in the trademarks, service marks, or logos of any Contributor (except as may be necessary to comply with the notice requirements in Section 3.4). + 2.4. Subsequent Licenses + No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version of this License (see Section 10.2) or under the terms of a Secondary License (if permitted under the terms of Section 3.3). + 2.5. Representation + Each Contributor represents that the Contributor believes its Contributions are its original creation(s) or it has sufficient rights to grant the rights to its Contributions conveyed by this License. + 2.6. Fair Use + This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other equivalents. + 2.7. Conditions + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1. + 3. Responsibilities + 3.1. Distribution of Source Form + All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License. You may not attempt to alter or restrict the recipients' rights in the Source Code Form. + 3.2. Distribution of Executable Form + If You distribute Covered Software in Executable Form then: + (a) such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must inform recipients of the Executable Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the recipient; and + (b) You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients' rights in the Source Code Form under this License. + 3.3. Distribution of a Larger Work + You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s). + 3.4. Notices + You may not remove or alter the substance of any license notices (including copyright notices, patent notices, disclaimers of warranty, or limitations of liability) contained within the Source Code Form of the Covered Software, except that You may alter any license notices to the extent required to remedy known factual inaccuracies. + 3.5. Application of Additional Terms + You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, You may do so only on Your own behalf, and not on behalf of any Contributor. You must make it absolutely clear that any such warranty, support, indemnity, or liability obligation is offered by You alone, and You hereby agree to indemnify every Contributor for any liability incurred by such Contributor as a result of warranty, support, indemnity or liability terms You offer. You may include additional disclaimers of warranty and limitations of liability specific to any jurisdiction. + 4. Inability to Comply Due to Statute or Regulation + If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be placed in a text file included with all distributions of the Covered Software under this License. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. + 5. Termination + 5.1. The rights granted under this License will terminate automatically if You fail to comply with any of its terms. However, if You become compliant, then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such Contributor explicitly and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor fails to notify You of the non-compliance by some reasonable means prior to 60 days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such Contributor notifies You of the non-compliance by some reasonable means, this is the first time You have received notice of non-compliance with this License from such Contributor, and You become compliant prior to 30 days after Your receipt of the notice. + 5.2. If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate. + 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or Your distributors under this License prior to termination shall survive termination. + 6. Disclaimer of Warranty + Covered Software is provided under this License on an "as is" basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the Covered Software is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the Covered Software is with You. Should any Covered Software prove defective in any respect, You (not any Contributor) assume the cost of any necessary servicing, repair, or correction. This disclaimer of warranty constitutes an essential part of this License. No use of any Covered Software is authorized under this License except under this disclaimer. + 7. Limitation of Liability + Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall any Contributor, or anyone who distributes Covered Software as permitted above, be liable to You for any direct, indirect, special, incidental, or consequential damages of any character including, without limitation, damages for lost profits, loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages. This limitation of liability shall not apply to liability for death or personal injury resulting from such party's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You. + 8. Litigation + Any litigation relating to this License may be brought only in the courts of a jurisdiction where the defendant maintains its principal place of business and such litigation shall be governed by laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this Section shall prevent a party's ability to bring cross-claims or counter-claims. + 9. Miscellaneous + This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not be used to construe this License against a Contributor. + 10. Versions of the License + 10.1. New Versions + Mozilla Foundation is the license steward. Except as provided in Section 10.3, no one other than the license steward has the right to modify or publish new versions of this License. Each version will be given a distinguishing version number. + 10.2. Effect of New Versions + You may distribute the Covered Software under the terms of the version of the License under which You originally received the Covered Software, or under the terms of any subsequent version published by the license steward. + 10.3. Modified Versions + If you create software not governed by this License, and you want to create a new license for such software, you may create and use a modified version of this License if you rename the license and remove any references to the name of the license steward (except to note that such modified license differs from this License). + 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses + If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached. - 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. +* proprietary-license * +This is a catch-all license used when we find many different proprietary licenses. -------------------------------------------------------------------------------- -Package Title: clipboard (e4aee1922c628e6966acd4207c408df132dc6fb5) +Package Title: github.com/DataDog/zstd (v1.5.0) -------------------------------------------------------------------------------- * Declared Licenses * BSD-3-Clause -Copyright (c) 2013 Ato Araki. All rights reserved. +Simplified BSD License + +Copyright (c) 2016, Datadog +All rights reserved. Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of @atotto. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -Package Title: cliui (2.1.0) --------------------------------------------------------------------------------- +* Other Licenses * +GPL-2.0-only, MIT, BSD-2-Clause, bsd-no-disclaimer -* Declared Licenses * -ISC +* GPL-2.0-only * + +Copyright (C) Yann Collet, Facebook, Inc. +This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2. +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. +You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +* MIT * -Copyright (c) 2015, Contributors +Copyright (c) 2003-2008 Yuta Mori All Rights Reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Permission to use, copy, modify, and/or distribute this software -for any purpose with or without fee is hereby granted, provided -that the above copyright notice and this permission notice -appear in all copies. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE -LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +* BSD-2-Clause * +Copyright (c) Yann Collet, Facebook, Inc. --------------------------------------------------------------------------------- -Package Title: cliui (5.0.0) --------------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -* Declared Licenses * -ISC + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -Copyright (c) 2015, Contributors +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Permission to use, copy, modify, and/or distribute this software -for any purpose with or without fee is hereby granted, provided -that the above copyright notice and this permission notice -appear in all copies. +* bsd-no-disclaimer * -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE -LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice and this list of conditions. +# 2. Redistributions in binary form must reproduce the above copyright +# notice and this list of conditions in the +# documentation and/or other materials provided with the distribution. -------------------------------------------------------------------------------- -Package Title: cloud.google.com/go/iam (v0.13.0) +Package Title: github.com/dimchansky/utfbom (v1.1.1) -------------------------------------------------------------------------------- * Declared Licenses * Apache-2.0 - Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -21159,7 +21327,7 @@ Apache-2.0 APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" + boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -21167,7 +21335,7 @@ Apache-2.0 same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright 2014 Google Inc. + Copyright (c) 2018-2020, Dmitrij Koniajev (dimchansky@gmail.com) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -21184,48 +21352,14 @@ Apache-2.0 -------------------------------------------------------------------------------- -Package Title: cls-bluebird (2.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause - - -Copyright (c) - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: cmux (30d10be492927e2dcae0089c374c455d42414fcb) +Package Title: github.com/docker/distribution (v2.7.1) -------------------------------------------------------------------------------- * Declared Licenses * Apache-2.0 - - Apache License +Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -21405,7 +21539,7 @@ Apache-2.0 APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" + boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -21413,7 +21547,7 @@ Apache-2.0 same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright {yyyy} {name of copyright owner} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -21429,63 +21563,387 @@ Apache-2.0 --------------------------------------------------------------------------------- -Package Title: cobra (b43be995ebb4bee335a787bd44498b91aef7619c) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +* Other Licenses * +CC-BY-SA-4.0, bsd-2-clause-views, BSD-3-Clause, BSD-2-Clause, MIT, Zlib - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +* CC-BY-SA-4.0 * - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions +Attribution-ShareAlike 4.0 International<> +Using Creative Commons Public Licenses +Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. +Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors : wiki.creativecommons.org/Considerations_for_licensors +Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor's permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. +Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public : wiki.creativecommons.org/Considerations_for_licensees +Creative Commons Attribution-ShareAlike 4.0 International Public License +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. +Section 1 – Definitions. + a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. + b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. + c. BY-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License. + d. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. + e. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. + f. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. + g. License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution and ShareAlike. + h. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. + i. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. + j. Licensor means the individual(s) or entity(ies) granting rights under this Public License. + k. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. + l. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. + m. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. +Section 2 – Scope. + a. License grant. + 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: + A. reproduce and Share the Licensed Material, in whole or in part; and + B. produce, reproduce, and Share Adapted Material. + 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. + 3. Term. The term of this Public License is specified in Section 6(a). + 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. + 5. Downstream recipients. + A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. + B. Additional offer from the Licensor – Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter's License You apply. + C. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. + 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). + b. Other rights. + 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. + 2. Patent and trademark rights are not licensed under this Public License. + 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. +Section 3 – License Conditions. +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + a. Attribution. + 1. If You Share the Licensed Material (including in modified form), You must: + A. retain the following if it is supplied by the Licensor with the Licensed Material: + i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); + ii. a copyright notice; + iii. a notice that refers to this Public License; + iv. a notice that refers to the disclaimer of warranties; + v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; + B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and + C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. + 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. + 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. + b. ShareAlike.In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply. + 1. The Adapter's License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-SA Compatible License. + 2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material. + 3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply. +Section 4 – Sui Generis Database Rights. +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: + a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; + b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and + c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. + For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. +Section 5 – Disclaimer of Warranties and Limitation of Liability. + a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. + b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. + c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. +Section 6 – Term and Termination. + a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. + b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: + 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or + 2. upon express reinstatement by the Licensor. + c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. + d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. + e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. +Section 7 – Other Terms and Conditions. + a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. + b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. +Section 8 – Interpretation. + a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. + b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. + c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. + d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. +Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. +Creative Commons may be contacted at creativecommons.org. + +* bsd-2-clause-views * + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list +of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this +list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +The views and conclusions contained in the software and documentation are those +of the authors and should not be interpreted as representing official policies, +either expressed or implied, of the FreeBSD Project. + +* BSD-3-Clause * + +Copyright (c) 2012 The Go Authors. All rights reserved. . All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +* BSD-2-Clause * + +Copyright (c) 2013 The Gorilla Handlers Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +* MIT * + +Copyright (c) 2013 Damien Le Berrigaud and Nick Wade +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +* Zlib * + +This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. +Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: + 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + +-------------------------------------------------------------------------------- +Package Title: github.com/edsrzf/mmap-go (v1.0.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-3-Clause + + +Copyright (c) 2011, Evan Shaw +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + + +-------------------------------------------------------------------------------- +Package Title: github.com/facebookgo/clock (600d898af40a) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT License (MIT) + +Copyright (c) 2014 Ben Johnson + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: github.com/fatih/structs (v1.1.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT License (MIT) + +Copyright (c) 2014 Fatih Arslan + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +-------------------------------------------------------------------------------- +Package Title: github.com/getsentry/sentry-go (v0.12.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-2-Clause + + +Copyright (c) 2019 Sentry (https://sentry.io) and individual contributors. +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +-------------------------------------------------------------------------------- +Package Title: github.com/go-openapi/errors (v0.20.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +Apache-2.0 + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of @@ -21612,17 +22070,45 @@ Apache-2.0 incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. + -------------------------------------------------------------------------------- -Package Title: cockroach-go (32a6d65e5d04495a0219210b1a7c0f89f301d858) +Package Title: github.com/go-openapi/strfmt (v0.20.2) -------------------------------------------------------------------------------- * Declared Licenses * Apache-2.0 -Apache License + + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -21802,7 +22288,7 @@ Apache License APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" + boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -21810,7 +22296,7 @@ Apache License same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright {} + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -21826,57 +22312,30 @@ Apache License - -------------------------------------------------------------------------------- -Package Title: color (daf2830f2741ebb735b21709a520c5f37d642d85) +Package Title: github.com/gofrs/flock (v0.8.1) -------------------------------------------------------------------------------- * Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2013 Fatih Arslan - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -* Other Licenses * BSD-3-Clause -Copyright (c) 2009 The Go Authors. All rights reserved. . All rights reserved. +Copyright (c) 2015-2020, Tim Heckman +All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +* Neither the name of gofrs nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE @@ -21890,125 +22349,66 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + -------------------------------------------------------------------------------- -Package Title: color-convert (1.9.3) +Package Title: github.com/golang-jwt/jwt (v3.2.2) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright (c) 2011-2016 Heather Arthur +Copyright (c) 2012 Dave Grijalva +Copyright (c) 2021 golang-jwt maintainers -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: color-convert (2.0.1) +Package Title: github.com/golang-jwt/jwt/v4 (v4.2.0) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright (c) 2011-2016 Heather Arthur +Copyright (c) 2012 Dave Grijalva +Copyright (c) 2021 golang-jwt maintainers -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: color-name (1.1.3) +Package Title: github.com/google/flatbuffers (v2.0.0) -------------------------------------------------------------------------------- * Declared Licenses * -MIT - +Apache-2.0 -The MIT License (MIT) -Copyright (c) 2015 Dmitry Ivanov -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + 1. Definitions. --------------------------------------------------------------------------------- -Package Title: color-name (1.1.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) -Copyright (c) 2015 Dmitry Ivanov - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: combokeys (2.4.6) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. @@ -22203,47 +22603,170 @@ Apache-2.0 +* Other Licenses * +Zlib, BSD-3-Clause + +* Zlib * + +This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. +Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: + 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + +* BSD-3-Clause * + +Copyright (c) 2016 the Dart project authors. Please see the AUTHORS file . All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + -------------------------------------------------------------------------------- -Package Title: commander (2.20.3) +Package Title: github.com/google/go-github (v17.0.0) -------------------------------------------------------------------------------- * Declared Licenses * -MIT +BSD-3-Clause -(The MIT License) +Copyright (c) 2013 The go-github AUTHORS. All rights reserved. -Copyright (c) 2011 TJ Holowaychuk +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +-------------------------------------------------------------------------------- +Package Title: github.com/google/go-github/v42 (v42.0.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-3-Clause + + +Copyright (c) 2013 The go-github AUTHORS. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +-------------------------------------------------------------------------------- +Package Title: github.com/google/go-querystring (v1.1.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-3-Clause + + +Copyright (c) 2013 Google. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: common (66b493f42b757378fbad83e42b0ed441d425a17b) +Package Title: github.com/googleapis/enterprise-certificate-proxy (v0.2.0) -------------------------------------------------------------------------------- * Declared Licenses * Apache-2.0 + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -22452,7 +22975,7 @@ Apache-2.0 BSD-3-Clause -Copyright (c) 2011 Open Knowledge Foundation Ltd. . All rights reserved. +Copyright (c) 2022 Google LLC. . All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -22481,262 +23004,353 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: common-tags (1.8.2) +Package Title: github.com/jackc/chunkreader/v2 (v2.0.1) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright (c) Declan de Wet -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright (c) 2019 Jack Christensen -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +MIT License + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -------------------------------------------------------------------------------- -Package Title: commondir (1.0.1) +Package Title: github.com/jackc/pgio (v1.0.0) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License +Copyright (c) 2019 Jack Christensen -Copyright (c) 2013 James Halliday (mail@substack.net) +MIT License -Permission is hereby granted, free of charge, -to any person obtaining a copy of this software and -associated documentation files (the "Software"), to -deal in the Software without restriction, including -without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom -the Software is furnished to do so, -subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -The above copyright notice and this permission notice -shall be included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + -------------------------------------------------------------------------------- -Package Title: component-classes (1.2.6) +Package Title: github.com/jackc/pgpassfile (v1.0.0) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright (c) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright (c) 2019 Jack Christensen -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +MIT License + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -------------------------------------------------------------------------------- -Package Title: component-type (1.2.1) +Package Title: github.com/jackc/pgproto3/v2 (v2.3.1) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright (c) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright (c) 2019 Jack Christensen -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +MIT License + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -------------------------------------------------------------------------------- -Package Title: compress (67a538e2b4df11f8ec7139388838a13bce84b5d5) +Package Title: github.com/jackc/pgservicefile (2b9c44734f2b) -------------------------------------------------------------------------------- * Declared Licenses * -MIT, BSD-3-Clause, Apache-2.0 +MIT -* MIT * -Copyright (c) 2012 The Go Authors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright (c) 2020 Jack Christensen -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +MIT License -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -* BSD-3-Clause * +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -Copyright (c) 2011 The Snappy-Go Authors. All rights reserved. -Copyright (c) 2019 Klaus Post. All rights reserved. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +Package Title: github.com/jackc/pgtype (v1.11.0) +-------------------------------------------------------------------------------- +* Declared Licenses * +MIT -* Apache-2.0 * -Copyright (c) 2012 The Go Authors. All rights reserved. -Copyright (c) 2019 Klaus Post. All rights reserved. +Copyright (c) 2013-2021 Jack Christensen -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +MIT License - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. ------------------- +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Files: gzhttp/* - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +-------------------------------------------------------------------------------- +Package Title: github.com/jackc/pgx/v4 (v4.16.1) +-------------------------------------------------------------------------------- - 1. Definitions. +* Declared Licenses * +MIT - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +Copyright (c) 2013-2021 Jack Christensen - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +MIT License - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain + +* Other Licenses * +BSD-3-Clause + + +Copyright (c) 2009 The Go Authors. All rights reserved. . All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +-------------------------------------------------------------------------------- +Package Title: github.com/jackc/puddle (v1.2.1) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +Copyright (c) 2018 Jack Christensen + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: github.com/jaegertracing/jaeger (v1.18.1) +-------------------------------------------------------------------------------- + +* Declared Licenses * +Apache-2.0 + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. @@ -22881,7 +23495,7 @@ Files: gzhttp/* same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright 2016-2017 The New York Times Company + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -22895,80 +23509,41 @@ Files: gzhttp/* See the License for the specific language governing permissions and limitations under the License. ------------------- -Files: s2/cmd/internal/readahead/* + +-------------------------------------------------------------------------------- +Package Title: github.com/jordan-wright/email (943e75fe5223) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + The MIT License (MIT) -Copyright (c) 2015 Klaus Post +Copyright (c) 2013 Jordan Wright -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - ---------------------- -Files: snappy/* -Files: internal/snapref/* - -Copyright (c) 2011 The Snappy-Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ------------------ - -Files: s2/cmd/internal/filepathx/* - -Copyright 2016 The filepathx Authors - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: compute-scroll-into-view (3.1.0) +Package Title: github.com/klauspost/pgzip (v1.2.5) -------------------------------------------------------------------------------- * Declared Licenses * @@ -22977,7 +23552,7 @@ MIT MIT License -Copyright (c) 2023 Cody Olsen +Copyright (c) 2014 Klaus Post Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -22999,77 +23574,47 @@ SOFTWARE. --------------------------------------------------------------------------------- -Package Title: concat-map (0.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -This software is released under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: concat-stream (1.6.2) --------------------------------------------------------------------------------- +* Other Licenses * +BSD-3-Clause -* Declared Licenses * -MIT +Copyright (c) 2012 The Go Authors. All rights reserved. . All rights reserved. -The MIT License +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -Copyright (c) 2013 Max Ogden + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. -Permission is hereby granted, free of charge, -to any person obtaining a copy of this software and -associated documentation files (the "Software"), to -deal in the Software without restriction, including -without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom -the Software is furnished to do so, -subject to the following conditions: + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -The above copyright notice and this permission notice -shall be included in all copies or substantial portions of the Software. + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: concurrent (bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94) +Package Title: github.com/kylelemons/godebug (v1.1.0) -------------------------------------------------------------------------------- * Declared Licenses * Apache-2.0 + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -23275,16 +23820,16 @@ Apache-2.0 -------------------------------------------------------------------------------- -Package Title: connected-react-router (6.9.1) +Package Title: github.com/lestrrat-go/backoff/v2 (v2.0.8) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) +MIT License -Copyright (c) 2016-present Supasate Choochaisri +Copyright (c) 2018 lestrrat Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -23307,16 +23852,16 @@ SOFTWARE. -------------------------------------------------------------------------------- -Package Title: connected-react-router (6.9.3) +Package Title: github.com/lestrrat-go/blackmagic (v1.0.1) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) +MIT License -Copyright (c) 2016-present Supasate Choochaisri +Copyright (c) 2021 lestrrat-go Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -23339,268 +23884,17 @@ SOFTWARE. -------------------------------------------------------------------------------- -Package Title: console (b5cb846c9186d67bcae3ce3c324e47cd317d9527) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - - Apache License - Version 2.0, January 2004 - https://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - Copyright The containerd Authors - - 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 - - https://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. - - - --------------------------------------------------------------------------------- -Package Title: console-browserify (1.2.0) +Package Title: github.com/lestrrat-go/httpcc (v1.0.1) -------------------------------------------------------------------------------- * Declared Licenses * -MIT, Multi-license: MIT OR http://github.com/browserify/console-browserify/raw/master/LICENSE - -* MIT * - -Copyright (c) 2012 Raynos. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -* Multi-license: MIT OR http://github.com/browserify/console-browserify/raw/master/LICENSE * - -Copyright (c) 2012 Raynos. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - +MIT --------------------------------------------------------------------------------- -Package Title: constants-browserify (1.0.0) --------------------------------------------------------------------------------- -* Declared Licenses * -MIT +MIT License +Copyright (c) 2020 lestrrat-go -Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -23620,67 +23914,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -Package Title: convert-source-map (1.9.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright 2013 Thorsten Lorenz. -All rights reserved. - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: copy-concurrently (1.0.5) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -Copyright (c) 2017, Rebecca Turner - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - -------------------------------------------------------------------------------- -Package Title: copy-to-clipboard (3.3.1) +Package Title: github.com/lestrrat-go/iter (v1.0.2) -------------------------------------------------------------------------------- * Declared Licenses * @@ -23689,7 +23925,7 @@ MIT MIT License -Copyright (c) 2017 sudodoki +Copyright (c) 2020 lestrrat-go Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -23712,44 +23948,16 @@ SOFTWARE. -------------------------------------------------------------------------------- -Package Title: core-js (1.2.7) +Package Title: github.com/lestrrat-go/jwx (v1.2.25) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright (c) 2015 Denis Pushkarev - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: core-js (2.6.12) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - +The MIT License (MIT) -Copyright (c) 2014-2020 Denis Pushkarev +Copyright (c) 2015 lestrrat Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -23758,60 +23966,31 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: core-util-is (1.0.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright Node.js contributors. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: cosmiconfig (5.2.1) +Package Title: github.com/lestrrat-go/option (v1.0.0) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) +MIT License -Copyright (c) 2015 David Clark +Copyright (c) 2021 lestrrat-go Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -23833,106 +24012,74 @@ SOFTWARE. - -------------------------------------------------------------------------------- -Package Title: cosmiconfig (7.1.0) +Package Title: github.com/lib/pq (v1.10.7) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) - -Copyright (c) 2015 David Clark - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Copyright (c) 2011-2013, 'pq' Contributors +Portions Copyright (C) 2011 Blake Mizerany -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -Package Title: create-ecdh (4.0.4) --------------------------------------------------------------------------------- -* Declared Licenses * -MIT +* Other Licenses * +BSD-2-Clause -The MIT License (MIT) +Copyright (c) 2014 Gustavo Niemeyer -Copyright (c) 2014-2017 createECDH contributors +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + and/or other materials provided with the distribution. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: create-hash (1.2.0) +Package Title: github.com/lucasb-eyer/go-colorful (v1.2.0) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) - -Copyright (c) 2017 crypto-browserify contributors +Copyright (c) 2013 Lucas Beyer -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: create-hmac (1.1.7) +Package Title: github.com/mitchellh/reflectwalk (v1.0.0) -------------------------------------------------------------------------------- * Declared Licenses * @@ -23941,7 +24088,7 @@ MIT The MIT License (MIT) -Copyright (c) 2017 crypto-browserify contributors +Copyright (c) 2013 Mitchell Hashimoto Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -23950,30 +24097,30 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: create-react-class (15.7.0) +Package Title: github.com/montanaflynn/stats (v0.6.6) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License +The MIT License (MIT) -Copyright (c) 2013-present, Facebook, Inc. +Copyright (c) 2014-2020 Montana Flynn (https://montanaflynn.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -23996,14 +24143,14 @@ SOFTWARE. -------------------------------------------------------------------------------- -Package Title: create-react-context (0.3.0) +Package Title: github.com/nightlyone/lockfile (v1.0.0) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright (c) 2017-present James Kyle +Copyright (c) 2012 Ingo Oeser Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -24012,31 +24159,32 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: crlfmt (b2fc5c302548258489bf7db0f3799c1072546ed5) +Package Title: github.com/opencontainers/go-digest (v1.0.0) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0, BSD-3-Clause +Apache-2.0, CC-BY-SA-4.0 * Apache-2.0 * -Apache License + + Apache License Version 2.0, January 2004 - http://www.apache.org/licenses/ + https://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION @@ -24211,24 +24359,14 @@ Apache License END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {} + Copyright 2019, 2020 OCI Contributors + Copyright 2016 Docker, Inc. 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 + https://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, @@ -24237,491 +24375,652 @@ Apache License limitations under the License. +* CC-BY-SA-4.0 * -* BSD-3-Clause * - -Copyright (c) 2009 The Go Authors. All rights reserved. +Attribution-ShareAlike 4.0 International -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +======================================================================= - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Using Creative Commons Public Licenses +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. --------------------------------------------------------------------------------- -Package Title: cross-spawn (6.0.5) --------------------------------------------------------------------------------- + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors -* Declared Licenses * -MIT + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More_considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees +======================================================================= -The MIT License (MIT) +Creative Commons Attribution-ShareAlike 4.0 International Public +License -Copyright (c) 2018 Made With MOXY Lda +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution-ShareAlike 4.0 International Public License ("Public +License"). To the extent this Public License may be interpreted as a +contract, You are granted the Licensed Rights in consideration of Your +acceptance of these terms and conditions, and the Licensor grants You +such rights in consideration of benefits the Licensor receives from +making the Licensed Material available under these terms and +conditions. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +Section 1 -- Definitions. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + c. BY-SA Compatible License means a license listed at + creativecommons.org/compatiblelicenses, approved by Creative + Commons as essentially the equivalent of this Public License. --------------------------------------------------------------------------------- -Package Title: cross-spawn (7.0.3) --------------------------------------------------------------------------------- + d. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. -* Declared Licenses * -MIT + e. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + f. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. -The MIT License (MIT) + g. License Elements means the license attributes listed in the name + of a Creative Commons Public License. The License Elements of this + Public License are Attribution and ShareAlike. -Copyright (c) 2018 Made With MOXY Lda + h. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + i. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + j. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + k. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + l. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + m. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. --------------------------------------------------------------------------------- -Package Title: crypt (0.0.2) --------------------------------------------------------------------------------- -* Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause +Section 2 -- Scope. -* Multi-license: BSD-2-Clause OR BSD-3-Clause * + a. License grant. -Copyright © 2011, Paul Vorbach. All rights reserved. -Copyright © 2009, Jeff Mott. All rights reserved. + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: -All rights reserved. + a. reproduce and Share the Licensed Material, in whole or + in part; and -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: + b. produce, reproduce, and Share Adapted Material. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. -* Neither the name Crypto-JS nor the names of its contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 3. Term. The term of this Public License is specified in Section + 6(a). + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. -* BSD-3-Clause * + 5. Downstream recipients. -Copyright © 2011, Paul Vorbach. All rights reserved. -Copyright © 2009, Jeff Mott. All rights reserved. + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. -All rights reserved. + b. Additional offer from the Licensor -- Adapted Material. + Every recipient of Adapted Material from You + automatically receives an offer from the Licensor to + exercise the Licensed Rights in the Adapted Material + under the conditions of the Adapter's License You apply. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: + c. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. -* Neither the name Crypto-JS nor the names of its contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + b. Other rights. + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + 2. Patent and trademark rights are not licensed under this + Public License. --------------------------------------------------------------------------------- -Package Title: crypto (d042a396a6de487c29b6907508ba7e86925f6e09) --------------------------------------------------------------------------------- + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties. -* Declared Licenses * -BSD-3-Clause +Section 3 -- License Conditions. -Copyright (c) 2009 The Go Authors. All rights reserved. +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: + a. Attribution. - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. + 1. If You Share the Licensed Material (including in modified + form), You must: -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + ii. a copyright notice; -* Other Licenses * -openssl-ssleay + iii. a notice that refers to this Public License; + iv. a notice that refers to the disclaimer of + warranties; -LICENSE ISSUES - ============== + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; - The OpenSSL toolkit stays under a dual license, i.e. both the conditions of - the OpenSSL License and the original SSLeay license apply to the toolkit. - See below for the actual license texts. Actually both licenses are BSD-style - Open Source licenses. In case of any license issues related to OpenSSL - please contact openssl-core@openssl.org. + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and - OpenSSL License - --------------- + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. + b. ShareAlike. -3. All advertising materials mentioning features or use of this - software must display the following acknowledgment: - "This product includes software developed by the OpenSSL Project - for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + In addition to the conditions in Section 3(a), if You Share + Adapted Material You produce, the following conditions also apply. -4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - endorse or promote products derived from this software without - prior written permission. For written permission, please contact - openssl-core@openssl.org. + 1. The Adapter's License You apply must be a Creative Commons + license with the same License Elements, this version or + later, or a BY-SA Compatible License. -5. Products derived from this software may not be called "OpenSSL" - nor may "OpenSSL" appear in their names without prior written - permission of the OpenSSL Project. + 2. You must include the text of, or the URI or hyperlink to, the + Adapter's License You apply. You may satisfy this condition + in any reasonable manner based on the medium, means, and + context in which You Share Adapted Material. -6. Redistributions of any form whatsoever must retain the following - acknowledgment: - "This product includes software developed by the OpenSSL Project - for use in the OpenSSL Toolkit (http://www.openssl.org/)" + 3. You may not offer or impose any additional or different terms + or conditions on, or apply any Effective Technological + Measures to, Adapted Material that restrict exercise of the + rights granted under the Adapter's License You apply. -THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY -EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR -ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -OF THE POSSIBILITY OF SUCH DAMAGE. +Section 4 -- Sui Generis Database Rights. -This product includes cryptographic software written by Eric Young -(eay@cryptsoft.com). This product includes software written by Tim -Hudson (tjh@cryptsoft.com). +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; - Original SSLeay License - ----------------------- + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material, -Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) -All rights reserved. + including for purposes of Section 3(b); and + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. -This package is an SSL implementation written -by Eric Young (eay@cryptsoft.com). -The implementation was written so as to conform with Netscapes SSL. +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. -This library is free for commercial and non-commercial use as long as -the following conditions are aheared to. The following conditions -apply to all code found in this distribution, be it the RC4, RSA, -lhash, DES, etc., code; not just the SSL code. The SSL documentation -included with this distribution is covered by the same copyright terms -except that the holder is Tim Hudson (tjh@cryptsoft.com). -Copyright remains Eric Young's, and as such any Copyright notices in -the code are not to be removed. -If this package is used in a product, Eric Young should be given attribution -as the author of the parts of the library used. -This can be in the form of a textual message at program startup or -in documentation (online or textual) provided with the package. +Section 5 -- Disclaimer of Warranties and Limitation of Liability. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -3. All advertising materials mentioning features or use of this software - must display the following acknowledgement: - "This product includes cryptographic software written by - Eric Young (eay@cryptsoft.com)" - The word 'cryptographic' can be left out if the rouines from the library - being used are not cryptographic related :-). -4. If you include any Windows specific code (or a derivative thereof) from - the apps directory (application code) you must include an acknowledgement: - "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. -THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. -The licence and distribution terms for any publically available version or -derivative of this code cannot be changed. i.e. this code cannot simply be -copied and put under another distribution licence -[including the GNU Public Licence.] + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. --------------------------------------------------------------------------------- -Package Title: crypto-browserify (3.12.0) --------------------------------------------------------------------------------- +Section 6 -- Term and Termination. -* Declared Licenses * -MIT + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: -The MIT License + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or -Copyright (c) 2013 Dominic Tarr + 2. upon express reinstatement by the Licensor. -Permission is hereby granted, free of charge, -to any person obtaining a copy of this software and -associated documentation files (the "Software"), to -deal in the Software without restriction, including -without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom -the Software is furnished to do so, -subject to the following conditions: + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. -The above copyright notice and this permission notice -shall be included in all copies or substantial portions of the Software. + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. --------------------------------------------------------------------------------- -Package Title: css-animation (1.6.1) --------------------------------------------------------------------------------- +Section 7 -- Other Terms and Conditions. -* Declared Licenses * -MIT + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. -The MIT License (MIT) -Copyright (c) 2014-present yiminghe +Section 8 -- Interpretation. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + + +======================================================================= + +Creative Commons is not a party to its public licenses. +Notwithstanding, Creative Commons may elect to apply one of its public +licenses to material it publishes and in those instances will be +considered the "Licensor." Except for the limited purpose of indicating +that material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the public +licenses. + +Creative Commons may be contacted at creativecommons.org. -------------------------------------------------------------------------------- -Package Title: css-loader (3.6.0) +Package Title: github.com/pierrec/lz4/v4 (v4.1.17) -------------------------------------------------------------------------------- * Declared Licenses * -MIT +BSD-3-Clause -Copyright JS Foundation and other contributors +Copyright (c) 2015, Pierre Curto +All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of xxHash nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + + +* Other Licenses * +public-domain, gutenberg-2020 + +* public-domain * +* gutenberg-2020 * + +THE FULL PROJECT GUTENBERG LICENSE +PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK + +To protect the Project Gutenberg-tm mission of promoting the free +distribution of electronic works, by using or distributing this work +(or any other work associated in any way with the phrase "Project +Gutenberg"), you agree to comply with all the terms of the Full Project +Gutenberg-tm License available with this file or online at +www.gutenberg.org/license. + +Section 1. General Terms of Use and Redistributing Project Gutenberg-tm electronic works + +1.A. By reading or using any part of this Project Gutenberg-tm electronic work, you indicate that you have read, understand, agree to and accept all the terms of this license and intellectual property (trademark/copyright) agreement. If you do not agree to abide by all the terms of this agreement, you must cease using and return or destroy all copies of Project Gutenberg-tm electronic works in your possession. If you paid a fee for obtaining a copy of or access to a Project Gutenberg-tm electronic work and you do not agree to be bound by the terms of this agreement, you may obtain a refund from the person or entity to whom you paid the fee as set forth in paragraph 1.E.8. + +1.B. "Project Gutenberg" is a registered trademark. It may only be used on or associated in any way with an electronic work by people who agree to be bound by the terms of this agreement. There are a few things that you can do with most Project Gutenberg-tm electronic works even without complying with the full terms of this agreement. See paragraph 1.C below. There are a lot of things you can do with Project Gutenberg-tm electronic works if you follow the terms of this agreement and help preserve free future access to Project Gutenberg-tm electronic works. See paragraph 1.E below. + +1.C. The Project Gutenberg Literary Archive Foundation ("the Foundation" or PGLAF), owns a compilation copyright in the collection of Project Gutenberg-tm electronic works. Nearly all the individual works in the collection are in the public domain in the United States. If an individual work is unprotected by copyright law in the United States and you are located in the United States, we do not claim a right to prevent you from copying, distributing, performing, displaying or creating derivative works based on the work as long as all references to Project Gutenberg are removed. Of course, we hope that you will support the Project Gutenberg-tm mission of promoting free access to electronic works by freely sharing Project Gutenberg-tm works in compliance with the terms of this agreement for keeping the Project Gutenberg-tm name associated with the work. You can easily comply with the terms of this agreement by keeping this work in the same format with its attached full Project Gutenberg-tm License when you share it without charge with others. + +[*] This particular work is one of the few individual works protected by copyright law in the United States and most of the remainder of the world, included in the Project Gutenberg collection with the permission of the copyright holder. Information on the copyright owner for this particular work and the terms of use imposed by the copyright holder on this work are set forth at the beginning of this work. + +1.D. The copyright laws of the place where you are located also govern what you can do with this work. Copyright laws in most countries are in a constant state of change. If you are outside the United States, check the laws of your country in addition to the terms of this agreement before downloading, copying, displaying, performing, distributing or creating derivative works based on this work or any other Project Gutenberg-tm work. The Foundation makes no representations concerning the copyright status of any work in any country outside the United States. + +1.E. Unless you have removed all references to Project Gutenberg: + +1.E.1. The following sentence, with active links to, or other immediate access to, the full Project Gutenberg-tm License must appear prominently whenever any copy of a Project Gutenberg-tm work (any work on which the phrase "Project Gutenberg" appears, or with which the phrase "Project Gutenberg" is associated) is accessed, displayed, performed, viewed, copied or distributed: + +This eBook is for the use of anyone anywhere in the United States and most other parts of the world at no cost and with almost no restrictions whatsoever. You may copy it, give it away or re-use it under the terms of the Project Gutenberg License included with this eBook or online at www.gutenberg.org. If you are not located in the United States, you’ll have to check the laws of the country where you are located before using this ebook. + +1.E.2. If an individual Project Gutenberg-tm electronic work is derived from texts not protected by U.S. copyright law (does not contain a notice indicating that it is posted with permission of the copyright holder), the work can be copied and distributed to anyone in the United States without paying any fees or charges. If you are redistributing or providing access to a work with the phrase "Project Gutenberg" associated with or appearing on the work, you must comply either with the requirements of paragraphs 1.E.1 through 1.E.7 or obtain permission for the use of the work and the Project Gutenberg-tm trademark as set forth in paragraphs 1.E.8 or 1.E.9. + +1.E.3. If an individual Project Gutenberg-tm electronic work is posted with the permission of the copyright holder, your use and distribution must comply with both paragraphs 1.E.1 through 1.E.7 and any additional terms imposed by the copyright holder. Additional terms will be linked to the Project Gutenberg-tm License for all works posted with the permission of the copyright holder found at the beginning of this work. + +1.E.4. Do not unlink or detach or remove the full Project Gutenberg-tm License terms from this work, or any files containing a part of this work or any other work associated with Project Gutenberg-tm. + +1.E.5. Do not copy, display, perform, distribute or redistribute this electronic work, or any part of this electronic work, without prominently displaying the sentence set forth in paragraph 1.E.1 with active links or immediate access to the full terms of the Project Gutenberg-tm License. + +1.E.6. You may convert to and distribute this work in any binary, compressed, marked up, nonproprietary or proprietary form, including any word processing or hypertext form. However, if you provide access to or distribute copies of a Project Gutenberg-tm work in a format other than "Plain Vanilla ASCII" or other format used in the official version posted on the official Project Gutenberg-tm web site (www.gutenberg.org), you must, at no additional cost, fee or expense to the user, provide a copy, a means of exporting a copy, or a means of obtaining a copy upon request, of the work in its original "Plain Vanilla ASCII" or other form. Any alternate format must include the full Project Gutenberg-tm License as specified in paragraph 1.E.1. + +1.E.7. Do not charge a fee for access to, viewing, displaying, performing, copying or distributing any Project Gutenberg-tm works unless you comply with paragraph 1.E.8 or 1.E.9. + +1.E.8. You may charge a reasonable fee for copies of or providing access to or distributing Project Gutenberg-tm electronic works provided that + + You pay a royalty fee of 20% of the gross profits you derive from the use of Project Gutenberg-tm works calculated using the method you already use to calculate your applicable taxes. The fee is owed to the owner of the Project Gutenberg-tm trademark, but he has agreed to donate royalties under this paragraph to the Project Gutenberg Literary Archive Foundation. Royalty payments must be paid within 60 days following each date on which you prepare (or are legally required to prepare) your periodic tax returns. Royalty payments should be clearly marked as such and sent to the Project Gutenberg Literary Archive Foundation at the address specified in Section 4, "Information about donations to the Project Gutenberg Literary Archive Foundation." + You provide a full refund of any money paid by a user who notifies you in writing (or by e-mail) within 30 days of receipt that s/he does not agree to the terms of the full Project Gutenberg-tm License. You must require such a user to return or destroy all copies of the works possessed in a physical medium and discontinue all use of and all access to other copies of Project Gutenberg-tm works. + You provide, in accordance with paragraph 1.F.3, a full refund of any money paid for a work or a replacement copy, if a defect in the electronic work is discovered and reported to you within 90 days of receipt of the work. + You comply with all other terms of this agreement for free distribution of Project Gutenberg-tm works. + +1.E.9. If you wish to charge a fee or distribute a Project Gutenberg-tm electronic work or group of works on different terms than are set forth in this agreement, you must obtain permission in writing from both the Project Gutenberg Literary Archive Foundation and The Project Gutenberg Trademark LLC, the owner of the Project Gutenberg-tm trademark. Contact the Foundation as set forth in Section 3 below. + +1.F. + +1.F.1. Project Gutenberg volunteers and employees expend considerable effort to identify, do copyright research on, transcribe and proofread works not protected by U.S. copyright law in creating the Project Gutenberg-tm collection. Despite these efforts, Project Gutenberg-tm electronic works, and the medium on which they may be stored, may contain "Defects," such as, but not limited to, incomplete, inaccurate or corrupt data, transcription errors, a copyright or other intellectual property infringement, a defective or damaged disk or other medium, a computer virus, or computer codes that damage or cannot be read by your equipment. + +1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for the "Right of Replacement or Refund" described in paragraph 1.F.3, the Project Gutenberg Literary Archive Foundation, the owner of the Project Gutenberg-tm trademark, and any other party distributing a Project Gutenberg-tm electronic work under this agreement, disclaim all liability to you for damages, costs and expenses, including legal fees. YOU AGREE THAT YOU HAVE NO REMEDIES FOR NEGLIGENCE, STRICT LIABILITY, BREACH OF WARRANTY OR BREACH OF CONTRACT EXCEPT THOSE PROVIDED IN PARAGRAPH 1.F.3. YOU AGREE THAT THE FOUNDATION, THE TRADEMARK OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL NOT BE LIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE OR INCIDENTAL DAMAGES EVEN IF YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH DAMAGE. + +1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you discover a defect in this electronic work within 90 days of receiving it, you can receive a refund of the money (if any) you paid for it by sending a written explanation to the person you received the work from. If you received the work on a physical medium, you must return the medium with your written explanation. The person or entity that provided you with the defective work may elect to provide a replacement copy in lieu of a refund. If you received the work electronically, the person or entity providing it to you may choose to give you a second opportunity to receive the work electronically in lieu of a refund. If the second copy is also defective, you may demand a refund in writing without further opportunities to fix the problem. + +1.F.4. Except for the limited right of replacement or refund set forth in paragraph 1.F.3, this work is provided to you ‘AS-IS’, WITH NO OTHER WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PURPOSE. + +1.F.5. Some states do not allow disclaimers of certain implied warranties or the exclusion or limitation of certain types of damages. If any disclaimer or limitation set forth in this agreement violates the law of the state applicable to this agreement, the agreement shall be interpreted to make the maximum disclaimer or limitation permitted by the applicable state law. The invalidity or unenforceability of any provision of this agreement shall not void the remaining provisions. + +1.F.6. INDEMNITY - You agree to indemnify and hold the Foundation, the trademark owner, any agent or employee of the Foundation, anyone providing copies of Project Gutenberg-tm electronic works in accordance with this agreement, and any volunteers associated with the production, promotion and distribution of Project Gutenberg-tm electronic works, harmless from all liability, costs and expenses, including legal fees, that arise directly or indirectly from any of the following which you do or cause to occur: (a) distribution of this or any Project Gutenberg-tm work, (b) alteration, modification, or additions or deletions to any Project Gutenberg-tm work, and (c) any Defect you cause. +Section 2. Information about the Mission of Project Gutenberg-tm + +Project Gutenberg-tm is synonymous with the free distribution of electronic works in formats readable by the widest variety of computers including obsolete, old, middle-aged and new computers. It exists because of the efforts of hundreds of volunteers and donations from people in all walks of life. + +Volunteers and financial support to provide volunteers with the assistance they need are critical to reaching Project Gutenberg-tm’s goals and ensuring that the Project Gutenberg-tm collection will remain freely available for generations to come. In 2001, the Project Gutenberg Literary Archive Foundation was created to provide a secure and permanent future for Project Gutenberg-tm and future generations. To learn more about the Project Gutenberg Literary Archive Foundation and how your efforts and donations can help, see Sections 3 and 4 and the Foundation information page at www.gutenberg.org +Section 3. Information about the Project Gutenberg Literary Archive Foundation + +The Project Gutenberg Literary Archive Foundation is a non profit 501(c)(3) educational corporation organized under the laws of the state of Mississippi and granted tax exempt status by the Internal Revenue Service. The Foundation’s EIN or federal tax identification number is 64-6221541. Contributions to the Project Gutenberg Literary Archive Foundation are tax deductible to the full extent permitted by U.S. federal laws and your state’s laws. + +The Foundation’s principal office is located at 4557 Melan Dr. S. Fairbanks, AK, 99712., but its volunteers and employees are scattered throughout numerous locations. Its business office is located at 809 North 1500 West, Salt Lake City, UT 84116, (801) 596-1887. Email contact links and up to date contact information can be found at the Foundation’s web site and official page at www.gutenberg.org/contact + +For additional contact information: + + Dr. Gregory B. Newby + Chief Executive and Director + gbnewby@pglaf.org + +Section 4. Information about Donations to the Project Gutenberg Literary Archive Foundation + +Project Gutenberg-tm depends upon and cannot survive without wide spread public support and donations to carry out its mission of increasing the number of public domain and licensed works that can be freely distributed in machine readable form accessible by the widest array of equipment including outdated equipment. Many small donations ($1 to $5,000) are particularly important to maintaining tax exempt status with the IRS. + +The Foundation is committed to complying with the laws regulating charities and charitable donations in all 50 states of the United States. Compliance requirements are not uniform and it takes a considerable effort, much paperwork and many fees to meet and keep up with these requirements. We do not solicit donations in locations where we have not received written confirmation of compliance. To SEND DONATIONS or determine the status of compliance for any particular state visit www.gutenberg.org/donate + +While we cannot and do not solicit contributions from states where we have not met the solicitation requirements, we know of no prohibition against accepting unsolicited donations from donors in such states who approach us with offers to donate. + +International donations are gratefully accepted, but we cannot make any statements concerning tax treatment of donations received from outside the United States. U.S. laws alone swamp our small staff. + +Please check the Project Gutenberg Web pages for current donation methods and addresses. Donations are accepted in a number of other ways including checks, online payments and credit card donations. To donate, please visit: www.gutenberg.org/donate +Section 5. General Information About Project Gutenberg-tm electronic works. + +Professor Michael S. Hart was the originator of the Project Gutenberg-tm concept of a library of electronic works that could be freely shared with anyone. For forty years, he produced and distributed Project Gutenberg-tm eBooks with only a loose network of volunteer support. + +Project Gutenberg-tm eBooks are often created from several printed editions, all of which are confirmed as not protected by copyright in the U.S. unless a copyright notice is included. Thus, we do not necessarily keep eBooks in compliance with any particular paper edition. + +Most people start at our Web site which has the main PG search facility: www.gutenberg.org + +This Web site includes information about Project Gutenberg-tm, including how to make donations to the Project Gutenberg Literary Archive Foundation, how to help produce our new eBooks, and how to subscribe to our email newsletter to hear about new eBooks. +[*] This paragraph, after 1.C., is included only for copyrighted works. For those, you must contact the copyright holder before any non-free use or removal of the Project Gutenberg header. -------------------------------------------------------------------------------- -Package Title: css-unit-converter (1.1.2) +Package Title: github.com/pkg/browser (ce105d075bb4) -------------------------------------------------------------------------------- * Declared Licenses * -MIT +BSD-2-Clause -The MIT License (MIT) +Copyright (c) 2014, Dave Cheney +All rights reserved. -Copyright 2015 Andy Jansson +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: cssesc (3.0.0) +Package Title: github.com/PuerkitoBio/goquery (v1.5.1) -------------------------------------------------------------------------------- * Declared Licenses * -MIT +BSD-3-Clause -Copyright Mathias Bynens +Copyright (c) 2012-2016, Martin Angers & Contributors +All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: csstype (3.0.8) +Package Title: github.com/rivo/uniseg (v0.2.0) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright (c) 2017-2018 Fredrik Nicol +MIT License + +Copyright (c) 2019 Oliver Kuederle Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -24744,67 +25043,61 @@ SOFTWARE. -------------------------------------------------------------------------------- -Package Title: d3 (3.5.17) +Package Title: github.com/robfig/cron/v3 (v3.0.1) -------------------------------------------------------------------------------- * Declared Licenses * -BSD-3-Clause - +MIT -Copyright (c) 2010-2016, Michael Bostock -All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +Copyright (C) 2012 Rob Figueiredo +All Rights Reserved. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +MIT LICENSE -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: -* The name Michael Bostock may not be used to endorse or promote products - derived from this software without specific prior written permission. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: d3-array (2.12.1) +Package Title: github.com/shirou/gopsutil/v3 (v3.21.12) -------------------------------------------------------------------------------- * Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause +BSD-3-Clause -* Multi-license: BSD-2-Clause OR BSD-3-Clause * -Copyright 2010-2020 Mike Bostock +gopsutil is distributed under BSD license reproduced below. + +Copyright (c) 2014, WAKAYAMA Shirou All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the gopsutil authors nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED @@ -24818,76 +25111,104 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* BSD-3-Clause * - -Copyright 2010-2020 Mike Bostock -All rights reserved. +------- +internal/common/binary.go in the gopsutil is copied and modifid from golang/encoding/binary.go. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +Copyright (c) 2009 The Go Authors. All rights reserved. -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * Other Licenses * -ISC +BSD-2-Clause, BSD-2-Clause-FreeBSD +* BSD-2-Clause * -Copyright (c) 2021 Mike Bostock -Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. -THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +Copyright (c) 2010 Ed Schouten + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +* BSD-2-Clause-FreeBSD * + +Copyright 1992-2012 The FreeBSD Project. All rights reserved. +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +THIS SOFTWARE IS PROVIDED BY THE FREEBSD PROJECT ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of the FreeBSD Project. -------------------------------------------------------------------------------- -Package Title: d3-array (2.8.0) +Package Title: github.com/slack-go/slack (v0.9.5) -------------------------------------------------------------------------------- * Declared Licenses * -BSD-3-Clause +BSD-2-Clause -Copyright 2010-2020 Mike Bostock +Copyright (c) 2015, Norberto Lopes All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON @@ -24898,59 +25219,80 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * Other Licenses * -ISC +BSD-3-Clause, ISC, MIT +* BSD-3-Clause * -Copyright (c) 2018 Vladimir Agafonkin. -Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. -THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +Copyright (c) 2013 The Gorilla WebSocket Authors. All rights reserved. . All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: --------------------------------------------------------------------------------- -Package Title: d3-array (1.2.4) --------------------------------------------------------------------------------- + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. -* Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -* Multi-license: BSD-2-Clause OR BSD-3-Clause * + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. -Copyright 2010-2016 Mike Bostock -All rights reserved. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +* ISC * -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Copyright (c) 2012-2016 Dave Collins +Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +* MIT * -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +Copyright (c) 2015-2017 Daniel Nichter +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -* BSD-3-Clause * -Copyright 2010-2016 Mike Bostock +-------------------------------------------------------------------------------- +Package Title: github.com/tklauser/go-sysconf (v0.3.9) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-3-Clause + + +BSD 3-Clause License + +Copyright (c) 2018-2021, Tobias Klauser All rights reserved. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. @@ -24959,172 +25301,261 @@ are permitted provided that the following conditions are met: this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: d3-array (3.2.4) +Package Title: github.com/trivago/tgo (v1.0.7) -------------------------------------------------------------------------------- * Declared Licenses * -ISC +Apache-2.0 -Copyright 2010-2023 Mike Bostock + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. + 1. Definitions. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. --------------------------------------------------------------------------------- -Package Title: d3-color (2.0.0) --------------------------------------------------------------------------------- + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -* Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -* Multi-license: BSD-2-Clause OR BSD-3-Clause * + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -Copyright 2010-2016 Mike Bostock -All rights reserved. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -* BSD-3-Clause * + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -Copyright 2010-2016 Mike Bostock -All rights reserved. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. --------------------------------------------------------------------------------- -Package Title: d3-color (3.1.0) --------------------------------------------------------------------------------- + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -* Declared Licenses * -ISC + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + END OF TERMS AND CONDITIONS -Copyright 2010-2022 Mike Bostock + APPENDIX: How to apply the Apache License to your work. -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + 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. -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. -------------------------------------------------------------------------------- -Package Title: d3-ease (3.0.1) +Package Title: github.com/twpayne/go-geom (v1.4.2) -------------------------------------------------------------------------------- * Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause +BSD-2-Clause -* Multi-license: BSD-2-Clause OR BSD-3-Clause * -Copyright 2010-2021 Mike Bostock -Copyright 2001 Robert Penner +Copyright (c) 2013, Tom Payne All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this + Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. + Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON @@ -25133,298 +25564,73 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* BSD-3-Clause * - -Copyright 2010-2021 Mike Bostock -Copyright 2001 Robert Penner -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +* Other Licenses * +MIT -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +Copyright (c) 2017 Paul Mach Permission is hereby granted, free of charge, to +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: d3-format (2.0.0) +Package Title: github.com/twpayne/go-kml (v1.5.2) -------------------------------------------------------------------------------- * Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause - -* Multi-license: BSD-2-Clause OR BSD-3-Clause * - -Copyright 2010-2015 Mike Bostock -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * +MIT -Copyright 2010-2015 Mike Bostock -All rights reserved. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +The MIT License (MIT) -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Copyright (c) 2015 Tom Payne -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: d3-geo (1.12.1) +Package Title: github.com/VividCortex/ewma (v1.1.1) -------------------------------------------------------------------------------- * Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause OR MIT, Multi-license: BSD-3-Clause OR MIT +MIT -* Multi-license: BSD-2-Clause OR BSD-3-Clause OR MIT * -Copyright 2010-2016 Mike Bostock -All rights reserved. +The MIT License -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -This license applies to GeographicLib, versions 1.12 and later. - -Copyright (c) 2008-2012, Charles Karney - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* Multi-license: BSD-3-Clause OR MIT * - -Copyright 2010-2016 Mike Bostock -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -This license applies to GeographicLib, versions 1.12 and later. - -Copyright (c) 2008-2012, Charles Karney - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -* Other Licenses * -BSD-3-Clause - - -Copyright (c) 2010-2016 Mike Bostock . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: d3-geo-projection (2.5.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause, MIT - -* BSD-3-Clause * - -Copyright 2013-2016 Mike Bostock -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - - -MIT License for https://github.com/scijs/integrate-adaptive-simpson - -The MIT License (MIT) - -Copyright (c) 2015 Ricky Reusser +Copyright (c) 2013 VividCortex Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -25444,9 +25650,20 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -* MIT * -Copyright (c) 2013-2016 Mike Bostock + +-------------------------------------------------------------------------------- +Package Title: go (024077e996b048517130b21ea6bf12aa23055d3d) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +MIT License + +Copyright (c) 2016 json-iterator + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -25466,716 +25683,1102 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + -------------------------------------------------------------------------------- -Package Title: d3-geo-projection (2.9.0) +Package Title: go-autorest (3ddafdd73fe99af09e2226b8b3e9472ca456e355) -------------------------------------------------------------------------------- * Declared Licenses * -Multi-license: BSD-3-Clause OR MIT, Multi-license: BSD-2-Clause OR BSD-3-Clause OR MIT - -* Multi-license: BSD-3-Clause OR MIT * - -Copyright 2013-2016 Mike Bostock -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Apache-2.0 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -MIT License for https://github.com/scijs/integrate-adaptive-simpson + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -The MIT License (MIT) + 1. Definitions. -Copyright (c) 2015 Ricky Reusser + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -* Multi-license: BSD-2-Clause OR BSD-3-Clause OR MIT * + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -Copyright 2013-2016 Mike Bostock -All rights reserved. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -MIT License for https://github.com/scijs/integrate-adaptive-simpson + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -The MIT License (MIT) + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -Copyright (c) 2015 Ricky Reusser + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -* Other Licenses * -BSD-3-Clause + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -Copyright (c) 2013-2016 Mike Bostock . All rights reserved. + END OF TERMS AND CONDITIONS -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + Copyright 2015 Microsoft Corporation - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. + 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 - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + http://www.apache.org/licenses/LICENSE-2.0 - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. + 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. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: d3-interpolate (2.0.1) +Package Title: go-autorest (4e2e1bb52ffbf0cf2dc47d548e7621d68fde032d) -------------------------------------------------------------------------------- * Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause - -* Multi-license: BSD-2-Clause OR BSD-3-Clause * +Apache-2.0 -Copyright 2010-2016 Mike Bostock -All rights reserved. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. + 1. Definitions. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -* BSD-3-Clause * + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -Copyright 2010-2016 Mike Bostock -All rights reserved. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. --------------------------------------------------------------------------------- -Package Title: d3-interpolate (3.0.1) --------------------------------------------------------------------------------- + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -* Declared Licenses * -ISC + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -Copyright 2010-2021 Mike Bostock + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. --------------------------------------------------------------------------------- -Package Title: d3-path (3.1.0) --------------------------------------------------------------------------------- + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -* Declared Licenses * -ISC + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -Copyright 2015-2022 Mike Bostock + END OF TERMS AND CONDITIONS -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. + Copyright 2015 Microsoft Corporation -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. + 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. -------------------------------------------------------------------------------- -Package Title: d3-scale (3.2.3) +Package Title: go-autorest (820a319d2214dc91d083022ae5ec50070175314c) -------------------------------------------------------------------------------- * Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause - -* Multi-license: BSD-2-Clause OR BSD-3-Clause * +Apache-2.0 -Copyright 2010-2015 Mike Bostock -All rights reserved. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. + 1. Definitions. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -* BSD-3-Clause * + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -Copyright 2010-2015 Mike Bostock -All rights reserved. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. --------------------------------------------------------------------------------- -Package Title: d3-scale (3.3.0) --------------------------------------------------------------------------------- + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -* Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -* Multi-license: BSD-2-Clause OR BSD-3-Clause * + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -Copyright 2010-2015 Mike Bostock -All rights reserved. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -* BSD-3-Clause * + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -Copyright 2010-2015 Mike Bostock -All rights reserved. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: + END OF TERMS AND CONDITIONS -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + Copyright 2015 Microsoft Corporation -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + 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 -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. + http://www.apache.org/licenses/LICENSE-2.0 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 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. -------------------------------------------------------------------------------- -Package Title: d3-scale (4.0.2) +Package Title: go-autorest (b3a0b30a7423314874b3f585289e0e260cf5fc8d) -------------------------------------------------------------------------------- * Declared Licenses * -ISC +Apache-2.0 -Copyright 2010-2021 Mike Bostock -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + 1. Definitions. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. --------------------------------------------------------------------------------- -Package Title: d3-shape (3.2.0) --------------------------------------------------------------------------------- + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -* Declared Licenses * -ISC + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -Copyright 2010-2022 Mike Bostock + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." --------------------------------------------------------------------------------- -Package Title: d3-time (2.1.1) --------------------------------------------------------------------------------- + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -* Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -* Multi-license: BSD-2-Clause OR BSD-3-Clause * + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -Copyright 2010-2016 Mike Bostock -All rights reserved. + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -* BSD-3-Clause * + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -Copyright 2010-2016 Mike Bostock -All rights reserved. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + END OF TERMS AND CONDITIONS -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. + Copyright 2015 Microsoft Corporation -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 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. -------------------------------------------------------------------------------- -Package Title: d3-time (3.1.0) +Package Title: go-cmp (a97318bf6562f2ed2632c5f985db51b1bc5bdcd0) -------------------------------------------------------------------------------- * Declared Licenses * -ISC +BSD-3-Clause -Copyright 2010-2022 Mike Bostock +Copyright (c) 2017 The Go Authors. All rights reserved. -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: d3-time-format (3.0.0) +Package Title: go-connections (7395e3f8aa162843a74ed6d48e79627d9792ac55) -------------------------------------------------------------------------------- * Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause +Apache-2.0 -* Multi-license: BSD-2-Clause OR BSD-3-Clause * -Copyright 2010-2017 Mike Bostock -All rights reserved. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + 1. Definitions. -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -* BSD-3-Clause * + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -Copyright 2010-2017 Mike Bostock -All rights reserved. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. --------------------------------------------------------------------------------- -Package Title: d3-time-format (4.1.0) --------------------------------------------------------------------------------- + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -* Declared Licenses * -ISC + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -Copyright 2010-2021 Mike Bostock + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. --------------------------------------------------------------------------------- -Package Title: d3-timer (3.0.1) --------------------------------------------------------------------------------- + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -* Declared Licenses * -ISC + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + END OF TERMS AND CONDITIONS -Copyright 2010-2021 Mike Bostock + Copyright 2015 Docker, Inc. -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. + 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 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. + https://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. -------------------------------------------------------------------------------- -Package Title: datadog-go (8bfdc335936a79b55b3e2c1080930bc5a3eb57f2) +Package Title: go-difflib (792786c7400a136282c1664665ae0a8db921c6c2) -------------------------------------------------------------------------------- * Declared Licenses * -MIT +BSD-3-Clause -Copyright (c) 2015 Datadog, Inc +Copyright (c) 2013, Patrick Mezard +All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. + The names of its contributors may not be used to endorse or promote +products derived from this software without specific prior written +permission. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: datadriven (7682d40af05620195c2215de868ae8db513d746b) +Package Title: go-genproto (67e5cbc046fddc8362f3cdb8d7897dfc780fbb12) -------------------------------------------------------------------------------- * Declared Licenses * Apache-2.0 + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -26381,324 +26984,219 @@ Apache-2.0 -------------------------------------------------------------------------------- -Package Title: dayjs (1.11.9) +Package Title: go-gitignore (39e6bddfb2924a6703a1cb3bb97098db26d7b460) -------------------------------------------------------------------------------- * Declared Licenses * -MIT - - -MIT License +Apache-2.0 -Copyright (c) 2018-present, iamkun -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: dbus (4481cbc300e2df0c0b3cecc18b6c16c6c0bb885d) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause - - -Copyright (c) 2013, Georg Reinke (), Google -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright notice, -this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: debug (2.6.9) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -(The MIT License) - -Copyright (c) 2014 TJ Holowaychuk - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software -and associated documentation files (the 'Software'), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial -portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT -LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - - --------------------------------------------------------------------------------- -Package Title: debug (3.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -(The MIT License) - -Copyright (c) 2014 TJ Holowaychuk - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software -and associated documentation files (the 'Software'), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial -portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT -LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - - --------------------------------------------------------------------------------- -Package Title: debug (4.3.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -(The MIT License) - -Copyright (c) 2014-2017 TJ Holowaychuk -Copyright (c) 2018-2021 Josh Junon - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software -and associated documentation files (the 'Software'), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial -portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT -LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - - --------------------------------------------------------------------------------- -Package Title: decamelize (1.2.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: decimal.js-light (2.5.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT Expat Licence. - -Copyright (c) 2020 Michael Mclaughlin - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + 1. Definitions. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. --------------------------------------------------------------------------------- -Package Title: deep-equal (1.1.1) --------------------------------------------------------------------------------- + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -* Declared Licenses * -MIT + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -MIT License + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -Copyright (c) 2012, 2013, 2014 James Halliday , 2009 Thomas Robinson <280north.com> + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: --------------------------------------------------------------------------------- -Package Title: deep-is (0.1.4) --------------------------------------------------------------------------------- + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -* Declared Licenses * -MIT + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -Copyright (c) 2012, 2013 Thorsten Lorenz -Copyright (c) 2012 James Halliday -Copyright (c) 2009 Thomas Robinson <280north.com> + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -This software is released under the MIT license: + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. --------------------------------------------------------------------------------- -Package Title: define-properties (1.2.0) --------------------------------------------------------------------------------- + END OF TERMS AND CONDITIONS -* Declared Licenses * -MIT + APPENDIX: How to apply the Apache License to your work. + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -The MIT License (MIT) + Copyright [yyyy] [name of copyright owner] -Copyright (C) 2015 Jordan Harband + 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 -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + http://www.apache.org/licenses/LICENSE-2.0 -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + 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. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: define-property (1.0.0) +Package Title: go-homedir (af06845cf3004701891bf4fdb884bfe4920b3727) -------------------------------------------------------------------------------- * Declared Licenses * @@ -26707,7 +27205,7 @@ MIT The MIT License (MIT) -Copyright (c) 2015, 2017, Jon Schlinkert +Copyright (c) 2013 Mitchell Hashimoto Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -26730,16 +27228,14 @@ THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: define-property (2.0.2) +Package Title: go-humanize (9f541cc9db5d55bce703bd99987c9d5cb8eea45e) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) - -Copyright (c) 2015-2018, Jon Schlinkert. +Copyright (c) 2005-2008 Dustin Sallings Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -26756,20 +27252,22 @@ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + -------------------------------------------------------------------------------- -Package Title: demangle (28f6c0f3b63983aaa99575ca3b693afff7996387) +Package Title: go-internal (7a6a5f804c24039a8741921b97ffa0c3b8998be3) -------------------------------------------------------------------------------- * Declared Licenses * BSD-3-Clause -Copyright (c) 2015 The Go Authors. All rights reserved. +Copyright (c) 2018 The Go Authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -26800,40 +27298,27 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: depd (1.1.2) +Package Title: go-isatty (13e91bf4058fb93d5629deb7b2e3763ec8f4fdf8) -------------------------------------------------------------------------------- * Declared Licenses * MIT -(The MIT License) +Copyright (c) Yasuhiro MATSUMOTO -Copyright (c) 2014-2017 Douglas Christopher Wilson +MIT License (Expat) -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: detect-file (1.0.0) +Package Title: go-jira (cd21164aebb7b68798637214c03967aa8a665048) -------------------------------------------------------------------------------- * Declared Licenses * @@ -26842,7 +27327,7 @@ MIT The MIT License (MIT) -Copyright (c) 2016-2017, Brian Woodward. +Copyright (c) 2015 Andy Grunwald Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -26851,57 +27336,49 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + -------------------------------------------------------------------------------- -Package Title: diffie-hellman (5.0.3) +Package Title: go-jmespath (3d4fd11601ddca248480565884e34e393313cd62) -------------------------------------------------------------------------------- * Declared Licenses * -MIT - +Apache-2.0 -Copyright (c) 2017 Calvin Metcalf -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright 2015 James Saryerwinnie -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +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 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 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. --------------------------------------------------------------------------------- -Package Title: dir-glob (3.0.1) --------------------------------------------------------------------------------- -* Declared Licenses * +* Other Licenses * MIT -Copyright (c) Kevin Mårtensson (github.com/kevva) +Copyright (c) 2012-2018 Mat Ryer and Tyler Bunnell Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -26922,539 +27399,27 @@ SOFTWARE. -------------------------------------------------------------------------------- -Package Title: Django (5.0.7) +Package Title: go-jose.v2 (3a5ee095dcb5030a9de84fb92c222ac652fff176) -------------------------------------------------------------------------------- * Declared Licenses * -BSD-3-Clause, Python-2.0, 0BSD - -* BSD-3-Clause * - -Copyright (c) Django Software Foundation and individual contributors. -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +Apache-2.0 - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. Neither the name of Django nor the names of its contributors may be used - to endorse or promote products derived from this software without - specific prior written permission. + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + 1. Definitions. -* Python-2.0 * - -1. This LICENSE AGREEMENT is between the Python Software Foundation ("PSF"), and the Individual or Organization ("Licensee") accessing and otherwise using this software ("Python") in source or binary form and its associated documentation. - 2. Subject to the terms and conditions of this License Agreement, PSF hereby grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python alone or in any derivative version, provided, however, that PSF's License Agreement and PSF's notice of copyright, i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation; All Rights Reserved" are retained in Python alone or in any derivative version prepared by Licensee. - 3. In the event Licensee prepares a derivative work that is based on or incorporates Python or any part thereof, and wants to make the derivative work available to others as provided herein, then Licensee hereby agrees to include in any such work a brief summary of the changes made to Python. - 4. PSF is making Python available to Licensee on an "AS IS" basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. - 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - 6. This License Agreement will automatically terminate upon a material breach of its terms and conditions. - 7. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between PSF and Licensee. This License Agreement does not grant permission to use PSF trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party. - 8. By copying, installing or otherwise using Python, Licensee agrees to be bound by the terms and conditions of this License Agreement. - 1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the Individual or Organization ("Licensee") accessing and otherwise using this software in source or binary form and its associated documentation ("the Software"). - 2. Subject to the terms and conditions of this BeOpen Python License Agreement, BeOpen hereby grants Licensee a non-exclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use the Software alone or in any derivative version, provided, however, that the BeOpen Python License is retained in the Software, alone or in any derivative version prepared by Licensee. - 3. BeOpen is making the Software available to Licensee on an "AS IS" basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. - 4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - 5. This License Agreement will automatically terminate upon a material breach of its terms and conditions. - 6. This License Agreement shall be governed by and interpreted in all respects by the law of the State of California, excluding conflict of law provisions. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between BeOpen and Licensee. This License Agreement does not grant permission to use BeOpen trademarks or trade names in a trademark sense to endorse or promote products or services of Licensee, or any third party. As an exception, the "BeOpen Python" logos available at http://www.pythonlabs.com/logos.html may be used according to the permissions granted on that web page. - 7. By copying, installing or otherwise using the software, Licensee agrees to be bound by the terms and conditions of this License Agreement. - 1. This LICENSE AGREEMENT is between the Corporation for National Research Initiatives, having an office at 1895 Preston White Drive, Reston, VA 20191 ("CNRI"), and the Individual or Organization ("Licensee") accessing and otherwise using Python 1.6, beta 1 software in source or binary form and its associated documentation, as released at the www.python.org Internet site on August 4, 2000 ("Python 1.6b1"). - 2. Subject to the terms and conditions of this License Agreement, CNRI hereby grants Licensee a non-exclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 1.6b1 alone or in any derivative version, provided, however, that CNRIs License Agreement is retained in Python 1.6b1, alone or in any derivative version prepared by Licensee. - Alternately, in lieu of CNRIs License Agreement, Licensee may substitute the following text (omitting the quotes): "Python 1.6, beta 1, is made available subject to the terms and conditions in CNRIs License Agreement. This Agreement may be located on the Internet using the following unique, persistent identifier (known as a handle): 1895.22/1011. This Agreement may also be obtained from a proxy server on the Internet using the URL:http://hdl.handle.net/1895.22/1011". - 3. In the event Licensee prepares a derivative work that is based on or incorporates Python 1.6b1 or any part thereof, and wants to make the derivative work available to the public as provided herein, then Licensee hereby agrees to indicate in any such work the nature of the modifications made to Python 1.6b1. - 4. CNRI is making Python 1.6b1 available to Licensee on an "AS IS" basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6b1 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. - 5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF USING, MODIFYING OR DISTRIBUTING PYTHON 1.6b1, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - 6. This License Agreement will automatically terminate upon a material breach of its terms and conditions. - 7. This License Agreement shall be governed by and interpreted in all respects by the law of the State of Virginia, excluding conflict of law provisions. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between CNRI and Licensee. This License Agreement does not grant permission to use CNRI trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party. - 8. By clicking on the "ACCEPT" button where indicated, or by copying, installing or otherwise using Python 1.6b1, Licensee agrees to be bound by the terms and conditions of this License Agreement. -Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, The Netherlands. All rights reserved. -Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Stichting Mathematisch Centrum or CWI not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. -STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -* 0BSD * - -Django is licensed under the three-clause BSD license; see the file -LICENSE for details. - -Django includes code from the Python standard library, which is licensed under -the Python license, a permissive open source license. The copyright and license -is included below for compliance with Python's terms. - ----------------------------------------------------------------------- - -Copyright (c) 2001-present Python Software Foundation; All Rights Reserved - -A. HISTORY OF THE SOFTWARE -========================== - -Python was created in the early 1990s by Guido van Rossum at Stichting -Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands -as a successor of a language called ABC. Guido remains Python's -principal author, although it includes many contributions from others. - -In 1995, Guido continued his work on Python at the Corporation for -National Research Initiatives (CNRI, see http://www.cnri.reston.va.us) -in Reston, Virginia where he released several versions of the -software. - -In May 2000, Guido and the Python core development team moved to -BeOpen.com to form the BeOpen PythonLabs team. In October of the same -year, the PythonLabs team moved to Digital Creations, which became -Zope Corporation. In 2001, the Python Software Foundation (PSF, see -https://www.python.org/psf/) was formed, a non-profit organization -created specifically to own Python-related Intellectual Property. -Zope Corporation was a sponsoring member of the PSF. - -All Python releases are Open Source (see http://www.opensource.org for -the Open Source Definition). Historically, most, but not all, Python -releases have also been GPL-compatible; the table below summarizes -the various releases. - - Release Derived Year Owner GPL- - from compatible? (1) - - 0.9.0 thru 1.2 1991-1995 CWI yes - 1.3 thru 1.5.2 1.2 1995-1999 CNRI yes - 1.6 1.5.2 2000 CNRI no - 2.0 1.6 2000 BeOpen.com no - 1.6.1 1.6 2001 CNRI yes (2) - 2.1 2.0+1.6.1 2001 PSF no - 2.0.1 2.0+1.6.1 2001 PSF yes - 2.1.1 2.1+2.0.1 2001 PSF yes - 2.1.2 2.1.1 2002 PSF yes - 2.1.3 2.1.2 2002 PSF yes - 2.2 and above 2.1.1 2001-now PSF yes - -Footnotes: - -(1) GPL-compatible doesn't mean that we're distributing Python under - the GPL. All Python licenses, unlike the GPL, let you distribute - a modified version without making your changes open source. The - GPL-compatible licenses make it possible to combine Python with - other software that is released under the GPL; the others don't. - -(2) According to Richard Stallman, 1.6.1 is not GPL-compatible, - because its license has a choice of law clause. According to - CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1 - is "not incompatible" with the GPL. - -Thanks to the many outside volunteers who have worked under Guido's -direction to make these releases possible. - - -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON -=============================================================== - -Python software and documentation are licensed under the -Python Software Foundation License Version 2. - -Starting with Python 3.8.6, examples, recipes, and other code in -the documentation are dual licensed under the PSF License Version 2 -and the Zero-Clause BSD license. - -Some software incorporated into Python is under different licenses. -The licenses are listed with code falling under that license. - - -PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 --------------------------------------------- - -1. This LICENSE AGREEMENT is between the Python Software Foundation -("PSF"), and the Individual or Organization ("Licensee") accessing and -otherwise using this software ("Python") in source or binary form and -its associated documentation. - -2. Subject to the terms and conditions of this License Agreement, PSF hereby -grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, -analyze, test, perform and/or display publicly, prepare derivative works, -distribute, and otherwise use Python alone or in any derivative version, -provided, however, that PSF's License Agreement and PSF's notice of copyright, -i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Python Software Foundation; -All Rights Reserved" are retained in Python alone or in any derivative version -prepared by Licensee. - -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python or any part thereof, and wants to make -the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to Python. - -4. PSF is making Python available to Licensee on an "AS IS" -basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. Nothing in this License Agreement shall be deemed to create any -relationship of agency, partnership, or joint venture between PSF and -Licensee. This License Agreement does not grant permission to use PSF -trademarks or trade name in a trademark sense to endorse or promote -products or services of Licensee, or any third party. - -8. By copying, installing or otherwise using Python, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. - - -BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0 -------------------------------------------- - -BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 - -1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an -office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the -Individual or Organization ("Licensee") accessing and otherwise using -this software in source or binary form and its associated -documentation ("the Software"). - -2. Subject to the terms and conditions of this BeOpen Python License -Agreement, BeOpen hereby grants Licensee a non-exclusive, -royalty-free, world-wide license to reproduce, analyze, test, perform -and/or display publicly, prepare derivative works, distribute, and -otherwise use the Software alone or in any derivative version, -provided, however, that the BeOpen Python License is retained in the -Software, alone or in any derivative version prepared by Licensee. - -3. BeOpen is making the Software available to Licensee on an "AS IS" -basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE -SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS -AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY -DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -5. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -6. This License Agreement shall be governed by and interpreted in all -respects by the law of the State of California, excluding conflict of -law provisions. Nothing in this License Agreement shall be deemed to -create any relationship of agency, partnership, or joint venture -between BeOpen and Licensee. This License Agreement does not grant -permission to use BeOpen trademarks or trade names in a trademark -sense to endorse or promote products or services of Licensee, or any -third party. As an exception, the "BeOpen Python" logos available at -http://www.pythonlabs.com/logos.html may be used according to the -permissions granted on that web page. - -7. By copying, installing or otherwise using the software, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. - - -CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1 ---------------------------------------- - -1. This LICENSE AGREEMENT is between the Corporation for National -Research Initiatives, having an office at 1895 Preston White Drive, -Reston, VA 20191 ("CNRI"), and the Individual or Organization -("Licensee") accessing and otherwise using Python 1.6.1 software in -source or binary form and its associated documentation. - -2. Subject to the terms and conditions of this License Agreement, CNRI -hereby grants Licensee a nonexclusive, royalty-free, world-wide -license to reproduce, analyze, test, perform and/or display publicly, -prepare derivative works, distribute, and otherwise use Python 1.6.1 -alone or in any derivative version, provided, however, that CNRI's -License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) -1995-2001 Corporation for National Research Initiatives; All Rights -Reserved" are retained in Python 1.6.1 alone or in any derivative -version prepared by Licensee. Alternately, in lieu of CNRI's License -Agreement, Licensee may substitute the following text (omitting the -quotes): "Python 1.6.1 is made available subject to the terms and -conditions in CNRI's License Agreement. This Agreement together with -Python 1.6.1 may be located on the internet using the following -unique, persistent identifier (known as a handle): 1895.22/1013. This -Agreement may also be obtained from a proxy server on the internet -using the following URL: http://hdl.handle.net/1895.22/1013". - -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python 1.6.1 or any part thereof, and wants to make -the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to Python 1.6.1. - -4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" -basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. This License Agreement shall be governed by the federal -intellectual property law of the United States, including without -limitation the federal copyright law, and, to the extent such -U.S. federal law does not apply, by the law of the Commonwealth of -Virginia, excluding Virginia's conflict of law provisions. -Notwithstanding the foregoing, with regard to derivative works based -on Python 1.6.1 that incorporate non-separable material that was -previously distributed under the GNU General Public License (GPL), the -law of the Commonwealth of Virginia shall govern this License -Agreement only as to issues arising under or with respect to -Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this -License Agreement shall be deemed to create any relationship of -agency, partnership, or joint venture between CNRI and Licensee. This -License Agreement does not grant permission to use CNRI trademarks or -trade name in a trademark sense to endorse or promote products or -services of Licensee, or any third party. - -8. By clicking on the "ACCEPT" button where indicated, or by copying, -installing or otherwise using Python 1.6.1, Licensee agrees to be -bound by the terms and conditions of this License Agreement. - - ACCEPT - - -CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2 --------------------------------------------------- - -Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, -The Netherlands. All rights reserved. - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of Stichting Mathematisch -Centrum or CWI not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE -FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -ZERO-CLAUSE BSD LICENSE FOR CODE IN THE PYTHON DOCUMENTATION ----------------------------------------------------------------------- - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - - -* Other Licenses * -BSD-2-Clause, OFL-1.1, MIT, CC-BY-4.0 - -* BSD-2-Clause * - -Copyright (c) 2009 Stanislaus Madueke - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* OFL-1.1 * - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. -The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. -"Reserved Font Name" refers to any names specified as such after the copyright statement(s). -"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). -"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. -"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: - 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. - 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. - 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. - 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. - 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. -TERMINATION -This license becomes null and void if any of the above conditions are not met. -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. - -* MIT * - -Copyright (c) 2012-2017 Kevin Brown, Igor Vaynberg, and Select2 contributors -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -* CC-BY-4.0 * - -Attribution 4.0 International<> -By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. -Section 1 – Definitions. - a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. - b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. - c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. - d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. - e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. - f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. - g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. - h. Licensor means the individual(s) or entity(ies) granting rights under this Public License. - i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. - j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. - k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. -Section 2 – Scope. - a. License grant. - 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: - A. reproduce and Share the Licensed Material, in whole or in part; and - B. produce, reproduce, and Share Adapted Material. - 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. - 3. Term. The term of this Public License is specified in Section 6(a). - 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. - 5. Downstream recipients. - A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. - B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. - 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). - b. Other rights. - 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. - 2. Patent and trademark rights are not licensed under this Public License. - 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. -Section 3 – License Conditions. -Your exercise of the Licensed Rights is expressly made subject to the following conditions. - a. Attribution. - 1. If You Share the Licensed Material (including in modified form), You must: - A. retain the following if it is supplied by the Licensor with the Licensed Material: - i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); - ii. a copyright notice; - iii. a notice that refers to this Public License; - iv. a notice that refers to the disclaimer of warranties; - v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; - B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and - C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. - 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. - 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. - 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. -Section 4 – Sui Generis Database Rights. -Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: - a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; - b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and - c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. -For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. -Section 5 – Disclaimer of Warranties and Limitation of Liability. - a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. - b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. - c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. -Section 6 – Term and Termination. - a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. - b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: - 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or - 2. upon express reinstatement by the Licensor. - c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. - d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. - e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. -Section 7 – Other Terms and Conditions. - a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. - b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. -Section 8 – Interpretation. - a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. - b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. - c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. - d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. -Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. -Creative Commons may be contacted at creativecommons.org. - - --------------------------------------------------------------------------------- -Package Title: django-cockroachdb (5.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common @@ -27646,40 +27611,42 @@ Apache-2.0 --------------------------------------------------------------------------------- -Package Title: dnscache (fc85eb66452986f2b90924307b210377c8d85fd6) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - +* Other Licenses * +BSD-3-Clause -MIT License -Copyright (c) 2018 Olivier Poitrey +Copyright (c) 2012 The Go Authors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: dnsutils (90052734000be120c409677a88cb517e5b49dbf4) +Package Title: go-libedit (6f1b59dd42bcbba8c31e1c960c934f41954973f9) -------------------------------------------------------------------------------- * Declared Licenses * @@ -27863,277 +27830,82 @@ Apache-2.0 END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - --------------------------------------------------------------------------------- -Package Title: doctrine (3.0.0) --------------------------------------------------------------------------------- +* Other Licenses * +BSD-3-Clause, BSD-2-Clause, ISC -* Declared Licenses * -BSD-2-Clause, Apache-2.0 +* BSD-3-Clause * -* BSD-2-Clause * +Copyright (c) 1992, 1993 . All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* Apache-2.0 * - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. -END OF TERMS AND CONDITIONS + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -Package Title: dom-align (1.12.4) --------------------------------------------------------------------------------- +* BSD-2-Clause * -* Declared Licenses * -MIT +Copyright (c) 2009 The NetBSD Foundation, Inc. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -The MIT License (MIT) + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -Copyright (c) 2014-present yiminghe + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + and/or other materials provided with the distribution. -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* ISC * +Copyright (c) 1998 Todd C. Miller +Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -------------------------------------------------------------------------------- -Package Title: dom-helpers (3.4.0) +Package Title: go-localereader (6338b4c69507fb1f9edba3db33882a8e9ab9bfa8) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) - -Copyright (c) 2015 Jason Quense - +Copyright (c) 2022 Yasuhiro Matsumoto Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -28154,7 +27926,7 @@ SOFTWARE. -------------------------------------------------------------------------------- -Package Title: dom-helpers (5.2.1) +Package Title: go-md2man (b1ec32e02fe539480dc03e3bf381c20066e7c6cc) -------------------------------------------------------------------------------- * Declared Licenses * @@ -28163,36 +27935,8 @@ MIT The MIT License (MIT) -Copyright (c) 2015 Jason Quense - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: dom-scroll-into-view (1.2.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - +Copyright (c) 2014 Brian Goff -Copyright (c) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -28212,84 +27956,90 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -Package Title: domain-browser (1.2.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - - - -

License

-Unless stated otherwise all works are: - - - -and licensed under: +* Other Licenses * +BSD-2-Clause - -

MIT License

+Copyright (c) 2011 Russ Ross -
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
 
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+   1. Redistributions of source code must retain the above copyright notice, this
+      list of conditions and the following disclaimer.
 
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
+ 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation - + and/or other materials provided with the distribution. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: dot (807d563b34a335869e9c7e51a0f3ebe30b3c7a7b) +Package Title: go-metrics (cf1acfcdf4751e0554ffa765d03e479ec491cad6) -------------------------------------------------------------------------------- * Declared Licenses * -MIT +BSD-2-Clause -Copyright(c) Ernest Micklei +Copyright 2012 Richard Crowley. All rights reserved. -MIT License +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. + 2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THIS SOFTWARE IS PROVIDED BY RICHARD CROWLEY ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL RICHARD CROWLEY OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +The views and conclusions contained in the software and documentation +are those of the authors and should not be interpreted as representing +official policies, either expressed or implied, of Richard Crowley. -------------------------------------------------------------------------------- -Package Title: dottie (2.0.0) +Package Title: go-metro (280f6062b5bc97ee9b9afe7f2ccb361e59845baa) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License +This package is a mechanical translation of the reference C++ code for +MetroHash, available at https://github.com/jandrewrogers/MetroHash -Copyright (c) 2013-2014 Mick Hansen. http://mhansen.io +The MIT License (MIT) + +Copyright (c) 2016 Damian Gryski Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -28298,442 +28048,630 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: dst (ce1c8af3ca7fccd4405ec0594a8b68d40370dda0) +Package Title: go-multierror (9974e9ec57696378079ecc3accd3d6f29401b3a0) -------------------------------------------------------------------------------- * Declared Licenses * -MIT, BSD-3-Clause +MPL-2.0 -* MIT * -Copyright (c) 2018 David Brophy -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Mozilla Public License, version 2.0 -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +1. Definitions -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +1.1. “Contributor” -* BSD-3-Clause * + means each individual or legal entity that creates, contributes to the + creation of, or owns Covered Software. -MIT License +1.2. “Contributor Version” -Copyright (c) 2018 David Brophy + means the combination of the Contributions of others (if any) used by a + Contributor and that particular Contributor’s Contribution. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +1.3. “Contribution” -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + means Covered Software of a particular Contributor. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +1.4. “Covered Software” -This package was forked from https://github.com/golang/go/tree/master/src/go/ast - original license: + means Source Code Form to which the initial Contributor has attached the + notice in Exhibit A, the Executable Form of such Source Code Form, and + Modifications of such Source Code Form, in each case including portions + thereof. -Copyright (c) 2009 The Go Authors. All rights reserved. +1.5. “Incompatible With Secondary Licenses” + means -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: + a. that the initial Contributor has attached the notice described in + Exhibit B to the Covered Software; or - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. + b. that the Covered Software was made available under the terms of version + 1.1 or earlier of the License, but not also under the terms of a + Secondary License. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +1.6. “Executable Form” + means any form of the work other than Source Code Form. --------------------------------------------------------------------------------- -Package Title: dupl (f008fcf5e62793d38bda510ee37aab8b0c68e76c) --------------------------------------------------------------------------------- +1.7. “Larger Work” -* Declared Licenses * -MIT + means a work that combines Covered Software with other material, in a separate + file or files, that is not Covered Software. +1.8. “License” -The MIT License (MIT) + means this document. -Copyright (c) 2015 Michal Bohuslávek +1.9. “Licensable” -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + means having the right to grant, to the maximum extent possible, whether at the + time of the initial grant or subsequently, any and all of the rights conveyed by + this License. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +1.10. “Modifications” -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + means any of the following: + a. any file in Source Code Form that results from an addition to, deletion + from, or modification of the contents of Covered Software; or + b. any new file in Source Code Form that contains any Covered Software. --------------------------------------------------------------------------------- -Package Title: duplexify (3.7.1) --------------------------------------------------------------------------------- +1.11. “Patent Claims” of a Contributor -* Declared Licenses * -MIT + means any patent claim(s), including without limitation, method, process, + and apparatus claims, in any patent Licensable by such Contributor that + would be infringed, but for the grant of the License, by the making, + using, selling, offering for sale, having made, import, or transfer of + either its Contributions or its Contributor Version. +1.12. “Secondary License” -The MIT License (MIT) + means either the GNU General Public License, Version 2.0, the GNU Lesser + General Public License, Version 2.1, the GNU Affero General Public + License, Version 3.0, or any later versions of those licenses. -Copyright (c) 2014 Mathias Buus +1.13. “Source Code Form” -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + means the form of the work preferred for making modifications. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +1.14. “You” (or “Your”) -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + means an individual or a legal entity exercising rights under this + License. For legal entities, “You” includes any entity that controls, is + controlled by, or is under common control with You. For purposes of this + definition, “control” means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. --------------------------------------------------------------------------------- -Package Title: easyjson (c120ca7ced6051261161ce15e8f1542a4b2567fc) --------------------------------------------------------------------------------- +2. License Grants and Conditions -* Declared Licenses * -MIT +2.1. Grants + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: -Copyright (c) 2016 Mail.Ru Group + a. under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or as + part of a Larger Work; and -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + b. under Patent Claims of such Contributor to make, use, sell, offer for + sale, have made, import, and otherwise transfer either its Contributions + or its Contributor Version. -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +2.2. Effective Date -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + The licenses granted in Section 2.1 with respect to any Contribution become + effective for each Contribution on the date the Contributor first distributes + such Contribution. +2.3. Limitations on Grant Scope + The licenses granted in this Section 2 are the only rights granted under this + License. No additional rights or licenses will be implied from the distribution + or licensing of Covered Software under this License. Notwithstanding Section + 2.1(b) above, no patent license is granted by a Contributor: -* Other Licenses * -BSD-3-Clause + a. for any code that a Contributor has removed from Covered Software; or + b. for infringements caused by: (i) Your and any other third party’s + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or -Copyright (c) 2009 The Go Authors. All rights reserved. . All rights reserved. + c. under Patent Claims infringed by Covered Software in the absence of its + Contributions. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + This License does not grant any rights in the trademarks, service marks, or + logos of any Contributor (except as may be necessary to comply with the + notice requirements in Section 3.4). - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +2.4. Subsequent Licenses - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + No Contributor makes additional grants as a result of Your choice to + distribute the Covered Software under a subsequent version of this License + (see Section 10.2) or under the terms of a Secondary License (if permitted + under the terms of Section 3.3). - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +2.5. Representation -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + Each Contributor represents that the Contributor believes its Contributions + are its original creation(s) or it has sufficient rights to grant the + rights to its Contributions conveyed by this License. + +2.6. Fair Use + This License is not intended to limit any rights You have under applicable + copyright doctrines of fair use, fair dealing, or other equivalents. --------------------------------------------------------------------------------- -Package Title: elliptic (6.5.4) --------------------------------------------------------------------------------- +2.7. Conditions -* Declared Licenses * -MIT + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in + Section 2.1. -Copyright (c) Fedor Indutny, 2014. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +3. Responsibilities -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +3.1. Distribution of Source Form -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + All distribution of Covered Software in Source Code Form, including any + Modifications that You create or to which You contribute, must be under the + terms of this License. You must inform recipients that the Source Code Form + of the Covered Software is governed by the terms of this License, and how + they can obtain a copy of this License. You may not attempt to alter or + restrict the recipients’ rights in the Source Code Form. +3.2. Distribution of Executable Form --------------------------------------------------------------------------------- -Package Title: emoji-regex (7.0.3) --------------------------------------------------------------------------------- + If You distribute Covered Software in Executable Form then: -* Declared Licenses * -MIT + a. such Covered Software must also be made available in Source Code Form, + as described in Section 3.1, and You must inform recipients of the + Executable Form how they can obtain a copy of such Source Code Form by + reasonable means in a timely manner, at a charge no more than the cost + of distribution to the recipient; and + b. You may distribute such Executable Form under the terms of this License, + or sublicense it under different terms, provided that the license for + the Executable Form does not attempt to limit or alter the recipients’ + rights in the Source Code Form under this License. -Copyright Mathias Bynens +3.3. Distribution of a Larger Work -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: + You may create and distribute a Larger Work under terms of Your choice, + provided that You also comply with the requirements of this License for the + Covered Software. If the Larger Work is a combination of Covered Software + with a work governed by one or more Secondary Licenses, and the Covered + Software is not Incompatible With Secondary Licenses, this License permits + You to additionally distribute such Covered Software under the terms of + such Secondary License(s), so that the recipient of the Larger Work may, at + their option, further distribute the Covered Software under the terms of + either this License or such Secondary License(s). -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +3.4. Notices -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + You may not remove or alter the substance of any license notices (including + copyright notices, patent notices, disclaimers of warranty, or limitations + of liability) contained within the Source Code Form of the Covered + Software, except that You may alter any license notices to the extent + required to remedy known factual inaccuracies. +3.5. Application of Additional Terms + You may choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of Covered + Software. However, You may do so only on Your own behalf, and not on behalf + of any Contributor. You must make it absolutely clear that any such + warranty, support, indemnity, or liability obligation is offered by You + alone, and You hereby agree to indemnify every Contributor for any + liability incurred by such Contributor as a result of warranty, support, + indemnity or liability terms You offer. You may include additional + disclaimers of warranty and limitations of liability specific to any + jurisdiction. --------------------------------------------------------------------------------- -Package Title: emoji-regex (8.0.0) --------------------------------------------------------------------------------- +4. Inability to Comply Due to Statute or Regulation -* Declared Licenses * -MIT + If it is impossible for You to comply with any of the terms of this License + with respect to some or all of the Covered Software due to statute, judicial + order, or regulation then You must: (a) comply with the terms of this License + to the maximum extent possible; and (b) describe the limitations and the code + they affect. Such description must be placed in a text file included with all + distributions of the Covered Software under this License. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. +5. Termination -Copyright Mathias Bynens +5.1. The rights granted under this License will terminate automatically if You + fail to comply with any of its terms. However, if You become compliant, + then the rights granted under this License from a particular Contributor + are reinstated (a) provisionally, unless and until such Contributor + explicitly and finally terminates Your grants, and (b) on an ongoing basis, + if such Contributor fails to notify You of the non-compliance by some + reasonable means prior to 60 days after You have come back into compliance. + Moreover, Your grants from a particular Contributor are reinstated on an + ongoing basis if such Contributor notifies You of the non-compliance by + some reasonable means, this is the first time You have received notice of + non-compliance with this License from such Contributor, and You become + compliant prior to 30 days after Your receipt of the notice. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +5.2. If You initiate litigation against any entity by asserting a patent + infringement claim (excluding declaratory judgment actions, counter-claims, + and cross-claims) alleging that a Contributor Version directly or + indirectly infringes any patent, then the rights granted to You by any and + all Contributors for the Covered Software under Section 2.1 of this License + shall terminate. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user + license agreements (excluding distributors and resellers) which have been + validly granted by You or Your distributors under this License prior to + termination shall survive termination. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +6. Disclaimer of Warranty + Covered Software is provided under this License on an “as is” basis, without + warranty of any kind, either expressed, implied, or statutory, including, + without limitation, warranties that the Covered Software is free of defects, + merchantable, fit for a particular purpose or non-infringing. The entire + risk as to the quality and performance of the Covered Software is with You. + Should any Covered Software prove defective in any respect, You (not any + Contributor) assume the cost of any necessary servicing, repair, or + correction. This disclaimer of warranty constitutes an essential part of this + License. No use of any Covered Software is authorized under this License + except under this disclaimer. +7. Limitation of Liability --------------------------------------------------------------------------------- -Package Title: emojis-list (2.1.0) --------------------------------------------------------------------------------- + Under no circumstances and under no legal theory, whether tort (including + negligence), contract, or otherwise, shall any Contributor, or anyone who + distributes Covered Software as permitted above, be liable to You for any + direct, indirect, special, incidental, or consequential damages of any + character including, without limitation, damages for lost profits, loss of + goodwill, work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses, even if such party shall have been + informed of the possibility of such damages. This limitation of liability + shall not apply to liability for death or personal injury resulting from such + party’s negligence to the extent applicable law prohibits such limitation. + Some jurisdictions do not allow the exclusion or limitation of incidental or + consequential damages, so this exclusion and limitation may not apply to You. -* Declared Licenses * -MIT +8. Litigation + Any litigation relating to this License may be brought only in the courts of + a jurisdiction where the defendant maintains its principal place of business + and such litigation shall be governed by laws of that jurisdiction, without + reference to its conflict-of-law provisions. Nothing in this Section shall + prevent a party’s ability to bring cross-claims or counter-claims. -The MIT License (MIT) +9. Miscellaneous -Copyright © 2015 Kiko Beats + This License represents the complete agreement concerning the subject matter + hereof. If any provision of this License is held to be unenforceable, such + provision shall be reformed only to the extent necessary to make it + enforceable. Any law or regulation which provides that the language of a + contract shall be construed against the drafter shall not be used to construe + this License against a Contributor. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +10. Versions of the License -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +10.1. New Versions + Mozilla Foundation is the license steward. Except as provided in Section + 10.3, no one other than the license steward has the right to modify or + publish new versions of this License. Each version will be given a + distinguishing version number. +10.2. Effect of New Versions --------------------------------------------------------------------------------- -Package Title: emojis-list (3.0.0) --------------------------------------------------------------------------------- + You may distribute the Covered Software under the terms of the version of + the License under which You originally received the Covered Software, or + under the terms of any subsequent version published by the license + steward. -* Declared Licenses * -MIT +10.3. Modified Versions + If you create software not governed by this License, and you want to + create a new license for such software, you may create and use a modified + version of this License if you rename the license and remove any + references to the name of the license steward (except to note that such + modified license differs from this License). -The MIT License (MIT) +10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses + If You choose to distribute Source Code Form that is Incompatible With + Secondary Licenses under the terms of this version of the License, the + notice described in Exhibit B of this License must be attached. -Copyright © 2015 Kiko Beats +Exhibit A - Source Code Form License Notice -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + This Source Code Form is subject to the + terms of the Mozilla Public License, v. + 2.0. If a copy of the MPL was not + distributed with this file, You can + obtain one at + http://mozilla.org/MPL/2.0/. -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +If it is not possible or desirable to put the notice in a particular file, then +You may include the notice in a location (such as a LICENSE file in a relevant +directory) where a recipient would be likely to look for such a notice. -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +You may add additional accurate notices of copyright ownership. + +Exhibit B - “Incompatible With Secondary Licenses” Notice + + This Source Code Form is “Incompatible + With Secondary Licenses”, as defined by + the Mozilla Public License, v. 2.0. -------------------------------------------------------------------------------- -Package Title: end-of-stream (1.4.4) +Package Title: go-oidc (8d771559cf6e5111c9b9159810d0e4538e7cdc82) -------------------------------------------------------------------------------- * Declared Licenses * -MIT +Apache-2.0 -The MIT License (MIT) +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -Copyright (c) 2014 Mathias Buus + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 1. Definitions. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. --------------------------------------------------------------------------------- -Package Title: enhanced-resolve (4.1.0) --------------------------------------------------------------------------------- + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -* Declared Licenses * -MIT + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -Copyright JS Foundation and other contributors + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + 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. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: enhanced-resolve (4.5.0) +Package Title: go-osc52 (474dc8889ff262ca1c5b812c27d1fbe5610b8775) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright JS Foundation and other contributors +MIT License -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Copyright (c) 2022 Ayman Bagabas -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: enquirer (2.3.6) +Package Title: go-resiliency (a38996be24d84f579f6cbc1cb22dc7a5f8c904ec) -------------------------------------------------------------------------------- * Declared Licenses * @@ -28742,7 +28680,7 @@ MIT The MIT License (MIT) -Copyright (c) 2016-present, Jon Schlinkert. +Copyright (c) 2014 Evan Huus Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -28751,26 +28689,31 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -* Other Licenses * -Multi-license: ISC OR MIT + +-------------------------------------------------------------------------------- +Package Title: go-runewidth (2c6a438f68cfe01255a90824599da41fdf76d1e2) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT The MIT License (MIT) -Copyright (c) 2016-present, Jon Schlinkert. +Copyright (c) 2016 Yasuhiro Matsumoto Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -28779,83 +28722,247 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: entities (2.1.0) +Package Title: go-slugify (591116de2dd717fdb8c05e29fa3bf5d3f7ba8c87) -------------------------------------------------------------------------------- * Declared Licenses * -BSD-2-Clause +MIT -Copyright (c) Felix Böhm -All rights reserved. +The MIT License (MIT) -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: +Copyright (c) 2016 mozillazg -Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, -EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: errcheck (8ddee489636a8311a376fc92e27a6a13c6658344) +Package Title: go-spew (8991bc29aa16c548c550c7ff78260e27b9ab7c73) -------------------------------------------------------------------------------- * Declared Licenses * -MIT +ISC -Copyright (c) 2013 Kamil Kisiel +ISC License -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: +Copyright (c) 2012-2016 Dave Collins + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: go-tools (7586196b2bb05a248f1934d8087c759d05910e60) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT, BSD-3-Clause + +* MIT * + +Copyright (c) 2016 Dominik Honnef + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +* BSD-3-Clause * + +Staticcheck and its related tools make use of third party projects, +either by reusing their code, or by statically linking them into +resulting binaries. These projects are: + +* The Go Programming Language - https://golang.org/ + golang.org/x/mod - https://github.com/golang/mod + golang.org/x/tools - https://github.com/golang/tools + golang.org/x/sys - https://github.com/golang/sys + golang.org/x/xerrors - https://github.com/golang/xerrors + + Copyright (c) 2009 The Go Authors. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* github.com/BurntSushi/toml - https://github.com/BurntSushi/toml + + The MIT License (MIT) + + Copyright (c) 2013 TOML authors + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +* gogrep - https://github.com/mvdan/gogrep + + Copyright (c) 2017, Daniel Martí. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +* gosmith - https://github.com/dvyukov/gosmith + + Copyright (c) 2014 Dmitry Vyukov. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * The name of Dmitry Vyukov may be used to endorse or promote + products derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: errno (0.1.8) +Package Title: go-unidecode (98ea07f60ab0ab5dc29adb805402ac48c79e42fe) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright (c) Licence +The MIT License (MIT) + +Copyright (c) 2016 mozillazg + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -28875,17 +28982,20 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + -------------------------------------------------------------------------------- -Package Title: errors (698c58cf81c4112204c35173983e95f2c7725de2) +Package Title: go-units (519db1ee28dcc9fd2474ae59fca29a810482bfb1) -------------------------------------------------------------------------------- * Declared Licenses * Apache-2.0 + Apache License Version 2.0, January 2004 - http://www.apache.org/licenses/ + https://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION @@ -29060,24 +29170,13 @@ Apache-2.0 END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] + Copyright 2015 Docker, Inc. 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 + https://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, @@ -29088,54 +29187,461 @@ Apache-2.0 -------------------------------------------------------------------------------- -Package Title: errors (4b8f099709072417dc0433e565b68cc9ec122e75) +Package Title: go-uuid (67cd70b3bc50aeab4f2a02f869573616871a9a2a) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0 - +MPL-2.0 - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +Copyright © 2015-2022 HashiCorp, Inc. - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +Mozilla Public License, version 2.0 - 1. Definitions. +1. Definitions - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +1.1. "Contributor" - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. + means each individual or legal entity that creates, contributes to the + creation of, or owns Covered Software. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +1.2. "Contributor Version" - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. + means the combination of the Contributions of others (if any) used by a + Contributor and that particular Contributor's Contribution. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +1.3. "Contribution" - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. + means Covered Software of a particular Contributor. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +1.4. "Covered Software" - "Derivative Works" shall mean any work, whether in Source or Object + means Source Code Form to which the initial Contributor has attached the + notice in Exhibit A, the Executable Form of such Source Code Form, and + Modifications of such Source Code Form, in each case including portions + thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + a. that the initial Contributor has attached the notice described in + Exhibit B to the Covered Software; or + + b. that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the terms of + a Secondary License. + +1.6. "Executable Form" + + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + + means a work that combines Covered Software with other material, in a + separate file or files, that is not Covered Software. + +1.8. "License" + + means this document. + +1.9. "Licensable" + + means having the right to grant, to the maximum extent possible, whether + at the time of the initial grant or subsequently, any and all of the + rights conveyed by this License. + +1.10. "Modifications" + + means any of the following: + + a. any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered Software; or + + b. any new file in Source Code Form that contains any Covered Software. + +1.11. "Patent Claims" of a Contributor + + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the License, + by the making, using, selling, offering for sale, having made, import, + or transfer of either its Contributions or its Contributor Version. + +1.12. "Secondary License" + + means either the GNU General Public License, Version 2.0, the GNU Lesser + General Public License, Version 2.1, the GNU Affero General Public + License, Version 3.0, or any later versions of those licenses. + +1.13. "Source Code Form" + + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that controls, is + controlled by, or is under common control with You. For purposes of this + definition, "control" means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. + + +2. License Grants and Conditions + +2.1. Grants + + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: + + a. under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + + b. under Patent Claims of such Contributor to make, use, sell, offer for + sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + + The licenses granted in Section 2.1 with respect to any Contribution + become effective for each Contribution on the date the Contributor first + distributes such Contribution. + +2.3. Limitations on Grant Scope + + The licenses granted in this Section 2 are the only rights granted under + this License. No additional rights or licenses will be implied from the + distribution or licensing of Covered Software under this License. + Notwithstanding Section 2.1(b) above, no patent license is granted by a + Contributor: + + a. for any code that a Contributor has removed from Covered Software; or + + b. for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + + c. under Patent Claims infringed by Covered Software in the absence of + its Contributions. + + This License does not grant any rights in the trademarks, service marks, + or logos of any Contributor (except as may be necessary to comply with + the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + + No Contributor makes additional grants as a result of Your choice to + distribute the Covered Software under a subsequent version of this + License (see Section 10.2) or under the terms of a Secondary License (if + permitted under the terms of Section 3.3). + +2.5. Representation + + Each Contributor represents that the Contributor believes its + Contributions are its original creation(s) or it has sufficient rights to + grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + + This License is not intended to limit any rights You have under + applicable copyright doctrines of fair use, fair dealing, or other + equivalents. + +2.7. Conditions + + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in + Section 2.1. + + +3. Responsibilities + +3.1. Distribution of Source Form + + All distribution of Covered Software in Source Code Form, including any + Modifications that You create or to which You contribute, must be under + the terms of this License. You must inform recipients that the Source + Code Form of the Covered Software is governed by the terms of this + License, and how they can obtain a copy of this License. You may not + attempt to alter or restrict the recipients' rights in the Source Code + Form. + +3.2. Distribution of Executable Form + + If You distribute Covered Software in Executable Form then: + + a. such Covered Software must also be made available in Source Code Form, + as described in Section 3.1, and You must inform recipients of the + Executable Form how they can obtain a copy of such Source Code Form by + reasonable means in a timely manner, at a charge no more than the cost + of distribution to the recipient; and + + b. You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter the + recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + + You may create and distribute a Larger Work under terms of Your choice, + provided that You also comply with the requirements of this License for + the Covered Software. If the Larger Work is a combination of Covered + Software with a work governed by one or more Secondary Licenses, and the + Covered Software is not Incompatible With Secondary Licenses, this + License permits You to additionally distribute such Covered Software + under the terms of such Secondary License(s), so that the recipient of + the Larger Work may, at their option, further distribute the Covered + Software under the terms of either this License or such Secondary + License(s). + +3.4. Notices + + You may not remove or alter the substance of any license notices + (including copyright notices, patent notices, disclaimers of warranty, or + limitations of liability) contained within the Source Code Form of the + Covered Software, except that You may alter any license notices to the + extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + + You may choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of Covered + Software. However, You may do so only on Your own behalf, and not on + behalf of any Contributor. You must make it absolutely clear that any + such warranty, support, indemnity, or liability obligation is offered by + You alone, and You hereby agree to indemnify every Contributor for any + liability incurred by such Contributor as a result of warranty, support, + indemnity or liability terms You offer. You may include additional + disclaimers of warranty and limitations of liability specific to any + jurisdiction. + +4. Inability to Comply Due to Statute or Regulation + + If it is impossible for You to comply with any of the terms of this License + with respect to some or all of the Covered Software due to statute, + judicial order, or regulation then You must: (a) comply with the terms of + this License to the maximum extent possible; and (b) describe the + limitations and the code they affect. Such description must be placed in a + text file included with all distributions of the Covered Software under + this License. Except to the extent prohibited by statute or regulation, + such description must be sufficiently detailed for a recipient of ordinary + skill to be able to understand it. + +5. Termination + +5.1. The rights granted under this License will terminate automatically if You + fail to comply with any of its terms. However, if You become compliant, + then the rights granted under this License from a particular Contributor + are reinstated (a) provisionally, unless and until such Contributor + explicitly and finally terminates Your grants, and (b) on an ongoing + basis, if such Contributor fails to notify You of the non-compliance by + some reasonable means prior to 60 days after You have come back into + compliance. Moreover, Your grants from a particular Contributor are + reinstated on an ongoing basis if such Contributor notifies You of the + non-compliance by some reasonable means, this is the first time You have + received notice of non-compliance with this License from such + Contributor, and You become compliant prior to 30 days after Your receipt + of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent + infringement claim (excluding declaratory judgment actions, + counter-claims, and cross-claims) alleging that a Contributor Version + directly or indirectly infringes any patent, then the rights granted to + You by any and all Contributors for the Covered Software under Section + 2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user + license agreements (excluding distributors and resellers) which have been + validly granted by You or Your distributors under this License prior to + termination shall survive termination. + +6. Disclaimer of Warranty + + Covered Software is provided under this License on an "as is" basis, + without warranty of any kind, either expressed, implied, or statutory, + including, without limitation, warranties that the Covered Software is free + of defects, merchantable, fit for a particular purpose or non-infringing. + The entire risk as to the quality and performance of the Covered Software + is with You. Should any Covered Software prove defective in any respect, + You (not any Contributor) assume the cost of any necessary servicing, + repair, or correction. This disclaimer of warranty constitutes an essential + part of this License. No use of any Covered Software is authorized under + this License except under this disclaimer. + +7. Limitation of Liability + + Under no circumstances and under no legal theory, whether tort (including + negligence), contract, or otherwise, shall any Contributor, or anyone who + distributes Covered Software as permitted above, be liable to You for any + direct, indirect, special, incidental, or consequential damages of any + character including, without limitation, damages for lost profits, loss of + goodwill, work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses, even if such party shall have been + informed of the possibility of such damages. This limitation of liability + shall not apply to liability for death or personal injury resulting from + such party's negligence to the extent applicable law prohibits such + limitation. Some jurisdictions do not allow the exclusion or limitation of + incidental or consequential damages, so this exclusion and limitation may + not apply to You. + +8. Litigation + + Any litigation relating to this License may be brought only in the courts + of a jurisdiction where the defendant maintains its principal place of + business and such litigation shall be governed by laws of that + jurisdiction, without reference to its conflict-of-law provisions. Nothing + in this Section shall prevent a party's ability to bring cross-claims or + counter-claims. + +9. Miscellaneous + + This License represents the complete agreement concerning the subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. Any law or regulation which provides that + the language of a contract shall be construed against the drafter shall not + be used to construe this License against a Contributor. + + +10. Versions of the License + +10.1. New Versions + + Mozilla Foundation is the license steward. Except as provided in Section + 10.3, no one other than the license steward has the right to modify or + publish new versions of this License. Each version will be given a + distinguishing version number. + +10.2. Effect of New Versions + + You may distribute the Covered Software under the terms of the version + of the License under which You originally received the Covered Software, + or under the terms of any subsequent version published by the license + steward. + +10.3. Modified Versions + + If you create software not governed by this License, and you want to + create a new license for such software, you may create and use a + modified version of this License if you rename the license and remove + any references to the name of the license steward (except to note that + such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary + Licenses If You choose to distribute Source Code Form that is + Incompatible With Secondary Licenses under the terms of this version of + the License, the notice described in Exhibit B of this License must be + attached. + +Exhibit A - Source Code Form License Notice + + This Source Code Form is subject to the + terms of the Mozilla Public License, v. + 2.0. If a copy of the MPL was not + distributed with this file, You can + obtain one at + http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular file, +then You may include the notice in a location (such as a LICENSE file in a +relevant directory) where a recipient would be likely to look for such a +notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice + + This Source Code Form is "Incompatible + With Secondary Licenses", as defined by + the Mozilla Public License, v. 2.0. + + + + +-------------------------------------------------------------------------------- +Package Title: go-xerial-snappy (bf00bc1b83b6bd1e2ed59596f4eaaad97e60cf19) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT License (MIT) + +Copyright (c) 2016 Evan Huus + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: go.mongodb.org/mongo-driver (v1.5.1) +-------------------------------------------------------------------------------- + +* Declared Licenses * +Apache-2.0 + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes @@ -29300,26 +29806,50 @@ Apache-2.0 --------------------------------------------------------------------------------- -Package Title: errors (614d223910a179a466c1767a985424175c39b465) --------------------------------------------------------------------------------- +* Other Licenses * +MIT, ISC, BSD-2-Clause, BSD-3-Clause, proprietary-license -* Declared Licenses * -BSD-2-Clause +* MIT * +Copyright (c) 2010-2013 Gustavo Niemeyer +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Copyright (c) 2015, Dave Cheney -All rights reserved. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +* ISC * + +Copyright (c) 2010-2013 Gustavo Niemeyer +Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +* BSD-2-Clause * + +Copyright (c) 2010-2013 Gustavo Niemeyer Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + + and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE @@ -29332,873 +29862,994 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* BSD-3-Clause * +Copyright (c) 2010-2013 Gustavo Niemeyer . All rights reserved. --------------------------------------------------------------------------------- -Package Title: errwrap (7b00e5db719c64d14dd0caaacbd13e76254d02c0) --------------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -* Declared Licenses * -MPL-2.0 + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -Mozilla Public License, version 2.0 + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. -1. Definitions +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -1.1. “Contributor” +* proprietary-license * - means each individual or legal entity that creates, contributes to the - creation of, or owns Covered Software. +This is a catch-all license used when we find many different proprietary licenses. -1.2. “Contributor Version” - means the combination of the Contributions of others (if any) used by a - Contributor and that particular Contributor’s Contribution. +-------------------------------------------------------------------------------- +Package Title: go.opentelemetry.io/otel/exporters/jaeger (v1.0.0-RC3) +-------------------------------------------------------------------------------- -1.3. “Contribution” +* Declared Licenses * +Apache-2.0 - means Covered Software of a particular Contributor. -1.4. “Covered Software” + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ - means Source Code Form to which the initial Contributor has attached the - notice in Exhibit A, the Executable Form of such Source Code Form, and - Modifications of such Source Code Form, in each case including portions - thereof. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -1.5. “Incompatible With Secondary Licenses” - means + 1. Definitions. - a. that the initial Contributor has attached the notice described in - Exhibit B to the Covered Software; or + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. - b. that the Covered Software was made available under the terms of version - 1.1 or earlier of the License, but not also under the terms of a - Secondary License. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -1.6. “Executable Form” + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. - means any form of the work other than Source Code Form. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -1.7. “Larger Work” + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. - means a work that combines Covered Software with other material, in a separate - file or files, that is not Covered Software. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -1.8. “License” + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). - means this document. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -1.9. “Licensable” + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." - means having the right to grant, to the maximum extent possible, whether at the - time of the initial grant or subsequently, any and all of the rights conveyed by - this License. + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -1.10. “Modifications” + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. - means any of the following: + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. - a. any file in Source Code Form that results from an addition to, deletion - from, or modification of the contents of Covered Software; or + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: - b. any new file in Source Code Form that contains any Covered Software. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -1.11. “Patent Claims” of a Contributor + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and - means any patent claim(s), including without limitation, method, process, - and apparatus claims, in any patent Licensable by such Contributor that - would be infringed, but for the grant of the License, by the making, - using, selling, offering for sale, having made, import, or transfer of - either its Contributions or its Contributor Version. + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -1.12. “Secondary License” + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. - means either the GNU General Public License, Version 2.0, the GNU Lesser - General Public License, Version 2.1, the GNU Affero General Public - License, Version 3.0, or any later versions of those licenses. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -1.13. “Source Code Form” + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. - means the form of the work preferred for making modifications. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -1.14. “You” (or “Your”) + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. - means an individual or a legal entity exercising rights under this - License. For legal entities, “You” includes any entity that controls, is - controlled by, or is under common control with You. For purposes of this - definition, “control” means (a) the power, direct or indirect, to cause - the direction or management of such entity, whether by contract or - otherwise, or (b) ownership of more than fifty percent (50%) of the - outstanding shares or beneficial ownership of such entity. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -2. License Grants and Conditions + END OF TERMS AND CONDITIONS -2.1. Grants + APPENDIX: How to apply the Apache License to your work. - Each Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. - a. under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or as - part of a Larger Work; and + Copyright [yyyy] [name of copyright owner] - b. under Patent Claims of such Contributor to make, use, sell, offer for - sale, have made, import, and otherwise transfer either its Contributions - or its Contributor Version. + 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 -2.2. Effective Date + http://www.apache.org/licenses/LICENSE-2.0 - The licenses granted in Section 2.1 with respect to any Contribution become - effective for each Contribution on the date the Contributor first distributes - such Contribution. + 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. -2.3. Limitations on Grant Scope - The licenses granted in this Section 2 are the only rights granted under this - License. No additional rights or licenses will be implied from the distribution - or licensing of Covered Software under this License. Notwithstanding Section - 2.1(b) above, no patent license is granted by a Contributor: - a. for any code that a Contributor has removed from Covered Software; or +* Other Licenses * +FSFAP, BSD-3-Clause - b. for infringements caused by: (i) Your and any other third party’s - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or +* FSFAP * - c. under Patent Claims infringed by Covered Software in the absence of its - Contributions. +Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty. - This License does not grant any rights in the trademarks, service marks, or - logos of any Contributor (except as may be necessary to comply with the - notice requirements in Section 3.4). +* BSD-3-Clause * -2.4. Subsequent Licenses +Copyright (c) 2007 Thomas Porschberg . All rights reserved. - No Contributor makes additional grants as a result of Your choice to - distribute the Covered Software under a subsequent version of this License - (see Section 10.2) or under the terms of a Secondary License (if permitted - under the terms of Section 3.3). +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -2.5. Representation + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. - Each Contributor represents that the Contributor believes its Contributions - are its original creation(s) or it has sufficient rights to grant the - rights to its Contributions conveyed by this License. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -2.6. Fair Use + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. - This License is not intended to limit any rights You have under applicable - copyright doctrines of fair use, fair dealing, or other equivalents. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -2.7. Conditions - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in - Section 2.1. +-------------------------------------------------------------------------------- +Package Title: goavro (9a4764661614a287810ab49e2d9852ae9939d911) +-------------------------------------------------------------------------------- +* Declared Licenses * +Apache-2.0 -3. Responsibilities -3.1. Distribution of Source Form + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ - All distribution of Covered Software in Source Code Form, including any - Modifications that You create or to which You contribute, must be under the - terms of this License. You must inform recipients that the Source Code Form - of the Covered Software is governed by the terms of this License, and how - they can obtain a copy of this License. You may not attempt to alter or - restrict the recipients’ rights in the Source Code Form. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -3.2. Distribution of Executable Form + 1. Definitions. - If You distribute Covered Software in Executable Form then: + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. - a. such Covered Software must also be made available in Source Code Form, - as described in Section 3.1, and You must inform recipients of the - Executable Form how they can obtain a copy of such Source Code Form by - reasonable means in a timely manner, at a charge no more than the cost - of distribution to the recipient; and + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. - b. You may distribute such Executable Form under the terms of this License, - or sublicense it under different terms, provided that the license for - the Executable Form does not attempt to limit or alter the recipients’ - rights in the Source Code Form under this License. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -3.3. Distribution of a Larger Work + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. - You may create and distribute a Larger Work under terms of Your choice, - provided that You also comply with the requirements of this License for the - Covered Software. If the Larger Work is a combination of Covered Software - with a work governed by one or more Secondary Licenses, and the Covered - Software is not Incompatible With Secondary Licenses, this License permits - You to additionally distribute such Covered Software under the terms of - such Secondary License(s), so that the recipient of the Larger Work may, at - their option, further distribute the Covered Software under the terms of - either this License or such Secondary License(s). + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -3.4. Notices + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. - You may not remove or alter the substance of any license notices (including - copyright notices, patent notices, disclaimers of warranty, or limitations - of liability) contained within the Source Code Form of the Covered - Software, except that You may alter any license notices to the extent - required to remedy known factual inaccuracies. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -3.5. Application of Additional Terms + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. - You may choose to offer, and to charge a fee for, warranty, support, - indemnity or liability obligations to one or more recipients of Covered - Software. However, You may do so only on Your own behalf, and not on behalf - of any Contributor. You must make it absolutely clear that any such - warranty, support, indemnity, or liability obligation is offered by You - alone, and You hereby agree to indemnify every Contributor for any - liability incurred by such Contributor as a result of warranty, support, - indemnity or liability terms You offer. You may include additional - disclaimers of warranty and limitations of liability specific to any - jurisdiction. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -4. Inability to Comply Due to Statute or Regulation + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. - If it is impossible for You to comply with any of the terms of this License - with respect to some or all of the Covered Software due to statute, judicial - order, or regulation then You must: (a) comply with the terms of this License - to the maximum extent possible; and (b) describe the limitations and the code - they affect. Such description must be placed in a text file included with all - distributions of the Covered Software under this License. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -5. Termination + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -5.1. The rights granted under this License will terminate automatically if You - fail to comply with any of its terms. However, if You become compliant, - then the rights granted under this License from a particular Contributor - are reinstated (a) provisionally, unless and until such Contributor - explicitly and finally terminates Your grants, and (b) on an ongoing basis, - if such Contributor fails to notify You of the non-compliance by some - reasonable means prior to 60 days after You have come back into compliance. - Moreover, Your grants from a particular Contributor are reinstated on an - ongoing basis if such Contributor notifies You of the non-compliance by - some reasonable means, this is the first time You have received notice of - non-compliance with this License from such Contributor, and You become - compliant prior to 30 days after Your receipt of the notice. + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -5.2. If You initiate litigation against any entity by asserting a patent - infringement claim (excluding declaratory judgment actions, counter-claims, - and cross-claims) alleging that a Contributor Version directly or - indirectly infringes any patent, then the rights granted to You by any and - all Contributors for the Covered Software under Section 2.1 of this License - shall terminate. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user - license agreements (excluding distributors and resellers) which have been - validly granted by You or Your distributors under this License prior to - termination shall survive termination. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -6. Disclaimer of Warranty + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and - Covered Software is provided under this License on an “as is” basis, without - warranty of any kind, either expressed, implied, or statutory, including, - without limitation, warranties that the Covered Software is free of defects, - merchantable, fit for a particular purpose or non-infringing. The entire - risk as to the quality and performance of the Covered Software is with You. - Should any Covered Software prove defective in any respect, You (not any - Contributor) assume the cost of any necessary servicing, repair, or - correction. This disclaimer of warranty constitutes an essential part of this - License. No use of any Covered Software is authorized under this License - except under this disclaimer. + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -7. Limitation of Liability + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. - Under no circumstances and under no legal theory, whether tort (including - negligence), contract, or otherwise, shall any Contributor, or anyone who - distributes Covered Software as permitted above, be liable to You for any - direct, indirect, special, incidental, or consequential damages of any - character including, without limitation, damages for lost profits, loss of - goodwill, work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses, even if such party shall have been - informed of the possibility of such damages. This limitation of liability - shall not apply to liability for death or personal injury resulting from such - party’s negligence to the extent applicable law prohibits such limitation. - Some jurisdictions do not allow the exclusion or limitation of incidental or - consequential damages, so this exclusion and limitation may not apply to You. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -8. Litigation - - Any litigation relating to this License may be brought only in the courts of - a jurisdiction where the defendant maintains its principal place of business - and such litigation shall be governed by laws of that jurisdiction, without - reference to its conflict-of-law provisions. Nothing in this Section shall - prevent a party’s ability to bring cross-claims or counter-claims. - -9. Miscellaneous + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. - This License represents the complete agreement concerning the subject matter - hereof. If any provision of this License is held to be unenforceable, such - provision shall be reformed only to the extent necessary to make it - enforceable. Any law or regulation which provides that the language of a - contract shall be construed against the drafter shall not be used to construe - this License against a Contributor. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -10. Versions of the License + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -10.1. New Versions + END OF TERMS AND CONDITIONS - Mozilla Foundation is the license steward. Except as provided in Section - 10.3, no one other than the license steward has the right to modify or - publish new versions of this License. Each version will be given a - distinguishing version number. + APPENDIX: How to apply the Apache License to your work. -10.2. Effect of New Versions + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. - You may distribute the Covered Software under the terms of the version of - the License under which You originally received the Covered Software, or - under the terms of any subsequent version published by the license - steward. + Copyright [yyyy] [name of copyright owner] -10.3. Modified Versions + 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 - If you create software not governed by this License, and you want to - create a new license for such software, you may create and use a modified - version of this License if you rename the license and remove any - references to the name of the license steward (except to note that such - modified license differs from this License). + http://www.apache.org/licenses/LICENSE-2.0 -10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses - If You choose to distribute Source Code Form that is Incompatible With - Secondary Licenses under the terms of this version of the License, the - notice described in Exhibit B of this License must be attached. + 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. -Exhibit A - Source Code Form License Notice - This Source Code Form is subject to the - terms of the Mozilla Public License, v. - 2.0. If a copy of the MPL was not - distributed with this file, You can - obtain one at - http://mozilla.org/MPL/2.0/. -If it is not possible or desirable to put the notice in a particular file, then -You may include the notice in a location (such as a LICENSE file in a relevant -directory) where a recipient would be likely to look for such a notice. +* Other Licenses * +Multi-license: Apache-2.0 OR BSD-3-Clause -You may add additional accurate notices of copyright ownership. -Exhibit B - “Incompatible With Secondary Licenses” Notice + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ - This Source Code Form is “Incompatible - With Secondary Licenses”, as defined by - the Mozilla Public License, v. 2.0. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + 1. Definitions. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. --------------------------------------------------------------------------------- -Package Title: esbuild (0.14.43) --------------------------------------------------------------------------------- + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -* Declared Licenses * -MIT + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -MIT License + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -Copyright (c) 2020 Evan Wallace + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. --------------------------------------------------------------------------------- -Package Title: esbuild-loader (2.19.0) --------------------------------------------------------------------------------- + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -* Declared Licenses * -MIT + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -MIT License + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -Copyright (c) Hiroki Osame + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. --------------------------------------------------------------------------------- -Package Title: esbuild-loader (2.21.0) --------------------------------------------------------------------------------- + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -* Declared Licenses * -MIT + END OF TERMS AND CONDITIONS + APPENDIX: How to apply the Apache License to your work. -MIT License + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -Copyright (c) Hiroki Osame + Copyright [yyyy] [name of copyright owner] -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 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 -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + http://www.apache.org/licenses/LICENSE-2.0 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 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. -------------------------------------------------------------------------------- -Package Title: escape-string-regexp (1.0.5) +Package Title: gofork (64a929632441211b0f4d00581cd854380cd279d7) -------------------------------------------------------------------------------- * Declared Licenses * -MIT +BSD-3-Clause -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright (c) 2009 The Go Authors. All rights reserved. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -------------------------------------------------------------------------------- -Package Title: escape-string-regexp (2.0.0) +Package Title: goid (4d14c490ee36fc2e058dc24504fa64d2bc55b29a) -------------------------------------------------------------------------------- * Declared Licenses * -MIT +Apache-2.0 -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 1. Definitions. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. --------------------------------------------------------------------------------- -Package Title: escape-string-regexp (4.0.0) --------------------------------------------------------------------------------- + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -* Declared Licenses * -MIT + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -Copyright (c) Sindre Sorhus (https://sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. --------------------------------------------------------------------------------- -Package Title: escodegen (1.14.3) --------------------------------------------------------------------------------- + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -* Declared Licenses * -BSD-2-Clause + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -Copyright (C) 2012 Yusuke Suzuki (twitter: @Constellation) and other contributors. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: eslint (7.29.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright JS Foundation and other contributors, https://js.foundation - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: eslint (8.16.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright OpenJS Foundation and other contributors, - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: eslint (8.57.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright OpenJS Foundation and other contributors, - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: eslint-scope (4.0.3) --------------------------------------------------------------------------------- + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -* Declared Licenses * -BSD-2-Clause + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -Copyright JS Foundation and other contributors, https://js.foundation -Copyright (C) 2012-2013 Yusuke Suzuki (twitter: @Constellation) and other contributors. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. --------------------------------------------------------------------------------- -Package Title: eslint-scope (5.1.1) --------------------------------------------------------------------------------- + END OF TERMS AND CONDITIONS -* Declared Licenses * -BSD-2-Clause + APPENDIX: How to apply the Apache License to your work. + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -Copyright JS Foundation and other contributors, https://js.foundation -Copyright (C) 2012-2013 Yusuke Suzuki (twitter: @Constellation) and other contributors. + Copyright {yyyy} {name of copyright owner} -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + 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 - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. + http://www.apache.org/licenses/LICENSE-2.0 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 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. --------------------------------------------------------------------------------- -Package Title: eslint-scope (7.2.0) --------------------------------------------------------------------------------- -* Declared Licenses * -BSD-2-Clause +* Other Licenses * +BSD-3-Clause -Copyright JS Foundation and other contributors, https://js.foundation -Copyright (C) 2012-2013 Yusuke Suzuki (twitter: @Constellation) and other contributors. +Copyright (c) 2014 The Go Authors. All rights reserved. . All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: eslint-scope (7.2.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause - - -Copyright JS Foundation and other contributors, https://js.foundation -Copyright (C) 2012-2013 Yusuke Suzuki (twitter: @Constellation) and other contributors. + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: eslint-utils (2.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2018 Toru Nagashima - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: eslint-utils (3.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2018 Toru Nagashima - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: eslint-visitor-keys (1.3.0) +Package Title: goidentity (836ef0c4025b66a750604bb79d41ace085366777) -------------------------------------------------------------------------------- * Declared Licenses * @@ -30393,7 +31044,7 @@ Apache-2.0 same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright contributors + Copyright {yyyy} {name of copyright owner} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -30410,7 +31061,7 @@ Apache-2.0 -------------------------------------------------------------------------------- -Package Title: eslint-visitor-keys (2.1.0) +Package Title: gokrb5 (89c463bcf0787b5ef10fcd9e467e759584ee0859) -------------------------------------------------------------------------------- * Declared Licenses * @@ -30605,7 +31256,7 @@ Apache-2.0 same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright contributors + Copyright {yyyy} {name of copyright owner} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -30622,7 +31273,7 @@ Apache-2.0 -------------------------------------------------------------------------------- -Package Title: eslint-visitor-keys (3.4.1) +Package Title: golang_protobuf_extensions (c182affec369e30f25d3eb8cd8a478dee585ae7d) -------------------------------------------------------------------------------- * Declared Licenses * @@ -30817,7 +31468,7 @@ Apache-2.0 same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright contributors + Copyright {yyyy} {name of copyright owner} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -30833,14 +31484,144 @@ Apache-2.0 +* Other Licenses * +BSD-3-Clause + + +Copyright (c) 2010 The Go Authors. All rights reserved. . All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +-------------------------------------------------------------------------------- +Package Title: google-api-go-client (561b601736da57b2791ca9eeef72d9521009e563) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-3-Clause + + +Copyright (c) 2011 Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +* Other Licenses * +IETF, CC-BY-3.0 + +* IETF * + +This repository relates to activities in the Internet Engineering Task Force (IETF). All material in this repository is considered Contributions to the IETF Standards Process, as defined in the intellectual property policies of IETF currently designated as BCP 78, BCP 79 and the IETF Trust Legal Provisions (TLP) Relating to IETF Documents. + +Any edit, commit, pull request, issue, comment or other change made to this repository constitutes Contributions to the IETF Standards Process (https://www.ietf.org/). + +You agree to comply with all applicable IETF policies and procedures, including, BCP 78, 79, the TLP, and the TLP rules regarding code components (e.g. being subject to a Simplified BSD License) in Contributions. + +* CC-BY-3.0 * + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + 1. Definitions + a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. + b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. + c. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. + d. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. + e. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. + f. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. + g. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. + h. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. + i. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. + 2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. + 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: + a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; + b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; + c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and, + d. to Distribute and Publicly Perform Adaptations. + e. For the avoidance of doubt: + i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; + ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and, + iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License. + The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved. + 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: + a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(b), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(b), as requested. + b. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv), consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4 (b) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. + c. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. + 5. Representations, Warranties and Disclaimer + UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + 7. Termination + a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. + b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. + 8. Miscellaneous + a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. + b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. + c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. + e. This License may not be modified without the mutual written agreement of the Licensor and You. + f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. +Creative Commons Notice +Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. +Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of this License. +Creative Commons may be contacted at http://creativecommons.org/. + + -------------------------------------------------------------------------------- -Package Title: eslint-visitor-keys (3.4.3) +Package Title: google-cloud-go (b5b7cdec59df6a746ed7ffef0aad667ced8cbc87) -------------------------------------------------------------------------------- * Declared Licenses * Apache-2.0 + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -31021,7 +31802,7 @@ Apache-2.0 APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" + boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -31029,7 +31810,7 @@ Apache-2.0 same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright contributors + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -31045,112 +31826,26 @@ Apache-2.0 --------------------------------------------------------------------------------- -Package Title: espree (3.5.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause - - -Espree -Copyright JS Foundation and other contributors, https://js.foundation - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - * Other Licenses * -Multi-license: BSD-2-Clause OR MIT, MIT +BSD-3-Clause, BSD-2-Clause, IETF -* Multi-license: BSD-2-Clause OR MIT * +* BSD-3-Clause * -Espree -Copyright JS Foundation and other contributors, https://js.foundation +Copyright (c) 2020 The Go Authors. All rights reserved. . All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MIT * - -Copyright (c) 2012-2015 Acorn Contributors (https://github.com/marijnh/acorn/blob/master/AUTHORS) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: espree (7.3.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause - - -BSD 2-Clause License - -Copyright (c) Open JS Foundation -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE @@ -31163,27 +31858,20 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* BSD-2-Clause * - -* Other Licenses * -Multi-license: BSD-2-Clause OR MIT, MIT - -* Multi-license: BSD-2-Clause OR MIT * - -BSD 2-Clause License - -Copyright (c) Open JS Foundation -All rights reserved. +Copyright (c) 1996-1998 John D. Polstra. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + + and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE @@ -31196,142 +31884,234 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* IETF * -* MIT * - -Copyright (c) 2012-2015 Acorn Contributors (https://github.com/marijnh/acorn/blob/master/AUTHORS) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +This repository relates to activities in the Internet Engineering Task Force (IETF). All material in this repository is considered Contributions to the IETF Standards Process, as defined in the intellectual property policies of IETF currently designated as BCP 78, BCP 79 and the IETF Trust Legal Provisions (TLP) Relating to IETF Documents. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Any edit, commit, pull request, issue, comment or other change made to this repository constitutes Contributions to the IETF Standards Process (https://www.ietf.org/). -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +You agree to comply with all applicable IETF policies and procedures, including, BCP 78, 79, the TLP, and the TLP rules regarding code components (e.g. being subject to a Simplified BSD License) in Contributions. -------------------------------------------------------------------------------- -Package Title: espree (9.6.0) +Package Title: google-cloud-go (f471d12b8756566e832702830c414198f2b5f8d3) -------------------------------------------------------------------------------- * Declared Licenses * -BSD-2-Clause +Apache-2.0 -BSD 2-Clause License -Copyright (c) Open JS Foundation -All rights reserved. + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + 1. Definitions. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. --------------------------------------------------------------------------------- -Package Title: espree (9.6.1) --------------------------------------------------------------------------------- + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -* Declared Licenses * -BSD-2-Clause + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -BSD 2-Clause License + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -Copyright (c) Open JS Foundation -All rights reserved. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and --------------------------------------------------------------------------------- -Package Title: esprima (4.0.1) --------------------------------------------------------------------------------- + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -* Declared Licenses * -BSD-2-Clause + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -Copyright JS Foundation and other contributors, https://js.foundation/ + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + END OF TERMS AND CONDITIONS + APPENDIX: How to apply the Apache License to your work. --------------------------------------------------------------------------------- -Package Title: esquery (1.5.0) --------------------------------------------------------------------------------- + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -* Declared Licenses * -BSD-3-Clause + Copyright [yyyy] [name of copyright owner] + + 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. -Copyright (c) 2013 Joel Feenstra . All rights reserved. + +* Other Licenses * +BSD-3-Clause, BSD-2-Clause + +* BSD-3-Clause * + +Copyright (c) 2009 The Go Authors. All rights reserved. . All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -31358,12 +32138,9 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* BSD-2-Clause * -* Other Licenses * -BSD-2-Clause - - -Copyright (c) 2012-2013 Yusuke Suzuki +Copyright (c) 1996-1998 John D. Polstra. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -31389,781 +32166,558 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: esrecurse (4.3.0) +Package Title: google-cloud-go (792b962171dad5fcb9cad8440a85b571326ef94a) -------------------------------------------------------------------------------- * Declared Licenses * -BSD-2-Clause +Apache-2.0 -Copyright (c) 2014 Yusuke Suzuki](https://github.com/Constellation) -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: estraverse (4.2.0) --------------------------------------------------------------------------------- + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -* Declared Licenses * -BSD-2-Clause + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + 1. Definitions. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -* Other Licenses * -Multi-license: BSD-2-Clause OR MIT + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. --------------------------------------------------------------------------------- -Package Title: estraverse (5.3.0) --------------------------------------------------------------------------------- + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -* Declared Licenses * -BSD-2-Clause + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. --------------------------------------------------------------------------------- -Package Title: esutils (2.0.3) --------------------------------------------------------------------------------- + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -* Declared Licenses * -BSD-2-Clause + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + END OF TERMS AND CONDITIONS - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. + APPENDIX: How to apply the Apache License to your work. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + Copyright [yyyy] [name of copyright owner] + 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 --------------------------------------------------------------------------------- -Package Title: eventemitter3 (4.0.7) --------------------------------------------------------------------------------- + http://www.apache.org/licenses/LICENSE-2.0 -* Declared Licenses * -MIT + 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. -The MIT License (MIT) -Copyright (c) 2014 Arnout Kazemier +* Other Licenses * +BSD-3-Clause, BSD-2-Clause -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +* BSD-3-Clause * -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Copyright (c) 2017 The Go Authors . All rights reserved. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. --------------------------------------------------------------------------------- -Package Title: events (3.3.0) --------------------------------------------------------------------------------- + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. -* Declared Licenses * -MIT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* BSD-2-Clause * -MIT +Copyright (c) 1996-1998 John D -Copyright Joyent, Inc. and other Node contributors. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. + and/or other materials provided with the distribution. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: evp_bytestokey (1.0.3) +Package Title: google-cloud-go (bda33ab27df09e69800fa6358e2c6b29aa524c31) -------------------------------------------------------------------------------- * Declared Licenses * -MIT - - -The MIT License (MIT) +Apache-2.0 -Copyright (c) 2017 crypto-browserify contributors -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + 1. Definitions. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. --------------------------------------------------------------------------------- -Package Title: execa (1.0.0) --------------------------------------------------------------------------------- + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -* Declared Licenses * -MIT + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. --------------------------------------------------------------------------------- -Package Title: exp (732eee02a75a571a8347fdf60af8c8b9e3ca9254) --------------------------------------------------------------------------------- + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -* Declared Licenses * -BSD-3-Clause + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -Copyright (c) 2009 The Go Authors. All rights reserved. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -* Other Licenses * -Apache-2.0 + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -Copyright [yyyy] [name of copyright owner] + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -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. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -See the License for the specific language governing permissions and limitations under the License. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. --------------------------------------------------------------------------------- -Package Title: exp (97b1e661b5df27f4fa041362fdee6953961e595e) --------------------------------------------------------------------------------- + END OF TERMS AND CONDITIONS -* Declared Licenses * -BSD-3-Clause + APPENDIX: How to apply the Apache License to your work. + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright [yyyy] [name of copyright owner] -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: + 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 - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. + http://www.apache.org/licenses/LICENSE-2.0 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 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. * Other Licenses * -Apache-2.0 - - -Copyright [yyyy] [name of copyright owner] - -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. - - --------------------------------------------------------------------------------- -Package Title: expand-brackets (2.1.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-2016, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: expand-tilde (2.0.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-2016, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: extend-shallow (2.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-2015, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: extend-shallow (3.0.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-2015, 2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: extglob (2.0.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: fast-deep-equal (3.1.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2017 Evgeny Poberezkin - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: fast-equals (5.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2017 Tony Quetano - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: fast-glob (3.3.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) Denis Malinochkin - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: fast-json-stable-stringify (2.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -This software is released under the MIT license: - -Copyright (c) 2017 Evgeny Poberezkin -Copyright (c) 2013 James Halliday - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: fast-levenshtein (2.0.6) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -(MIT License) +BSD-2-Clause, BSD-3-Clause -Copyright (c) 2013 [Ramesh Nair](http://www.hiddentao.com/) - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - - - --------------------------------------------------------------------------------- -Package Title: fastq (1.15.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -Copyright (c) 2015-2020, Matteo Collina +* BSD-2-Clause * -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +Copyright (c) 1996-1998 John D -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation --------------------------------------------------------------------------------- -Package Title: fbjs (0.8.18) --------------------------------------------------------------------------------- + and/or other materials provided with the distribution. -* Declared Licenses * -MIT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* BSD-3-Clause * -MIT License +Copyright (c) 2017 The Go Authors . All rights reserved. -Copyright (c) 2013-present, Facebook, Inc. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: fifo (0bbfbd93a7cea6201f57c4775e16116dbc12eeb2) +Package Title: googleapis (1f0e43f50bc0606e385ffae1bc80b5b231dcd042) -------------------------------------------------------------------------------- * Declared Licenses * Apache-2.0 - Apache License +Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -32343,7 +32897,7 @@ Apache-2.0 APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" + boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -32351,7 +32905,8 @@ Apache-2.0 same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright 2015, Google Inc + Copyright 2018, GoGo Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -32367,67 +32922,52 @@ Apache-2.0 + -------------------------------------------------------------------------------- -Package Title: figgy-pudding (3.5.2) +Package Title: goose (5f1f43cfb2ba11d901b1ea2f28c88bf2577985cb) -------------------------------------------------------------------------------- * Declared Licenses * -ISC +NOASSERTION, MIT +* NOASSERTION * +* MIT * -ISC License - -Copyright (c) npm, Inc. - -Permission to use, copy, modify, and/or distribute this software for -any purpose with or without fee is hereby granted, provided that the -above copyright notice and this permission notice appear in all copies. +Original work Copyright (c) 2012 Liam Staskawicz +Modified work Copyright (c) 2016 Vojtech Vitek -THE SOFTWARE IS PROVIDED "AS IS" AND THE COPYRIGHT HOLDER DISCLAIMS -ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE -USE OR PERFORMANCE OF THIS SOFTWARE. +MIT License +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -* Other Licenses * -Multi-license: CC0-1.0 OR ISC - - -ISC License - -Copyright (c) npm, Inc. - -Permission to use, copy, modify, and/or distribute this software for -any purpose with or without fee is hereby granted, provided that the -above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE COPYRIGHT HOLDER DISCLAIMS -ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE -USE OR PERFORMANCE OF THIS SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: file-entry-cache (6.0.1) +Package Title: gopgkrb5 (2749fc92fc9b1446499d9599bc9b9925aad18125) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) +MIT License -Copyright (c) 2015 Roy Riojas +Copyright (c) 2022 Oliver Tan Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -32449,230 +32989,319 @@ SOFTWARE. - -------------------------------------------------------------------------------- -Package Title: fill-range (4.0.0) +Package Title: gosigar (69b57d03f20e0ee9d614207292b61bd1f3886d92) -------------------------------------------------------------------------------- * Declared Licenses * -MIT - +Apache-2.0 -The MIT License (MIT) -Copyright (c) 2014-2017, Jon Schlinkert + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +1. Definitions. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. --------------------------------------------------------------------------------- -Package Title: find-cache-dir (2.1.0) --------------------------------------------------------------------------------- + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -* Declared Licenses * -MIT + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -Copyright (c) James Talmage (github.com/jamestalmage) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. --------------------------------------------------------------------------------- -Package Title: find-cache-dir (3.3.2) --------------------------------------------------------------------------------- +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -* Declared Licenses * -MIT +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -Copyright (c) Sindre Sorhus (https://sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. --------------------------------------------------------------------------------- -Package Title: find-root (1.1.0) --------------------------------------------------------------------------------- + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -* Declared Licenses * -MIT +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -Copyright © 2017 jsdnxx +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +END OF TERMS AND CONDITIONS +APPENDIX: How to apply the Apache License to your work. --------------------------------------------------------------------------------- -Package Title: find-up (3.0.0) --------------------------------------------------------------------------------- + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -* Declared Licenses * -MIT +Copyright [yyyy] [name of copyright owner] +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 -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + http://www.apache.org/licenses/LICENSE-2.0 -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +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. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -------------------------------------------------------------------------------- -Package Title: find-up (4.1.0) +Package Title: gostdlib (ed4897e9faf46f1484d2c81d40ab05bad8ca45b1) -------------------------------------------------------------------------------- * Declared Licenses * -MIT +BSD-3-Clause -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright (c) 2009 The Go Authors. All rights reserved. . All rights reserved. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: find-up (5.0.0) +Package Title: gotool (80517062f582ea3340cd4baf70e86d539ae7d84d) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright (c) Sindre Sorhus (https://sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright (c) 2013 Kamil Kisiel -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -Package Title: findup-sync (3.0.0) --------------------------------------------------------------------------------- -* Declared Licenses * -MIT +* Other Licenses * +BSD-3-Clause -The MIT License (MIT) +Copyright (c) 2009 The Go Authors. All rights reserved. . All rights reserved. -Copyright (c) 2013-2018 Ben Alman , Blaine Bublitz , and Eric Schoffstall +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: flat-cache (3.0.4) +Package Title: govalidator (7a23bdc65eef5f3783e782b436f3065eae3fc72d) -------------------------------------------------------------------------------- * Declared Licenses * @@ -32681,7 +33310,7 @@ MIT The MIT License (MIT) -Copyright (c) 2015 Roy Riojas +Copyright (c) 2014-2020 Alex Saskevich Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -32702,212 +33331,199 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -------------------------------------------------------------------------------- -Package Title: flatbuffers (06c5c7ed0bd987a918cf88caafb094f22cdd1721) +Package Title: groupcache (41bb18bfe9da5321badc438f91158cd790a33aa3) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0, Multi-license: Apache-2.0 OR See-file +Apache-2.0 -* Apache-2.0 * - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - 1. Definitions. +1. Definitions. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +2. Grant of Copyright License. - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: +3. Grant of Patent License. - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +4. Redistribution. - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +5. Submission of Contributions. - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +6. Trademarks. - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +7. Disclaimer of Warranty. - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. - END OF TERMS AND CONDITIONS +8. Limitation of Liability. - APPENDIX: How to apply the Apache License to your work. +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. +9. Accepting Warranty or Additional Liability. - Copyright 2014 Google Inc. +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. + + Copyright [yyyy] [name of copyright owner] 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 + 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, @@ -32916,7 +33532,72 @@ Apache-2.0, Multi-license: Apache-2.0 OR See-file limitations under the License. -* Multi-license: Apache-2.0 OR See-file * + +-------------------------------------------------------------------------------- +Package Title: grpc-gateway (094a6fe78b3ca888297d090185cdf30f0e42e157) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-3-Clause + + +Copyright (c) 2015, Gengo, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of Gengo, Inc. nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +* Other Licenses * +Apache-2.0 + + +Copyright 2015 Google Inc. + +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. + + +-------------------------------------------------------------------------------- +Package Title: grpc-go (eeb9afa1f6b6388152955eeca8926e36ca94c768) +-------------------------------------------------------------------------------- + +* Declared Licenses * +Apache-2.0 + + Apache License Version 2.0, January 2004 @@ -33106,7 +33787,7 @@ Apache-2.0, Multi-license: Apache-2.0 OR See-file same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright 2014 Google Inc. + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -33123,33 +33804,59 @@ Apache-2.0, Multi-license: Apache-2.0 OR See-file -------------------------------------------------------------------------------- -Package Title: flatted (3.2.7) +Package Title: gud (1.0.0) -------------------------------------------------------------------------------- * Declared Licenses * -ISC +MIT -ISC License +Copyright (c) +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Copyright (c) 2018-2020, Andrea Giammarchi, @WebReflection +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. + +-------------------------------------------------------------------------------- +Package Title: gziphandler (56545f4a5d46df9a6648819d1664c3a03a13ffdb) +-------------------------------------------------------------------------------- + +* Declared Licenses * +Apache-2.0 + + +Copyright (c) 2015 The New York Times Company + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this library 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. -------------------------------------------------------------------------------- -Package Title: flush-write-stream (1.1.1) +Package Title: hammerjs (2.0.8) -------------------------------------------------------------------------------- * Declared Licenses * @@ -33158,7 +33865,7 @@ MIT The MIT License (MIT) -Copyright (c) 2015 Mathias Buus +Copyright (C) 2011-2014 by Jorik Tangelder (Eight Media) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -33180,47 +33887,80 @@ THE SOFTWARE. --------------------------------------------------------------------------------- -Package Title: follow-redirects (1.15.2) --------------------------------------------------------------------------------- +* Other Licenses * +BSD-2-Clause -* Declared Licenses * -MIT +Copyright (c) 2012 Ariya Hidayat -Copyright 2014–present Olivier Lalonde , James Talmage , Ruben Verborgh +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + and/or other materials provided with the distribution. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: fragment-cache (0.2.1) +Package Title: highlight.js (10.7.3) -------------------------------------------------------------------------------- * Declared Licenses * -MIT +BSD-3-Clause + + +BSD 3-Clause License + +Copyright (c) 2006, Ivan Sagalaev. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -The MIT License (MIT) -Copyright (c) 2016-2017, Jon Schlinkert +* Other Licenses * +MIT + +Copyright (c) 2018 Sarah Drasner Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -33228,30 +33968,29 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: from2 (2.3.0) +Package Title: history (4.10.1) -------------------------------------------------------------------------------- * Declared Licenses * MIT -## The MIT License (MIT) ## +MIT License -Copyright (c) 2014 Hugh Kennedy +Copyright (c) React Training 2016-2018 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -33260,81 +33999,111 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: fs-extra (8.1.0) +Package Title: hoist-non-react-statics (2.5.5) -------------------------------------------------------------------------------- * Declared Licenses * -MIT +BSD-3-Clause -(The MIT License) +Software License Agreement (BSD License) +======================================== -Copyright (c) 2011-2017 JP Richardson +Copyright (c) 2015, Yahoo! Inc. All rights reserved. +---------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files -(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, - merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +Redistribution and use of this software in source and binary forms, with or +without modification, are permitted provided that the following conditions are +met: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of Yahoo! Inc. nor the names of YUI's contributors may be + used to endorse or promote products derived from this software without + specific prior written permission of Yahoo! Inc. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS -OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: fs-write-stream-atomic (1.0.10) +Package Title: hoist-non-react-statics (3.3.2) -------------------------------------------------------------------------------- * Declared Licenses * -ISC +BSD-3-Clause -The ISC License +Software License Agreement (BSD License) +======================================== -Copyright (c) Isaac Z. Schlueter and Contributors +Copyright (c) 2015, Yahoo! Inc. All rights reserved. +---------------------------------------------------- -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +Redistribution and use of this software in source and binary forms, with or +without modification, are permitted provided that the following conditions are +met: -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of Yahoo! Inc. nor the names of YUI's contributors may be + used to endorse or promote products derived from this software without + specific prior written permission of Yahoo! Inc. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: fs.realpath (1.0.0) +Package Title: hyperloglog (4b99d0c2c99ec77eb3a42344d206a88997957495) -------------------------------------------------------------------------------- * Declared Licenses * -MIT, ISC +MIT -* MIT * -Copyright (c) Isaac Z. Schlueter and Contributors +MIT License + +Copyright (c) 2017 Axiom Inc. + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -33353,394 +34122,30 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -* ISC * - -The ISC License -Copyright (c) Isaac Z. Schlueter and Contributors -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +-------------------------------------------------------------------------------- +Package Title: image-spec (67d2d5658fe0476ab9bf414cec164077ebff3920) +-------------------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +* Declared Licenses * +Apache-2.0 ----- -This library bundles a version of the `fs.realpath` and `fs.realpathSync` -methods from Node.js v0.10 under the terms of the Node.js MIT license. -Node's license follows, also included at the header of `old.js` which contains -the licensed code: + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ - Copyright Joyent, Inc. and other Node contributors. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: + 1. Definitions. - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: fsnotify (466b39d216616549a37ee93c7c47775f6a010790) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2012 The Go Authors. All rights reserved. -Copyright (c) 2012-2019 fsnotify Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: function-bind (1.1.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2013 Raynos. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - - --------------------------------------------------------------------------------- -Package Title: functional-red-black-tree (1.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - - -The MIT License (MIT) - -Copyright (c) 2013 Mikola Lysenko - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: functions-have-names (1.2.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2019 Jordan Harband - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: fuzzy (0ca8ec0fccc8cd7d336a6d6dec490a327a8d5cb0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2017 Sahil Muthoo - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: gax-go (ade3cbacb1048f381efe1332fb3f7c0b0f52a1fa) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright 2016, Google Inc. -All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Other Licenses * -Apache-2.0 - - -Copyright 2018 Google Inc. - -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. - - --------------------------------------------------------------------------------- -Package Title: gcassert (3141cbd028c0f3efa6f5f530fd1a7f44d647f498) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2020 Jordan Lewis - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: generic-pool (2.4.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2010-2016 James Cooper <james@bitmechanic.com> -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: generic-pool (3.4.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2010-2016 James Cooper <james@bitmechanic.com> -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: gensync (1.0.0-beta.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright 2018 Logan Smyth - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: geo (673a6f80352d38c1ea2f05c915a659938872212f) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common @@ -33905,18 +34310,7 @@ Apache-2.0 END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] + Copyright 2016 The Linux Foundation. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -33933,42 +34327,83 @@ Apache-2.0 -------------------------------------------------------------------------------- -Package Title: geohash (b120471f64550e097320b8fa96d8b6a0157d6fd9) +Package Title: immutable (3.7.6) -------------------------------------------------------------------------------- * Declared Licenses * -MIT +Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause +* Multi-license: BSD-2-Clause OR BSD-3-Clause * -Copyright (C) 2015 Pierre Durand +BSD License -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +For Immutable JS software -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +Copyright (c) 2014-2015, Facebook, Inc. All rights reserved. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. --------------------------------------------------------------------------------- -Package Title: get-caller-file (2.0.5) --------------------------------------------------------------------------------- + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. -* Declared Licenses * -ISC +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -ISC License (ISC) -Copyright 2018 Stefan Penner +* BSD-3-Clause * -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. +BSD License -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +For Immutable JS software + +Copyright (c) 2014-2015, Facebook, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: get-intrinsic (1.2.1) +Package Title: immutable (3.8.2) -------------------------------------------------------------------------------- * Declared Licenses * @@ -33977,7 +34412,7 @@ MIT MIT License -Copyright (c) 2020 Jordan Harband +Copyright (c) 2014-present, Facebook, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -34000,14 +34435,14 @@ SOFTWARE. -------------------------------------------------------------------------------- -Package Title: get-stream (4.1.0) +Package Title: inflection (1.12.0) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright (c) Sindre Sorhus (sindresorhus.com) +Copyright (c) 2011 dreamerslab <ben@dreamerslab.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -34028,58 +34463,55 @@ SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/99designs/go-keychain (8e49817e8af4) +Package Title: internmap (1.0.1) -------------------------------------------------------------------------------- * Declared Licenses * -MIT - +ISC -The MIT License (MIT) -Copyright (c) 2015 Keybase +Copyright 2021 Mike Bostock -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +-------------------------------------------------------------------------------- +Package Title: iostat (7c078744755cb76d2f642f13b5bbe02e6da51ce8) +-------------------------------------------------------------------------------- +* Declared Licenses * +BSD-3-Clause -* Other Licenses * -BSD-3-Clause, BSD-2-Clause -* BSD-3-Clause * +BSD 3-Clause License -Copyright (c) 2015 The Go Authors. All rights reserved. . All rights reserved. +Copyright (c) 2017, kadota kyohei +All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE @@ -34092,45 +34524,17 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* BSD-2-Clause * - -Copyright (c) 2013 Georg Reinke () - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: github.com/99designs/keyring (v1.2.1) +Package Title: is-bluebird (1.0.2) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) - -Copyright (c) 2015 99designs - +Copyright (c) 2016 Overlook Motel (theoverlookmotel@gmail.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -34150,58 +34554,47 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -------------------------------------------------------------------------------- -Package Title: github.com/aclements/go-moremath (f10218a38794) +Package Title: is-buffer (1.1.6) -------------------------------------------------------------------------------- * Declared Licenses * -BSD-3-Clause +MIT -Copyright (c) 2015 The Go Authors. All rights reserved. +The MIT License (MIT) -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +Copyright (c) Feross Aboukhadijeh - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/alessio/shellescape (v1.4.1) +Package Title: is-mobile (2.2.2) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) - -Copyright (c) 2016 Alessio Treglia - +Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -34221,464 +34614,335 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -------------------------------------------------------------------------------- -Package Title: github.com/andybalholm/cascadia (v1.2.0) +Package Title: is-retry-allowed (1.2.0) -------------------------------------------------------------------------------- * Declared Licenses * -BSD-2-Clause - - -Copyright (c) 2011 Andy Balholm. All rights reserved. +MIT -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. +Copyright (c) Vsevolod Strukchinsky (github.com/floatdrop) +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/apache/thrift (v0.16.0) +Package Title: isarray (0.0.1) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0, FSFAP, BSD-3-Clause +MIT -* Apache-2.0 * +Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - 1. Definitions. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +-------------------------------------------------------------------------------- +Package Title: isomorphic-fetch (2.2.1) +-------------------------------------------------------------------------------- - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +* Declared Licenses * +MIT - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +The MIT License (MIT) - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +Copyright (c) 2015 Matt Andrews - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +-------------------------------------------------------------------------------- +Package Title: join-component (1.1.0) +-------------------------------------------------------------------------------- - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +* Declared Licenses * +MIT - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and +Copyright (c) +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +-------------------------------------------------------------------------------- +Package Title: joycon (3.1.1) +-------------------------------------------------------------------------------- - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +* Declared Licenses * +MIT - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +The MIT License (MIT) - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +Copyright (c) egoist <0x142857@gmail.com> (https://github.com/egoist) - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - END OF TERMS AND CONDITIONS +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. - APPENDIX: How to apply the Apache License to your work. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - Copyright [yyyy] [name of copyright owner] - 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 +-------------------------------------------------------------------------------- +Package Title: js-string-escape (1.0.1) +-------------------------------------------------------------------------------- - http://www.apache.org/licenses/LICENSE-2.0 +* Declared Licenses * +MIT - 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. --------------------------------------------------- -SOFTWARE DISTRIBUTED WITH THRIFT: +The MIT License (MIT) -The Apache Thrift software includes a number of subcomponents with -separate copyright notices and license terms. Your use of the source -code for the these subcomponents is subject to the terms and -conditions of the following licenses. +Copyright (c) 2013 Jo Liss --------------------------------------------------- -Portions of the following files are licensed under the MIT License: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - lib/erl/src/Makefile.am +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -Please see doc/otp-base-license.txt for the full terms of this license. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. --------------------------------------------------- -For the aclocal/ax_boost_base.m4 and contrib/fb303/aclocal/ax_boost_base.m4 components: -# Copyright (c) 2007 Thomas Porschberg -# -# Copying and distribution of this file, with or without -# modification, are permitted in any medium without royalty provided -# the copyright notice and this notice are preserved. --------------------------------------------------- -For the lib/nodejs/lib/thrift/json_parse.js: +-------------------------------------------------------------------------------- +Package Title: js-tokens (4.0.0) +-------------------------------------------------------------------------------- -/* - json_parse.js - 2015-05-02 - Public Domain. - NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. +* Declared Licenses * +MIT -*/ -(By Douglas Crockford ) --------------------------------------------------- -For lib/cpp/src/thrift/windows/SocketPair.cpp +The MIT License (MIT) -/* socketpair.c - * Copyright 2007 by Nathan C. Myers ; some rights reserved. - * This code is Free Software. It may be copied freely, in original or - * modified form, subject only to the restrictions that (1) the author is - * relieved from all responsibilities for any use for any purpose, and (2) - * this copyright notice must be retained, unchanged, in its entirety. If - * for any reason the author might be held responsible for any consequences - * of copying or use, license is withheld. - */ +Copyright (c) 2014, 2015, 2016, 2017, 2018 Simon Lydell +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: --------------------------------------------------- -For lib/py/compat/win32/stdint.h +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -// ISO C9x compliant stdint.h for Microsoft Visual Studio -// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 -// -// Copyright (c) 2006-2008 Alexander Chemeris -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// 1. Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. The name of the author may be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -/////////////////////////////////////////////////////////////////////////////// +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. --------------------------------------------------- -Codegen template in t_html_generator.h -* Bootstrap v2.0.3 -* -* Copyright 2012 Twitter, Inc -* Licensed under the Apache License v2.0 -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Designed and built with all the love in the world @twitter by @mdo and @fat. +-------------------------------------------------------------------------------- +Package Title: json2mq (0.2.0) +-------------------------------------------------------------------------------- ---------------------------------------------------- -For t_cl_generator.cc +* Declared Licenses * +MIT - * Copyright (c) 2008- Patrick Collison - * Copyright (c) 2006- Facebook ---------------------------------------------------- +The MIT License (MIT) +Copyright (c) 2014 Kiran Abburi -* FSFAP * +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -* BSD-3-Clause * +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -Copyright (c) 2007 Thomas Porschberg . All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +-------------------------------------------------------------------------------- +Package Title: json5 (2.2.0) +-------------------------------------------------------------------------------- - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +* Declared Licenses * +MIT -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +MIT License -* Other Licenses * -BSL-1.0, BSD-2-Clause, FSFULLR, GPL-3.0-or-later, gpl-1.0-plus WITH autoconf-macro-exception, public-domain, LGPL-2.1-only, MIT +Copyright (c) 2012-2018 Aseem Kishore, and [others]. -* BSL-1.0 * +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following: -The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -* BSD-2-Clause * +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -Copyright (c) 2012 Raphael Kubo da Costa +[others]: https://github.com/json5/json5/contributors -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation +-------------------------------------------------------------------------------- +Package Title: json5 (2.2.1) +-------------------------------------------------------------------------------- - and/or other materials provided with the distribution. +* Declared Licenses * +MIT -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* FSFULLR * +MIT License -Copyright 1996-2006 Free Software Foundation, Inc. -This file is free software; the Free Software Foundation gives unlimited permission to copy and/or distribute it, with or without modifications, as long as this notice is preserved. +Copyright (c) 2012-2018 Aseem Kishore, and [others]. -* GPL-3.0-or-later * +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Copyright (C) 2015 Reuben Thomas -This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 or any later version. -This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/ +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -* gpl-1.0-plus WITH autoconf-macro-exception * +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -As a special exception, the respective Autoconf Macro's copyright owner -gives unlimited permission to copy, distribute and modify the configure -scripts that are the output of Autoconf when processing the Macro. You -need not follow the terms of the GNU General Public License when using -or +[others]: https://github.com/json5/json5/contributors -This special exception to the GPL applies to versions of the Autoconf -Macro released by the Autoconf Archive. When you make and distribute a -modified version of the Autoconf Macro, you may extend this special -exception to the GPL to apply to your modified version as well. -* public-domain * -* LGPL-2.1-only * -Copyright (C) 1991, 1999 Free Software Foundation, Inc. -This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; version 2.1. -This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. -You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +* Other Licenses * +public-domain -* MIT * -Copyright (c) 2006 Martin J. Logan, Erlware> +-------------------------------------------------------------------------------- +Package Title: lipgloss (0ce55509014b0cc476e197f22aa4d43add081a57) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +MIT License + +Copyright (c) 2021 Charmbracelet, Inc + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -34698,617 +34962,636 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + -------------------------------------------------------------------------------- -Package Title: github.com/ardielle/ardielle-go (v1.5.2) +Package Title: list.js (2.3.1) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0 - +MIT -Apache License -Version 2.0, January 2004 +The MIT License (MIT) -http://www.apache.org/licenses/ +Copyright (c) 2011-2018 Jonny Strömberg, jonnystromberg.com -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -1. Definitions. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -"License" shall mean the terms and conditions for use, reproduction, -and distribution as defined by Sections 1 through 9 of this document. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -"Licensor" shall mean the copyright owner or entity authorized by the -copyright owner that is granting the License. -"Legal Entity" shall mean the union of the acting entity and all other -entities that control, are controlled by, or are under common control -with that entity. For the purposes of this definition, "control" means -(i) the power, direct or indirect, to cause the direction or -management of such entity, whether by contract or otherwise, or (ii) -ownership of fifty percent (50%) or more of the outstanding shares, or -(iii) beneficial ownership of such entity. -"You" (or "Your") shall mean an individual or Legal Entity exercising -permissions granted by this License. +-------------------------------------------------------------------------------- +Package Title: loader-utils (2.0.0) +-------------------------------------------------------------------------------- -"Source" form shall mean the preferred form for making modifications, -including but not limited to software source code, documentation -source, and configuration files. +* Declared Licenses * +MIT -"Object" form shall mean any form resulting from mechanical -transformation or translation of a Source form, including but not -limited to compiled object code, generated documentation, and -conversions to other media types. -"Work" shall mean the work of authorship, whether in Source or Object -form, made available under the License, as indicated by a copyright -notice that is included in or attached to the work (an example is -provided in the Appendix below). +Copyright JS Foundation and other contributors -"Derivative Works" shall mean any work, whether in Source or Object -form, that is based on (or derived from) the Work and for which the -editorial revisions, annotations, elaborations, or other modifications -represent, as a whole, an original work of authorship. For the -purposes of this License, Derivative Works shall not include works -that remain separable from, or merely link (or bind by name) to the -interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the -original version of the Work and any modifications or additions to -that Work or Derivative Works thereof, that is intentionally submitted -to Licensor for inclusion in the Work by the copyright owner or by an -individual or Legal Entity authorized to submit on behalf of the -copyright owner. For the purposes of this definition, "submitted" -means any form of electronic, verbal, or written communication sent to -the Licensor or its representatives, including but not limited to -communication on electronic mailing lists, source code control -systems, and issue tracking systems that are managed by, or on behalf -of, the Licensor for the purpose of discussing and improving the Work, -but excluding communication that is conspicuously marked or otherwise -designated in writing by the copyright owner as "Not a Contribution." +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -"Contributor" shall mean Licensor and any individual or Legal Entity -on behalf of whom a Contribution has been received by Licensor and -subsequently incorporated within the Work. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -2. Grant of Copyright License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable -copyright license to reproduce, prepare Derivative Works of, publicly -display, publicly perform, sublicense, and distribute the Work and -such Derivative Works in Source or Object form. +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -3. Grant of Patent License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except -as stated in this section) patent license to make, have made, use, -offer to sell, sell, import, and otherwise transfer the Work, where -such license applies only to those patent claims licensable by such -Contributor that are necessarily infringed by their Contribution(s) -alone or by combination of their Contribution(s) with the Work to -which such Contribution(s) was submitted. If You institute patent -litigation against any entity (including a cross-claim or counterclaim -in a lawsuit) alleging that the Work or a Contribution incorporated -within the Work constitutes direct or contributory patent -infringement, then any patent licenses granted to You under this -License for that Work shall terminate as of the date such litigation -is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work -or Derivative Works thereof in any medium, with or without -modifications, and in Source or Object form, provided that You meet -the following conditions: -You must give any other recipients of the Work or Derivative Works a -copy of this License; and You must cause any modified files to carry -prominent notices stating that You changed the files; and You must -retain, in the Source form of any Derivative Works that You -distribute, all copyright, patent, trademark, and attribution notices -from the Source form of the Work, excluding those notices that do not -pertain to any part of the Derivative Works; and If the Work includes -a "NOTICE" text file as part of its distribution, then any Derivative -Works that You distribute must include a readable copy of the -attribution notices contained within such NOTICE file, excluding those -notices that do not pertain to any part of the Derivative Works, in at -least one of the following places: within a NOTICE text file -distributed as part of the Derivative Works; within the Source form or -documentation, if provided along with the Derivative Works; or, within -a display generated by the Derivative Works, if and wherever such -third-party notices normally appear. The contents of the NOTICE file -are for informational purposes only and do not modify the License. You -may add Your own attribution notices within Derivative Works that You -distribute, alongside or as an addendum to the NOTICE text from the -Work, provided that such additional attribution notices cannot be -construed as modifying the License. - -You may add Your own copyright statement to Your modifications and may -provide additional or different license terms and conditions for use, -reproduction, or distribution of Your modifications, or for any such -Derivative Works as a whole, provided Your use, reproduction, and -distribution of the Work otherwise complies with the conditions stated -in this License. 5. Submission of Contributions. Unless You -explicitly state otherwise, any Contribution intentionally submitted -for inclusion in the Work by You to the Licensor shall be under the -terms and conditions of this License, without any additional terms or -conditions. Notwithstanding the above, nothing herein shall supersede -or modify the terms of any separate license agreement you may have -executed with Licensor regarding such Contributions. -6. Trademarks. This License does not grant permission to use the trade -names, trademarks, service marks, or product names of the Licensor, -except as required for reasonable and customary use in describing the -origin of the Work and reproducing the content of the NOTICE file. +-------------------------------------------------------------------------------- +Package Title: lodash (4.17.21) +-------------------------------------------------------------------------------- -7. Disclaimer of Warranty. Unless required by applicable law or agreed -to in writing, Licensor provides the Work (and each Contributor -provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied, including, without -limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, -MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely -responsible for determining the appropriateness of using or -redistributing the Work and assume any risks associated with Your -exercise of permissions under this License. +* Declared Licenses * +MIT, CC0-1.0 -8. Limitation of Liability. In no event and under no legal theory, -whether in tort (including negligence), contract, or otherwise, unless -required by applicable law (such as deliberate and grossly negligent -acts) or agreed to in writing, shall any Contributor be liable to You -for damages, including any direct, indirect, special, incidental, or -consequential damages of any character arising as a result of this -License or out of the use or inability to use the Work (including but -not limited to damages for loss of goodwill, work stoppage, computer -failure or malfunction, or any and all other commercial damages or -losses), even if such Contributor has been advised of the possibility -of such damages. +* MIT * -9. Accepting Warranty or Additional Liability. While redistributing -the Work or Derivative Works thereof, You may choose to offer, and -charge a fee for, acceptance of support, warranty, indemnity, or other -liability obligations and/or rights consistent with this -License. However, in accepting such obligations, You may act only on -Your own behalf and on Your sole responsibility, not on behalf of any -other Contributor, and only if You agree to indemnify, defend, and -hold each Contributor harmless for any liability incurred by, or -claims asserted against, such Contributor by reason of your accepting -any such warranty or additional liability. +Copyright (c) OpenJS Foundation and other contributors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +* CC0-1.0 * --------------------------------------------------------------------------------- -Package Title: github.com/AthenZ/athenz (v1.10.39) --------------------------------------------------------------------------------- +Copyright OpenJS Foundation and other contributors -* Declared Licenses * -Apache-2.0 +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash +The following license applies to all parts of this software except as +documented below: - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +==== - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: - 1. Definitions. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +==== - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +CC0: http://creativecommons.org/publicdomain/zero/1.0/ - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +==== - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +-------------------------------------------------------------------------------- +Package Title: lodash (4.17.11) +-------------------------------------------------------------------------------- - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +* Declared Licenses * +Multi-license: CC0-1.0 OR MIT - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +Copyright JS Foundation and other contributors - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +The following license applies to all parts of this software except as +documented below: - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +==== - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +==== - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +CC0: http://creativecommons.org/publicdomain/zero/1.0/ - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. +==== - END OF TERMS AND CONDITIONS +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. - APPENDIX: How to apply the Apache License to your work. - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - Copyright [yyyy] [name of copyright owner] +* Other Licenses * +MIT - 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 +Copyright JS Foundation and other contributors - 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. +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash +The following license applies to all parts of this software except as +documented below: --------------------------------------------------------------------------------- -Package Title: github.com/aws/aws-sdk-go-v2/service/ec2 (v1.34.0) --------------------------------------------------------------------------------- +==== -* Declared Licenses * -Apache-2.0 +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +==== - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. - 1. Definitions. +CC0: http://creativecommons.org/publicdomain/zero/1.0/ - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +==== - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +-------------------------------------------------------------------------------- +Package Title: lodash.debounce (4.0.8) +-------------------------------------------------------------------------------- - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +* Declared Licenses * +MIT, CC0-1.0 - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +* MIT * - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +Copyright (c) jQuery Foundation and other contributors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +* CC0-1.0 * - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +Copyright jQuery Foundation and other contributors - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +The following license applies to all parts of this software except as +documented below: - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +==== - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +==== - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +CC0: http://creativecommons.org/publicdomain/zero/1.0/ - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. +==== - END OF TERMS AND CONDITIONS +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. - APPENDIX: How to apply the Apache License to your work. - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - Copyright [yyyy] [name of copyright owner] +-------------------------------------------------------------------------------- +Package Title: lodash.isequalwith (4.4.0) +-------------------------------------------------------------------------------- - 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 +* Declared Licenses * +Multi-license: CC0-1.0 OR MIT - 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. +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. * Other Licenses * -BSD-3-Clause, MIT, RSA-MD +MIT -* BSD-3-Clause * -Copyright (c) 2009 The Go Authors. All rights reserved. . All rights reserved. +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. + + + +-------------------------------------------------------------------------------- +Package Title: lodash.isstring (4.0.1) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +Copyright 2012-2016 The Dojo Foundation +Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: lodash.throttle (4.1.1) +-------------------------------------------------------------------------------- + +* Declared Licenses * +Multi-license: CC0-1.0 OR MIT + + +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. + + + +* Other Licenses * +MIT + + +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. + + + +-------------------------------------------------------------------------------- +Package Title: log (63376a29a92260f7b256eedf2fae39e28161114d) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +MIT License + +Copyright (c) 2021 Go kit + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +* Other Licenses * +BSD-3-Clause + + +Copyright (c) 2013 The Go Authors. All rights reserved. . All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -35335,9 +35618,19 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* MIT * -Copyright (c) +-------------------------------------------------------------------------------- +Package Title: logfmt (2fe45f2cf057d707c50bc1949e25ec2cd6b7a015) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT License (MIT) + +Copyright (c) 2015 go-logfmt + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -35356,23 +35649,80 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -* RSA-MD * -Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved. -License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing this software or this function. -License is also granted to make and use derivative works provided that such works are identified as "derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing the derived work. -RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of any kind. -These notices must be retained in any copies of any part of this documentation and/or software. + + +* Other Licenses * +BSD-3-Clause + + +Copyright (c) 2010 The Go Authors. All rights reserved. . All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: github.com/aws/aws-sdk-go-v2/service/iam (v1.18.3) +Package Title: logrus (f8bf7650dccb756cea26edaf9217aab85500fe07) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0 +MIT +The MIT License (MIT) + +Copyright (c) 2014 Simon Eskildsen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: logtags (21c54148d20b46d658d4cf001e85302739a698d1) +-------------------------------------------------------------------------------- + +* Declared Licenses * +Apache-2.0 + Apache License Version 2.0, January 2004 @@ -35578,70 +35928,8 @@ Apache-2.0 -* Other Licenses * -BSD-3-Clause, MIT, RSA-MD - -* BSD-3-Clause * - -Copyright (c) 2009 The Go Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* MIT * - -Copyright (c) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -* RSA-MD * - -Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved. -License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing this software or this function. -License is also granted to make and use derivative works provided that such works are identified as "derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing the derived work. -RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of any kind. -These notices must be retained in any copies of any part of this documentation and/or software. - - -------------------------------------------------------------------------------- -Package Title: github.com/aws/aws-sdk-go-v2/service/ssooidc (v1.14.13) +Package Title: long (4.0.0) -------------------------------------------------------------------------------- * Declared Licenses * @@ -35853,41 +36141,18 @@ Apache-2.0 -* Other Licenses * -BSD-3-Clause, MIT, RSA-MD - -* BSD-3-Clause * - -Copyright (c) 2009 The Go Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +-------------------------------------------------------------------------------- +Package Title: loose-envify (1.4.0) +-------------------------------------------------------------------------------- - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +* Declared Licenses * +MIT - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The MIT License (MIT) -* MIT * +Copyright (c) 2015 Andres Suarez -Copyright (c) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -35895,28 +36160,21 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -* RSA-MD * - -Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved. -License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing this software or this function. -License is also granted to make and use derivative works provided that such works are identified as "derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing the derived work. -RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of any kind. -These notices must be retained in any copies of any part of this documentation and/or software. -------------------------------------------------------------------------------- -Package Title: github.com/Azure/azure-sdk-for-go/sdk/azidentity (v1.1.0) +Package Title: mapstructure (ab69d8d93410fce4361f4912bb1ff88110a81311) -------------------------------------------------------------------------------- * Declared Licenses * @@ -35925,7 +36183,7 @@ MIT The MIT License (MIT) -Copyright (c) Microsoft Corporation. +Copyright (c) 2013 Mitchell Hashimoto Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -35934,49 +36192,124 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -* Other Licenses * -Apache-2.0 +-------------------------------------------------------------------------------- +Package Title: md5 (2.3.0) +-------------------------------------------------------------------------------- +* Declared Licenses * +Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause -Copyright Microsoft Corporation. All rights reserved. +* Multi-license: BSD-2-Clause OR BSD-3-Clause * -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 +Copyright © 2011-2012, Paul Vorbach. +Copyright © 2009, Jeff Mott. -http://www.apache.org/licenses/LICENSE-2.0 +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. +* Neither the name Crypto-JS nor the names of its contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* BSD-3-Clause * + +Copyright © 2011-2012, Paul Vorbach. +Copyright © 2009, Jeff Mott. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. +* Neither the name Crypto-JS nor the names of its contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -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. + +* Other Licenses * +MIT + + +Copyright (c) +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/Azure/azure-sdk-for-go/sdk/keyvault/internal (v0.7.0) +Package Title: mini-create-react-context (0.3.3) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) +Copyright (c) 2019-present StringEpsilon -Copyright (c) Microsoft Corporation. +Copyright (c) 2017-2019 James Kyle Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -35998,37 +36331,47 @@ SOFTWARE. -* Other Licenses * -Apache-2.0 +-------------------------------------------------------------------------------- +Package Title: mini-create-react-context (0.4.1) +-------------------------------------------------------------------------------- +* Declared Licenses * +MIT -Copyright Microsoft Corporation. All rights reserved. -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 +Copyright (c) 2019-present StringEpsilon -http://www.apache.org/licenses/LICENSE-2.0 +Copyright (c) 2017-2019 James Kyle -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. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -See the License for the specific language governing permissions and limitations under the License. -------------------------------------------------------------------------------- -Package Title: github.com/Azure/azure-sdk-for-go/sdk/storage/azblob (v0.6.1) +Package Title: mini-store (2.0.0) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) - -Copyright (c) Microsoft Corporation. - +Copyright (c) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -36048,28 +36391,37 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +Package Title: minimist (1.2.5) +-------------------------------------------------------------------------------- -* Other Licenses * -Apache-2.0 +* Declared Licenses * +MIT -Copyright Microsoft Corporation. All rights reserved. +This software is released under the MIT license: -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 +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: -http://www.apache.org/licenses/LICENSE-2.0 +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -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. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -See the License for the specific language governing permissions and limitations under the License. -------------------------------------------------------------------------------- -Package Title: github.com/Azure/go-autorest/autorest/azure/auth (v0.5.8) +Package Title: moby (8728dd246c3ab53105434eef8ffe997b6fd14dc6) -------------------------------------------------------------------------------- * Declared Licenses * @@ -36079,7 +36431,7 @@ Apache-2.0 Apache License Version 2.0, January 2004 - http://www.apache.org/licenses/ + https://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION @@ -36254,13 +36606,13 @@ Apache-2.0 END OF TERMS AND CONDITIONS - Copyright 2015 Microsoft Corporation + Copyright 2013-2018 Docker, Inc. 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 + https://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, @@ -36270,8 +36622,47 @@ Apache-2.0 +* Other Licenses * +GPL-3.0-only, MIT, GPL-2.0-only + +* GPL-3.0-only * + +Copyright (C) +This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3. +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. +You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/ + +* MIT * + +Copyright (c) 2012-2017 Docker, Inc +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +* GPL-2.0-only * + +Copyright (C) 1999-2013 Gentoo Foundation +This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2. +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. +You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + -------------------------------------------------------------------------------- -Package Title: github.com/Azure/go-autorest/autorest/azure/cli (v0.4.3) +Package Title: mock (aba2ff9a6844d5e3289e8472d3217d5b3090f083) -------------------------------------------------------------------------------- * Declared Licenses * @@ -36456,7 +36847,18 @@ Apache-2.0 END OF TERMS AND CONDITIONS - Copyright 2015 Microsoft Corporation + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -36473,430 +36875,213 @@ Apache-2.0 -------------------------------------------------------------------------------- -Package Title: github.com/Azure/go-autorest/autorest/to (v0.4.0) +Package Title: mod (7c05a442b7c1d1a107879b4a090bb5a38d3774a1) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0 - +BSD-3-Clause - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +Copyright (c) 2009 The Go Authors. All rights reserved. - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - 1. Definitions. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +-------------------------------------------------------------------------------- +Package Title: moment (2.29.1) +-------------------------------------------------------------------------------- - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +* Declared Licenses * +MIT - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +Copyright (c) JS Foundation and other contributors - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: +-------------------------------------------------------------------------------- +Package Title: moment (2.21.0) +-------------------------------------------------------------------------------- - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and +* Declared Licenses * +MIT - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +Copyright (c) JS Foundation and other contributors - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +-------------------------------------------------------------------------------- +Package Title: moment-timezone (0.5.14) +-------------------------------------------------------------------------------- - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. +* Declared Licenses * +MIT - END OF TERMS AND CONDITIONS - Copyright 2015 Microsoft Corporation +The MIT License (MIT) - 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 +Copyright (c) JS Foundation and other contributors - http://www.apache.org/licenses/LICENSE-2.0 +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: - 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. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/Azure/go-autorest/autorest/validation (v0.3.1) +Package Title: ms (2.0.0) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0 +MIT +Copyright (c) 2016 Zeit, Inc. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - 1. Definitions. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +-------------------------------------------------------------------------------- +Package Title: ms (2.1.3) +-------------------------------------------------------------------------------- - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +* Declared Licenses * +MIT - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +Copyright (c) 2020 Vercel, Inc. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +-------------------------------------------------------------------------------- +Package Title: mutationobserver-shim (0.3.7) +-------------------------------------------------------------------------------- - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +* Declared Licenses * +MIT - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +Copyright (c) 2014 Graeme Yeates +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - Copyright 2015 Microsoft Corporation - - 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. - - - --------------------------------------------------------------------------------- -Package Title: github.com/Azure/go-ntlmssp (754e69321358) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2016 Microsoft - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, @@ -36907,586 +37092,512 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* Other Licenses * +WTFPL + + +Copyright (C) 2004 Sam Hocevar +Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed. +DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + 0. You just DO WHAT THE FUCK YOU WANT TO. + -------------------------------------------------------------------------------- -Package Title: github.com/AzureAD/microsoft-authentication-library-for-go (v0.5.1) +Package Title: mux (98cb6bf42e086f6af920b965c38cacc07402d51b) -------------------------------------------------------------------------------- * Declared Licenses * -MIT - +BSD-3-Clause - MIT License - Copyright (c) Microsoft Corporation. +Copyright (c) 2012-2018 The Gorilla Authors. All rights reserved. - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: github.com/bazelbuild/rules_go (v0.26.0) +Package Title: mysql (bcc459a906419e2890a50fc2c99ea6dd927a88f2) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0 +MPL-2.0 +Mozilla Public License Version 2.0 +================================== - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +1. Definitions +-------------- - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. - 1. Definitions. +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +1.3. "Contribution" + means Covered Software of a particular Contributor. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +1.5. "Incompatible With Secondary Licenses" + means - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +1.6. "Executable Form" + means any form of the work other than Source Code Form. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +1.8. "License" + means this document. - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +1.10. "Modifications" + means any of the following: - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. + (b) any new file in Source Code Form that contains any Covered + Software. - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +1.13. "Source Code Form" + means the form of the work preferred for making modifications. - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. +2. License Grants and Conditions +-------------------------------- - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +2.1. Grants - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +2.2. Effective Date - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. - END OF TERMS AND CONDITIONS +2.3. Limitations on Grant Scope - APPENDIX: How to apply the Apache License to your work. +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. +(a) for any code that a Contributor has removed from Covered Software; + or - Copyright [yyyy] [name of copyright owner] +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or - 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 +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. - http://www.apache.org/licenses/LICENSE-2.0 +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). - 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. +2.4. Subsequent Licenses +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). +2.5. Representation -* Other Licenses * -BSD-3-Clause +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. +2.6. Fair Use -Copyright (c) 2012 The Go Authors. All rights reserved. . All rights reserved. +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +2.7. Conditions - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +3. Responsibilities +------------------- - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +3.1. Distribution of Source Form -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. +3.2. Distribution of Executable Form --------------------------------------------------------------------------------- -Package Title: github.com/bgentry/go-netrc (9fd32a8b3d3d) --------------------------------------------------------------------------------- +If You distribute Covered Software in Executable Form then: -* Declared Licenses * -MIT +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. -Original version Copyright © 2010 Fazlul Shahriar . Newer -portions Copyright © 2014 Blake Gentry . +3.3. Distribution of a Larger Work -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +3.4. Notices +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. +3.5. Application of Additional Terms --------------------------------------------------------------------------------- -Package Title: github.com/blevesearch/snowballstem (v0.9.0) --------------------------------------------------------------------------------- +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. -* Declared Licenses * -BSD-3-Clause +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. -Copyright (c) 2001, Dr Martin Porter -Copyright (c) 2004,2005, Richard Boulton -Copyright (c) 2013, Yoshiki Shibukawa -Copyright (c) 2006,2007,2009,2010,2011,2014-2019, Olly Betts -All rights reserved. +5. Termination +-------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - 3. Neither the name of the Snowball project nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ --------------------------------------------------------------------------------- -Package Title: github.com/bufbuild/buf (v0.56.0) --------------------------------------------------------------------------------- +8. Litigation +------------- -* Declared Licenses * -Apache-2.0 +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. +9. Miscellaneous +---------------- - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +10. Versions of the License +--------------------------- - 1. Definitions. +10.1. New Versions - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +10.2. Effect of New Versions - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +10.3. Modified Versions - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +Exhibit A - Source Code Form License Notice +------------------------------------------- - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +You may add additional accurate notices of copyright ownership. - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +* Other Licenses * +Apache-2.0 - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +Copyright [yyyy] [name of copyright owner] - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +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 - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +http://www.apache.org/licenses/LICENSE-2.0 - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +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. - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +See the License for the specific language governing permissions and limitations under the License. - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - END OF TERMS AND CONDITIONS +-------------------------------------------------------------------------------- +Package Title: net (8e2b117aee74f6b86c207a808b0255de45c0a18a) +-------------------------------------------------------------------------------- - APPENDIX: How to apply the Apache License to your work. +* Declared Licenses * +BSD-3-Clause - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - Copyright 2020-2021 Buf Technologies, Inc. +Copyright (c) 2009 The Go Authors. All rights reserved. - 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 +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - http://www.apache.org/licenses/LICENSE-2.0 + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. - 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. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * Other Licenses * -BSD-3-Clause +BSD-2-Clause -Copyright (c) 2020-2021 Buf Technologies, Inc. . All rights reserved. +Copyright (c) 2009 Apple Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. + and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE @@ -37501,77 +37612,291 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: github.com/codahale/hdrhistogram (3a0bb77429bd) +Package Title: Npgsql (6.0.4) -------------------------------------------------------------------------------- * Declared Licenses * -MIT +No licenses found -The MIT License (MIT) +-------------------------------------------------------------------------------- +Package Title: nvd3 (1.8.6) +-------------------------------------------------------------------------------- -Copyright (c) 2014 Coda Hale +* Declared Licenses * +Multi-license: Apache-2.0 OR BSD-3-Clause, Apache-2.0 -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +* Multi-license: Apache-2.0 OR BSD-3-Clause * -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +##nvd3.js License -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +Copyright (c) 2011-2014 [Novus Partners, Inc.][novus] +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 --------------------------------------------------------------------------------- -Package Title: github.com/containerd/containerd (v1.6.18) --------------------------------------------------------------------------------- +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. -* Declared Licenses * -Apache-2.0 +[novus]: https://www.novus.com/ - Apache License - Version 2.0, January 2004 - https://www.apache.org/licenses/ +##d3.js License - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +Copyright (c) 2012, Michael Bostock +All rights reserved. - 1. Definitions. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +* The name Michael Bostock may not be used to endorse or promote products + derived from this software without specific prior written permission. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but +* Apache-2.0 * + +##nvd3.js License + +Copyright (c) 2011-2014 [Novus Partners, Inc.][novus] + +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. + +[novus]: https://www.novus.com/ + + + +##d3.js License + +Copyright (c) 2012, Michael Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* The name Michael Bostock may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +-------------------------------------------------------------------------------- +Package Title: oauth2 (6fdb5e3db783d4a038a89fb82279727f80e7bf8e) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-3-Clause + + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +-------------------------------------------------------------------------------- +Package Title: object-assign (4.1.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +Copyright (c) Sindre Sorhus (sindresorhus.com) +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +-------------------------------------------------------------------------------- +Package Title: object-assign (4.1.1) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +Copyright (c) Sindre Sorhus (sindresorhus.com) +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +-------------------------------------------------------------------------------- +Package Title: omit.js (1.0.2) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +MIT License + +Copyright (c) 2016 Benjy Cui + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: opencensus-go (b1a01ee95db0e690d91d7193d037447816fae4c5) +-------------------------------------------------------------------------------- + +* Declared Licenses * +Apache-2.0 + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. @@ -37718,13 +38043,24 @@ Apache-2.0 END OF TERMS AND CONDITIONS - Copyright The containerd Authors + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] 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 - https://www.apache.org/licenses/LICENSE-2.0 + 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, @@ -37733,378 +38069,222 @@ Apache-2.0 limitations under the License. +-------------------------------------------------------------------------------- +Package Title: opentelemetry-go (4bfa00347d52e655899b13054198c0aefbd67f85) +-------------------------------------------------------------------------------- -* Other Licenses * -BSD-3-Clause, BSD-2-Clause, CC-BY-4.0, CC-BY-SA-4.0, ISC, MIT, MPL-2.0, proprietary-license +* Declared Licenses * +Apache-2.0 -* BSD-3-Clause * -Copyright (c) The containerd Authors. . All rights reserved. + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. + 1. Definitions. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -* BSD-2-Clause * + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -Copyright (c) 2013 The GoGo Authors. All rights reserved. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. - and/or other materials provided with the distribution. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -* CC-BY-4.0 * + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -Attribution 4.0 International<> -By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. -Section 1 – Definitions. - a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. - b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. - c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. - d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. - e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. - f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. - g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. - h. Licensor means the individual(s) or entity(ies) granting rights under this Public License. - i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. - j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. - k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. -Section 2 – Scope. - a. License grant. - 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: - A. reproduce and Share the Licensed Material, in whole or in part; and - B. produce, reproduce, and Share Adapted Material. - 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. - 3. Term. The term of this Public License is specified in Section 6(a). - 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. - 5. Downstream recipients. - A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. - B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. - 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). - b. Other rights. - 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. - 2. Patent and trademark rights are not licensed under this Public License. - 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. -Section 3 – License Conditions. -Your exercise of the Licensed Rights is expressly made subject to the following conditions. - a. Attribution. - 1. If You Share the Licensed Material (including in modified form), You must: - A. retain the following if it is supplied by the Licensor with the Licensed Material: - i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); - ii. a copyright notice; - iii. a notice that refers to this Public License; - iv. a notice that refers to the disclaimer of warranties; - v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; - B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and - C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. - 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. - 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. - 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. -Section 4 – Sui Generis Database Rights. -Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: - a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; - b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and - c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. -For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. -Section 5 – Disclaimer of Warranties and Limitation of Liability. - a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. - b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. - c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. -Section 6 – Term and Termination. - a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. - b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: - 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or - 2. upon express reinstatement by the Licensor. - c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. - d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. - e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. -Section 7 – Other Terms and Conditions. - a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. - b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. -Section 8 – Interpretation. - a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. - b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. - c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. - d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. -Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. -Creative Commons may be contacted at creativecommons.org. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -* CC-BY-SA-4.0 * + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -Attribution-ShareAlike 4.0 International<> -Using Creative Commons Public Licenses -Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. -Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors : wiki.creativecommons.org/Considerations_for_licensors -Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor's permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. -Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public : wiki.creativecommons.org/Considerations_for_licensees -Creative Commons Attribution-ShareAlike 4.0 International Public License -By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. -Section 1 – Definitions. - a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. - b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. - c. BY-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License. - d. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. - e. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. - f. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. - g. License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution and ShareAlike. - h. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. - i. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. - j. Licensor means the individual(s) or entity(ies) granting rights under this Public License. - k. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. - l. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. - m. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. -Section 2 – Scope. - a. License grant. - 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: - A. reproduce and Share the Licensed Material, in whole or in part; and - B. produce, reproduce, and Share Adapted Material. - 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. - 3. Term. The term of this Public License is specified in Section 6(a). - 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. - 5. Downstream recipients. - A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. - B. Additional offer from the Licensor – Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter's License You apply. - C. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. - 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). - b. Other rights. - 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. - 2. Patent and trademark rights are not licensed under this Public License. - 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. -Section 3 – License Conditions. -Your exercise of the Licensed Rights is expressly made subject to the following conditions. - a. Attribution. - 1. If You Share the Licensed Material (including in modified form), You must: - A. retain the following if it is supplied by the Licensor with the Licensed Material: - i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); - ii. a copyright notice; - iii. a notice that refers to this Public License; - iv. a notice that refers to the disclaimer of warranties; - v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; - B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and - C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. - 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. - 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. - b. ShareAlike.In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply. - 1. The Adapter's License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-SA Compatible License. - 2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material. - 3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply. -Section 4 – Sui Generis Database Rights. -Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: - a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; - b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and - c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. - For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. -Section 5 – Disclaimer of Warranties and Limitation of Liability. - a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. - b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. - c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. -Section 6 – Term and Termination. - a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. - b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: - 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or - 2. upon express reinstatement by the Licensor. - c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. - d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. - e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. -Section 7 – Other Terms and Conditions. - a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. - b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. -Section 8 – Interpretation. - a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. - b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. - c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. - d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. -Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. -Creative Commons may be contacted at creativecommons.org. - -* ISC * - -Copyright (c) 2012-2016 Dave Collins -Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. -THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -* MIT * + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -Copyright (c) 2015 Microsoft -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -* MPL-2.0 * + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -1. Definitions - 1.1. "Contributor" means each individual or legal entity that creates, contributes to the creation of, or owns Covered Software. - 1.2. "Contributor Version" means the combination of the Contributions of others (if any) used by a Contributor and that particular Contributor's Contribution. - 1.3. "Contribution" means Covered Software of a particular Contributor. - 1.4. "Covered Software" means Source Code Form to which the initial Contributor has attached the notice in Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof. - 1.5. "Incompatible With Secondary Licenses" means - (a) that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or - (b) that the Covered Software was made available under the terms of version 1.1 or earlier of the License, but not also under the terms of a Secondary License. - 1.6. "Executable Form" means any form of the work other than Source Code Form. - 1.7. "Larger Work" means a work that combines Covered Software with other material, in a separate file or files, that is not Covered Software. - 1.8. "License" means this document. - 1.9. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently, any and all of the rights conveyed by this License. - 1.10. "Modifications" means any of the following: - (a) any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or - (b) any new file in Source Code Form that contains any Covered Software. - 1.11. "Patent Claims" of a Contributor means any patent claim(s), including without limitation, method, process, and apparatus claims, in any patent Licensable by such Contributor that would be infringed, but for the grant of the License, by the making, using, selling, offering for sale, having made, import, or transfer of either its Contributions or its Contributor Version. - 1.12. "Secondary License" means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses. - 1.13. "Source Code Form" means the form of the work preferred for making modifications. - 1.14. "You" (or "Your") means an individual or a legal entity exercising rights under this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. - 2. License Grants and Conditions - 2.1. Grants - Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license: - (a) under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and - (b) under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version. - 2.2. Effective Date - The licenses granted in Section 2.1 with respect to any Contribution become effective for each Contribution on the date the Contributor first distributes such Contribution. - 2.3. Limitations on Grant Scope - The licenses granted in this Section 2 are the only rights granted under this License. No additional rights or licenses will be implied from the distribution or licensing of Covered Software under this License. Notwithstanding Section 2.1(b) above, no patent license is granted by a Contributor: - (a) for any code that a Contributor has removed from Covered Software; or - (b) for infringements caused by: (i) Your and any other third party's modifications of Covered Software, or (ii) the combination of its Contributions with other software (except as part of its Contributor Version); or - (c) under Patent Claims infringed by Covered Software in the absence of its Contributions. - This License does not grant any rights in the trademarks, service marks, or logos of any Contributor (except as may be necessary to comply with the notice requirements in Section 3.4). - 2.4. Subsequent Licenses - No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version of this License (see Section 10.2) or under the terms of a Secondary License (if permitted under the terms of Section 3.3). - 2.5. Representation - Each Contributor represents that the Contributor believes its Contributions are its original creation(s) or it has sufficient rights to grant the rights to its Contributions conveyed by this License. - 2.6. Fair Use - This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other equivalents. - 2.7. Conditions - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1. - 3. Responsibilities - 3.1. Distribution of Source Form - All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License. You may not attempt to alter or restrict the recipients' rights in the Source Code Form. - 3.2. Distribution of Executable Form - If You distribute Covered Software in Executable Form then: - (a) such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must inform recipients of the Executable Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the recipient; and - (b) You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients' rights in the Source Code Form under this License. - 3.3. Distribution of a Larger Work - You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s). - 3.4. Notices - You may not remove or alter the substance of any license notices (including copyright notices, patent notices, disclaimers of warranty, or limitations of liability) contained within the Source Code Form of the Covered Software, except that You may alter any license notices to the extent required to remedy known factual inaccuracies. - 3.5. Application of Additional Terms - You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, You may do so only on Your own behalf, and not on behalf of any Contributor. You must make it absolutely clear that any such warranty, support, indemnity, or liability obligation is offered by You alone, and You hereby agree to indemnify every Contributor for any liability incurred by such Contributor as a result of warranty, support, indemnity or liability terms You offer. You may include additional disclaimers of warranty and limitations of liability specific to any jurisdiction. - 4. Inability to Comply Due to Statute or Regulation - If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be placed in a text file included with all distributions of the Covered Software under this License. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. - 5. Termination - 5.1. The rights granted under this License will terminate automatically if You fail to comply with any of its terms. However, if You become compliant, then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such Contributor explicitly and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor fails to notify You of the non-compliance by some reasonable means prior to 60 days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such Contributor notifies You of the non-compliance by some reasonable means, this is the first time You have received notice of non-compliance with this License from such Contributor, and You become compliant prior to 30 days after Your receipt of the notice. - 5.2. If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate. - 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or Your distributors under this License prior to termination shall survive termination. - 6. Disclaimer of Warranty - Covered Software is provided under this License on an "as is" basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the Covered Software is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the Covered Software is with You. Should any Covered Software prove defective in any respect, You (not any Contributor) assume the cost of any necessary servicing, repair, or correction. This disclaimer of warranty constitutes an essential part of this License. No use of any Covered Software is authorized under this License except under this disclaimer. - 7. Limitation of Liability - Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall any Contributor, or anyone who distributes Covered Software as permitted above, be liable to You for any direct, indirect, special, incidental, or consequential damages of any character including, without limitation, damages for lost profits, loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages. This limitation of liability shall not apply to liability for death or personal injury resulting from such party's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You. - 8. Litigation - Any litigation relating to this License may be brought only in the courts of a jurisdiction where the defendant maintains its principal place of business and such litigation shall be governed by laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this Section shall prevent a party's ability to bring cross-claims or counter-claims. - 9. Miscellaneous - This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not be used to construe this License against a Contributor. - 10. Versions of the License - 10.1. New Versions - Mozilla Foundation is the license steward. Except as provided in Section 10.3, no one other than the license steward has the right to modify or publish new versions of this License. Each version will be given a distinguishing version number. - 10.2. Effect of New Versions - You may distribute the Covered Software under the terms of the version of the License under which You originally received the Covered Software, or under the terms of any subsequent version published by the license steward. - 10.3. Modified Versions - If you create software not governed by this License, and you want to create a new license for such software, you may create and use a modified version of this License if you rename the license and remove any references to the name of the license steward (except to note that such modified license differs from this License). - 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses - If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -* proprietary-license * + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -This is a catch-all license used when we find many different proprietary licenses. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. --------------------------------------------------------------------------------- -Package Title: github.com/danieljoos/wincred (v1.1.2) --------------------------------------------------------------------------------- + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -* Declared Licenses * -MIT + END OF TERMS AND CONDITIONS + APPENDIX: How to apply the Apache License to your work. -The MIT License (MIT) + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -Copyright (c) 2014 Daniel Joos + Copyright [yyyy] [name of copyright owner] -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 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 -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + http://www.apache.org/licenses/LICENSE-2.0 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 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. --------------------------------------------------------------------------------- -Package Title: github.com/dimchansky/utfbom (v1.1.1) --------------------------------------------------------------------------------- -* Declared Licenses * -Apache-2.0 +* Other Licenses * +Multi-license: Apache-2.0 OR BSD-3-Clause OR FSFAP OR MIT, Apache-1.1 +* Multi-license: Apache-2.0 OR BSD-3-Clause OR FSFAP OR MIT * Apache License Version 2.0, January 2004 @@ -38286,7 +38466,7 @@ Apache-2.0 APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" + boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -38294,7 +38474,7 @@ Apache-2.0 same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright (c) 2018-2020, Dmitrij Koniajev (dimchansky@gmail.com) + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -38309,16 +38489,29 @@ Apache-2.0 limitations under the License. +* Apache-1.1 * + +Copyright (c) 2000 The Apache Software Foundation. All rights reserved. +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + 3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: + "This product includes software developed by the Apache Software Foundation (http://www.apache.org/) ." + Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear. + 4. The name "Apache" and "Apache Software Foundation" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact apache@apache.org . + 5. Products derived from this software may not be called "Apache" [ex. "Jakarta," "Apache," or "Apache Commons,"] nor may "Apache" [ex. the names] appear in their name, without prior written permission of the Apache Software Foundation . +THIS SOFTWARE IS PROVIDED ''AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + -------------------------------------------------------------------------------- -Package Title: github.com/docker/distribution (v2.7.1) +Package Title: opentelemetry-go (df2bdbbadb26cd3dc8387d2d3628667fd84e13dc) -------------------------------------------------------------------------------- * Declared Licenses * Apache-2.0 -Apache License + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -38498,7 +38691,7 @@ Apache License APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" + boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -38506,7 +38699,7 @@ Apache License same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright {yyyy} {name of copyright owner} + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -38522,656 +38715,236 @@ Apache License - * Other Licenses * -CC-BY-SA-4.0, bsd-2-clause-views, BSD-2-Clause, BSD-3-Clause, MIT, Zlib - -* CC-BY-SA-4.0 * +Multi-license: Apache-2.0 OR BSD-3-Clause OR FSFAP OR MIT, Apache-1.1 -Attribution-ShareAlike 4.0 International<> -Using Creative Commons Public Licenses -Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. -Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors : wiki.creativecommons.org/Considerations_for_licensors -Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor's permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. -Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public : wiki.creativecommons.org/Considerations_for_licensees -Creative Commons Attribution-ShareAlike 4.0 International Public License -By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. -Section 1 – Definitions. - a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. - b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. - c. BY-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License. - d. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. - e. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. - f. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. - g. License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution and ShareAlike. - h. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. - i. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. - j. Licensor means the individual(s) or entity(ies) granting rights under this Public License. - k. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. - l. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. - m. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. -Section 2 – Scope. - a. License grant. - 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: - A. reproduce and Share the Licensed Material, in whole or in part; and - B. produce, reproduce, and Share Adapted Material. - 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. - 3. Term. The term of this Public License is specified in Section 6(a). - 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. - 5. Downstream recipients. - A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. - B. Additional offer from the Licensor – Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter's License You apply. - C. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. - 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). - b. Other rights. - 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. - 2. Patent and trademark rights are not licensed under this Public License. - 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. -Section 3 – License Conditions. -Your exercise of the Licensed Rights is expressly made subject to the following conditions. - a. Attribution. - 1. If You Share the Licensed Material (including in modified form), You must: - A. retain the following if it is supplied by the Licensor with the Licensed Material: - i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); - ii. a copyright notice; - iii. a notice that refers to this Public License; - iv. a notice that refers to the disclaimer of warranties; - v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; - B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and - C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. - 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. - 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. - b. ShareAlike.In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply. - 1. The Adapter's License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-SA Compatible License. - 2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material. - 3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply. -Section 4 – Sui Generis Database Rights. -Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: - a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; - b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and - c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. - For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. -Section 5 – Disclaimer of Warranties and Limitation of Liability. - a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. - b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. - c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. -Section 6 – Term and Termination. - a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. - b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: - 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or - 2. upon express reinstatement by the Licensor. - c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. - d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. - e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. -Section 7 – Other Terms and Conditions. - a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. - b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. -Section 8 – Interpretation. - a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. - b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. - c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. - d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. -Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. -Creative Commons may be contacted at creativecommons.org. +* Multi-license: Apache-2.0 OR BSD-3-Clause OR FSFAP OR MIT * -* bsd-2-clause-views * + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -Redistributions of source code must retain the above copyright notice, this list -of conditions and the following disclaimer. + 1. Definitions. -Redistributions in binary form must reproduce the above copyright notice, this -list of conditions and the following disclaimer in the documentation and/or -other materials provided with the distribution. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -The views and conclusions contained in the software and documentation are those -of the authors and should not be interpreted as representing official policies, -either expressed or implied, of the FreeBSD Project. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -* BSD-2-Clause * + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -Copyright (c) 2013 The Gorilla Handlers Authors. All rights reserved. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. - and/or other materials provided with the distribution. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -* BSD-3-Clause * + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -Copyright (c) 2012 The Go Authors. All rights reserved. . All rights reserved. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -* MIT * - -Copyright (c) 2013 Damien Le Berrigaud and Nick Wade -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -* Zlib * - -This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. -Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: - 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - --------------------------------------------------------------------------------- -Package Title: github.com/edsrzf/mmap-go (v1.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2011, Evan Shaw -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the copyright holder nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - - --------------------------------------------------------------------------------- -Package Title: github.com/fatih/structs (v1.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014 Fatih Arslan - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: github.com/getsentry/sentry-go (v0.27.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2019 Functional Software, Inc. dba Sentry - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - -* Other Licenses * -Apache-2.0 - - -Copyright The OpenTelemetry Authors - -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. - - --------------------------------------------------------------------------------- -Package Title: github.com/go-ole/go-ole (v1.2.6) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright © 2013-2017 Yasuhiro Matsumoto, - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the “Software”), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: github.com/goccy/go-json (v0.9.11) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2020 Masaaki Goshima - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - -* Other Licenses * -BSD-3-Clause - - -Copyright (c) 2011 The Go Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: github.com/gofrs/flock (v0.8.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2015-2020, Tim Heckman -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of gofrs nor the names of its contributors may be used - to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: github.com/gofrs/uuid (v4.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (C) 2013-2018 by Maxim Bublis - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: github.com/golang-jwt/jwt (v3.2.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2012 Dave Grijalva -Copyright (c) 2021 golang-jwt maintainers - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - - --------------------------------------------------------------------------------- -Package Title: github.com/golang-jwt/jwt/v4 (v4.2.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2012 Dave Grijalva -Copyright (c) 2021 golang-jwt maintainers - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - - --------------------------------------------------------------------------------- -Package Title: github.com/google/go-github (v17.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2013 The go-github AUTHORS. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: github.com/google/go-github/v42 (v42.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -Copyright (c) 2013 The go-github AUTHORS. All rights reserved. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + END OF TERMS AND CONDITIONS + APPENDIX: How to apply the Apache License to your work. --------------------------------------------------------------------------------- -Package Title: github.com/google/go-querystring (v1.1.0) --------------------------------------------------------------------------------- + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -* Declared Licenses * -BSD-3-Clause + Copyright [yyyy] [name of copyright owner] + 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 -Copyright (c) 2013 Google. All rights reserved. + http://www.apache.org/licenses/LICENSE-2.0 -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: + 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. - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* Apache-1.1 * +Copyright (c) 2000 The Apache Software Foundation. All rights reserved. +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + 3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: + "This product includes software developed by the Apache Software Foundation (http://www.apache.org/) ." + Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear. + 4. The name "Apache" and "Apache Software Foundation" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact apache@apache.org . + 5. Products derived from this software may not be called "Apache" [ex. "Jakarta," "Apache," or "Apache Commons,"] nor may "Apache" [ex. the names] appear in their name, without prior written permission of the Apache Software Foundation . +THIS SOFTWARE IS PROVIDED ''AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: github.com/googleapis/enterprise-certificate-proxy (v0.2.3) +Package Title: opentelemetry-proto-go (1a33c222f7b64d13348376f0498c596ec1067019) -------------------------------------------------------------------------------- * Declared Licenses * Apache-2.0 - Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -39377,17 +39150,14 @@ Apache-2.0 -------------------------------------------------------------------------------- -Package Title: github.com/gsterjov/go-libsecret (a6f4afe4910c) +Package Title: packet-reader (0.3.1) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) - -Copyright (c) 2016 Goran Sterjov - +Copyright (c) 2015 Brian M. Carlson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -39407,181 +39177,253 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -------------------------------------------------------------------------------- -Package Title: github.com/huandu/xstrings (v1.3.0) +Package Title: panicparse (95bad65f85c1e8c661fc959fb3653329f7c056d0) -------------------------------------------------------------------------------- * Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015 Huan Du - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - +Apache-2.0 --------------------------------------------------------------------------------- -Package Title: github.com/jackc/chunkreader/v2 (v2.0.1) --------------------------------------------------------------------------------- -* Declared Licenses * -MIT + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -Copyright (c) 2019 Jack Christensen + 1. Definitions. -MIT License + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. --------------------------------------------------------------------------------- -Package Title: github.com/jackc/pgio (v1.0.0) --------------------------------------------------------------------------------- + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -* Declared Licenses * -MIT + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -Copyright (c) 2019 Jack Christensen + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -MIT License + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and --------------------------------------------------------------------------------- -Package Title: github.com/jackc/pgpassfile (v1.0.0) --------------------------------------------------------------------------------- + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -* Declared Licenses * -MIT + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -Copyright (c) 2019 Jack Christensen + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -MIT License + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + END OF TERMS AND CONDITIONS + APPENDIX: How to apply the Apache License to your work. + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. --------------------------------------------------------------------------------- -Package Title: github.com/jackc/pgservicefile (091c0ba34f0a) --------------------------------------------------------------------------------- + Copyright 2015 Marc-Antoine Ruel -* Declared Licenses * -MIT + 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 -Copyright (c) 2020 Jack Christensen + 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. -MIT License -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +* Other Licenses * +OFL-1.1 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. +The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. +"Reserved Font Name" refers to any names specified as such after the copyright statement(s). +"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). +"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. +"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: + 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. + 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. + 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. + 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. + 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. +TERMINATION +This license becomes null and void if any of the above conditions are not met. +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/jaegertracing/jaeger (v1.18.1) +Package Title: parquet-go (b3d8678e4cc3d5b6a3dc9df847dfa20580c66e4f) -------------------------------------------------------------------------------- * Declared Licenses * Apache-2.0 + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -39786,49 +39628,45 @@ Apache-2.0 --------------------------------------------------------------------------------- -Package Title: github.com/jordan-wright/email (943e75fe5223) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2013 Jordan Wright +* Other Licenses * +FSFAP, BSD-3-Clause, MIT, BSD-2-Clause, ISC, lgpl-2.0-plus WITH wxwindows-exception-3.1 -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +* FSFAP * -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* BSD-3-Clause * +Copyright (c) 2007 Thomas Porschberg . All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: --------------------------------------------------------------------------------- -Package Title: github.com/klauspost/cpuid/v2 (v2.0.9) --------------------------------------------------------------------------------- + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. -* Declared Licenses * -MIT + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. -The MIT License (MIT) +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Copyright (c) 2015 Klaus Post +* MIT * +Copyright (c) 2015-2017 Aaron Raddon Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -39847,28 +39685,20 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* BSD-2-Clause * - - -* Other Licenses * -BSD-3-Clause - - -Copyright (c) 2020 Klaus Post, released under MIT License. See LICENSE file. . All rights reserved. +Copyright (c) 2015 Dave Cheney Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. + and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE @@ -39881,18 +39711,78 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* ISC * + +Copyright (c) 2012-2016 Dave Collins +Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +* lgpl-2.0-plus WITH wxwindows-exception-3.1 * + + wxWindows Library Licence, Version 3.1 + ====================================== + + Copyright (C) 1998-2005 Julian Smart, Robert Roebling et al + + Everyone is permitted to copy and distribute verbatim copies + of this licence document, but changing it is not allowed. + + WXWINDOWS LIBRARY LICENCE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public Licence as published by + the Free Software Foundation; either version 2 of the Licence, or (at + your option) any later version. + + This library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library + General Public Licence for more details. + + You should have received a copy of the GNU Library General Public Licence + along with this software, usually in a file named COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + Boston, MA 02111-1307 USA. + + EXCEPTION NOTICE + + 1. As a special exception, the copyright holders of this library give + permission for additional uses of the text contained in this release of + the library as licenced under the wxWindows Library Licence, applying + either version 3.1 of the Licence, or (at your option) any later version of + the Licence as published by the copyright holders of version + 3.1 of the Licence document. + + 2. The exception is that you may use, copy, link, modify and distribute + under your own terms, binary object code versions of works based + on the Library. + + 3. If you copy code from files distributed under the terms of the GNU + General Public Licence or the GNU Library General Public Licence into a + copy of this library, as this licence permits, the exception does not + apply to the code that you add in this way. To avoid misleading anyone as + to the status of such modified files, you must delete this exception + notice from such code and/or adjust the licensing conditions notice + accordingly. + + 4. If you write modifications of your own for this library, it is your + choice whether to permit this exception to apply to your modifications. + If you do not wish that, you must delete the exception notice from such + code and/or adjust the licensing conditions notice accordingly. + -------------------------------------------------------------------------------- -Package Title: github.com/klauspost/pgzip (v1.2.5) +Package Title: path-to-regexp (1.8.0) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License +The MIT License (MIT) -Copyright (c) 2014 Klaus Post +Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -39901,53 +39791,21 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - -* Other Licenses * -BSD-3-Clause - - -Copyright (c) 2012 The Go Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: github.com/kylelemons/godebug (v1.1.0) +Package Title: pbkdf2 (7f452ef1dac88350356f1bb84a23748205e64b96) -------------------------------------------------------------------------------- * Declared Licenses * @@ -40130,56 +39988,77 @@ Apache-2.0 incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - -------------------------------------------------------------------------------- -Package Title: github.com/lestrrat-go/backoff/v2 (v2.0.8) +Package Title: pebble (c24246ffc0123cb66aac8f7199400be4da351fd4) -------------------------------------------------------------------------------- * Declared Licenses * -MIT +BSD-3-Clause -MIT License +Copyright (c) 2011 The LevelDB-Go Authors. All rights reserved. -Copyright (c) 2018 lestrrat +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +* Other Licenses * +Apache-2.0, MIT + +* Apache-2.0 * + +Copyright 2017 Dgraph Labs, Inc. and Contributors + +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. + +* MIT * + +Copyright (c) 2018 Damian Gryski +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, @@ -40190,19 +40069,81 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +Package Title: perf (801c7ef9e5c5eb8fb97c176023267056756fc52d) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-3-Clause + + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + -------------------------------------------------------------------------------- -Package Title: github.com/lestrrat-go/blackmagic (v1.0.1) +Package Title: performance-now (0.2.0) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License +Copyright (c) 2013 Meryn Stol +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +-------------------------------------------------------------------------------- +Package Title: performance-now (2.1.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT -Copyright (c) 2021 lestrrat-go +Copyright (c) 2017 Braveg1rl Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -40222,9 +40163,78 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +Package Title: perks (37c8de3658fcb183f997c4e13e8337516ab753e6) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +Copyright (C) 2013 Blake Mizerany + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + -------------------------------------------------------------------------------- -Package Title: github.com/lestrrat-go/httpcc (v1.0.1) +Package Title: pflag (2e9d26c8c37aae03e3f9d4e90b7116f5accb7cab) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-3-Clause + + +Copyright (c) 2012 Alex Ogier. All rights reserved. +Copyright (c) 2012 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +-------------------------------------------------------------------------------- +Package Title: pg (7.3.0) -------------------------------------------------------------------------------- * Declared Licenses * @@ -40233,7 +40243,7 @@ MIT MIT License -Copyright (c) 2020 lestrrat-go +Copyright (c) 2010 - 2017 Brian Carlson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -40256,7 +40266,7 @@ SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/lestrrat-go/iter (v1.0.2) +Package Title: pg (6.4.2) -------------------------------------------------------------------------------- * Declared Licenses * @@ -40265,7 +40275,7 @@ MIT MIT License -Copyright (c) 2020 lestrrat-go +Copyright (c) 2010 - 2017 Brian Carlson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -40288,7 +40298,7 @@ SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/lestrrat-go/jwx (v1.2.25) +Package Title: pg-connection-string (0.1.3) -------------------------------------------------------------------------------- * Declared Licenses * @@ -40297,7 +40307,7 @@ MIT The MIT License (MIT) -Copyright (c) 2015 lestrrat +Copyright (c) 2014 Iced Development Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -40318,10 +40328,40 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +Package Title: pg-error-codes (1.0.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +public-domain -------------------------------------------------------------------------------- -Package Title: github.com/lestrrat-go/option (v1.0.0) +Package Title: pg-int8 (1.0.1) +-------------------------------------------------------------------------------- + +* Declared Licenses * +ISC + + +Copyright © 2017, Charmander <~@charmander.me> + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: pg-pool (1.8.0) -------------------------------------------------------------------------------- * Declared Licenses * @@ -40330,7 +40370,7 @@ MIT MIT License -Copyright (c) 2021 lestrrat-go +Copyright (c) 2017 Brian M. Carlson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -40353,334 +40393,224 @@ SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/lib/pq (v1.10.7) +Package Title: pg-pool (2.0.3) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright (c) 2011-2013, 'pq' Contributors -Portions Copyright (C) 2011 Blake Mizerany - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +MIT License -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +Copyright (c) 2017 Brian M. Carlson -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -* Other Licenses * -BSD-2-Clause -Copyright (c) 2014 Gustavo Niemeyer +-------------------------------------------------------------------------------- +Package Title: pg-types (1.12.1) +-------------------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +* Declared Licenses * +MIT - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation +Copyright (c) 2014 Brian M. Carlson +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - and/or other materials provided with the distribution. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/lucasb-eyer/go-colorful (v1.2.0) +Package Title: pg-types (1.13.0) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright (c) 2013 Lucas Beyer - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +Copyright (c) 2014 Brian M. Carlson +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/lufia/plan9stats (39d0f177ccd0) +Package Title: pgconn (49cbf465915137f6e400bc4333d41286b0db7d2c) -------------------------------------------------------------------------------- * Declared Licenses * -BSD-3-Clause - - -BSD 3-Clause License +MIT -Copyright (c) 2019, KADOTA, Kyohei -All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +Copyright (c) 2019-2021 Jack Christensen -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +MIT License -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/Masterminds/goutils (v1.1.0) +Package Title: pgpass (1.0.2) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0 +MIT +Copyright (c) 2013-2016 Hannes Hörl +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - 1. Definitions. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +-------------------------------------------------------------------------------- +Package Title: popper.js (1.16.1) +-------------------------------------------------------------------------------- - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +* Declared Licenses * +MIT - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +Copyright (c) 2016 Federico Zivolo and contributors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +-------------------------------------------------------------------------------- +Package Title: postcss-value-parser (3.3.1) +-------------------------------------------------------------------------------- - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +* Declared Licenses * +MIT - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +Copyright (c) Bogdan Chadkin - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/Masterminds/semver (v1.5.0) +Package Title: postgres-array (1.0.2) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright (C) 2014-2019, Matt Butcher and Matt Farina - +Copyright (c) Ben Drucker (bendrucker.me) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -40688,30 +40618,27 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/Masterminds/sprig (v2.22.0) +Package Title: postgres-bytea (1.0.0) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Sprig -Copyright (C) 2013 Masterminds - +Copyright (c) Ben Drucker (bendrucker.me) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -40719,31 +40646,27 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/mattn/go-zglob (v0.0.3) +Package Title: postgres-date (1.0.3) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) - -Copyright (c) 2017 Yasuhiro Matsumoto - +Copyright (c) Ben Drucker (bendrucker.me) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -40763,114 +40686,41 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -* Other Licenses * -BSD-3-Clause - - -Copyright (c) 2016 The Go Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -------------------------------------------------------------------------------- -Package Title: github.com/mattn/goveralls (v0.0.2) +Package Title: postgres-interval (1.1.1) -------------------------------------------------------------------------------- * Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2013 The Go Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +MIT - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +Copyright (c) Ben Drucker (bendrucker.me) +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/minio/md5-simd (v1.1.2) +Package Title: pprof (02619b876842e0d0afb5e5580d3a374dad740edb) -------------------------------------------------------------------------------- * Declared Licenses * -BSD-3-Clause, Apache-2.0 - -* BSD-3-Clause * - -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - +Apache-2.0 -* Apache-2.0 * Apache License @@ -41078,10 +40928,46 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * Other Licenses * +BSD-3-Clause + + +Copyright (c) 2010-2017 Mike Bostock . All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +-------------------------------------------------------------------------------- +Package Title: pretty (a883a8422cd235c67c6c4fdcb7bbb022143e10b1) +-------------------------------------------------------------------------------- + +* Declared Licenses * MIT -Copyright (c) 2020 MinIO Inc. All rights reserved. +Copyright (c) 2012 Keith Rarick Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -41102,14 +40988,13 @@ SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/minio/minio-go/v7 (v7.0.21) +Package Title: procfs (f436cbb89ece38bf080d446b3ca27053b305eaac) -------------------------------------------------------------------------------- * Declared Licenses * Apache-2.0 - Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -41315,13 +41200,13 @@ Apache-2.0 -------------------------------------------------------------------------------- -Package Title: github.com/minio/sha256-simd (v1.0.0) +Package Title: prometheus (37468d88dce85ac507f3fb7864c7d1c078e3e27d) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0 - +Multi-license: Apache-2.0 OR MIT, Apache-2.0 +* Multi-license: Apache-2.0 OR MIT * Apache License Version 2.0, January 2004 @@ -41526,143 +41411,7 @@ Apache-2.0 limitations under the License. - -* Other Licenses * -BSD-3-Clause - - -Copyright (c) 2009 The Go Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: github.com/mitchellh/copystructure (v1.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014 Mitchell Hashimoto - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: github.com/mitchellh/reflectwalk (v1.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2013 Mitchell Hashimoto - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: github.com/montanaflynn/stats (v0.6.6) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-2020 Montana Flynn (https://montanaflynn.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: github.com/mostynb/go-grpc-compression (v1.1.12) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - +* Apache-2.0 * Apache License Version 2.0, January 2004 @@ -41868,81 +41617,14 @@ Apache-2.0 --------------------------------------------------------------------------------- -Package Title: github.com/mtibben/percent (v0.2.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2020 Michael Tibben - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: github.com/nightlyone/lockfile (v1.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2012 Ingo Oeser - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: github.com/opencontainers/go-digest (v1.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0, CC-BY-SA-4.0 - -* Apache-2.0 * +* Other Licenses * +Multi-license: Apache-2.0 OR BSD-2-Clause, Multi-license: CC-BY-4.0 OR MIT OR OFL-1.1, MIT +* Multi-license: Apache-2.0 OR BSD-2-Clause * Apache License Version 2.0, January 2004 - https://www.apache.org/licenses/ + http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION @@ -42117,14 +41799,24 @@ Apache-2.0, CC-BY-SA-4.0 END OF TERMS AND CONDITIONS - Copyright 2019, 2020 OCI Contributors - Copyright 2016 Docker, Inc. + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] 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 - https://www.apache.org/licenses/LICENSE-2.0 + 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, @@ -42133,975 +41825,556 @@ Apache-2.0, CC-BY-SA-4.0 limitations under the License. -* CC-BY-SA-4.0 * +* Multi-license: CC-BY-4.0 OR MIT OR OFL-1.1 * -Attribution-ShareAlike 4.0 International +Attribution 4.0 International<> +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. +Section 1 – Definitions. + a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. + b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. + c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. + d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. + e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. + f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. + g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. + h. Licensor means the individual(s) or entity(ies) granting rights under this Public License. + i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. + j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. + k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. +Section 2 – Scope. + a. License grant. + 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: + A. reproduce and Share the Licensed Material, in whole or in part; and + B. produce, reproduce, and Share Adapted Material. + 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. + 3. Term. The term of this Public License is specified in Section 6(a). + 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. + 5. Downstream recipients. + A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. + B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. + 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). + b. Other rights. + 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. + 2. Patent and trademark rights are not licensed under this Public License. + 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. +Section 3 – License Conditions. +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + a. Attribution. + 1. If You Share the Licensed Material (including in modified form), You must: + A. retain the following if it is supplied by the Licensor with the Licensed Material: + i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); + ii. a copyright notice; + iii. a notice that refers to this Public License; + iv. a notice that refers to the disclaimer of warranties; + v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; + B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and + C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. + 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. + 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. + 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. +Section 4 – Sui Generis Database Rights. +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: + a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; + b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and + c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. +For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. +Section 5 – Disclaimer of Warranties and Limitation of Liability. + a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. + b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. + c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. +Section 6 – Term and Termination. + a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. + b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: + 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or + 2. upon express reinstatement by the Licensor. + c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. + d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. + e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. +Section 7 – Other Terms and Conditions. + a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. + b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. +Section 8 – Interpretation. + a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. + b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. + c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. + d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. +Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. +Creative Commons may be contacted at creativecommons.org. -======================================================================= +* MIT * -Creative Commons Corporation ("Creative Commons") is not a law firm and -does not provide legal services or legal advice. Distribution of -Creative Commons public licenses does not create a lawyer-client or -other relationship. Creative Commons makes its licenses and related -information available on an "as-is" basis. Creative Commons gives no -warranties regarding its licenses, any material licensed under their -terms and conditions, or any related information. Creative Commons -disclaims all liability for damages resulting from their use to the -fullest extent possible. +Copyright (c) 2012-2015 The Prometheus Authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Using Creative Commons Public Licenses +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -Creative Commons public licenses provide a standard set of terms and -conditions that creators and other rights holders may use to share -original works of authorship and other material subject to copyright -and certain other rights specified in the public license below. The -following considerations are for informational purposes only, are not -exhaustive, and do not form part of our licenses. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - Considerations for licensors: Our public licenses are - intended for use by those authorized to give the public - permission to use material in ways otherwise restricted by - copyright and certain other rights. Our licenses are - irrevocable. Licensors should read and understand the terms - and conditions of the license they choose before applying it. - Licensors should also secure all rights necessary before - applying our licenses so that the public can reuse the - material as expected. Licensors should clearly mark any - material not subject to the license. This includes other CC- - licensed material, or material used under an exception or - limitation to copyright. More considerations for licensors: - wiki.creativecommons.org/Considerations_for_licensors - Considerations for the public: By using one of our public - licenses, a licensor grants the public permission to use the - licensed material under specified terms and conditions. If - the licensor's permission is not necessary for any reason--for - example, because of any applicable exception or limitation to - copyright--then that use is not regulated by the license. Our - licenses grant only permissions under copyright and certain - other rights that a licensor has authority to grant. Use of - the licensed material may still be restricted for other - reasons, including because others have copyright or other - rights in the material. A licensor may make special requests, - such as asking that all changes be marked or described. - Although not required by our licenses, you are encouraged to - respect those requests where reasonable. More_considerations - for the public: - wiki.creativecommons.org/Considerations_for_licensees +-------------------------------------------------------------------------------- +Package Title: promise (7.3.1) +-------------------------------------------------------------------------------- -======================================================================= +* Declared Licenses * +MIT -Creative Commons Attribution-ShareAlike 4.0 International Public -License -By exercising the Licensed Rights (defined below), You accept and agree -to be bound by the terms and conditions of this Creative Commons -Attribution-ShareAlike 4.0 International Public License ("Public -License"). To the extent this Public License may be interpreted as a -contract, You are granted the Licensed Rights in consideration of Your -acceptance of these terms and conditions, and the Licensor grants You -such rights in consideration of benefits the Licensor receives from -making the Licensed Material available under these terms and -conditions. +Copyright (c) 2014 Forbes Lindesay +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Section 1 -- Definitions. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. - a. Adapted Material means material subject to Copyright and Similar - Rights that is derived from or based upon the Licensed Material - and in which the Licensed Material is translated, altered, - arranged, transformed, or otherwise modified in a manner requiring - permission under the Copyright and Similar Rights held by the - Licensor. For purposes of this Public License, where the Licensed - Material is a musical work, performance, or sound recording, - Adapted Material is always produced where the Licensed Material is - synched in timed relation with a moving image. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. - b. Adapter's License means the license You apply to Your Copyright - and Similar Rights in Your contributions to Adapted Material in - accordance with the terms and conditions of this Public License. - c. BY-SA Compatible License means a license listed at - creativecommons.org/compatiblelicenses, approved by Creative - Commons as essentially the equivalent of this Public License. - d. Copyright and Similar Rights means copyright and/or similar rights - closely related to copyright including, without limitation, - performance, broadcast, sound recording, and Sui Generis Database - Rights, without regard to how the rights are labeled or - categorized. For purposes of this Public License, the rights - specified in Section 2(b)(1)-(2) are not Copyright and Similar - Rights. +-------------------------------------------------------------------------------- +Package Title: prop-types (15.7.2) +-------------------------------------------------------------------------------- - e. Effective Technological Measures means those measures that, in the - absence of proper authority, may not be circumvented under laws - fulfilling obligations under Article 11 of the WIPO Copyright - Treaty adopted on December 20, 1996, and/or similar international - agreements. +* Declared Licenses * +MIT - f. Exceptions and Limitations means fair use, fair dealing, and/or - any other exception or limitation to Copyright and Similar Rights - that applies to Your use of the Licensed Material. - g. License Elements means the license attributes listed in the name - of a Creative Commons Public License. The License Elements of this - Public License are Attribution and ShareAlike. +MIT License - h. Licensed Material means the artistic or literary work, database, - or other material to which the Licensor applied this Public - License. +Copyright (c) 2013-present, Facebook, Inc. - i. Licensed Rights means the rights granted to You subject to the - terms and conditions of this Public License, which are limited to - all Copyright and Similar Rights that apply to Your use of the - Licensed Material and that the Licensor has authority to license. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - j. Licensor means the individual(s) or entity(ies) granting rights - under this Public License. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - k. Share means to provide material to the public by any means or - process that requires permission under the Licensed Rights, such - as reproduction, public display, public performance, distribution, - dissemination, communication, or importation, and to make material - available to the public including in ways that members of the - public may access the material from a place and at a time - individually chosen by them. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - l. Sui Generis Database Rights means rights other than copyright - resulting from Directive 96/9/EC of the European Parliament and of - the Council of 11 March 1996 on the legal protection of databases, - as amended and/or succeeded, as well as other essentially - equivalent rights anywhere in the world. - m. You means the individual or entity exercising the Licensed Rights - under this Public License. Your has a corresponding meaning. +-------------------------------------------------------------------------------- +Package Title: protobuf (b03c65ea87cdc3521ede29f62fe3ce239267c1bc) +-------------------------------------------------------------------------------- -Section 2 -- Scope. +* Declared Licenses * +BSD-3-Clause - a. License grant. - 1. Subject to the terms and conditions of this Public License, - the Licensor hereby grants You a worldwide, royalty-free, - non-sublicensable, non-exclusive, irrevocable license to - exercise the Licensed Rights in the Licensed Material to: +Copyright (c) 2013, The GoGo Authors. All rights reserved. - a. reproduce and Share the Licensed Material, in whole or - in part; and +Protocol Buffers for Go with Gadgets - b. produce, reproduce, and Share Adapted Material. +Go support for Protocol Buffers - Google's data interchange format - 2. Exceptions and Limitations. For the avoidance of doubt, where - Exceptions and Limitations apply to Your use, this Public - License does not apply, and You do not need to comply with - its terms and conditions. +Copyright 2010 The Go Authors. All rights reserved. +https://github.com/golang/protobuf - 3. Term. The term of this Public License is specified in Section - 6(a). +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - 4. Media and formats; technical modifications allowed. The - Licensor authorizes You to exercise the Licensed Rights in - all media and formats whether now known or hereafter created, - and to make technical modifications necessary to do so. The - Licensor waives and/or agrees not to assert any right or - authority to forbid You from making technical modifications - necessary to exercise the Licensed Rights, including - technical modifications necessary to circumvent Effective - Technological Measures. For purposes of this Public License, - simply making modifications authorized by this Section 2(a) - (4) never produces Adapted Material. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. - 5. Downstream recipients. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - a. Offer from the Licensor -- Licensed Material. Every - recipient of the Licensed Material automatically - receives an offer from the Licensor to exercise the - Licensed Rights under the terms and conditions of this - Public License. - b. Additional offer from the Licensor -- Adapted Material. - Every recipient of Adapted Material from You - automatically receives an offer from the Licensor to - exercise the Licensed Rights in the Adapted Material - under the conditions of the Adapter's License You apply. - c. No downstream restrictions. You may not offer or impose - any additional or different terms or conditions on, or - apply any Effective Technological Measures to, the - Licensed Material if doing so restricts exercise of the - Licensed Rights by any recipient of the Licensed - Material. - 6. No endorsement. Nothing in this Public License constitutes or - may be construed as permission to assert or imply that You - are, or that Your use of the Licensed Material is, connected - with, or sponsored, endorsed, or granted official status by, - the Licensor or others designated to receive attribution as - provided in Section 3(a)(1)(A)(i). +* Other Licenses * +BSD-2-Clause - b. Other rights. - 1. Moral rights, such as the right of integrity, are not - licensed under this Public License, nor are publicity, - privacy, and/or other similar personality rights; however, to - the extent possible, the Licensor waives and/or agrees not to - assert any such rights held by the Licensor to the limited - extent necessary to allow You to exercise the Licensed - Rights, but not otherwise. +Copyright (c) 2013 The GoGo Authors. All rights reserved. - 2. Patent and trademark rights are not licensed under this - Public License. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: - 3. To the extent possible, the Licensor waives any right to - collect royalties from You for the exercise of the Licensed - Rights, whether directly or through a collecting society - under any voluntary or waivable statutory or compulsory - licensing scheme. In all other cases the Licensor expressly - reserves any right to collect such royalties. + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation -Section 3 -- License Conditions. + and/or other materials provided with the distribution. -Your exercise of the Licensed Rights is expressly made subject to the -following conditions. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - a. Attribution. - 1. If You Share the Licensed Material (including in modified - form), You must: +-------------------------------------------------------------------------------- +Package Title: protobuf (ae97035608a719c7a1c1c41bed0ae0744bdb0c6f) +-------------------------------------------------------------------------------- - a. retain the following if it is supplied by the Licensor - with the Licensed Material: +* Declared Licenses * +BSD-3-Clause - i. identification of the creator(s) of the Licensed - Material and any others designated to receive - attribution, in any reasonable manner requested by - the Licensor (including by pseudonym if - designated); - ii. a copyright notice; +Copyright 2010 The Go Authors. All rights reserved. - iii. a notice that refers to this Public License; +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - iv. a notice that refers to the disclaimer of - warranties; + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. - v. a URI or hyperlink to the Licensed Material to the - extent reasonably practicable; +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - b. indicate if You modified the Licensed Material and - retain an indication of any previous modifications; and - c. indicate the Licensed Material is licensed under this - Public License, and include the text of, or the URI or - hyperlink to, this Public License. - 2. You may satisfy the conditions in Section 3(a)(1) in any - reasonable manner based on the medium, means, and context in - which You Share the Licensed Material. For example, it may be - reasonable to satisfy the conditions by providing a URI or - hyperlink to a resource that includes the required - information. - 3. If requested by the Licensor, You must remove any of the - information required by Section 3(a)(1)(A) to the extent - reasonably practicable. +-------------------------------------------------------------------------------- +Package Title: protobuf (6875c3d7242d1a3db910ce8a504f124cb840c23a) +-------------------------------------------------------------------------------- - b. ShareAlike. +* Declared Licenses * +BSD-3-Clause - In addition to the conditions in Section 3(a), if You Share - Adapted Material You produce, the following conditions also apply. - 1. The Adapter's License You apply must be a Creative Commons - license with the same License Elements, this version or - later, or a BY-SA Compatible License. +Copyright (c) 2018 The Go Authors. All rights reserved. - 2. You must include the text of, or the URI or hyperlink to, the - Adapter's License You apply. You may satisfy this condition - in any reasonable manner based on the medium, means, and - context in which You Share Adapted Material. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - 3. You may not offer or impose any additional or different terms - or conditions on, or apply any Effective Technological - Measures to, Adapted Material that restrict exercise of the - rights granted under the Adapter's License You apply. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Section 4 -- Sui Generis Database Rights. -Where the Licensed Rights include Sui Generis Database Rights that -apply to Your use of the Licensed Material: - a. for the avoidance of doubt, Section 2(a)(1) grants You the right - to extract, reuse, reproduce, and Share all or a substantial - portion of the contents of the database; +-------------------------------------------------------------------------------- +Package Title: protobufjs (6.8.6) +-------------------------------------------------------------------------------- - b. if You include all or a substantial portion of the database - contents in a database in which You have Sui Generis Database - Rights, then the database in which You have Sui Generis Database - Rights (but not its individual contents) is Adapted Material, +* Declared Licenses * +BSD-3-Clause - including for purposes of Section 3(b); and - c. You must comply with the conditions in Section 3(a) if You Share - all or a substantial portion of the contents of the database. -For the avoidance of doubt, this Section 4 supplements and does not -replace Your obligations under this Public License where the Licensed -Rights include other Copyright and Similar Rights. +This license applies to all parts of protobuf.js except those files +either explicitly including or referencing a different license or +located in a directory containing a different LICENSE file. +--- -Section 5 -- Disclaimer of Warranties and Limitation of Liability. +Copyright (c) 2016, Daniel Wirtz All rights reserved. - a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of its author, nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. - c. The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--- -Section 6 -- Term and Termination. +Code generated by the command line utilities is owned by the owner +of the input file used when generating it. This code is not +standalone and requires a support library to be linked with it. This +support library is itself covered by the above license. - a. This Public License applies for the term of the Copyright and - Similar Rights licensed here. However, if You fail to comply with - this Public License, then Your rights under this Public License - terminate automatically. - b. Where Your right to use the Licensed Material has terminated under - Section 6(a), it reinstates: - 1. automatically as of the date the violation is cured, provided - it is cured within 30 days of Your discovery of the - violation; or +* Other Licenses * +MIT, Protobuf - 2. upon express reinstatement by the Licensor. +* MIT * - For the avoidance of doubt, this Section 6(b) does not affect any - right the Licensor may have to seek remedies for Your violations - of this Public License. +Copyright (c) 2016 Chad Engler +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - c. For the avoidance of doubt, the Licensor may also offer the - Licensed Material under separate terms or conditions or stop - distributing the Licensed Material at any time; however, doing so - will not terminate this Public License. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - d. Sections 1, 5, 6, 7, and 8 survive termination of this Public - License. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +* Protobuf * -Section 7 -- Other Terms and Conditions. +Copyright (c) 2016, Daniel Wirtz All rights reserved. - a. The Licensor shall not be bound by any additional or different - terms or conditions communicated by You unless expressly agreed. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - b. Any arrangements, understandings, or agreements regarding the - Licensed Material not stated herein are separate from and - independent of the terms and conditions of this Public License. +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of its author, nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Section 8 -- Interpretation. +--- - a. For the avoidance of doubt, this Public License does not, and - shall not be interpreted to, reduce, limit, restrict, or impose - conditions on any use of the Licensed Material that could lawfully - be made without permission under this Public License. +Code generated by the command line utilities is owned by the owner +of the input file used when generating it. This code is not +standalone and requires a support library to be linked with it. This +support library is itself covered by the above license. - b. To the extent possible, if any provision of this Public License is - deemed unenforceable, it shall be automatically reformed to the - minimum extent necessary to make it enforceable. If the provision - cannot be reformed, it shall be severed from this Public License - without affecting the enforceability of the remaining terms and - conditions. - c. No term or condition of this Public License will be waived and no - failure to comply consented to unless expressly agreed to by the - Licensor. - d. Nothing in this Public License constitutes or may be interpreted - as a limitation upon, or waiver of, any privileges and immunities - that apply to the Licensor or You, including from the legal - processes of any jurisdiction or authority. +-------------------------------------------------------------------------------- +Package Title: psycopg2 (2.8.6) +-------------------------------------------------------------------------------- +* Declared Licenses * +Zlib -======================================================================= -Creative Commons is not a party to its public licenses. -Notwithstanding, Creative Commons may elect to apply one of its public -licenses to material it publishes and in those instances will be -considered the "Licensor." Except for the limited purpose of indicating -that material is shared under a Creative Commons public license or as -otherwise permitted by the Creative Commons policies published at -creativecommons.org/policies, Creative Commons does not authorize the -use of the trademark "Creative Commons" or any other trademark or logo -of Creative Commons without its prior written consent including, -without limitation, in connection with any unauthorized modifications -to any of its public licenses or any other arrangements, -understandings, or agreements concerning use of licensed material. For -the avoidance of doubt, this paragraph does not form part of the public -licenses. +This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. +Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: + 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. -Creative Commons may be contacted at creativecommons.org. +* Other Licenses * +DOC, LGPL-3.0-only +* DOC * --------------------------------------------------------------------------------- -Package Title: github.com/pierrec/lz4/v4 (v4.1.18) --------------------------------------------------------------------------------- +ACE(TM), TAO(TM), CIAO(TM), DAnCE>(TM), and CoSMIC(TM) (henceforth referred to as "DOC software") are copyrighted by Douglas C. Schmidt and his research group at Washington University, University of California, Irvine, and Vanderbilt University, Copyright (c) 1993-2009, all rights reserved. Since DOC software is open-source, freely available software, you are free to use, modify, copy, and distribute--perpetually and irrevocably--the DOC software source code and object code produced from the source, as well as copy and distribute modified versions of this software. You must, however, include this copyright statement along with any code built using DOC software that you release. No copyright statement needs to be provided if you just ship binary executables of your software products. +You can use DOC software in commercial and/or binary software releases and are under no obligation to redistribute any of your source code that is built using DOC software. Note, however, that you may not misappropriate the DOC software code, such as copyrighting it yourself or claiming authorship of the DOC software code, in a way that will prevent DOC software from being distributed freely using an open-source development model. You needn't inform anyone that you're using DOC software in your software, though we encourage you to let us know so we can promote your project in the DOC software success stories. +The ACE, TAO, CIAO, DAnCE, and CoSMIC web sites are maintained by the DOC Group at the Institute for Software Integrated Systems (ISIS) and the Center for Distributed Object Computing of Washington University, St. Louis for the development of open-source software as part of the open-source software community. Submissions are provided by the submitter ``as is'' with no warranties whatsoever, including any warranty of merchantability, noninfringement of third party intellectual property, or fitness for any particular purpose. In no event shall the submitter be liable for any direct, indirect, special, exemplary, punitive, or consequential damages, including without limitation, lost profits, even if advised of the possibility of such damages. Likewise, DOC software is provided as is with no warranties of any kind, including the warranties of design, merchantability, and fitness for a particular purpose, noninfringement, or arising from a course of dealing, usage or trade practice. Washington University, UC Irvine, Vanderbilt University, their employees, and students shall have no liability with respect to the infringement of copyrights, trade secrets or any patents by DOC software or any part thereof. Moreover, in no event will Washington University, UC Irvine, or Vanderbilt University, their employees, or students be liable for any lost revenue or profits or other special, indirect and consequential damages. +DOC software is provided with no support and without any obligation on the part of Washington University, UC Irvine, Vanderbilt University, their employees, or students to assist in its use, correction, modification, or enhancement. A number of companies around the world provide commercial support for DOC software, however. DOC software is Y2K-compliant, as long as the underlying OS platform is Y2K-compliant. Likewise, DOC software is compliant with the new US daylight savings rule passed by Congress as "The Energy Policy Act of 2005," which established new daylight savings times (DST) rules for the United States that expand DST as of March 2007. Since DOC software obtains time/date and calendaring information from operating systems users will not be affected by the new DST rules as long as they upgrade their operating systems accordingly. +The names ACE(TM), TAO(TM), CIAO(TM), DAnCE(TM), CoSMIC(TM), Washington University, UC Irvine, and Vanderbilt University, may not be used to endorse or promote products or services derived from this source without express written permission from Washington University, UC Irvine, or Vanderbilt University. This license grants no permission to call products or services derived from this source ACE(TM), TAO(TM), CIAO(TM), DAnCE(TM), or CoSMIC(TM), nor does it grant permission for the name Washington University, UC Irvine, or Vanderbilt University to appear in their names. +If you have any suggestions, additions, comments, or questions, please let me know. +Douglas C. Schmidt -* Declared Licenses * -BSD-3-Clause +* LGPL-3.0-only * +Copyright (C) 2007 Free Software Foundation, Inc. +Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. +This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below. + 0. Additional Definitions. -Copyright (c) 2015, Pierre Curto -All rights reserved. + As used herein, "this License" refers to version 3 of the GNU Lesser General Public License, and the "GNU GPL" refers to version 3 of the GNU General Public License. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + "The Library" refers to a covered work governed by this License, other than an Application or a Combined Work as defined below. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + An "Application" is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + A "Combined Work" is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the "Linked Version". -* Neither the name of xxHash nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. + The "Minimal Corresponding Source" for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + The "Corresponding Application Code" for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work. + 1. Exception to Section 3 of the GNU GPL. + You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL. + 2. Conveying Modified Versions. + If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version: + a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or + b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy. + 3. Object Code Incorporating Material from Library Header Files. + The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following: + a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License. + b) Accompany the object code with a copy of the GNU GPL and this license document. + 4. Combined Works. + You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following: + a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License. + b) Accompany the Combined Work with a copy of the GNU GPL and this license document. + c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document. + d) Do one of the following: + 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. + 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. + e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.) + 5. Combined Libraries. + You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following: + a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License. + b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. + 6. Revised Versions of the GNU Lesser General Public License. + The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. + Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation. + If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library. +-------------------------------------------------------------------------------- +Package Title: queue (44cc805cf13205b55f69e14bcb69867d1ae92f98) +-------------------------------------------------------------------------------- +* Declared Licenses * +MIT -* Other Licenses * -public-domain, gutenberg-2020 -* public-domain * -* gutenberg-2020 * +The MIT License (MIT) -THE FULL PROJECT GUTENBERG LICENSE -PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK +Copyright (c) 2014 Evan Huus -To protect the Project Gutenberg-tm mission of promoting the free -distribution of electronic works, by using or distributing this work -(or any other work associated in any way with the phrase "Project -Gutenberg"), you agree to comply with all the terms of the Full Project -Gutenberg-tm License available with this file or online at -www.gutenberg.org/license. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Section 1. General Terms of Use and Redistributing Project Gutenberg-tm electronic works +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -1.A. By reading or using any part of this Project Gutenberg-tm electronic work, you indicate that you have read, understand, agree to and accept all the terms of this license and intellectual property (trademark/copyright) agreement. If you do not agree to abide by all the terms of this agreement, you must cease using and return or destroy all copies of Project Gutenberg-tm electronic works in your possession. If you paid a fee for obtaining a copy of or access to a Project Gutenberg-tm electronic work and you do not agree to be bound by the terms of this agreement, you may obtain a refund from the person or entity to whom you paid the fee as set forth in paragraph 1.E.8. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -1.B. "Project Gutenberg" is a registered trademark. It may only be used on or associated in any way with an electronic work by people who agree to be bound by the terms of this agreement. There are a few things that you can do with most Project Gutenberg-tm electronic works even without complying with the full terms of this agreement. See paragraph 1.C below. There are a lot of things you can do with Project Gutenberg-tm electronic works if you follow the terms of this agreement and help preserve free future access to Project Gutenberg-tm electronic works. See paragraph 1.E below. -1.C. The Project Gutenberg Literary Archive Foundation ("the Foundation" or PGLAF), owns a compilation copyright in the collection of Project Gutenberg-tm electronic works. Nearly all the individual works in the collection are in the public domain in the United States. If an individual work is unprotected by copyright law in the United States and you are located in the United States, we do not claim a right to prevent you from copying, distributing, performing, displaying or creating derivative works based on the work as long as all references to Project Gutenberg are removed. Of course, we hope that you will support the Project Gutenberg-tm mission of promoting free access to electronic works by freely sharing Project Gutenberg-tm works in compliance with the terms of this agreement for keeping the Project Gutenberg-tm name associated with the work. You can easily comply with the terms of this agreement by keeping this work in the same format with its attached full Project Gutenberg-tm License when you share it without charge with others. +-------------------------------------------------------------------------------- +Package Title: raf (3.4.1) +-------------------------------------------------------------------------------- -[*] This particular work is one of the few individual works protected by copyright law in the United States and most of the remainder of the world, included in the Project Gutenberg collection with the permission of the copyright holder. Information on the copyright owner for this particular work and the terms of use imposed by the copyright holder on this work are set forth at the beginning of this work. +* Declared Licenses * +MIT -1.D. The copyright laws of the place where you are located also govern what you can do with this work. Copyright laws in most countries are in a constant state of change. If you are outside the United States, check the laws of your country in addition to the terms of this agreement before downloading, copying, displaying, performing, distributing or creating derivative works based on this work or any other Project Gutenberg-tm work. The Foundation makes no representations concerning the copyright status of any work in any country outside the United States. -1.E. Unless you have removed all references to Project Gutenberg: +Copyright 2013 Chris Dickinson -1.E.1. The following sentence, with active links to, or other immediate access to, the full Project Gutenberg-tm License must appear prominently whenever any copy of a Project Gutenberg-tm work (any work on which the phrase "Project Gutenberg" appears, or with which the phrase "Project Gutenberg" is associated) is accessed, displayed, performed, viewed, copied or distributed: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -This eBook is for the use of anyone anywhere in the United States and most other parts of the world at no cost and with almost no restrictions whatsoever. You may copy it, give it away or re-use it under the terms of the Project Gutenberg License included with this eBook or online at www.gutenberg.org. If you are not located in the United States, you’ll have to check the laws of the country where you are located before using this ebook. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -1.E.2. If an individual Project Gutenberg-tm electronic work is derived from texts not protected by U.S. copyright law (does not contain a notice indicating that it is posted with permission of the copyright holder), the work can be copied and distributed to anyone in the United States without paying any fees or charges. If you are redistributing or providing access to a work with the phrase "Project Gutenberg" associated with or appearing on the work, you must comply either with the requirements of paragraphs 1.E.1 through 1.E.7 or obtain permission for the use of the work and the Project Gutenberg-tm trademark as set forth in paragraphs 1.E.8 or 1.E.9. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -1.E.3. If an individual Project Gutenberg-tm electronic work is posted with the permission of the copyright holder, your use and distribution must comply with both paragraphs 1.E.1 through 1.E.7 and any additional terms imposed by the copyright holder. Additional terms will be linked to the Project Gutenberg-tm License for all works posted with the permission of the copyright holder found at the beginning of this work. - -1.E.4. Do not unlink or detach or remove the full Project Gutenberg-tm License terms from this work, or any files containing a part of this work or any other work associated with Project Gutenberg-tm. - -1.E.5. Do not copy, display, perform, distribute or redistribute this electronic work, or any part of this electronic work, without prominently displaying the sentence set forth in paragraph 1.E.1 with active links or immediate access to the full terms of the Project Gutenberg-tm License. - -1.E.6. You may convert to and distribute this work in any binary, compressed, marked up, nonproprietary or proprietary form, including any word processing or hypertext form. However, if you provide access to or distribute copies of a Project Gutenberg-tm work in a format other than "Plain Vanilla ASCII" or other format used in the official version posted on the official Project Gutenberg-tm web site (www.gutenberg.org), you must, at no additional cost, fee or expense to the user, provide a copy, a means of exporting a copy, or a means of obtaining a copy upon request, of the work in its original "Plain Vanilla ASCII" or other form. Any alternate format must include the full Project Gutenberg-tm License as specified in paragraph 1.E.1. - -1.E.7. Do not charge a fee for access to, viewing, displaying, performing, copying or distributing any Project Gutenberg-tm works unless you comply with paragraph 1.E.8 or 1.E.9. - -1.E.8. You may charge a reasonable fee for copies of or providing access to or distributing Project Gutenberg-tm electronic works provided that - - You pay a royalty fee of 20% of the gross profits you derive from the use of Project Gutenberg-tm works calculated using the method you already use to calculate your applicable taxes. The fee is owed to the owner of the Project Gutenberg-tm trademark, but he has agreed to donate royalties under this paragraph to the Project Gutenberg Literary Archive Foundation. Royalty payments must be paid within 60 days following each date on which you prepare (or are legally required to prepare) your periodic tax returns. Royalty payments should be clearly marked as such and sent to the Project Gutenberg Literary Archive Foundation at the address specified in Section 4, "Information about donations to the Project Gutenberg Literary Archive Foundation." - You provide a full refund of any money paid by a user who notifies you in writing (or by e-mail) within 30 days of receipt that s/he does not agree to the terms of the full Project Gutenberg-tm License. You must require such a user to return or destroy all copies of the works possessed in a physical medium and discontinue all use of and all access to other copies of Project Gutenberg-tm works. - You provide, in accordance with paragraph 1.F.3, a full refund of any money paid for a work or a replacement copy, if a defect in the electronic work is discovered and reported to you within 90 days of receipt of the work. - You comply with all other terms of this agreement for free distribution of Project Gutenberg-tm works. - -1.E.9. If you wish to charge a fee or distribute a Project Gutenberg-tm electronic work or group of works on different terms than are set forth in this agreement, you must obtain permission in writing from both the Project Gutenberg Literary Archive Foundation and The Project Gutenberg Trademark LLC, the owner of the Project Gutenberg-tm trademark. Contact the Foundation as set forth in Section 3 below. - -1.F. - -1.F.1. Project Gutenberg volunteers and employees expend considerable effort to identify, do copyright research on, transcribe and proofread works not protected by U.S. copyright law in creating the Project Gutenberg-tm collection. Despite these efforts, Project Gutenberg-tm electronic works, and the medium on which they may be stored, may contain "Defects," such as, but not limited to, incomplete, inaccurate or corrupt data, transcription errors, a copyright or other intellectual property infringement, a defective or damaged disk or other medium, a computer virus, or computer codes that damage or cannot be read by your equipment. - -1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for the "Right of Replacement or Refund" described in paragraph 1.F.3, the Project Gutenberg Literary Archive Foundation, the owner of the Project Gutenberg-tm trademark, and any other party distributing a Project Gutenberg-tm electronic work under this agreement, disclaim all liability to you for damages, costs and expenses, including legal fees. YOU AGREE THAT YOU HAVE NO REMEDIES FOR NEGLIGENCE, STRICT LIABILITY, BREACH OF WARRANTY OR BREACH OF CONTRACT EXCEPT THOSE PROVIDED IN PARAGRAPH 1.F.3. YOU AGREE THAT THE FOUNDATION, THE TRADEMARK OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL NOT BE LIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE OR INCIDENTAL DAMAGES EVEN IF YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH DAMAGE. - -1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you discover a defect in this electronic work within 90 days of receiving it, you can receive a refund of the money (if any) you paid for it by sending a written explanation to the person you received the work from. If you received the work on a physical medium, you must return the medium with your written explanation. The person or entity that provided you with the defective work may elect to provide a replacement copy in lieu of a refund. If you received the work electronically, the person or entity providing it to you may choose to give you a second opportunity to receive the work electronically in lieu of a refund. If the second copy is also defective, you may demand a refund in writing without further opportunities to fix the problem. - -1.F.4. Except for the limited right of replacement or refund set forth in paragraph 1.F.3, this work is provided to you ‘AS-IS’, WITH NO OTHER WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PURPOSE. - -1.F.5. Some states do not allow disclaimers of certain implied warranties or the exclusion or limitation of certain types of damages. If any disclaimer or limitation set forth in this agreement violates the law of the state applicable to this agreement, the agreement shall be interpreted to make the maximum disclaimer or limitation permitted by the applicable state law. The invalidity or unenforceability of any provision of this agreement shall not void the remaining provisions. - -1.F.6. INDEMNITY - You agree to indemnify and hold the Foundation, the trademark owner, any agent or employee of the Foundation, anyone providing copies of Project Gutenberg-tm electronic works in accordance with this agreement, and any volunteers associated with the production, promotion and distribution of Project Gutenberg-tm electronic works, harmless from all liability, costs and expenses, including legal fees, that arise directly or indirectly from any of the following which you do or cause to occur: (a) distribution of this or any Project Gutenberg-tm work, (b) alteration, modification, or additions or deletions to any Project Gutenberg-tm work, and (c) any Defect you cause. -Section 2. Information about the Mission of Project Gutenberg-tm - -Project Gutenberg-tm is synonymous with the free distribution of electronic works in formats readable by the widest variety of computers including obsolete, old, middle-aged and new computers. It exists because of the efforts of hundreds of volunteers and donations from people in all walks of life. - -Volunteers and financial support to provide volunteers with the assistance they need are critical to reaching Project Gutenberg-tm’s goals and ensuring that the Project Gutenberg-tm collection will remain freely available for generations to come. In 2001, the Project Gutenberg Literary Archive Foundation was created to provide a secure and permanent future for Project Gutenberg-tm and future generations. To learn more about the Project Gutenberg Literary Archive Foundation and how your efforts and donations can help, see Sections 3 and 4 and the Foundation information page at www.gutenberg.org -Section 3. Information about the Project Gutenberg Literary Archive Foundation - -The Project Gutenberg Literary Archive Foundation is a non profit 501(c)(3) educational corporation organized under the laws of the state of Mississippi and granted tax exempt status by the Internal Revenue Service. The Foundation’s EIN or federal tax identification number is 64-6221541. Contributions to the Project Gutenberg Literary Archive Foundation are tax deductible to the full extent permitted by U.S. federal laws and your state’s laws. - -The Foundation’s principal office is located at 4557 Melan Dr. S. Fairbanks, AK, 99712., but its volunteers and employees are scattered throughout numerous locations. Its business office is located at 809 North 1500 West, Salt Lake City, UT 84116, (801) 596-1887. Email contact links and up to date contact information can be found at the Foundation’s web site and official page at www.gutenberg.org/contact - -For additional contact information: - - Dr. Gregory B. Newby - Chief Executive and Director - gbnewby@pglaf.org - -Section 4. Information about Donations to the Project Gutenberg Literary Archive Foundation - -Project Gutenberg-tm depends upon and cannot survive without wide spread public support and donations to carry out its mission of increasing the number of public domain and licensed works that can be freely distributed in machine readable form accessible by the widest array of equipment including outdated equipment. Many small donations ($1 to $5,000) are particularly important to maintaining tax exempt status with the IRS. - -The Foundation is committed to complying with the laws regulating charities and charitable donations in all 50 states of the United States. Compliance requirements are not uniform and it takes a considerable effort, much paperwork and many fees to meet and keep up with these requirements. We do not solicit donations in locations where we have not received written confirmation of compliance. To SEND DONATIONS or determine the status of compliance for any particular state visit www.gutenberg.org/donate - -While we cannot and do not solicit contributions from states where we have not met the solicitation requirements, we know of no prohibition against accepting unsolicited donations from donors in such states who approach us with offers to donate. - -International donations are gratefully accepted, but we cannot make any statements concerning tax treatment of donations received from outside the United States. U.S. laws alone swamp our small staff. - -Please check the Project Gutenberg Web pages for current donation methods and addresses. Donations are accepted in a number of other ways including checks, online payments and credit card donations. To donate, please visit: www.gutenberg.org/donate -Section 5. General Information About Project Gutenberg-tm electronic works. - -Professor Michael S. Hart was the originator of the Project Gutenberg-tm concept of a library of electronic works that could be freely shared with anyone. For forty years, he produced and distributed Project Gutenberg-tm eBooks with only a loose network of volunteer support. - -Project Gutenberg-tm eBooks are often created from several printed editions, all of which are confirmed as not protected by copyright in the U.S. unless a copyright notice is included. Thus, we do not necessarily keep eBooks in compliance with any particular paper edition. - -Most people start at our Web site which has the main PG search facility: www.gutenberg.org - -This Web site includes information about Project Gutenberg-tm, including how to make donations to the Project Gutenberg Literary Archive Foundation, how to help produce our new eBooks, and how to subscribe to our email newsletter to hear about new eBooks. - -[*] This paragraph, after 1.C., is included only for copyrighted works. For those, you must contact the copyright holder before any non-free use or removal of the Project Gutenberg header. - - --------------------------------------------------------------------------------- -Package Title: github.com/pkg/browser (ce105d075bb4) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause - - -Copyright (c) 2014, Dave Cheney -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: github.com/power-devops/perfstat (5aafc221ea8c) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2020 Power DevOps - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - - - --------------------------------------------------------------------------------- -Package Title: github.com/PuerkitoBio/goquery (v1.5.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2012-2016, Martin Angers & Contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -* Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: github.com/rivo/uniseg (v0.2.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2019 Oliver Kuederle - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: github.com/robfig/cron/v3 (v3.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (C) 2012 Rob Figueiredo -All Rights Reserved. - -MIT LICENSE - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: github.com/rs/xid (v1.3.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2015 Olivier Poitrey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: github.com/shirou/gopsutil/v3 (v3.21.12) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -gopsutil is distributed under BSD license reproduced below. - -Copyright (c) 2014, WAKAYAMA Shirou -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of the gopsutil authors nor the names of its contributors - may be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -------- -internal/common/binary.go in the gopsutil is copied and modifid from golang/encoding/binary.go. - - - -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* Other Licenses * -BSD-2-Clause, BSD-2-Clause-FreeBSD - -* BSD-2-Clause * - -Copyright (c) 2010 Ed Schouten - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* BSD-2-Clause-FreeBSD * - -Copyright 1992-2012 The FreeBSD Project. All rights reserved. -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -THIS SOFTWARE IS PROVIDED BY THE FREEBSD PROJECT ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of the FreeBSD Project. - - --------------------------------------------------------------------------------- -Package Title: github.com/slack-go/slack (v0.9.5) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause - - -Copyright (c) 2015, Norberto Lopes -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation and/or -other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Other Licenses * -BSD-3-Clause, ISC, MIT - -* BSD-3-Clause * - -Copyright (c) 2013 The Gorilla WebSocket Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* ISC * - -Copyright (c) 2012-2016 Dave Collins -Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. -THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -* MIT * - -Copyright (c) 2015-2017 Daniel Nichter -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/slok/go-http-metrics (v0.10.0) +Package Title: raft (5fe1c31c515840dd807b8f07d91f704f8334a1b6) -------------------------------------------------------------------------------- * Declared Licenses * @@ -43297,7 +42570,7 @@ Apache-2.0 same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [2018] [Spotahome Ltd.] + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -43314,252 +42587,105 @@ Apache-2.0 -------------------------------------------------------------------------------- -Package Title: github.com/snowflakedb/gosnowflake (v1.3.4) +Package Title: raw-loader (0.5.1) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0 +MIT - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +Copyright (c) JS Foundation and other contributors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - 1. Definitions. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +-------------------------------------------------------------------------------- +Package Title: rc-align (2.4.5) +-------------------------------------------------------------------------------- - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +* Declared Licenses * +MIT - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +The MIT License (MIT) - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +Copyright (c) 2014-present yiminghe - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. +-------------------------------------------------------------------------------- +Package Title: rc-animate (2.11.1) +-------------------------------------------------------------------------------- - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +* Declared Licenses * +MIT - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +The MIT License (MIT) - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +Copyright (c) 2014-present yiminghe - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - END OF TERMS AND CONDITIONS +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - APPENDIX: How to apply the Apache License to your work. - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - Copyright (c) 2017-2018 Snowflake Computing Inc. All right reserved. +-------------------------------------------------------------------------------- +Package Title: rc-animate (3.1.1) +-------------------------------------------------------------------------------- - 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 +* Declared Licenses * +MIT - 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. +The MIT License (MIT) +Copyright (c) 2014-present yiminghe +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -* Other Licenses * -BSD-3-Clause, MIT, BSD-2-Clause +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -* BSD-3-Clause * +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Copyright (c) 2009,2014 Google Inc. All rights reserved. . All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +-------------------------------------------------------------------------------- +Package Title: rc-calendar (9.15.11) +-------------------------------------------------------------------------------- - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +* Declared Licenses * +MIT - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The MIT License (MIT) -* MIT * +Copyright (c) 2014-present yiminghe -Copyright (c) 2012 Dave Grijalva Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -43578,857 +42704,432 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -* BSD-2-Clause * -Copyright (c) 2014 Dave Cheney -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +-------------------------------------------------------------------------------- +Package Title: rc-cascader (0.17.5) +-------------------------------------------------------------------------------- - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +* Declared Licenses * +MIT - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +The MIT License (MIT) -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Copyright (c) 2014-present alipay.com +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: --------------------------------------------------------------------------------- -Package Title: github.com/tklauser/go-sysconf (v0.3.9) --------------------------------------------------------------------------------- +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -* Declared Licenses * -BSD-3-Clause +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -BSD 3-Clause License -Copyright (c) 2018-2021, Tobias Klauser -All rights reserved. +-------------------------------------------------------------------------------- +Package Title: rc-checkbox (2.1.8) +-------------------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +* Declared Licenses * +MIT -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +The MIT License (MIT) Copyright (c) 2016 React Components -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/tklauser/numcpus (v0.3.0) +Package Title: rc-collapse (1.11.8) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0 +MIT - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +The MIT License (MIT) - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +Copyright (c) 2014-present yiminghe - 1. Definitions. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +-------------------------------------------------------------------------------- +Package Title: rc-dialog (7.6.1) +-------------------------------------------------------------------------------- - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +* Declared Licenses * +MIT - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +The MIT License (MIT) - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +Copyright (c) 2014-present yiminghe - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +-------------------------------------------------------------------------------- +Package Title: rc-drawer (3.1.3) +-------------------------------------------------------------------------------- - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +* Declared Licenses * +MIT - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +MIT LICENSE - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. +-------------------------------------------------------------------------------- +Package Title: rc-dropdown (2.4.1) +-------------------------------------------------------------------------------- - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. +* Declared Licenses * +MIT - Copyright {yyyy} Authors of Cilium - 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 +The MIT License (MIT) - http://www.apache.org/licenses/LICENSE-2.0 +Copyright (c) 2014-present yiminghe - 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. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/trivago/tgo (v1.0.7) +Package Title: rc-editor-core (0.8.10) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0 - +BSD-3-Clause - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +BSD License - 1. Definitions. +For Draft.js software - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +Copyright (c) 2013-present, Facebook, Inc. +All rights reserved. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +* Other Licenses * +MIT - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +Copyright (c) +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and +-------------------------------------------------------------------------------- +Package Title: rc-editor-mention (1.1.13) +-------------------------------------------------------------------------------- - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +* Declared Licenses * +MIT - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. +The MIT License (MIT) - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +Copyright (c) 2014-present alipay.com - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - END OF TERMS AND CONDITIONS +-------------------------------------------------------------------------------- +Package Title: rc-form (2.4.12) +-------------------------------------------------------------------------------- - APPENDIX: How to apply the Apache License to your work. +* Declared Licenses * +MIT - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - Copyright {yyyy} {name of copyright owner} +The MIT License (MIT) - 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 +Copyright (c) 2014-present yiminghe - http://www.apache.org/licenses/LICENSE-2.0 +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - 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. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/twitchtv/twirp (v8.1.0) +Package Title: rc-hammerjs (0.6.10) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0 - +MIT - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +The MIT License (MIT) - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +Copyright (c) 2016 Jed Watson - 1. Definitions. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +-------------------------------------------------------------------------------- +Package Title: rc-input-number (4.5.9) +-------------------------------------------------------------------------------- - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +* Declared Licenses * +MIT - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +The MIT License (MIT) - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +Copyright (c) 2014-present yiminghe - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +-------------------------------------------------------------------------------- +Package Title: rc-mentions (0.4.2) +-------------------------------------------------------------------------------- - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +* Declared Licenses * +MIT - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +The MIT License (MIT) - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +Copyright (c) 2019-present alipay.com - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. +-------------------------------------------------------------------------------- +Package Title: rc-menu (7.5.5) +-------------------------------------------------------------------------------- - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. +* Declared Licenses * +MIT - Copyright [yyyy] [name of copyright owner] - 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 +The MIT License (MIT) - http://www.apache.org/licenses/LICENSE-2.0 +Copyright (c) 2014-present yiminghe - 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. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -* Other Licenses * -BSD-3-Clause, BSD-2-Clause, MIT, ISC -* BSD-3-Clause * -Copyright (c) 2010 The Go Authors. All rights reserved. . All rights reserved. +-------------------------------------------------------------------------------- +Package Title: rc-notification (3.3.1) +-------------------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +* Declared Licenses * +MIT - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +The MIT License (MIT) - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +Copyright (c) 2014-present yiminghe -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -* BSD-2-Clause * +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -Copyright (c) 2015 Dave Cheney +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation +-------------------------------------------------------------------------------- +Package Title: rc-pagination (1.20.15) +-------------------------------------------------------------------------------- - and/or other materials provided with the distribution. +* Declared Licenses * +MIT -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* MIT * +The MIT License (MIT) -Copyright (c) 2013 Kamil Kisiel -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright (c) 2014-present yiminghe -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -* ISC * +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Copyright (c) 2012-2016 Dave Collins -Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. -THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/twpayne/go-geom (v1.4.2) +Package Title: rc-progress (2.6.1) -------------------------------------------------------------------------------- * Declared Licenses * -BSD-2-Clause +MIT, Multi-license: MIT OR M, I, T +* MIT * -Copyright (c) 2013, Tom Payne -All rights reserved. +The MIT License (MIT) -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +Copyright (c) 2014-present yiminghe - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -* Other Licenses * +* Multi-license: MIT OR M, I, T * + +The MIT License (MIT) + +Copyright (c) 2014-present yiminghe + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: rc-progress (2.5.3) +-------------------------------------------------------------------------------- + +* Declared Licenses * MIT -Copyright (c) 2017 Paul Mach Permission is hereby granted, free of charge, to -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +The MIT License (MIT) -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Copyright (c) 2014-present yiminghe + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/twpayne/go-kml (v1.5.2) +Package Title: rc-rate (2.5.1) -------------------------------------------------------------------------------- * Declared Licenses * @@ -44437,39 +43138,66 @@ MIT The MIT License (MIT) -Copyright (c) 2015 Tom Payne +Copyright (c) 2014-present yiminghe -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/VividCortex/ewma (v1.1.1) +Package Title: rc-resize-observer (0.1.3) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License +The MIT License (MIT) -Copyright (c) 2013 VividCortex +Copyright (c) 2019-present afc163 + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: rc-select (9.2.3) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT License (MIT) + +Copyright (c) 2014-present alipay.com + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: rc-slider (8.7.1) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT License (MIT) +Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -44481,51 +43209,38 @@ furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/wadey/gocovmerge (b5bfa59ec0ad) +Package Title: rc-steps (3.5.0) -------------------------------------------------------------------------------- * Declared Licenses * -BSD-2-Clause +MIT -Copyright (c) 2015, Wade Simmons -All rights reserved. +The MIT License (MIT) -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +Copyright (c) 2014-present yiminghe -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: github.com/yusufpapurcu/wmi (v1.2.2) +Package Title: rc-switch (1.9.2) -------------------------------------------------------------------------------- * Declared Licenses * @@ -44534,129 +43249,252 @@ MIT The MIT License (MIT) -Copyright (c) 2013 Stack Exchange +Copyright (c) 2014-present yiminghe -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: glob (7.2.3) +Package Title: rc-table (6.10.15) -------------------------------------------------------------------------------- * Declared Licenses * -ISC, CC-BY-SA-4.0 +MIT -* ISC * -Copyright (c) Isaac Z. Schlueter and Contributors -Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. -THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +MIT LICENSE -* CC-BY-SA-4.0 * +Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ -The ISC License +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -Copyright (c) Isaac Z. Schlueter and Contributors +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -## Glob Logo -Glob's logo created by Tanya Brassie , licensed -under a Creative Commons Attribution-ShareAlike 4.0 International License -https://creativecommons.org/licenses/by-sa/4.0/ +-------------------------------------------------------------------------------- +Package Title: rc-tabs (9.7.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT License (MIT) + +Copyright (c) 2014-present yiminghe + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: glob-parent (5.1.2) +Package Title: rc-time-picker (3.7.3) -------------------------------------------------------------------------------- * Declared Licenses * -ISC +MIT -The ISC License +The MIT License (MIT) -Copyright (c) 2015, 2019 Elan Shanker +Copyright (c) 2014-present yiminghe -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: glob-parent (6.0.2) +Package Title: rc-tooltip (3.7.3) -------------------------------------------------------------------------------- * Declared Licenses * -ISC +MIT -The ISC License +The MIT License (MIT) +Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ -Copyright (c) 2015, 2019 Elan Shanker, 2021 Blaine Bublitz , Eric Schoffstall and other contributors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: rc-tree (2.1.4) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +MIT LICENSE + +Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: global-modules (1.0.0) +Package Title: rc-tree-select (2.9.4) -------------------------------------------------------------------------------- * Declared Licenses * MIT +MIT LICENSE + +Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: rc-trigger (2.6.5) +-------------------------------------------------------------------------------- + +* Declared Licenses * +Multi-license: MIT OR M, I, T, MIT + +* Multi-license: MIT OR M, I, T * + +The MIT License (MIT) +Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +* MIT * + The MIT License (MIT) +Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: rc-trigger (3.0.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT -Copyright (c) 2015-2017, Jon Schlinkert. + +The MIT License (MIT) +Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -44668,17 +43506,46 @@ furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: rc-upload (2.9.4) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +Copyright (c) 2016-present react-component +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: global-modules (2.0.0) +Package Title: rc-util (4.21.1) -------------------------------------------------------------------------------- * Declared Licenses * @@ -44687,7 +43554,8 @@ MIT The MIT License (MIT) -Copyright (c) 2015-present, Jon Schlinkert. +Copyright (c) 2014-present yiminghe +Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -44699,18 +43567,50 @@ furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: react (16.12.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +MIT License + +Copyright (c) Facebook, Inc. and its affiliates. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: global-prefix (1.0.2) +Package Title: react-copy-to-clipboard (5.0.3) -------------------------------------------------------------------------------- * Declared Licenses * @@ -44719,7 +43619,7 @@ MIT The MIT License (MIT) -Copyright (c) 2015-2017, Jon Schlinkert. +Copyright (c) 2016 Nik Butenko Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -44728,29 +43628,31 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + -------------------------------------------------------------------------------- -Package Title: global-prefix (3.0.0) +Package Title: react-dom (16.12.0) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) +MIT License -Copyright (c) 2015-present, Jon Schlinkert. +Copyright (c) Facebook, Inc. and its affiliates. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -44759,28 +43661,32 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: globals (11.12.0) +Package Title: react-fast-compare (2.0.4) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright (c) Sindre Sorhus (sindresorhus.com) +MIT License + +Copyright (c) 2018 Formidable Labs +Copyright (c) 2017 Evgeny Poberezkin + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -44800,15 +43706,20 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + -------------------------------------------------------------------------------- -Package Title: globals (13.20.0) +Package Title: react-fast-compare (3.2.0) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright (c) Sindre Sorhus (https://sindresorhus.com) +MIT License + +Copyright (c) 2018 Formidable Labs +Copyright (c) 2017 Evgeny Poberezkin + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -44828,15 +43739,17 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + -------------------------------------------------------------------------------- -Package Title: globby (11.1.0) +Package Title: react-helmet (5.2.1) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright (c) Sindre Sorhus (sindresorhus.com) +Copyright (c) 2015 NFL + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -44856,219 +43769,178 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + -------------------------------------------------------------------------------- -Package Title: glog (115d1f9172402af5d19c22bb21c1d90686fa8b20) +Package Title: react-input-autosize (2.2.2) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0 +MIT -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ +The MIT License (MIT) -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +Copyright (c) 2018 Jed Watson -1. Definitions. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -"License" shall mean the terms and conditions for use, reproduction, and -distribution as defined by Sections 1 through 9 of this document. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -"Licensor" shall mean the copyright owner or entity authorized by the copyright -owner that is granting the License. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -"Legal Entity" shall mean the union of the acting entity and all other entities -that control, are controlled by, or are under common control with that entity. -For the purposes of this definition, "control" means (i) the power, direct or -indirect, to cause the direction or management of such entity, whether by -contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the -outstanding shares, or (iii) beneficial ownership of such entity. -"You" (or "Your") shall mean an individual or Legal Entity exercising -permissions granted by this License. -"Source" form shall mean the preferred form for making modifications, including -but not limited to software source code, documentation source, and configuration -files. +-------------------------------------------------------------------------------- +Package Title: react-is (16.13.1) +-------------------------------------------------------------------------------- -"Object" form shall mean any form resulting from mechanical transformation or -translation of a Source form, including but not limited to compiled object code, -generated documentation, and conversions to other media types. +* Declared Licenses * +MIT -"Work" shall mean the work of authorship, whether in Source or Object form, made -available under the License, as indicated by a copyright notice that is included -in or attached to the work (an example is provided in the Appendix below). -"Derivative Works" shall mean any work, whether in Source or Object form, that -is based on (or derived from) the Work and for which the editorial revisions, -annotations, elaborations, or other modifications represent, as a whole, an -original work of authorship. For the purposes of this License, Derivative Works -shall not include works that remain separable from, or merely link (or bind by -name) to the interfaces of, the Work and Derivative Works thereof. +MIT License -"Contribution" shall mean any work of authorship, including the original version -of the Work and any modifications or additions to that Work or Derivative Works -thereof, that is intentionally submitted to Licensor for inclusion in the Work -by the copyright owner or by an individual or Legal Entity authorized to submit -on behalf of the copyright owner. For the purposes of this definition, -"submitted" means any form of electronic, verbal, or written communication sent -to the Licensor or its representatives, including but not limited to -communication on electronic mailing lists, source code control systems, and -issue tracking systems that are managed by, or on behalf of, the Licensor for -the purpose of discussing and improving the Work, but excluding communication -that is conspicuously marked or otherwise designated in writing by the copyright -owner as "Not a Contribution." +Copyright (c) Facebook, Inc. and its affiliates. -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf -of whom a Contribution has been received by Licensor and subsequently -incorporated within the Work. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -2. Grant of Copyright License. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the Work and such -Derivative Works in Source or Object form. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -3. Grant of Patent License. -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable (except as stated in this section) patent license to make, have -made, use, offer to sell, sell, import, and otherwise transfer the Work, where -such license applies only to those patent claims licensable by such Contributor -that are necessarily infringed by their Contribution(s) alone or by combination -of their Contribution(s) with the Work to which such Contribution(s) was -submitted. If You institute patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Work or a -Contribution incorporated within the Work constitutes direct or contributory -patent infringement, then any patent licenses granted to You under this License -for that Work shall terminate as of the date such litigation is filed. -4. Redistribution. +-------------------------------------------------------------------------------- +Package Title: react-lazy-load (3.1.13) +-------------------------------------------------------------------------------- -You may reproduce and distribute copies of the Work or Derivative Works thereof -in any medium, with or without modifications, and in Source or Object form, -provided that You meet the following conditions: +* Declared Licenses * +MIT -You must give any other recipients of the Work or Derivative Works a copy of -this License; and -You must cause any modified files to carry prominent notices stating that You -changed the files; and -You must retain, in the Source form of any Derivative Works that You distribute, -all copyright, patent, trademark, and attribution notices from the Source form -of the Work, excluding those notices that do not pertain to any part of the -Derivative Works; and -If the Work includes a "NOTICE" text file as part of its distribution, then any -Derivative Works that You distribute must include a readable copy of the -attribution notices contained within such NOTICE file, excluding those notices -that do not pertain to any part of the Derivative Works, in at least one of the -following places: within a NOTICE text file distributed as part of the -Derivative Works; within the Source form or documentation, if provided along -with the Derivative Works; or, within a display generated by the Derivative -Works, if and wherever such third-party notices normally appear. The contents of -the NOTICE file are for informational purposes only and do not modify the -License. You may add Your own attribution notices within Derivative Works that -You distribute, alongside or as an addendum to the NOTICE text from the Work, -provided that such additional attribution notices cannot be construed as -modifying the License. -You may add Your own copyright statement to Your modifications and may provide -additional or different license terms and conditions for use, reproduction, or -distribution of Your modifications, or for any such Derivative Works as a whole, -provided Your use, reproduction, and distribution of the Work otherwise complies -with the conditions stated in this License. -5. Submission of Contributions. +The MIT License (MIT) -Unless You explicitly state otherwise, any Contribution intentionally submitted -for inclusion in the Work by You to the Licensor shall be under the terms and -conditions of this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify the terms of -any separate license agreement you may have executed with Licensor regarding -such Contributions. +Copyright (c) 2015 Jason -6. Trademarks. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -This License does not grant permission to use the trade names, trademarks, -service marks, or product names of the Licensor, except as required for -reasonable and customary use in describing the origin of the Work and -reproducing the content of the NOTICE file. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -7. Disclaimer of Warranty. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -Unless required by applicable law or agreed to in writing, Licensor provides the -Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, -including, without limitation, any warranties or conditions of TITLE, -NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are -solely responsible for determining the appropriateness of using or -redistributing the Work and assume any risks associated with Your exercise of -permissions under this License. -8. Limitation of Liability. -In no event and under no legal theory, whether in tort (including negligence), -contract, or otherwise, unless required by applicable law (such as deliberate -and grossly negligent acts) or agreed to in writing, shall any Contributor be -liable to You for damages, including any direct, indirect, special, incidental, -or consequential damages of any character arising as a result of this License or -out of the use or inability to use the Work (including but not limited to -damages for loss of goodwill, work stoppage, computer failure or malfunction, or -any and all other commercial damages or losses), even if such Contributor has -been advised of the possibility of such damages. -9. Accepting Warranty or Additional Liability. +-------------------------------------------------------------------------------- +Package Title: react-lifecycles-compat (3.0.4) +-------------------------------------------------------------------------------- -While redistributing the Work or Derivative Works thereof, You may choose to -offer, and charge a fee for, acceptance of support, warranty, indemnity, or -other liability obligations and/or rights consistent with this License. However, -in accepting such obligations, You may act only on Your own behalf and on Your -sole responsibility, not on behalf of any other Contributor, and only if You -agree to indemnify, defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason of your -accepting any such warranty or additional liability. +* Declared Licenses * +MIT -END OF TERMS AND CONDITIONS -APPENDIX: How to apply the Apache License to your work +MIT License -To apply the Apache License to your work, attach the following boilerplate -notice, with the fields enclosed by brackets "[]" replaced with your own -identifying information. (Don't include the brackets!) The text should be -enclosed in the appropriate comment syntax for the file format. We also -recommend that a file or class name and description of purpose be included on -the same "printed page" as the copyright notice for easier identification within -third-party archives. +Copyright (c) 2013-present, Facebook, Inc. - Copyright [yyyy] [name of copyright owner] +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - 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 +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - http://www.apache.org/licenses/LICENSE-2.0 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - 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. + +-------------------------------------------------------------------------------- +Package Title: react-lines-ellipsis (0.15.3) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +MIT License + +Copyright (c) 2016 xiaody + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: go (024077e996b048517130b21ea6bf12aa23055d3d) +Package Title: react-motion (0.5.2) -------------------------------------------------------------------------------- * Declared Licenses * MIT -MIT License +The MIT License (MIT) -Copyright (c) 2016 json-iterator +Copyright (c) 2015 React Motion authors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -45090,8 +43962,9 @@ SOFTWARE. + -------------------------------------------------------------------------------- -Package Title: go-ansiterm (d185dfc1b5a126116ea5a19e148e29d16b4574c9) +Package Title: react-paginate (5.3.1) -------------------------------------------------------------------------------- * Declared Licenses * @@ -45100,7 +43973,7 @@ MIT The MIT License (MIT) -Copyright (c) 2015 Microsoft Corporation +Copyright (c) 2016 Adèle Delamarche Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -45123,417 +43996,476 @@ THE SOFTWARE. -------------------------------------------------------------------------------- -Package Title: go-autorest (3ddafdd73fe99af09e2226b8b3e9472ca456e355) +Package Title: react-popper (2.2.5) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0 - - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +MIT - 1. Definitions. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +The MIT License (MIT) - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +Copyright (c) 2018 React Popper authors - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +-------------------------------------------------------------------------------- +Package Title: react-redux (7.2.4) +-------------------------------------------------------------------------------- - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +* Declared Licenses * +MIT - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +The MIT License (MIT) - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +Copyright (c) 2015-present Dan Abramov - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +-------------------------------------------------------------------------------- +Package Title: react-resize-detector (7.1.2) +-------------------------------------------------------------------------------- - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +* Declared Licenses * +MIT - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +The MIT License (MIT) - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +Copyright (c) 2016 Denis Rul - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - END OF TERMS AND CONDITIONS +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - Copyright 2015 Microsoft Corporation +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - 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 +* Other Licenses * +0BSD - 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. +Copyright (C) 2006 by Rob Landley +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -------------------------------------------------------------------------------- -Package Title: go-autorest (4e2e1bb52ffbf0cf2dc47d548e7621d68fde032d) +Package Title: react-router (5.2.0) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0 - +MIT - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +MIT License - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +Copyright (c) React Training 2016-2018 - 1. Definitions. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +-------------------------------------------------------------------------------- +Package Title: react-router-dom (5.2.0) +-------------------------------------------------------------------------------- - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +* Declared Licenses * +MIT - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +MIT License - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +Copyright (c) React Training 2016-2018 - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +-------------------------------------------------------------------------------- +Package Title: react-select (1.2.1) +-------------------------------------------------------------------------------- - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +* Declared Licenses * +MIT - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +The MIT License (MIT) - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +Copyright (c) 2018 Jed Watson - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - END OF TERMS AND CONDITIONS - Copyright 2015 Microsoft Corporation +-------------------------------------------------------------------------------- +Package Title: react-side-effect (1.2.0) +-------------------------------------------------------------------------------- - 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 +* Declared Licenses * +MIT - 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. +The MIT License (MIT) + +Copyright (c) 2015 Dan Abramov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + -------------------------------------------------------------------------------- -Package Title: go-autorest (820a319d2214dc91d083022ae5ec50070175314c) +Package Title: react-slick (0.25.2) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0 +MIT + + +The MIT License (MIT) + +Copyright (c) 2014 Kiran Abburi + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + + +-------------------------------------------------------------------------------- +Package Title: react-smooth (2.0.1) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT License (MIT) + +Copyright (c) 2016 recharts + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: react-transition-group (2.9.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-3-Clause, Multi-license: BSD-2-Clause OR BSD-3-Clause + +* BSD-3-Clause * + +BSD 3-Clause License + +Copyright (c) 2018, React Community +Forked from React (https://github.com/facebook/react) Copyright 2013-present, Facebook, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* Multi-license: BSD-2-Clause OR BSD-3-Clause * + +BSD 3-Clause License + +Copyright (c) 2018, React Community +Forked from React (https://github.com/facebook/react) Copyright 2013-present, Facebook, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +* Other Licenses * +MIT + + +Copyright (c) 2013 present, Facebook, Inc. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +-------------------------------------------------------------------------------- +Package Title: recharts (2.2.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT License (MIT) + +Copyright (c) 2015-present recharts + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + + +-------------------------------------------------------------------------------- +Package Title: recharts-scale (0.4.5) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT License (MIT) + +Copyright (c) 2015 Sen Yang + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +-------------------------------------------------------------------------------- +Package Title: recorder (a21b46510fd6386803f37c9d599067cd8350a6e7) +-------------------------------------------------------------------------------- + +* Declared Licenses * +Apache-2.0 + Apache License Version 2.0, January 2004 @@ -45712,7 +44644,18 @@ Apache-2.0 END OF TERMS AND CONDITIONS - Copyright 2015 Microsoft Corporation + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -45729,14 +44672,13 @@ Apache-2.0 -------------------------------------------------------------------------------- -Package Title: go-autorest (b3a0b30a7423314874b3f585289e0e260cf5fc8d) +Package Title: redact (6fc41103e01e90df8ced26e2ab3bdb34fa1182ff) -------------------------------------------------------------------------------- * Declared Licenses * Apache-2.0 - Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -45914,7 +44856,18 @@ Apache-2.0 END OF TERMS AND CONDITIONS - Copyright 2015 Microsoft Corporation + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -45930,18 +44883,199 @@ Apache-2.0 --------------------------------------------------------------------------------- -Package Title: go-autorest (e7b391b759b050d6719cc6fd8bb87b6dc038bca6) --------------------------------------------------------------------------------- +* Other Licenses * +BSD-3-Clause, MIT -* Declared Licenses * -Apache-2.0 +* BSD-3-Clause * +Copyright (c) 2018 The Go Authors. All rights reserved. . All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +* MIT * + +Copyright (c) +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +-------------------------------------------------------------------------------- +Package Title: reduce-css-calc (2.1.8) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT License (MIT) + +Copyright (c) 2014 Maxime Thirouin & Joakim Bengtson + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: redux (4.1.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT License (MIT) + +Copyright (c) 2015-present Dan Abramov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: redux-saga (1.1.3) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT License (MIT) + +Copyright (c) 2015 Yassine Elouafi + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + + +-------------------------------------------------------------------------------- +Package Title: redux-thunk (2.3.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT License (MIT) + +Copyright (c) 2015-present Dan Abramov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: reflect2 (2b33151c9bbc5231aea69b8861c540102b087070) +-------------------------------------------------------------------------------- + +* Declared Licenses * +Apache-2.0 + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION @@ -46116,7 +45250,18 @@ Apache-2.0 END OF TERMS AND CONDITIONS - Copyright 2015 Microsoft Corporation + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -46133,161 +45278,187 @@ Apache-2.0 -------------------------------------------------------------------------------- -Package Title: go-bindata (53d73b98acf3bd9f56d7f9136ed8e1be64756e1d) +Package Title: reflow (602e329532049c9e33fa8c74e352a46fb9486947) -------------------------------------------------------------------------------- * Declared Licenses * -Multi-license: BSD-2-Clause OR CC0-1.0 +MIT -This work is subject to the CC0 1.0 Universal (CC0 1.0) Public Domain Dedication -license. Its contents can be found at: +MIT License -https://creativecommons.org/publicdomain/zero/1.0 +Copyright (c) 2019 Christian Muehlhaeuser -safefile.go and safefile_test.go are imported from github.com/dchest/safefile -and contain local modifications. The license from that project is included here: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Copyright (c) 2013 Dmitry Chestnykh -All rights reserved. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +Package Title: regenerator-runtime (0.10.5) +-------------------------------------------------------------------------------- +* Declared Licenses * +MIT -* Other Licenses * -CC0-1.0, BSD-3-Clause +Copyright (c) 2014-present, Facebook, Inc. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -* CC0-1.0 * +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -This work is subject to the CC0 1.0 Universal (CC0 1.0) Public Domain Dedication -license. Its contents can be found at: -https://creativecommons.org/publicdomain/zero/1.0 +-------------------------------------------------------------------------------- +Package Title: regenerator-runtime (0.11.1) +-------------------------------------------------------------------------------- -safefile.go and safefile_test.go are imported from github.com/dchest/safefile -and contain local modifications. The license from that project is included here: +* Declared Licenses * +MIT -Copyright (c) 2013 Dmitry Chestnykh -All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Copyright (c) 2014 present, Facebook, Inc. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +Package Title: regenerator-runtime (0.13.7) +-------------------------------------------------------------------------------- -* BSD-3-Clause * +* Declared Licenses * +MIT -Copyright (c) 2013 Dmitry Chestnykh. All rights reserved. . All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +MIT License - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +Copyright (c) 2014-present, Facebook, Inc. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: go-cmp (c3ad8435e7bef96af35732bc0789e5a2278c6d5f) +Package Title: remove-trailing-slash (0.1.1) -------------------------------------------------------------------------------- * Declared Licenses * -BSD-3-Clause +MIT -Copyright (c) 2017 The Go Authors. All rights reserved. +Copyright (c) +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +Package Title: reselect (4.0.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT License (MIT) + +Copyright (c) 2015-2018 Reselect Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: go-colorable (11a925cff3d38c293ddc8c05a16b504e3e2c63be) +Package Title: resize-observer-polyfill (1.5.1) -------------------------------------------------------------------------------- * Declared Licenses * @@ -46296,7 +45467,7 @@ MIT The MIT License (MIT) -Copyright (c) 2016 Yasuhiro Matsumoto +Copyright (c) 2016 Denis Rul Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -46319,17 +45490,82 @@ SOFTWARE. -------------------------------------------------------------------------------- -Package Title: go-connections (7395e3f8aa162843a74ed6d48e79627d9792ac55) +Package Title: resolve-pathname (3.0.0) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0 +MIT +MIT License - Apache License +Copyright (c) Michael Jackson 2016-2018 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: retry-as-promised (2.3.2) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT License + +Copyright (c) 2015-2016 Mick Hansen. http://mhansen.io + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + + + + +-------------------------------------------------------------------------------- +Package Title: returncheck (92cdbca611dd083736f8bdf426e4fc74791aab9e) +-------------------------------------------------------------------------------- + +* Declared Licenses * +Apache-2.0 + + +Apache License Version 2.0, January 2004 - https://www.apache.org/licenses/ + http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION @@ -46504,13 +45740,24 @@ Apache-2.0 END OF TERMS AND CONDITIONS - Copyright 2015 Docker, Inc. + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {} 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 - https://www.apache.org/licenses/LICENSE-2.0 + 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, @@ -46520,21 +45767,50 @@ Apache-2.0 + -------------------------------------------------------------------------------- -Package Title: go-deadlock (00ee193ea4a32e0dea6c837f4fa6416c12242cc8) +Package Title: rmc-feedback (2.0.0) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0 - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +MIT - 1. Definitions. + +Copyright (c) 2016 Jed Watson. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +-------------------------------------------------------------------------------- +Package Title: rpc (7f482067a47ba5c8f25f2bcae9ab99b3fed820e9) +-------------------------------------------------------------------------------- + +* Declared Licenses * +Apache-2.0 + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. @@ -46708,7 +45984,7 @@ Apache-2.0 APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" + boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -46716,7 +45992,7 @@ Apache-2.0 same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright {yyyy} {name of copyright owner} + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -46733,45 +46009,107 @@ Apache-2.0 -------------------------------------------------------------------------------- -Package Title: go-difflib (792786c7400a136282c1664665ae0a8db921c6c2) +Package Title: safehtml (84376441970934a68e39214e319511a596b8d015) -------------------------------------------------------------------------------- * Declared Licenses * BSD-3-Clause -Copyright (c) 2013, Patrick Mezard -All rights reserved. +Copyright (c) 2017 The Go Authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - The names of its contributors may not be used to endorse or promote -products derived from this software without specific prior written -permission. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +-------------------------------------------------------------------------------- +Package Title: sarama (6acb2767144a840d9cc423f2917617e3372da7be) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +Copyright (c) 2013 Shopify + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: scheduler (0.18.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +MIT License + +Copyright (c) Facebook, Inc. and its affiliates. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: go-genproto (daa745c078e18def54ea6b63235554b59c97f01d) +Package Title: scram (17629a50d5ce12875d83f9095809ae43b765c303) -------------------------------------------------------------------------------- * Declared Licenses * @@ -46954,75 +46292,194 @@ Apache-2.0 incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. +-------------------------------------------------------------------------------- +Package Title: semaphore (6952cef993b28a4d0871600e08bfcf2f2b1207a0) +-------------------------------------------------------------------------------- - Copyright [yyyy] [name of copyright owner] +* Declared Licenses * +MIT - 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 +MIT License - 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. +Copyright (c) 2017 marusama + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: go-github (a4b145ac2406e3f63343e403605435ac98ea2ba6) +Package Title: semver (7bb0c843b53d6ad21a3f619cb22c4b442bb3ef3e) -------------------------------------------------------------------------------- * Declared Licenses * -BSD-3-Clause +MIT -Copyright (c) 2013 The go-github AUTHORS. All rights reserved. +Copyright (C) 2014-2019, Matt Butcher and Matt Farina + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: semver (4.3.2) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-3-Clause, BSD-2-Clause + +* BSD-3-Clause * + +Copyright (c) Isaac Z. Schlueter" . All rights reserved. Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* BSD-2-Clause * + +Copyright (c) Isaac Z. Schlueter ("Author") +All rights reserved. + +The BSD License + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + -------------------------------------------------------------------------------- -Package Title: go-gitignore (39e6bddfb2924a6703a1cb3bb97098db26d7b460) +Package Title: semver (5.5.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +ISC + + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: sequelize (4.37.1) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +Copyright (c) 2014-present Sequelize Author +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +-------------------------------------------------------------------------------- +Package Title: sequelize-cockroachdb (1.0.2) -------------------------------------------------------------------------------- * Declared Licenses * @@ -47209,7 +46666,7 @@ Apache-2.0 APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" + boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -47217,7 +46674,7 @@ Apache-2.0 same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright {yyyy} {name of copyright owner} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -47234,14 +46691,144 @@ Apache-2.0 -------------------------------------------------------------------------------- -Package Title: go-grpc-prometheus (c225b8c3b01faf2899099b768856a9e916e5087b) +Package Title: setimmediate (1.0.5) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, and Domenic Denicola + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: shallow-equal (1.2.1) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT License (MIT) + +Copyright © 2016 Misha Moroshko + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the “Software”), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: shallowequal (1.1.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +MIT License + +Copyright (c) 2017 Alberto Leal (github.com/dashed) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: shimmer (1.2.0) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-2-Clause + + +Copyright (c) 2013-2019, Forrest L Norvell +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +-------------------------------------------------------------------------------- +Package Title: shlex (e7afc7fbc51079733e9468cdfd1efcd7d196cd1d) -------------------------------------------------------------------------------- * Declared Licenses * Apache-2.0 - Apache License + + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -47444,40 +47031,259 @@ Apache-2.0 limitations under the License. + -------------------------------------------------------------------------------- -Package Title: go-homedir (af06845cf3004701891bf4fdb884bfe4920b3727) +Package Title: skylark (a5f7082aabed29c0e429c722292c66ec8ecf9591) -------------------------------------------------------------------------------- * Declared Licenses * -MIT +BSD-3-Clause -The MIT License (MIT) +Copyright (c) 2017 The Bazel Authors. All rights reserved. -Copyright (c) 2013 Mitchell Hashimoto +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the + distribution. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +* Other Licenses * +Apache-2.0 + + +Copyright 2014 The Bazel Authors. All rights reserved. + +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. + + +-------------------------------------------------------------------------------- +Package Title: snappy (544b4180ac705b7605231d4a4550a1acb22a19fe) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-3-Clause + + +Copyright (c) 2011 The Snappy-Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +-------------------------------------------------------------------------------- +Package Title: source-list-map (2.0.1) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +Copyright 2017 JS Foundation + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +* Other Licenses * +BSD-3-Clause + + +Copyright (c) 2011 Mozilla Foundation and contributors . All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +-------------------------------------------------------------------------------- +Package Title: source-map (0.6.1) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-3-Clause + + + +Copyright (c) 2009-2011, Mozilla Foundation and contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the names of the Mozilla Foundation nor the names of project + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +-------------------------------------------------------------------------------- +Package Title: split (1.0.1) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +Copyright (c) 2011 Dominic Tarr + +Permission is hereby granted, free of charge, +to any person obtaining a copy of this software and +associated documentation files (the "Software"), to +deal in the Software without restriction, including +without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom +the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +-------------------------------------------------------------------------------- +Package Title: stack (2fee6af1a9795aafbe0253a0cfbdf668e1fb8a9a) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT License (MIT) + +Copyright (c) 2014 Chris Hines + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: go-http-auth (860ed7f246ff5abfdbd5c7ce618fd37b49fd3d86) +Package Title: status (935308aef7372e7685e8fbee162aae8f7a7e515a) -------------------------------------------------------------------------------- * Declared Licenses * @@ -47662,190 +47468,76 @@ Apache-2.0 END OF TERMS AND CONDITIONS + APPENDIX: How to apply the Apache License to your work. + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + Copyright [yyyy] [name of copyright owner] --------------------------------------------------------------------------------- -Package Title: go-humanize (9f541cc9db5d55bce703bd99987c9d5cb8eea45e) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2005-2008 Dustin Sallings - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + 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 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 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. -------------------------------------------------------------------------------- -Package Title: go-internal (ec119421bb970ac974ea4ac16d8b58ffd0d727fc) +Package Title: store (913427a1d5e89604e50ea1db0f28f34966d61602) -------------------------------------------------------------------------------- * Declared Licenses * BSD-3-Clause -Copyright (c) 2018 The Go Authors. All rights reserved. +Copyright ©2012 The bíogo Authors. All rights reserved. Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the bíogo project nor the names of its authors and + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: go-isatty (ed75e619dc0f0489fd4062163a7d061eaa249b9c) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Yasuhiro MATSUMOTO - -MIT License (Expat) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: go-jira (cd21164aebb7b68798637214c03967aa8a665048) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015 Andy Grunwald - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - - --------------------------------------------------------------------------------- -Package Title: go-jmespath (3d4fd11601ddca248480565884e34e393313cd62) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - -Copyright 2015 James Saryerwinnie - -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. - - - -* Other Licenses * -MIT - - -Copyright (c) 2012-2018 Mat Ryer and Tyler Bunnell -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: go-jose.v2 (3a5ee095dcb5030a9de84fb92c222ac652fff176) +Package Title: stream (696b145b53b9611fe9c9f189122f990171e391a0) -------------------------------------------------------------------------------- * Declared Licenses * Apache-2.0 - - Apache License +Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -48025,7 +47717,7 @@ Apache-2.0 APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" + boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -48033,7 +47725,7 @@ Apache-2.0 same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright {yyyy} {name of copyright owner} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -48049,49 +47741,18 @@ Apache-2.0 -* Other Licenses * -BSD-3-Clause - - -Copyright (c) 2012 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -------------------------------------------------------------------------------- -Package Title: go-localereader (6338b4c69507fb1f9edba3db33882a8e9ab9bfa8) +Package Title: string-convert (0.2.1) -------------------------------------------------------------------------------- * Declared Licenses * MIT -Copyright (c) +The MIT License (MIT) + +Copyright (c) 2014 Kiran Abburi + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -48112,7 +47773,7 @@ SOFTWARE. -------------------------------------------------------------------------------- -Package Title: go-md2man (d97078115282836e16d0dca10b4b42ce60fc70e6) +Package Title: string-natural-compare (2.0.3) -------------------------------------------------------------------------------- * Declared Licenses * @@ -48121,7 +47782,7 @@ MIT The MIT License (MIT) -Copyright (c) 2014 Brian Goff +Copyright (c) 2015-2016 Nathan Woltman Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -48143,487 +47804,21 @@ SOFTWARE. -* Other Licenses * -BSD-2-Clause - - -Copyright (c) 2011 Russ Ross - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -------------------------------------------------------------------------------- -Package Title: go-metrics (cf1acfcdf4751e0554ffa765d03e479ec491cad6) +Package Title: stringprep (dabf77401b04b57597914595d170883092e0df3c) -------------------------------------------------------------------------------- * Declared Licenses * -BSD-2-Clause +Apache-2.0 -Copyright 2012 Richard Crowley. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - -THIS SOFTWARE IS PROVIDED BY RICHARD CROWLEY ``AS IS'' AND ANY EXPRESS -OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL RICHARD CROWLEY OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGE. - -The views and conclusions contained in the software and documentation -are those of the authors and should not be interpreted as representing -official policies, either expressed or implied, of Richard Crowley. - - - --------------------------------------------------------------------------------- -Package Title: go-metro (280f6062b5bc97ee9b9afe7f2ccb361e59845baa) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -This package is a mechanical translation of the reference C++ code for -MetroHash, available at https://github.com/jandrewrogers/MetroHash - -The MIT License (MIT) - -Copyright (c) 2016 Damian Gryski - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: go-multierror (9974e9ec57696378079ecc3accd3d6f29401b3a0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MPL-2.0 - - -Mozilla Public License, version 2.0 - -1. Definitions - -1.1. “Contributor” - - means each individual or legal entity that creates, contributes to the - creation of, or owns Covered Software. - -1.2. “Contributor Version” - - means the combination of the Contributions of others (if any) used by a - Contributor and that particular Contributor’s Contribution. - -1.3. “Contribution” - - means Covered Software of a particular Contributor. - -1.4. “Covered Software” - - means Source Code Form to which the initial Contributor has attached the - notice in Exhibit A, the Executable Form of such Source Code Form, and - Modifications of such Source Code Form, in each case including portions - thereof. - -1.5. “Incompatible With Secondary Licenses” - means - - a. that the initial Contributor has attached the notice described in - Exhibit B to the Covered Software; or - - b. that the Covered Software was made available under the terms of version - 1.1 or earlier of the License, but not also under the terms of a - Secondary License. - -1.6. “Executable Form” - - means any form of the work other than Source Code Form. - -1.7. “Larger Work” - - means a work that combines Covered Software with other material, in a separate - file or files, that is not Covered Software. - -1.8. “License” - - means this document. - -1.9. “Licensable” - - means having the right to grant, to the maximum extent possible, whether at the - time of the initial grant or subsequently, any and all of the rights conveyed by - this License. - -1.10. “Modifications” - - means any of the following: - - a. any file in Source Code Form that results from an addition to, deletion - from, or modification of the contents of Covered Software; or - - b. any new file in Source Code Form that contains any Covered Software. - -1.11. “Patent Claims” of a Contributor - - means any patent claim(s), including without limitation, method, process, - and apparatus claims, in any patent Licensable by such Contributor that - would be infringed, but for the grant of the License, by the making, - using, selling, offering for sale, having made, import, or transfer of - either its Contributions or its Contributor Version. - -1.12. “Secondary License” - - means either the GNU General Public License, Version 2.0, the GNU Lesser - General Public License, Version 2.1, the GNU Affero General Public - License, Version 3.0, or any later versions of those licenses. - -1.13. “Source Code Form” - - means the form of the work preferred for making modifications. - -1.14. “You” (or “Your”) - - means an individual or a legal entity exercising rights under this - License. For legal entities, “You” includes any entity that controls, is - controlled by, or is under common control with You. For purposes of this - definition, “control” means (a) the power, direct or indirect, to cause - the direction or management of such entity, whether by contract or - otherwise, or (b) ownership of more than fifty percent (50%) of the - outstanding shares or beneficial ownership of such entity. - - -2. License Grants and Conditions - -2.1. Grants - - Each Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - a. under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or as - part of a Larger Work; and - - b. under Patent Claims of such Contributor to make, use, sell, offer for - sale, have made, import, and otherwise transfer either its Contributions - or its Contributor Version. - -2.2. Effective Date - - The licenses granted in Section 2.1 with respect to any Contribution become - effective for each Contribution on the date the Contributor first distributes - such Contribution. - -2.3. Limitations on Grant Scope - - The licenses granted in this Section 2 are the only rights granted under this - License. No additional rights or licenses will be implied from the distribution - or licensing of Covered Software under this License. Notwithstanding Section - 2.1(b) above, no patent license is granted by a Contributor: - - a. for any code that a Contributor has removed from Covered Software; or - - b. for infringements caused by: (i) Your and any other third party’s - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - - c. under Patent Claims infringed by Covered Software in the absence of its - Contributions. - - This License does not grant any rights in the trademarks, service marks, or - logos of any Contributor (except as may be necessary to comply with the - notice requirements in Section 3.4). - -2.4. Subsequent Licenses - - No Contributor makes additional grants as a result of Your choice to - distribute the Covered Software under a subsequent version of this License - (see Section 10.2) or under the terms of a Secondary License (if permitted - under the terms of Section 3.3). - -2.5. Representation - - Each Contributor represents that the Contributor believes its Contributions - are its original creation(s) or it has sufficient rights to grant the - rights to its Contributions conveyed by this License. - -2.6. Fair Use - - This License is not intended to limit any rights You have under applicable - copyright doctrines of fair use, fair dealing, or other equivalents. - -2.7. Conditions - - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in - Section 2.1. - - -3. Responsibilities - -3.1. Distribution of Source Form - - All distribution of Covered Software in Source Code Form, including any - Modifications that You create or to which You contribute, must be under the - terms of this License. You must inform recipients that the Source Code Form - of the Covered Software is governed by the terms of this License, and how - they can obtain a copy of this License. You may not attempt to alter or - restrict the recipients’ rights in the Source Code Form. - -3.2. Distribution of Executable Form - - If You distribute Covered Software in Executable Form then: - - a. such Covered Software must also be made available in Source Code Form, - as described in Section 3.1, and You must inform recipients of the - Executable Form how they can obtain a copy of such Source Code Form by - reasonable means in a timely manner, at a charge no more than the cost - of distribution to the recipient; and - - b. You may distribute such Executable Form under the terms of this License, - or sublicense it under different terms, provided that the license for - the Executable Form does not attempt to limit or alter the recipients’ - rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - - You may create and distribute a Larger Work under terms of Your choice, - provided that You also comply with the requirements of this License for the - Covered Software. If the Larger Work is a combination of Covered Software - with a work governed by one or more Secondary Licenses, and the Covered - Software is not Incompatible With Secondary Licenses, this License permits - You to additionally distribute such Covered Software under the terms of - such Secondary License(s), so that the recipient of the Larger Work may, at - their option, further distribute the Covered Software under the terms of - either this License or such Secondary License(s). - -3.4. Notices - - You may not remove or alter the substance of any license notices (including - copyright notices, patent notices, disclaimers of warranty, or limitations - of liability) contained within the Source Code Form of the Covered - Software, except that You may alter any license notices to the extent - required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - - You may choose to offer, and to charge a fee for, warranty, support, - indemnity or liability obligations to one or more recipients of Covered - Software. However, You may do so only on Your own behalf, and not on behalf - of any Contributor. You must make it absolutely clear that any such - warranty, support, indemnity, or liability obligation is offered by You - alone, and You hereby agree to indemnify every Contributor for any - liability incurred by such Contributor as a result of warranty, support, - indemnity or liability terms You offer. You may include additional - disclaimers of warranty and limitations of liability specific to any - jurisdiction. - -4. Inability to Comply Due to Statute or Regulation - - If it is impossible for You to comply with any of the terms of this License - with respect to some or all of the Covered Software due to statute, judicial - order, or regulation then You must: (a) comply with the terms of this License - to the maximum extent possible; and (b) describe the limitations and the code - they affect. Such description must be placed in a text file included with all - distributions of the Covered Software under this License. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Termination - -5.1. The rights granted under this License will terminate automatically if You - fail to comply with any of its terms. However, if You become compliant, - then the rights granted under this License from a particular Contributor - are reinstated (a) provisionally, unless and until such Contributor - explicitly and finally terminates Your grants, and (b) on an ongoing basis, - if such Contributor fails to notify You of the non-compliance by some - reasonable means prior to 60 days after You have come back into compliance. - Moreover, Your grants from a particular Contributor are reinstated on an - ongoing basis if such Contributor notifies You of the non-compliance by - some reasonable means, this is the first time You have received notice of - non-compliance with this License from such Contributor, and You become - compliant prior to 30 days after Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent - infringement claim (excluding declaratory judgment actions, counter-claims, - and cross-claims) alleging that a Contributor Version directly or - indirectly infringes any patent, then the rights granted to You by any and - all Contributors for the Covered Software under Section 2.1 of this License - shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user - license agreements (excluding distributors and resellers) which have been - validly granted by You or Your distributors under this License prior to - termination shall survive termination. - -6. Disclaimer of Warranty - - Covered Software is provided under this License on an “as is” basis, without - warranty of any kind, either expressed, implied, or statutory, including, - without limitation, warranties that the Covered Software is free of defects, - merchantable, fit for a particular purpose or non-infringing. The entire - risk as to the quality and performance of the Covered Software is with You. - Should any Covered Software prove defective in any respect, You (not any - Contributor) assume the cost of any necessary servicing, repair, or - correction. This disclaimer of warranty constitutes an essential part of this - License. No use of any Covered Software is authorized under this License - except under this disclaimer. - -7. Limitation of Liability - - Under no circumstances and under no legal theory, whether tort (including - negligence), contract, or otherwise, shall any Contributor, or anyone who - distributes Covered Software as permitted above, be liable to You for any - direct, indirect, special, incidental, or consequential damages of any - character including, without limitation, damages for lost profits, loss of - goodwill, work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses, even if such party shall have been - informed of the possibility of such damages. This limitation of liability - shall not apply to liability for death or personal injury resulting from such - party’s negligence to the extent applicable law prohibits such limitation. - Some jurisdictions do not allow the exclusion or limitation of incidental or - consequential damages, so this exclusion and limitation may not apply to You. - -8. Litigation - - Any litigation relating to this License may be brought only in the courts of - a jurisdiction where the defendant maintains its principal place of business - and such litigation shall be governed by laws of that jurisdiction, without - reference to its conflict-of-law provisions. Nothing in this Section shall - prevent a party’s ability to bring cross-claims or counter-claims. - -9. Miscellaneous - - This License represents the complete agreement concerning the subject matter - hereof. If any provision of this License is held to be unenforceable, such - provision shall be reformed only to the extent necessary to make it - enforceable. Any law or regulation which provides that the language of a - contract shall be construed against the drafter shall not be used to construe - this License against a Contributor. - - -10. Versions of the License - -10.1. New Versions - - Mozilla Foundation is the license steward. Except as provided in Section - 10.3, no one other than the license steward has the right to modify or - publish new versions of this License. Each version will be given a - distinguishing version number. - -10.2. Effect of New Versions - - You may distribute the Covered Software under the terms of the version of - the License under which You originally received the Covered Software, or - under the terms of any subsequent version published by the license - steward. - -10.3. Modified Versions - - If you create software not governed by this License, and you want to - create a new license for such software, you may create and use a modified - version of this License if you rename the license and remove any - references to the name of the license steward (except to note that such - modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses - If You choose to distribute Source Code Form that is Incompatible With - Secondary Licenses under the terms of this version of the License, the - notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice - - This Source Code Form is subject to the - terms of the Mozilla Public License, v. - 2.0. If a copy of the MPL was not - distributed with this file, You can - obtain one at - http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular file, then -You may include the notice in a location (such as a LICENSE file in a relevant -directory) where a recipient would be likely to look for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - “Incompatible With Secondary Licenses” Notice - - This Source Code Form is “Incompatible - With Secondary Licenses”, as defined by - the Mozilla Public License, v. 2.0. - - - --------------------------------------------------------------------------------- -Package Title: go-oidc (8d771559cf6e5111c9b9159810d0e4538e7cdc82) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. @@ -48794,290 +47989,314 @@ Apache License incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - 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. - - -------------------------------------------------------------------------------- -Package Title: go-osc52 (474dc8889ff262ca1c5b812c27d1fbe5610b8775) +Package Title: strtime (be999391ffa90a7880271a65d53f760fc1cf0151) -------------------------------------------------------------------------------- * Declared Licenses * -MIT - +BSD-2-Clause -MIT License -Copyright (c) 2022 Ayman Bagabas +BSD 2-Clause License -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright (c) 2017, kena +All rights reserved. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -Package Title: go-proto-validators (0950a79900071e9f3f5979b78078c599376422fd) --------------------------------------------------------------------------------- -* Declared Licenses * -Apache-2.0 +* Other Licenses * +bsd-2-clause-views, MIT - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +* bsd-2-clause-views * - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: - 1. Definitions. +Redistributions of source code must retain the above copyright notice, this list +of conditions and the following disclaimer. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +Redistributions in binary form must reproduce the above copyright notice, this +list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +The views and conclusions contained in the software and documentation are those +of the authors and should not be interpreted as representing official policies, +either expressed or implied, of the FreeBSD Project. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +* MIT * - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +Copyright (c) 2017 Cockroach Labs +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +-------------------------------------------------------------------------------- +Package Title: sync (8fcdb60fdcc0539c5e357b2308249e4e752147f1) +-------------------------------------------------------------------------------- - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +* Declared Licenses * +BSD-3-Clause - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +Copyright (c) 2009 The Go Authors. All rights reserved. - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +-------------------------------------------------------------------------------- +Package Title: sys (90c8f94a055257f9ab343137cbada4e658750fbb) +-------------------------------------------------------------------------------- - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +* Declared Licenses * +BSD-3-Clause - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +Copyright (c) 2009 The Go Authors. All rights reserved. - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. - END OF TERMS AND CONDITIONS +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - APPENDIX: How to apply the Apache License to your work. - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - Copyright [yyyy] [name of copyright owner] +-------------------------------------------------------------------------------- +Package Title: tablewriter (bd15540e88470a2a7abfd3d457874fbee6702218) +-------------------------------------------------------------------------------- - 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 +* Declared Licenses * +MIT - 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. +Copyright (C) 2014 by Oleku Konko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: tapable (2.2.1) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT License + +Copyright JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: teamcity (8ca25c33eb11b24ed691f5f8fc4ca869ef970017) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +Copyright (c) 2017 Alexandre Bourget + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: term (d974fe83263b348b6fa9fb95bebc2ff93997880a) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-3-Clause + + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + -------------------------------------------------------------------------------- -Package Title: go-proxyproto (864358a1e7a141febccde06762a1643bf872ff80) +Package Title: term (3f7ff695adc6a35abc925370dd0a4dafb48ec64d) -------------------------------------------------------------------------------- * Declared Licenses * Apache-2.0 + Apache License Version 2.0, January 2004 - http://www.apache.org/licenses/ + https://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION @@ -49252,24 +48471,13 @@ Apache-2.0 END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2016 Paulo Pires + Copyright 2013-2018 Docker, Inc. 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 + https://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, @@ -49280,16 +48488,16 @@ Apache-2.0 -------------------------------------------------------------------------------- -Package Title: go-resiliency (1bc136c770651fca2e319af309d76434905d5bca) +Package Title: termenv (d5ed3231917d0f5c9fdc635e10d576f8d5b4b175) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) +MIT License -Copyright (c) 2014 Evan Huus +Copyright (c) 2019 Christian Muehlhaeuser Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -49311,18 +48519,53 @@ SOFTWARE. +-------------------------------------------------------------------------------- +Package Title: terraformer (1.0.8) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +Copyright (c) 2013 Esri, Inc + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + -------------------------------------------------------------------------------- -Package Title: go-runewidth (2c6a438f68cfe01255a90824599da41fdf76d1e2) +Package Title: terraformer-wkt-parser (1.1.2) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) +Copyright (c) 2013 Esri, Inc + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Copyright (c) 2016 Yasuhiro Matsumoto + + +-------------------------------------------------------------------------------- +Package Title: testify (f36bfe3c337aa95c86f04c721acdbafb5ffb1611) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +MIT License + +Copyright (c) 2012-2020 Mat Ryer, Tyler Bunnell and contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -49345,17 +48588,14 @@ SOFTWARE. -------------------------------------------------------------------------------- -Package Title: go-slugify (591116de2dd717fdb8c05e29fa3bf5d3f7ba8c87) +Package Title: text (702c74938df48b97370179f33ce2107bd7ff3b3e) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) - -Copyright (c) 2016 mozillazg - +Copyright (c) 2012 Keith Rarick Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -49375,225 +48615,329 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: go-spew (8991bc29aa16c548c550c7ff78260e27b9ab7c73) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -ISC License - -Copyright (c) 2012-2016 Dave Collins - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - -------------------------------------------------------------------------------- -Package Title: go-test-teamcity (cff980ad0a551793f08eff3483a24ee816ed92e6) +Package Title: text (71a9c9afc4cd710b9412f7f99f0d8e35b10e488a) -------------------------------------------------------------------------------- * Declared Licenses * -WTFPL +BSD-3-Clause - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - Version 2, December 2004 +Copyright (c) 2009 The Go Authors. All rights reserved. -Copyright (C) 2015 Pavel Gulbin <2tvenom@gmail.com> +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -Everyone is permitted to copy and distribute verbatim or modified -copies of this license document, and changing it is allowed as long -as the name is changed. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - 0. You just DO WHAT THE FUCK YOU WANT TO. --------------------------------------------------------------------------------- -Package Title: go-tools (9e12e6014d3b0a854950490051ad1338fc6badd1) --------------------------------------------------------------------------------- +* Other Licenses * +CC-BY-SA-3.0, CC-BY-SA-2.5, CC-BY-SA-2.0, CC-BY-SA-1.0 -* Declared Licenses * -MIT, BSD-3-Clause +* CC-BY-SA-3.0 * -* MIT * +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + 1. Definitions + a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. + b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined below) for the purposes of this License. + c. "Creative Commons Compatible License" means a license that is listed at http://creativecommons.org/compatiblelicenses that has been approved by Creative Commons as being essentially equivalent to this License, including, at a minimum, because that license: (i) contains terms that have the same purpose, meaning and effect as the License Elements of this License; and, (ii) explicitly permits the relicensing of adaptations of works made available under that license under this License or a Creative Commons jurisdiction license with the same License Elements as this License. + d. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. + e. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike. + f. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. + g. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. + h. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. + i. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. + j. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. + k. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. + 2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. + 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: + a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; + b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; + c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and, + d. to Distribute and Publicly Perform Adaptations. + e. For the avoidance of doubt: + i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; + ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and, + iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License. + The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved. + 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: + a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(c), as requested. + b. You may Distribute or Publicly Perform an Adaptation only under the terms of: (i) this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible License. If you license the Adaptation under one of the licenses mentioned in (iv), you must comply with the terms of that license. If you license the Adaptation under the terms of any of the licenses mentioned in (i), (ii) or (iii) (the "Applicable License"), you must comply with the terms of the Applicable License generally and the following provisions: (I) You must include a copy of, or the URI for, the Applicable License with every copy of each Adaptation You Distribute or Publicly Perform; (II) You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License; (III) You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform; (IV) when You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License. + c. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv), consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. + d. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. + 5. Representations, Warranties and Disclaimer + UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + 7. Termination + a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. + b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. + 8. Miscellaneous + a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. + b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. + c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. + e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. + f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. +Creative Commons Notice +Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. +Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of the License. +Creative Commons may be contacted at http://creativecommons.org/. -Copyright (c) 2016 Dominik Honnef +* CC-BY-SA-2.5 * -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + 1. Definitions + a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License. + b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License. + c. "Licensor" means the individual or entity that offers the Work under the terms of this License. + d. "Original Author" means the individual or entity who created the Work. + e. "Work" means the copyrightable work of authorship offered under the terms of this License. + f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. + g. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike. + 2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws. + 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: + a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works; + b. to create and reproduce Derivative Works; + c. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works; + d. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works. + e. For the avoidance of doubt, where the work is a musical composition: + i. Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work. + ii. Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights society or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions). + f. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions). + The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved. + 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: + a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any credit as required by clause 4(c), as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any credit as required by clause 4(c), as requested. + b. You may distribute, publicly display, publicly perform, or publicly digitally perform a Derivative Work only under the terms of this License, a later version of this License with the same License Elements as this License, or a Creative Commons iCommons license that contains the same License Elements as this License (e.g. Attribution-ShareAlike 2.5 Japan). You must include a copy of, or the Uniform Resource Identifier for, this License or other license specified in the previous sentence with every copy or phonorecord of each Derivative Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder, and You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Derivative Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License. + c. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or (ii) if the Original Author and/or Licensor designate another party or parties (e.g. a sponsor institute, publishing entity, journal) for attribution in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit. + 5. Representations, Warranties and Disclaimer + UNLESS OTHERWISE AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE MATERIALS, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + 7. Termination + a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. + b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. + 8. Miscellaneous + a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. + b. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. + c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. + e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. +Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. +Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. +Creative Commons may be contacted at http://creativecommons.org/. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +* CC-BY-SA-2.0 * -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + 1. Definitions + a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License. + b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License. + c. "Licensor" means the individual or entity that offers the Work under the terms of this License. + d. "Original Author" means the individual or entity who created the Work. + e. "Work" means the copyrightable work of authorship offered under the terms of this License. + f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. + g. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike. + 2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws. + 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: + a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works; + b. to create and reproduce Derivative Works; + c. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works; + d. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works. + e. For the avoidance of doubt, where the work is a musical composition: + i. Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work. + ii. Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights society or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions). + f. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions). + The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved. + 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: + a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any reference to such Licensor or the Original Author, as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any reference to such Licensor or the Original Author, as requested. + b. You may distribute, publicly display, publicly perform, or publicly digitally perform a Derivative Work only under the terms of this License, a later version of this License with the same License Elements as this License, or a Creative Commons iCommons license that contains the same License Elements as this License (e.g. Attribution-ShareAlike 2.0 Japan). You must include a copy of, or the Uniform Resource Identifier for, this License or other license specified in the previous sentence with every copy or phonorecord of each Derivative Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder, and You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Derivative Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License. + c. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit. + 5. Representations, Warranties and Disclaimer + UNLESS OTHERWISE AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE MATERIALS, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + 7. Termination + a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. + b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. + 8. Miscellaneous + a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. + b. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. + c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. + e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. +Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. +Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. +Creative Commons may be contacted at http://creativecommons.org/. +* CC-BY-SA-1.0 * -* BSD-3-Clause * +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE IS PROHIBITED. +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + 1. Definitions + a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License. + b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. + c. "Licensor" means the individual or entity that offers the Work under the terms of this License. + d. "Original Author" means the individual or entity who created the Work. + e. "Work" means the copyrightable work of authorship offered under the terms of this License. + f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. + 2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws. + 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: + a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works; + b. to create and reproduce Derivative Works; + c. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works; + d. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works; + The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved. + 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: + a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any reference to such Licensor or the Original Author, as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any reference to such Licensor or the Original Author, as requested. + b. You may distribute, publicly display, publicly perform, or publicly digitally perform a Derivative Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of each Derivative Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder, and You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Derivative Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License. + c. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title of the Work if supplied; in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit. + 5. Representations, Warranties and Disclaimer + a. By offering the Work for public release under this License, Licensor represents and warrants that, to the best of Licensor's knowledge after reasonable inquiry: + i. Licensor has secured all rights in the Work necessary to grant the license rights hereunder and to permit the lawful exercise of the rights granted hereunder without You having any obligation to pay any royalties, compulsory license fees, residuals or any other payments; + ii. The Work does not infringe the copyright, trademark, publicity rights, common law rights or any other right of any third party or constitute defamation, invasion of privacy or other tortious injury to any third party. + b. EXCEPT AS EXPRESSLY STATED IN THIS LICENSE OR OTHERWISE AGREED IN WRITING OR REQUIRED BY APPLICABLE LAW, THE WORK IS LICENSED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES REGARDING THE CONTENTS OR ACCURACY OF THE WORK. + 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, AND EXCEPT FOR DAMAGES ARISING FROM LIABILITY TO A THIRD PARTY RESULTING FROM BREACH OF THE WARRANTIES IN SECTION 5, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + 7. Termination + a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. + b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. + 8. Miscellaneous + a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. + b. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. + c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. + e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. +Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. +Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. +Creative Commons may be contacted at http://creativecommons.org/. -Staticcheck and its related tools make use of third party projects, -either by reusing their code, or by statically linking them into -resulting binaries. These projects are: -* The Go Programming Language - https://golang.org/ - golang.org/x/mod - https://github.com/golang/mod - golang.org/x/tools - https://github.com/golang/tools - golang.org/x/sys - https://github.com/golang/sys - golang.org/x/xerrors - https://github.com/golang/xerrors +-------------------------------------------------------------------------------- +Package Title: through (2.3.8) +-------------------------------------------------------------------------------- - Copyright (c) 2009 The Go Authors. All rights reserved. +* Declared Licenses * +Apache-2.0, MIT - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: +* Apache-2.0 * - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +Apache License, Version 2.0 - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Copyright (c) 2011 Dominic Tarr +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 -* github.com/BurntSushi/toml - https://github.com/BurntSushi/toml + http://www.apache.org/licenses/LICENSE-2.0 - The MIT License (MIT) +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. - Copyright (c) 2013 TOML authors - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +* MIT * - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. +The MIT License - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. +Copyright (c) 2011 Dominic Tarr -* gogrep - https://github.com/mvdan/gogrep +Permission is hereby granted, free of charge, +to any person obtaining a copy of this software and +associated documentation files (the "Software"), to +deal in the Software without restriction, including +without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom +the Software is furnished to do so, +subject to the following conditions: - Copyright (c) 2017, Daniel Martí. All rights reserved. +The above copyright notice and this permission notice +shall be included in all copies or substantial portions of the Software. - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* gosmith - https://github.com/dvyukov/gosmith +-------------------------------------------------------------------------------- +Package Title: time (f3bd1da661afd6357b957af27c50ccdb248b7dd3) +-------------------------------------------------------------------------------- - Copyright (c) 2014 Dmitry Vyukov. All rights reserved. +* Declared Licenses * +BSD-3-Clause - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * The name of Dmitry Vyukov may be used to endorse or promote - products derived from this software without specific prior written permission. +Copyright (c) 2009 The Go Authors. All rights reserved. - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: go-unidecode (98ea07f60ab0ab5dc29adb805402ac48c79e42fe) +Package Title: tiny-invariant (1.1.0) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) +MIT License -Copyright (c) 2016 mozillazg +Copyright (c) 2019 Alexander Reardon Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -49614,126 +48958,372 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -------------------------------------------------------------------------------- -Package Title: go-units (e682442797b36348f8e1f98defdbf32bac0b6c6f) +Package Title: tiny-warning (1.0.3) -------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0 +MIT +MIT License - Apache License - Version 2.0, January 2004 - https://www.apache.org/licenses/ +Copyright (c) 2019 Alexander Reardon - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - 1. Definitions. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +-------------------------------------------------------------------------------- +Package Title: tinycolor2 (1.4.2) +-------------------------------------------------------------------------------- - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +* Declared Licenses * +MIT - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +Copyright (c), Brian Grinstead, http://briangrinstead.com - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +-------------------------------------------------------------------------------- +Package Title: toggle-selection (1.0.6) +-------------------------------------------------------------------------------- - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +* Declared Licenses * +MIT - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and +Copyright (c) 2017 sudodoki +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not + +-------------------------------------------------------------------------------- +Package Title: toml (641c3cf2148ad11ca058c000eab0453dd5d67954) +-------------------------------------------------------------------------------- + +* Declared Licenses * +No licenses found + + +* Other Licenses * +BSD-3-Clause, MIT + +* BSD-3-Clause * + +Copyright (c) 2010 The Go Authors. All rights reserved. . All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +* MIT * + +The MIT License (MIT) + +Copyright (c) 2013 TOML authors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: tools (b3b5c13b291f9653da6f31b95db100a2e26bd186) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-3-Clause + + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +* Other Licenses * +MIT + + +Copyright (c) 1994-1999 Lucent Technologies Inc. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +-------------------------------------------------------------------------------- +Package Title: toposort-class (1.0.1) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT License (MIT) + +Copyright (c) 2015 Gustavo Henke and Aaron Trent + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: ttycolor (c7d7dcdde4e8d13c5da16b74324573439d7a6d8c) +-------------------------------------------------------------------------------- + +* Declared Licenses * +Apache-2.0 + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or @@ -49802,13 +49392,24 @@ Apache-2.0 END OF TERMS AND CONDITIONS - Copyright 2015 Docker, Inc. + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] 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 - https://www.apache.org/licenses/LICENSE-2.0 + 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, @@ -49819,383 +49420,445 @@ Apache-2.0 -------------------------------------------------------------------------------- -Package Title: go-uuid (67cd70b3bc50aeab4f2a02f869573616871a9a2a) +Package Title: typescript-compare (0.0.2) -------------------------------------------------------------------------------- * Declared Licenses * -MPL-2.0 - +MIT -Copyright © 2015-2022 HashiCorp, Inc. -Mozilla Public License, version 2.0 +# The MIT License -1. Definitions +Copyright © 2018 Hoàng Văn Khải -1.1. "Contributor" +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - means each individual or legal entity that creates, contributes to the - creation of, or owns Covered Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -1.2. "Contributor Version" +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - means the combination of the Contributions of others (if any) used by a - Contributor and that particular Contributor's Contribution. -1.3. "Contribution" - means Covered Software of a particular Contributor. +-------------------------------------------------------------------------------- +Package Title: typescript-logic (0.0.0) +-------------------------------------------------------------------------------- -1.4. "Covered Software" +* Declared Licenses * +MIT - means Source Code Form to which the initial Contributor has attached the - notice in Exhibit A, the Executable Form of such Source Code Form, and - Modifications of such Source Code Form, in each case including portions - thereof. -1.5. "Incompatible With Secondary Licenses" - means +# The MIT License - a. that the initial Contributor has attached the notice described in - Exhibit B to the Covered Software; or +Copyright © 2018 Hoàng Văn Khải - b. that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the terms of - a Secondary License. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -1.6. "Executable Form" +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - means any form of the work other than Source Code Form. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -1.7. "Larger Work" - means a work that combines Covered Software with other material, in a - separate file or files, that is not Covered Software. -1.8. "License" +-------------------------------------------------------------------------------- +Package Title: typescript-tuple (2.2.1) +-------------------------------------------------------------------------------- - means this document. +* Declared Licenses * +MIT -1.9. "Licensable" - means having the right to grant, to the maximum extent possible, whether - at the time of the initial grant or subsequently, any and all of the - rights conveyed by this License. +# The MIT License -1.10. "Modifications" +Copyright © 2018 Hoàng Văn Khải - means any of the following: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - a. any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered Software; or +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - b. any new file in Source Code Form that contains any Covered Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -1.11. "Patent Claims" of a Contributor - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the License, - by the making, using, selling, offering for sale, having made, import, - or transfer of either its Contributions or its Contributor Version. -1.12. "Secondary License" +-------------------------------------------------------------------------------- +Package Title: ua-parser-js (0.7.24) +-------------------------------------------------------------------------------- - means either the GNU General Public License, Version 2.0, the GNU Lesser - General Public License, Version 2.1, the GNU Affero General Public - License, Version 3.0, or any later versions of those licenses. +* Declared Licenses * +MIT -1.13. "Source Code Form" - means the form of the work preferred for making modifications. +Copyright (c) 2012-2021 Faisal Salman +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -1.14. "You" (or "Your") +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that controls, is - controlled by, or is under common control with You. For purposes of this - definition, "control" means (a) the power, direct or indirect, to cause - the direction or management of such entity, whether by contract or - otherwise, or (b) ownership of more than fifty percent (50%) of the - outstanding shares or beneficial ownership of such entity. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -2. License Grants and Conditions +-------------------------------------------------------------------------------- +Package Title: ulid (02a8604050d8466dd915307496174adb9be4593a) +-------------------------------------------------------------------------------- -2.1. Grants +* Declared Licenses * +Apache-2.0 - Each Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - a. under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ - b. under Patent Claims of such Contributor to make, use, sell, offer for - sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -2.2. Effective Date + 1. Definitions. - The licenses granted in Section 2.1 with respect to any Contribution - become effective for each Contribution on the date the Contributor first - distributes such Contribution. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -2.3. Limitations on Grant Scope + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. - The licenses granted in this Section 2 are the only rights granted under - this License. No additional rights or licenses will be implied from the - distribution or licensing of Covered Software under this License. - Notwithstanding Section 2.1(b) above, no patent license is granted by a - Contributor: + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. - a. for any code that a Contributor has removed from Covered Software; or + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. - b. for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. - c. under Patent Claims infringed by Covered Software in the absence of - its Contributions. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. - This License does not grant any rights in the trademarks, service marks, - or logos of any Contributor (except as may be necessary to comply with - the notice requirements in Section 3.4). + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -2.4. Subsequent Licenses + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. - No Contributor makes additional grants as a result of Your choice to - distribute the Covered Software under a subsequent version of this - License (see Section 10.2) or under the terms of a Secondary License (if - permitted under the terms of Section 3.3). - -2.5. Representation + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." - Each Contributor represents that the Contributor believes its - Contributions are its original creation(s) or it has sufficient rights to - grant the rights to its Contributions conveyed by this License. + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -2.6. Fair Use + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. - This License is not intended to limit any rights You have under - applicable copyright doctrines of fair use, fair dealing, or other - equivalents. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -2.7. Conditions + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in - Section 2.1. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -3. Responsibilities + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -3.1. Distribution of Source Form + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. - All distribution of Covered Software in Source Code Form, including any - Modifications that You create or to which You contribute, must be under - the terms of this License. You must inform recipients that the Source - Code Form of the Covered Software is governed by the terms of this - License, and how they can obtain a copy of this License. You may not - attempt to alter or restrict the recipients' rights in the Source Code - Form. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -3.2. Distribution of Executable Form + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. - If You distribute Covered Software in Executable Form then: + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. - a. such Covered Software must also be made available in Source Code Form, - as described in Section 3.1, and You must inform recipients of the - Executable Form how they can obtain a copy of such Source Code Form by - reasonable means in a timely manner, at a charge no more than the cost - of distribution to the recipient; and + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. - b. You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter the - recipients' rights in the Source Code Form under this License. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -3.3. Distribution of a Larger Work + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. - You may create and distribute a Larger Work under terms of Your choice, - provided that You also comply with the requirements of this License for - the Covered Software. If the Larger Work is a combination of Covered - Software with a work governed by one or more Secondary Licenses, and the - Covered Software is not Incompatible With Secondary Licenses, this - License permits You to additionally distribute such Covered Software - under the terms of such Secondary License(s), so that the recipient of - the Larger Work may, at their option, further distribute the Covered - Software under the terms of either this License or such Secondary - License(s). + END OF TERMS AND CONDITIONS -3.4. Notices + APPENDIX: How to apply the Apache License to your work. - You may not remove or alter the substance of any license notices - (including copyright notices, patent notices, disclaimers of warranty, or - limitations of liability) contained within the Source Code Form of the - Covered Software, except that You may alter any license notices to the - extent required to remedy known factual inaccuracies. + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -3.5. Application of Additional Terms + Copyright [yyyy] [name of copyright owner] - You may choose to offer, and to charge a fee for, warranty, support, - indemnity or liability obligations to one or more recipients of Covered - Software. However, You may do so only on Your own behalf, and not on - behalf of any Contributor. You must make it absolutely clear that any - such warranty, support, indemnity, or liability obligation is offered by - You alone, and You hereby agree to indemnify every Contributor for any - liability incurred by such Contributor as a result of warranty, support, - indemnity or liability terms You offer. You may include additional - disclaimers of warranty and limitations of liability specific to any - jurisdiction. + 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 -4. Inability to Comply Due to Statute or Regulation + http://www.apache.org/licenses/LICENSE-2.0 - If it is impossible for You to comply with any of the terms of this License - with respect to some or all of the Covered Software due to statute, - judicial order, or regulation then You must: (a) comply with the terms of - this License to the maximum extent possible; and (b) describe the - limitations and the code they affect. Such description must be placed in a - text file included with all distributions of the Covered Software under - this License. Except to the extent prohibited by statute or regulation, - such description must be sufficiently detailed for a recipient of ordinary - skill to be able to understand it. + 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. -5. Termination -5.1. The rights granted under this License will terminate automatically if You - fail to comply with any of its terms. However, if You become compliant, - then the rights granted under this License from a particular Contributor - are reinstated (a) provisionally, unless and until such Contributor - explicitly and finally terminates Your grants, and (b) on an ongoing - basis, if such Contributor fails to notify You of the non-compliance by - some reasonable means prior to 60 days after You have come back into - compliance. Moreover, Your grants from a particular Contributor are - reinstated on an ongoing basis if such Contributor notifies You of the - non-compliance by some reasonable means, this is the first time You have - received notice of non-compliance with this License from such - Contributor, and You become compliant prior to 30 days after Your receipt - of the notice. -5.2. If You initiate litigation against any entity by asserting a patent - infringement claim (excluding declaratory judgment actions, - counter-claims, and cross-claims) alleging that a Contributor Version - directly or indirectly infringes any patent, then the rights granted to - You by any and all Contributors for the Covered Software under Section - 2.1 of this License shall terminate. +* Other Licenses * +BSD-3-Clause -5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user - license agreements (excluding distributors and resellers) which have been - validly granted by You or Your distributors under this License prior to - termination shall survive termination. -6. Disclaimer of Warranty +Copyright (c) 2017 Google Inc. All rights reserved. . All rights reserved. - Covered Software is provided under this License on an "as is" basis, - without warranty of any kind, either expressed, implied, or statutory, - including, without limitation, warranties that the Covered Software is free - of defects, merchantable, fit for a particular purpose or non-infringing. - The entire risk as to the quality and performance of the Covered Software - is with You. Should any Covered Software prove defective in any respect, - You (not any Contributor) assume the cost of any necessary servicing, - repair, or correction. This disclaimer of warranty constitutes an essential - part of this License. No use of any Covered Software is authorized under - this License except under this disclaimer. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -7. Limitation of Liability + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. - Under no circumstances and under no legal theory, whether tort (including - negligence), contract, or otherwise, shall any Contributor, or anyone who - distributes Covered Software as permitted above, be liable to You for any - direct, indirect, special, incidental, or consequential damages of any - character including, without limitation, damages for lost profits, loss of - goodwill, work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses, even if such party shall have been - informed of the possibility of such damages. This limitation of liability - shall not apply to liability for death or personal injury resulting from - such party's negligence to the extent applicable law prohibits such - limitation. Some jurisdictions do not allow the exclusion or limitation of - incidental or consequential damages, so this exclusion and limitation may - not apply to You. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -8. Litigation + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. - Any litigation relating to this License may be brought only in the courts - of a jurisdiction where the defendant maintains its principal place of - business and such litigation shall be governed by laws of that - jurisdiction, without reference to its conflict-of-law provisions. Nothing - in this Section shall prevent a party's ability to bring cross-claims or - counter-claims. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -9. Miscellaneous - This License represents the complete agreement concerning the subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. Any law or regulation which provides that - the language of a contract shall be construed against the drafter shall not - be used to construe this License against a Contributor. +-------------------------------------------------------------------------------- +Package Title: uuid (44b5fee7c49cf3bcdf723f106b36d56ef13ccc88) +-------------------------------------------------------------------------------- +* Declared Licenses * +BSD-3-Clause -10. Versions of the License -10.1. New Versions +Copyright (c) 2009,2014 Google Inc. All rights reserved. - Mozilla Foundation is the license steward. Except as provided in Section - 10.3, no one other than the license steward has the right to modify or - publish new versions of this License. Each version will be given a - distinguishing version number. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -10.2. Effect of New Versions + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. - You may distribute the Covered Software under the terms of the version - of the License under which You originally received the Covered Software, - or under the terms of any subsequent version published by the license - steward. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -10.3. Modified Versions - If you create software not governed by this License, and you want to - create a new license for such software, you may create and use a - modified version of this License if you rename the license and remove - any references to the name of the license steward (except to note that - such modified license differs from this License). -10.4. Distributing Source Code Form that is Incompatible With Secondary - Licenses If You choose to distribute Source Code Form that is - Incompatible With Secondary Licenses under the terms of this version of - the License, the notice described in Exhibit B of this License must be - attached. +-------------------------------------------------------------------------------- +Package Title: uuid (3.2.1) +-------------------------------------------------------------------------------- -Exhibit A - Source Code Form License Notice +* Declared Licenses * +MIT - This Source Code Form is subject to the - terms of the Mozilla Public License, v. - 2.0. If a copy of the MPL was not - distributed with this file, You can - obtain one at - http://mozilla.org/MPL/2.0/. -If it is not possible or desirable to put the notice in a particular file, -then You may include the notice in a location (such as a LICENSE file in a -relevant directory) where a recipient would be likely to look for such a -notice. +The MIT License (MIT) -You may add additional accurate notices of copyright ownership. +Copyright (c) 2010-2016 Robert Kieffer and other contributors -Exhibit B - "Incompatible With Secondary Licenses" Notice +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - This Source Code Form is "Incompatible - With Secondary Licenses", as defined by - the Mozilla Public License, v. 2.0. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -Package Title: go-winio (dfd7da8f92a382999d77b5d9cfe8cc6bec1894c6) +Package Title: uuid (3.4.0) -------------------------------------------------------------------------------- * Declared Licenses * @@ -50204,7 +49867,7 @@ MIT The MIT License (MIT) -Copyright (c) 2015 Microsoft +Copyright (c) 2010-2016 Robert Kieffer and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -50226,50 +49889,48 @@ SOFTWARE. +-------------------------------------------------------------------------------- +Package Title: validator (9.4.1) +-------------------------------------------------------------------------------- -* Other Licenses * -BSD-3-Clause - +* Declared Licenses * +MIT -Copyright (c) 2013 The Go Authors. All rights reserved. . All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +Copyright (c) 2016 Chris O'Hara - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: go-xerial-snappy (c322873962e393e443b7efa5969edac6884adfa1) +Package Title: value-equal (1.0.1) -------------------------------------------------------------------------------- * Declared Licenses * MIT -The MIT License (MIT) +MIT License -Copyright (c) 2016 Evan Huus +Copyright (c) Michael Jackson 2016-2018 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -50292,13 +49953,14 @@ SOFTWARE. -------------------------------------------------------------------------------- -Package Title: go.mongodb.org/mongo-driver (v1.13.1) +Package Title: vitess (54524729cc82038e5597c034d472f770c9668175) -------------------------------------------------------------------------------- * Declared Licenses * Apache-2.0 + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -50504,38 +50166,11 @@ Apache-2.0 * Other Licenses * -MIT, ISC, BSD-2-Clause, BSD-3-Clause, proprietary-license - -* MIT * - -Copyright (c) 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -* ISC * - -Copyright (c) 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. -THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +BSD-2-Clause, MIT, MPL-2.0 * BSD-2-Clause * -Copyright (c) 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. +Copyright (c) 2015 Dave Cheney Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -50559,48 +50194,491 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* BSD-3-Clause * - -Copyright (c) 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +* MIT * -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Copyright (c) 2017 GitHub +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -* proprietary-license * +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -This is a catch-all license used when we find many different proprietary licenses. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +* MPL-2.0 * --------------------------------------------------------------------------------- -Package Title: go_generics (0aaa050f9bab8160cf684130d0afa69ff582cbe6) --------------------------------------------------------------------------------- +1. Definitions + 1.1. "Contributor" means each individual or legal entity that creates, contributes to the creation of, or owns Covered Software. + 1.2. "Contributor Version" means the combination of the Contributions of others (if any) used by a Contributor and that particular Contributor's Contribution. + 1.3. "Contribution" means Covered Software of a particular Contributor. + 1.4. "Covered Software" means Source Code Form to which the initial Contributor has attached the notice in Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof. + 1.5. "Incompatible With Secondary Licenses" means + (a) that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or + (b) that the Covered Software was made available under the terms of version 1.1 or earlier of the License, but not also under the terms of a Secondary License. + 1.6. "Executable Form" means any form of the work other than Source Code Form. + 1.7. "Larger Work" means a work that combines Covered Software with other material, in a separate file or files, that is not Covered Software. + 1.8. "License" means this document. + 1.9. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently, any and all of the rights conveyed by this License. + 1.10. "Modifications" means any of the following: + (a) any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or + (b) any new file in Source Code Form that contains any Covered Software. + 1.11. "Patent Claims" of a Contributor means any patent claim(s), including without limitation, method, process, and apparatus claims, in any patent Licensable by such Contributor that would be infringed, but for the grant of the License, by the making, using, selling, offering for sale, having made, import, or transfer of either its Contributions or its Contributor Version. + 1.12. "Secondary License" means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses. + 1.13. "Source Code Form" means the form of the work preferred for making modifications. + 1.14. "You" (or "Your") means an individual or a legal entity exercising rights under this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. + 2. License Grants and Conditions + 2.1. Grants + Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license: + (a) under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and + (b) under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version. + 2.2. Effective Date + The licenses granted in Section 2.1 with respect to any Contribution become effective for each Contribution on the date the Contributor first distributes such Contribution. + 2.3. Limitations on Grant Scope + The licenses granted in this Section 2 are the only rights granted under this License. No additional rights or licenses will be implied from the distribution or licensing of Covered Software under this License. Notwithstanding Section 2.1(b) above, no patent license is granted by a Contributor: + (a) for any code that a Contributor has removed from Covered Software; or + (b) for infringements caused by: (i) Your and any other third party's modifications of Covered Software, or (ii) the combination of its Contributions with other software (except as part of its Contributor Version); or + (c) under Patent Claims infringed by Covered Software in the absence of its Contributions. + This License does not grant any rights in the trademarks, service marks, or logos of any Contributor (except as may be necessary to comply with the notice requirements in Section 3.4). + 2.4. Subsequent Licenses + No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version of this License (see Section 10.2) or under the terms of a Secondary License (if permitted under the terms of Section 3.3). + 2.5. Representation + Each Contributor represents that the Contributor believes its Contributions are its original creation(s) or it has sufficient rights to grant the rights to its Contributions conveyed by this License. + 2.6. Fair Use + This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other equivalents. + 2.7. Conditions + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1. + 3. Responsibilities + 3.1. Distribution of Source Form + All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License. You may not attempt to alter or restrict the recipients' rights in the Source Code Form. + 3.2. Distribution of Executable Form + If You distribute Covered Software in Executable Form then: + (a) such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must inform recipients of the Executable Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the recipient; and + (b) You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients' rights in the Source Code Form under this License. + 3.3. Distribution of a Larger Work + You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s). + 3.4. Notices + You may not remove or alter the substance of any license notices (including copyright notices, patent notices, disclaimers of warranty, or limitations of liability) contained within the Source Code Form of the Covered Software, except that You may alter any license notices to the extent required to remedy known factual inaccuracies. + 3.5. Application of Additional Terms + You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, You may do so only on Your own behalf, and not on behalf of any Contributor. You must make it absolutely clear that any such warranty, support, indemnity, or liability obligation is offered by You alone, and You hereby agree to indemnify every Contributor for any liability incurred by such Contributor as a result of warranty, support, indemnity or liability terms You offer. You may include additional disclaimers of warranty and limitations of liability specific to any jurisdiction. + 4. Inability to Comply Due to Statute or Regulation + If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be placed in a text file included with all distributions of the Covered Software under this License. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. + 5. Termination + 5.1. The rights granted under this License will terminate automatically if You fail to comply with any of its terms. However, if You become compliant, then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such Contributor explicitly and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor fails to notify You of the non-compliance by some reasonable means prior to 60 days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such Contributor notifies You of the non-compliance by some reasonable means, this is the first time You have received notice of non-compliance with this License from such Contributor, and You become compliant prior to 30 days after Your receipt of the notice. + 5.2. If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate. + 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or Your distributors under this License prior to termination shall survive termination. + 6. Disclaimer of Warranty + Covered Software is provided under this License on an "as is" basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the Covered Software is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the Covered Software is with You. Should any Covered Software prove defective in any respect, You (not any Contributor) assume the cost of any necessary servicing, repair, or correction. This disclaimer of warranty constitutes an essential part of this License. No use of any Covered Software is authorized under this License except under this disclaimer. + 7. Limitation of Liability + Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall any Contributor, or anyone who distributes Covered Software as permitted above, be liable to You for any direct, indirect, special, incidental, or consequential damages of any character including, without limitation, damages for lost profits, loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages. This limitation of liability shall not apply to liability for death or personal injury resulting from such party's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You. + 8. Litigation + Any litigation relating to this License may be brought only in the courts of a jurisdiction where the defendant maintains its principal place of business and such litigation shall be governed by laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this Section shall prevent a party's ability to bring cross-claims or counter-claims. + 9. Miscellaneous + This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not be used to construe this License against a Contributor. + 10. Versions of the License + 10.1. New Versions + Mozilla Foundation is the license steward. Except as provided in Section 10.3, no one other than the license steward has the right to modify or publish new versions of this License. Each version will be given a distinguishing version number. + 10.2. Effect of New Versions + You may distribute the Covered Software under the terms of the version of the License under which You originally received the Covered Software, or under the terms of any subsequent version published by the license steward. + 10.3. Modified Versions + If you create software not governed by this License, and you want to create a new license for such software, you may create and use a modified version of this License if you rename the license and remove any references to the name of the license steward (except to note that such modified license differs from this License). + 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses + If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached. + + +-------------------------------------------------------------------------------- +Package Title: walk (4748e29d5718c2df4028a6543edf86fd8cc0f881) +-------------------------------------------------------------------------------- * Declared Licenses * -Apache-2.0 +No licenses found + + +* Other Licenses * +BSD-3-Clause, MIT + +* BSD-3-Clause * + +Copyright (c) 2010 The Go Authors. All rights reserved. . All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +* MIT * + +Copyright (c) 2016 Michael T Jones +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +-------------------------------------------------------------------------------- +Package Title: warning (4.0.3) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +MIT License + +Copyright (c) 2013-present, Facebook, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: webpack-sources (2.3.1) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +MIT License + +Copyright (c) 2017 JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: websocket (b65e62901fc1c0d968042419e74789f6af455eb9) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-2-Clause + + +Copyright (c) 2013 The Gorilla WebSocket Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +* Other Licenses * +BSD-3-Clause, MIT + +* BSD-3-Clause * + +Copyright (c) 2013 The Gorilla WebSocket Authors. All rights reserved. . All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +* MIT * + +Copyright (c) 2013 The Gorilla WebSocket Authors. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +-------------------------------------------------------------------------------- +Package Title: whatwg-fetch (2.0.4) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +Copyright (c) 2014-2016 GitHub, Inc. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: wkx (0.4.4) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +The MIT License (MIT) + +Copyright (c) 2013 Christian Schwarz + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: xerrors (04be3eba64a22a838cdb17b8dca15a52871c08b4) +-------------------------------------------------------------------------------- + +* Declared Licenses * +BSD-3-Clause + + +Copyright (c) 2019 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +-------------------------------------------------------------------------------- +Package Title: xtend (4.0.1) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +Copyright (c) 2012-2014 Raynos. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: xxhash (a76eb16a93c1e30527c073ca831d9048b4b935f6) +-------------------------------------------------------------------------------- + +* Declared Licenses * +MIT + + +Copyright (c) 2016 Caleb Spare + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: yaml (2d6955c8edbc64e78427d8add97c2eca6fa44e26) +-------------------------------------------------------------------------------- + +* Declared Licenses * +Apache-2.0, MIT +* Apache-2.0 * Apache License Version 2.0, January 2004 @@ -50779,39 +50857,396 @@ Apache-2.0 END OF TERMS AND CONDITIONS + APPENDIX: How to apply the Apache License to your work. --------------------------------------------------------------------------------- -Package Title: goavro (9a4764661614a287810ab49e2d9852ae9939d911) --------------------------------------------------------------------------------- + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -* Declared Licenses * -Apache-2.0 + Copyright {yyyy} {name of copyright owner} + 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 - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ + http://www.apache.org/licenses/LICENSE-2.0 - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + 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. - 1. Definitions. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +* MIT * - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +The following files were ported to Go from C files of libyaml, and thus +are still covered by their original copyright and license: - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. + apic.go + emitterc.go + parserc.go + readerc.go + scannerc.go + writerc.go + yamlh.go + yamlprivateh.go - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +Copyright (c) 2006 Kirill Simonov + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +-------------------------------------------------------------------------------- +Package Title: yaml.v3 (f6f7691b1fdeb513f56608cd2c32c51f8194bf51) +-------------------------------------------------------------------------------- + +* Declared Licenses * +Apache-2.0, MIT + +* Apache-2.0 * + + +This project is covered by two different licenses: MIT and Apache. + +#### MIT License #### + +The following files were ported to Go from C files of libyaml, and thus +are still covered by their original MIT license, with the additional +copyright staring in 2011 when the project was ported over: + + apic.go emitterc.go parserc.go readerc.go scannerc.go + writerc.go yamlh.go yamlprivateh.go + +Copyright (c) 2006-2010 Kirill Simonov +Copyright (c) 2006-2011 Kirill Simonov + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +### Apache License ### + +All the remaining project files are covered by the Apache license: + +Copyright (c) 2011-2019 Canonical Ltd + +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. + + +* MIT * + +Copyright (c) staring in 2011 when the project was ported over: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +-------------------------------------------------------------------------------- +Package Title: zipkin-go (b98d75699e013868e73c146266a28bc8c9e2c372) +-------------------------------------------------------------------------------- + +* Declared Licenses * +Apache-2.0 + + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, +and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by +the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all +other entities that control, are controlled by, or are under common +control with that entity. For the purposes of this definition, +"control" means (i) the power, direct or indirect, to cause the +direction or management of such entity, whether by contract or +otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity +exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation +source, and configuration files. + +"Object" form shall mean any form resulting from mechanical +transformation or translation of a Source form, including but +not limited to compiled object code, generated documentation, +and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or +Object form, made available under the License, as indicated by a +copyright notice that is included in or attached to the work +(an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object +form, that is based on (or derived from) the Work and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. For the purposes +of this License, Derivative Works shall not include works that remain +separable from, or merely link (or bind by name) to the interfaces of, +the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including +the original version of the Work and any modifications or additions +to that Work or Derivative Works thereof, that is intentionally +submitted to Licensor for inclusion in the Work by the copyright owner +or by an individual or Legal Entity authorized to submit on behalf of +the copyright owner. For the purposes of this definition, "submitted" +means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, +and issue tracking systems that are managed by, or on behalf of, the +Licensor for the purpose of discussing and improving the Work, but +excluding communication that is conspicuously marked or otherwise +designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity +on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the +Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +(except as stated in this section) patent license to make, have made, +use, offer to sell, sell, import, and otherwise transfer the Work, +where such license applies only to those patent claims licensable +by such Contributor that are necessarily infringed by their +Contribution(s) alone or by combination of their Contribution(s) +with the Work to which such Contribution(s) was submitted. If You +institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work +or a Contribution incorporated within the Work constitutes direct +or contributory patent infringement, then any patent licenses +granted to You under this License for that Work shall terminate +as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the +Work or Derivative Works thereof in any medium, with or without +modifications, and in Source or Object form, provided that You +meet the following conditions: + +(a) You must give any other recipients of the Work or +Derivative Works a copy of this License; and + +(b) You must cause any modified files to carry prominent notices +stating that You changed the files; and + +(c) You must retain, in the Source form of any Derivative Works +that You distribute, all copyright, patent, trademark, and +attribution notices from the Source form of the Work, +excluding those notices that do not pertain to any part of +the Derivative Works; and + +(d) If the Work includes a "NOTICE" text file as part of its +distribution, then any Derivative Works that You distribute must +include a readable copy of the attribution notices contained +within such NOTICE file, excluding those notices that do not +pertain to any part of the Derivative Works, in at least one +of the following places: within a NOTICE text file distributed +as part of the Derivative Works; within the Source form or +documentation, if provided along with the Derivative Works; or, +within a display generated by the Derivative Works, if and +wherever such third-party notices normally appear. The contents +of the NOTICE file are for informational purposes only and +do not modify the License. You may add Your own attribution +notices within Derivative Works that You distribute, alongside +or as an addendum to the NOTICE text from the Work, provided +that such additional attribution notices cannot be construed +as modifying the License. + +You may add Your own copyright statement to Your modifications and +may provide additional or different license terms and conditions +for use, reproduction, or distribution of Your modifications, or +for any such Derivative Works as a whole, provided Your use, +reproduction, and distribution of the Work otherwise complies with +the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, +any Contribution intentionally submitted for inclusion in the Work +by You to the Licensor shall be under the terms and conditions of +this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify +the terms of any separate license agreement you may have executed +with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade +names, trademarks, service marks, or product names of the Licensor, +except as required for reasonable and customary use in describing the +origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or +agreed to in writing, Licensor provides the Work (and each +Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +implied, including, without limitation, any warranties or conditions +of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +PARTICULAR PURPOSE. You are solely responsible for determining the +appropriateness of using or redistributing the Work and assume any +risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, +whether in tort (including negligence), contract, or otherwise, +unless required by applicable law (such as deliberate and grossly +negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, +incidental, or consequential damages of any character arising as a +result of this License or out of the use or inability to use the +Work (including but not limited to damages for loss of goodwill, +work stoppage, computer failure or malfunction, or any and all +other commercial damages or losses), even if such Contributor +has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing +the Work or Derivative Works thereof, You may choose to offer, +and charge a fee for, acceptance of support, warranty, indemnity, +or other liability obligations and/or rights consistent with this +License. However, in accepting such obligations, You may act only +on Your own behalf and on Your sole responsibility, not on behalf +of any other Contributor, and only if You agree to indemnify, +defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason +of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + +To apply the Apache License to your work, attach the following +boilerplate notice, with the fields enclosed by brackets "{}" +replaced with your own identifying information. (Don't include +the brackets!) The text should be enclosed in the appropriate +comment syntax for the file format. We also recommend that a +file or class name and description of purpose be included on the +same "printed page" as the copyright notice for easier +identification within third-party archives. + +Copyright 2017 The OpenZipkin Authors + +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. + + + + +================================================================================ + Licenses + +================================================================================ + +* Apache-2.0 * + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation @@ -50963,37 +51398,8 @@ Apache-2.0 incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - -* Other Licenses * -Multi-license: Apache-2.0 OR BSD-3-Clause +* Apache-2.0 * Apache License @@ -51184,7 +51590,7 @@ Multi-license: Apache-2.0 OR BSD-3-Clause same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright 2014 Google Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -51199,54 +51605,10 @@ Multi-license: Apache-2.0 OR BSD-3-Clause limitations under the License. - --------------------------------------------------------------------------------- -Package Title: gofork (64a929632441211b0f4d00581cd854380cd279d7) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: goid (4d14c490ee36fc2e058dc24504fa64d2bc55b29a) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 +* Apache-2.0 * -Apache License + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -51426,7 +51788,7 @@ Apache License APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" + boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -51434,7 +51796,7 @@ Apache License same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright {yyyy} {name of copyright owner} + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -51448,47 +51810,7 @@ Apache License See the License for the specific language governing permissions and limitations under the License. - - - -* Other Licenses * -BSD-3-Clause - - -Copyright (c) 2014 The Go Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: goidentity (836ef0c4025b66a750604bb79d41ace085366777) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 +* Apache-2.0 * Apache License @@ -51671,7 +51993,7 @@ Apache-2.0 APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" + boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -51679,7 +52001,7 @@ Apache-2.0 same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright {yyyy} {name of copyright owner} + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -51694,13 +52016,7 @@ Apache-2.0 limitations under the License. - --------------------------------------------------------------------------------- -Package Title: gokrb5 (47cd2e7744531465a983bf457bac38e6ad8f4684) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 +* Apache-2.0 * Apache License @@ -51883,7 +52199,7 @@ Apache-2.0 APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" + boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -51891,7 +52207,7 @@ Apache-2.0 same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright {yyyy} {name of copyright owner} + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -51905,14 +52221,112 @@ Apache-2.0 See the License for the specific language governing permissions and limitations under the License. +-------------------------------------------------- +SOFTWARE DISTRIBUTED WITH THRIFT: +The Apache Thrift software includes a number of subcomponents with +separate copyright notices and license terms. Your use of the source +code for the these subcomponents is subject to the terms and +conditions of the following licenses. --------------------------------------------------------------------------------- -Package Title: golang_protobuf_extensions (c182affec369e30f25d3eb8cd8a478dee585ae7d) --------------------------------------------------------------------------------- +-------------------------------------------------- +Portions of the following files are licensed under the MIT License: -* Declared Licenses * -Apache-2.0 + lib/erl/src/Makefile.am + +Please see doc/otp-base-license.txt for the full terms of this license. + +-------------------------------------------------- +For the aclocal/ax_boost_base.m4 and contrib/fb303/aclocal/ax_boost_base.m4 components: + +# Copyright (c) 2007 Thomas Porschberg +# +# Copying and distribution of this file, with or without +# modification, are permitted in any medium without royalty provided +# the copyright notice and this notice are preserved. + +-------------------------------------------------- +For the lib/nodejs/lib/thrift/json_parse.js: + +/* + json_parse.js + 2015-05-02 + Public Domain. + NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. + +*/ +(By Douglas Crockford ) + +-------------------------------------------------- +For lib/cpp/src/thrift/windows/SocketPair.cpp + +/* socketpair.c + * Copyright 2007 by Nathan C. Myers ; some rights reserved. + * This code is Free Software. It may be copied freely, in original or + * modified form, subject only to the restrictions that (1) the author is + * relieved from all responsibilities for any use for any purpose, and (2) + * this copyright notice must be retained, unchanged, in its entirety. If + * for any reason the author might be held responsible for any consequences + * of copying or use, license is withheld. + */ + + +-------------------------------------------------- +For lib/py/compat/win32/stdint.h + +// ISO C9x compliant stdint.h for Microsoft Visual Studio +// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 +// +// Copyright (c) 2006-2008 Alexander Chemeris +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. The name of the author may be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +/////////////////////////////////////////////////////////////////////////////// + + +-------------------------------------------------- +Codegen template in t_html_generator.h + +* Bootstrap v2.0.3 +* +* Copyright 2012 Twitter, Inc +* Licensed under the Apache License v2.0 +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Designed and built with all the love in the world @twitter by @mdo and @fat. + +--------------------------------------------------- +For t_cl_generator.cc + + * Copyright (c) 2008- Patrick Collison + * Copyright (c) 2006- Facebook + +--------------------------------------------------- + + +* Apache-2.0 * Apache License @@ -52095,7 +52509,7 @@ Apache-2.0 APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" + boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -52103,7 +52517,7 @@ Apache-2.0 same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright {yyyy} {name of copyright owner} + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -52117,63 +52531,168 @@ Apache-2.0 See the License for the specific language governing permissions and limitations under the License. +-------------------------------------------------------------------------------- +src/plasma/fling.cc and src/plasma/fling.h: Apache 2.0 -* Other Licenses * -BSD-3-Clause +Copyright 2013 Sharvil Nanavati +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 -Copyright (c) 2010 The Go Authors. All rights reserved. . All rights reserved. + http://www.apache.org/licenses/LICENSE-2.0 -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +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. - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +-------------------------------------------------------------------------------- - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +src/plasma/thirdparty/ae: Modified / 3-Clause BSD - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +Copyright (c) 2006-2010, Salvatore Sanfilippo +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Redis nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- + +src/plasma/thirdparty/dlmalloc.c: CC0 + +This is a version (aka dlmalloc) of malloc/free/realloc written by +Doug Lea and released to the public domain, as explained at +http://creativecommons.org/publicdomain/zero/1.0/ Send questions, +comments, complaints, performance data, etc to dl@cs.oswego.edu + +-------------------------------------------------------------------------------- + +src/plasma/common.cc (some portions) + +Copyright (c) Austin Appleby (aappleby (AT) gmail) + +Some portions of this file are derived from code in the MurmurHash project + +All code is released to the public domain. For business purposes, Murmurhash is +under the MIT license. + +https://sites.google.com/site/murmurhash/ + +-------------------------------------------------------------------------------- + +src/arrow/util (some portions): Apache 2.0, and 3-clause BSD + +Some portions of this module are derived from code in the Chromium project, +copyright (c) Google inc and (c) The Chromium Authors and licensed under the +Apache 2.0 License or the under the 3-clause BSD license: + + Copyright (c) 2013 The Chromium Authors. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Package Title: google-api-go-client (f79df4875aea4520e4aff5c5ebceb9e01b7b60a2) + +This project includes code from Daniel Lemire's FrameOfReference project. + +https://github.com/lemire/FrameOfReference/blob/6ccaf9e97160f9a3b299e23a8ef739e711ef0c71/src/bpacking.cpp + +Copyright: 2013 Daniel Lemire +Home page: http://lemire.me/en/ +Project page: https://github.com/lemire/FrameOfReference +License: Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 + -------------------------------------------------------------------------------- -* Declared Licenses * -BSD-3-Clause +This project includes code from the TensorFlow project +Copyright 2015 The TensorFlow Authors. All Rights Reserved. -Copyright (c) 2011 Google Inc. All rights reserved. +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. + +-------------------------------------------------------------------------------- + +This project includes code from the NumPy project. + +https://github.com/numpy/numpy/blob/e1f191c46f2eebd6cb892a4bfe14d9dd43a06c4e/numpy/core/src/multiarray/multiarraymodule.c#L2910 + +https://github.com/numpy/numpy/blob/68fd82271b9ea5a9e50d4e761061dfcca851382a/numpy/core/src/multiarray/datetime.c + +Copyright (c) 2005-2017, NumPy Developers. +All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + * Neither the name of the NumPy Developers nor the names of any + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -52187,871 +52706,714 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +This project includes code from the Boost project -* Other Licenses * -IETF, CC-BY-3.0 +Boost Software License - Version 1.0 - August 17th, 2003 -* IETF * +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: -This repository relates to activities in the Internet Engineering Task Force (IETF). All material in this repository is considered Contributions to the IETF Standards Process, as defined in the intellectual property policies of IETF currently designated as BCP 78, BCP 79 and the IETF Trust Legal Provisions (TLP) Relating to IETF Documents. +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. -Any edit, commit, pull request, issue, comment or other change made to this repository constitutes Contributions to the IETF Standards Process (https://www.ietf.org/). +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. -You agree to comply with all applicable IETF policies and procedures, including, BCP 78, 79, the TLP, and the TLP rules regarding code components (e.g. being subject to a Simplified BSD License) in Contributions. +-------------------------------------------------------------------------------- -* CC-BY-3.0 * +This project includes code from the FlatBuffers project -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - 1. Definitions - a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. - b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. - c. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. - d. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. - e. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. - f. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. - g. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. - h. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. - i. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. - 2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. - 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; - b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; - c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and, - d. to Distribute and Publicly Perform Adaptations. - e. For the avoidance of doubt: - i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; - ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and, - iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License. - The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved. - 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(b), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(b), as requested. - b. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv), consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4 (b) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. - c. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. - 5. Representations, Warranties and Disclaimer - UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - 7. Termination - a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. - b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. - 8. Miscellaneous - a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. - b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. - c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. - e. This License may not be modified without the mutual written agreement of the Licensor and You. - f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. -Creative Commons Notice -Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. -Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of this License. -Creative Commons may be contacted at http://creativecommons.org/. +Copyright 2014 Google Inc. +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. --------------------------------------------------------------------------------- -Package Title: google-cloud-go (27944ca88115b8bd8cd22b6e620d38a116138601) -------------------------------------------------------------------------------- -* Declared Licenses * -Apache-2.0 +This project includes code from the tslib project +Copyright 2015 Microsoft Corporation. All rights reserved. +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 - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ + http://www.apache.org/licenses/LICENSE-2.0 - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +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. - 1. Definitions. +-------------------------------------------------------------------------------- - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +This project includes code from the jemalloc project - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +https://github.com/jemalloc/jemalloc - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +Copyright (C) 2002-2017 Jason Evans . +All rights reserved. +Copyright (C) 2007-2012 Mozilla Foundation. All rights reserved. +Copyright (C) 2009-2017 Facebook, Inc. All rights reserved. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice(s), + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice(s), + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +This project includes code from the Go project, BSD 3-clause license + PATENTS +weak patent termination clause +(https://github.com/golang/go/blob/master/PATENTS). - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +Copyright (c) 2009 The Go Authors. All rights reserved. - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +-------------------------------------------------------------------------------- - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +This project includes code from the hs2client - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: +https://github.com/cloudera/hs2client - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and +Copyright 2016 Cloudera Inc. - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +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 - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +http://www.apache.org/licenses/LICENSE-2.0 - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. +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. - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +-------------------------------------------------------------------------------- - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +The script ci/scripts/util_wait_for_it.sh has the following license - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +Copyright (c) 2016 Giles Hall - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - END OF TERMS AND CONDITIONS +-------------------------------------------------------------------------------- - APPENDIX: How to apply the Apache License to your work. +The script r/configure has the following license (MIT) - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. +Copyright (c) 2017, Jeroen Ooms and Jim Hester - Copyright [yyyy] [name of copyright owner] +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: - 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 +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - http://www.apache.org/licenses/LICENSE-2.0 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - 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. +-------------------------------------------------------------------------------- +cpp/src/arrow/util/logging.cc, cpp/src/arrow/util/logging.h and +cpp/src/arrow/util/logging-test.cc are adapted from +Ray Project (https://github.com/ray-project/ray) (Apache 2.0). +Copyright (c) 2016 Ray Project (https://github.com/ray-project/ray) -* Other Licenses * -BSD-3-Clause, IETF +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 -* BSD-3-Clause * + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (c) 2020 The Go Authors. All rights reserved. . All rights reserved. +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. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +-------------------------------------------------------------------------------- +The files cpp/src/arrow/vendored/datetime/date.h, cpp/src/arrow/vendored/datetime/tz.h, +cpp/src/arrow/vendored/datetime/tz_private.h, cpp/src/arrow/vendored/datetime/ios.h, +cpp/src/arrow/vendored/datetime/ios.mm, +cpp/src/arrow/vendored/datetime/tz.cpp are adapted from +Howard Hinnant's date library (https://github.com/HowardHinnant/date) +It is licensed under MIT license. - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +The MIT License (MIT) +Copyright (c) 2015, 2016, 2017 Howard Hinnant +Copyright (c) 2016 Adrian Colomitchi +Copyright (c) 2017 Florian Dang +Copyright (c) 2017 Paul Thompson +Copyright (c) 2018 Tomasz Kamiński - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -* IETF * +-------------------------------------------------------------------------------- -This repository relates to activities in the Internet Engineering Task Force (IETF). All material in this repository is considered Contributions to the IETF Standards Process, as defined in the intellectual property policies of IETF currently designated as BCP 78, BCP 79 and the IETF Trust Legal Provisions (TLP) Relating to IETF Documents. +The file cpp/src/arrow/util/utf8.h includes code adapted from the page + https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ +with the following license (MIT) -Any edit, commit, pull request, issue, comment or other change made to this repository constitutes Contributions to the IETF Standards Process (https://www.ietf.org/). +Copyright (c) 2008-2009 Bjoern Hoehrmann -You agree to comply with all applicable IETF policies and procedures, including, BCP 78, 79, the TLP, and the TLP rules regarding code components (e.g. being subject to a Simplified BSD License) in Contributions. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. --------------------------------------------------------------------------------- -Package Title: google-cloud-go (3756ec80e8575c3501addee5b859e0782ff1fe9d) -------------------------------------------------------------------------------- -* Declared Licenses * -Apache-2.0 +The file cpp/src/arrow/vendored/string_view.hpp has the following license +Boost Software License - Version 1.0 - August 17th, 2003 +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. - 1. Definitions. +-------------------------------------------------------------------------------- - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +The file cpp/src/arrow/vendored/variant.hpp has the following license - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +Boost Software License - Version 1.0 - August 17th, 2003 - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +-------------------------------------------------------------------------------- - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +The files in cpp/src/arrow/vendored/xxhash/ have the following license +(BSD 2-Clause License) - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +xxHash Library +Copyright (c) 2012-2014, Yann Collet +All rights reserved. - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: +You can contact the author at : +- xxHash homepage: http://www.xxhash.com +- xxHash source repository : https://github.com/Cyan4973/xxHash - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and +-------------------------------------------------------------------------------- - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +The files in cpp/src/arrow/vendored/double-conversion/ have the following license +(BSD 3-Clause License) - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +Copyright 2006-2011, the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +-------------------------------------------------------------------------------- - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +The files in cpp/src/arrow/vendored/uriparser/ have the following license +(BSD 3-Clause License) - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +uriparser - RFC 3986 URI parsing library - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +Copyright (C) 2007, Weijia Song +Copyright (C) 2007, Sebastian Pipping +All rights reserved. - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: - END OF TERMS AND CONDITIONS + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + * Neither the name of the nor the names of its + contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. -* Other Licenses * -BSD-2-Clause, BSD-3-Clause, IETF +-------------------------------------------------------------------------------- -* BSD-2-Clause * +The files under dev/tasks/conda-recipes have the following license -Copyright (c) 1996-1998 John D. Polstra. All rights reserved. +BSD 3-clause license +Copyright (c) 2015-2018, conda-forge +All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* BSD-3-Clause * +-------------------------------------------------------------------------------- -Copyright (c) 2020 The Go Authors. All rights reserved. . All rights reserved. +The files in cpp/src/arrow/vendored/utfcpp/ have the following license -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +Copyright 2006-2018 Nemanja Trifunovic - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- -* IETF * +This project includes code from Apache Kudu. -This repository relates to activities in the Internet Engineering Task Force (IETF). All material in this repository is considered Contributions to the IETF Standards Process, as defined in the intellectual property policies of IETF currently designated as BCP 78, BCP 79 and the IETF Trust Legal Provisions (TLP) Relating to IETF Documents. + * cpp/cmake_modules/CompilerInfo.cmake is based on Kudu's cmake_modules/CompilerInfo.cmake -Any edit, commit, pull request, issue, comment or other change made to this repository constitutes Contributions to the IETF Standards Process (https://www.ietf.org/). +Copyright: 2016 The Apache Software Foundation. +Home page: https://kudu.apache.org/ +License: http://www.apache.org/licenses/LICENSE-2.0 -You agree to comply with all applicable IETF policies and procedures, including, BCP 78, 79, the TLP, and the TLP rules regarding code components (e.g. being subject to a Simplified BSD License) in Contributions. +-------------------------------------------------------------------------------- +This project includes code from Apache Impala (incubating), formerly +Impala. The Impala code and rights were donated to the ASF as part of the +Incubator process after the initial code imports into Apache Parquet. --------------------------------------------------------------------------------- -Package Title: google-cloud-go (73a0597a2ed9b53338f54153b0e50bd367efab5c) --------------------------------------------------------------------------------- +Copyright: 2012 Cloudera, Inc. +Copyright: 2016 The Apache Software Foundation. +Home page: http://impala.apache.org/ +License: http://www.apache.org/licenses/LICENSE-2.0 -* Declared Licenses * -Apache-2.0 +-------------------------------------------------------------------------------- +This project includes code from Apache Aurora. +* dev/release/{release,changelog,release-candidate} are based on the scripts from + Apache Aurora - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +Copyright: 2016 The Apache Software Foundation. +Home page: https://aurora.apache.org/ +License: http://www.apache.org/licenses/LICENSE-2.0 - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +-------------------------------------------------------------------------------- - 1. Definitions. +This project includes code from the Google styleguide. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +* cpp/build-support/cpplint.py is based on the scripts from the Google styleguide. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +Copyright: 2009 Google Inc. All rights reserved. +Homepage: https://github.com/google/styleguide +License: 3-clause BSD - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +-------------------------------------------------------------------------------- - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +This project includes code from Snappy. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +* cpp/cmake_modules/{SnappyCMakeLists.txt,SnappyConfig.h} are based on code + from Google's Snappy project. - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +Copyright: 2009 Google Inc. All rights reserved. +Homepage: https://github.com/google/snappy +License: 3-clause BSD - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +-------------------------------------------------------------------------------- - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +This project includes code from the manylinux project. - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +* python/manylinux1/scripts/{build_python.sh,python-tag-abi-tag.py, + requirements.txt} are based on code from the manylinux project. - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +Copyright: 2016 manylinux +Homepage: https://github.com/pypa/manylinux +License: The MIT License (MIT) - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +-------------------------------------------------------------------------------- - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +This project includes code from the cymove project: - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: +* python/pyarrow/includes/common.pxd includes code from the cymove project - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and +The MIT License (MIT) +Copyright (c) 2019 Omer Ozarslan - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +OR OTHER DEALINGS IN THE SOFTWARE. - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +-------------------------------------------------------------------------------- - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +The projects includes code from the Ursabot project under the dev/archery +directory. - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +License: BSD 2-Clause - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +Copyright 2019 RStudio, Inc. - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. - END OF TERMS AND CONDITIONS +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - APPENDIX: How to apply the Apache License to your work. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. +-------------------------------------------------------------------------------- - Copyright [yyyy] [name of copyright owner] +This project include code from CMake. - 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 +* cpp/cmake_modules/FindGTest.cmake is based on code from CMake. - http://www.apache.org/licenses/LICENSE-2.0 +Copyright: Copyright 2000-2019 Kitware, Inc. and Contributors +Homepage: https://gitlab.kitware.com/cmake/cmake +License: 3-clause BSD - 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. +-------------------------------------------------------------------------------- +This project include code from mingw-w64. +* cpp/src/arrow/util/cpu-info.cc has a polyfill for mingw-w64 < 5 -* Other Licenses * -BSD-3-Clause, IETF +Copyright (c) 2009 - 2013 by the mingw-w64 project +Homepage: https://mingw-w64.org +License: Zope Public License (ZPL) Version 2.1. -* BSD-3-Clause * +--------------------------------------------------------------------------------- -Copyright (c) 2020 The Go Authors. All rights reserved. . All rights reserved. +This project include code from Google's Asylo project. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +* cpp/src/arrow/result.h is based on status_or.h - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +Copyright (c) Copyright 2017 Asylo authors +Homepage: https://asylo.dev/ +License: Apache 2.0 - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +-------------------------------------------------------------------------------- - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +This project includes code from Google's protobuf project -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* cpp/src/arrow/result.h ARROW_ASSIGN_OR_RAISE is based off ASSIGN_OR_RETURN -* IETF * +Copyright 2008 Google Inc. All rights reserved. +Homepage: https://developers.google.com/protocol-buffers/ +License: -This repository relates to activities in the Internet Engineering Task Force (IETF). All material in this repository is considered Contributions to the IETF Standards Process, as defined in the intellectual property policies of IETF currently designated as BCP 78, BCP 79 and the IETF Trust Legal Provisions (TLP) Relating to IETF Documents. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -Any edit, commit, pull request, issue, comment or other change made to this repository constitutes Contributions to the IETF Standards Process (https://www.ietf.org/). + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. -You agree to comply with all applicable IETF policies and procedures, including, BCP 78, 79, the TLP, and the TLP rules regarding code components (e.g. being subject to a Simplified BSD License) in Contributions. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Code generated by the Protocol Buffer compiler is owned by the owner +of the input file used when generating it. This code is not +standalone and requires a support library to be linked with it. This +support library is itself covered by the above license. -------------------------------------------------------------------------------- -Package Title: google-cloud-go (adcbb74d786d8239113fc17e228638fa0eb2d664) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 +3rdparty dependency LLVM is statically linked in certain binary distributions. +Additionally some sections of source code have been derived from sources in LLVM +and have been clearly labeled as such. LLVM has the following license: +============================================================================== +The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: +============================================================================== Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - 1. Definitions. + 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. @@ -53110,14 +53472,14 @@ Apache-2.0 on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - 2. Grant of Copyright License. Subject to the terms and conditions of + 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - 3. Grant of Patent License. Subject to the terms and conditions of + 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, @@ -53133,7 +53495,7 @@ Apache-2.0 granted to You under this License for that Work shall terminate as of the date such litigation is filed. - 4. Redistribution. You may reproduce and distribute copies of the + 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: @@ -53174,7 +53536,7 @@ Apache-2.0 reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - 5. Submission of Contributions. Unless You explicitly state otherwise, + 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. @@ -53182,12 +53544,12 @@ Apache-2.0 the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - 6. Trademarks. This License does not grant permission to use the trade + 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - 7. Disclaimer of Warranty. Unless required by applicable law or + 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or @@ -53197,7 +53559,7 @@ Apache-2.0 appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - 8. Limitation of Liability. In no event and under no legal theory, + 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be @@ -53209,7 +53571,7 @@ Apache-2.0 other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - 9. Accepting Warranty or Additional Liability. While redistributing + 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this @@ -53220,9 +53582,9 @@ Apache-2.0 incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - END OF TERMS AND CONDITIONS + END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. + APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" @@ -53233,712 +53595,1058 @@ Apache-2.0 same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright [yyyy] [name of copyright owner] - 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 + 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. - - + 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. -* Other Licenses * -BSD-3-Clause +---- LLVM Exceptions to the Apache 2.0 License ---- -Copyright (c) 2020 The Go Authors. All rights reserved. . All rights reserved. +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into an Object form of such source code, you +may redistribute such embedded portions in such Object form without complying +with the conditions of Sections 4(a), 4(b) and 4(d) of the License. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +In addition, if you combine or link compiled forms of this Software with +software that is licensed under the GPLv2 ("Combined Software") and if a +court of competent jurisdiction determines that the patent provision (Section +3), the indemnity provision (Section 9) or other Section of the License +conflicts with the conditions of the GPLv2, you may retroactively and +prospectively choose to deem waived or otherwise exclude such Section(s) of +the License, but only in their entirety and only with respect to the Combined +Software. +============================================================================== +Software from third parties included in the LLVM Project: +============================================================================== +The LLVM Project contains third party software which is under different license +terms. All such code will be identified clearly using at least one of two +mechanisms: +1) It will be in a separate directory tree with its own `LICENSE.txt` or + `LICENSE` file at the top containing the specific license and restrictions + which apply to that software, or +2) It will contain specific license and restriction terms at the top of every + file. --------------------------------------------------------------------------------- -Package Title: google-cloud-go (b4d0ff0e4e7be0f8048416f13db56d1c7bb6bec0) -------------------------------------------------------------------------------- -* Declared Licenses * -Apache-2.0 +3rdparty dependency gRPC is statically linked in certain binary +distributions, like the python wheels. gRPC has the following license: +Copyright 2014 gRPC authors. +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 - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ + http://www.apache.org/licenses/LICENSE-2.0 - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +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. - 1. Definitions. +-------------------------------------------------------------------------------- - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +3rdparty dependency Apache Thrift is statically linked in certain binary +distributions, like the python wheels. Apache Thrift has the following license: - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +Apache Thrift +Copyright (C) 2006 - 2019, The Apache Software Foundation - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +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 - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. + http://www.apache.org/licenses/LICENSE-2.0 - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +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. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +-------------------------------------------------------------------------------- - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +3rdparty dependency Apache ORC is statically linked in certain binary +distributions, like the python wheels. Apache ORC has the following license: - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +Apache ORC +Copyright 2013-2019 The Apache Software Foundation - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +This product includes software developed by The Apache Software +Foundation (http://www.apache.org/). - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +This product includes software developed by Hewlett-Packard: +(c) Copyright [2014-2015] Hewlett-Packard Development Company, L.P - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +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 - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: + http://www.apache.org/licenses/LICENSE-2.0 - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and +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. - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +-------------------------------------------------------------------------------- - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +3rdparty dependency zstd is statically linked in certain binary +distributions, like the python wheels. ZSTD has the following license: - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. +BSD License - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +For Zstandard software - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +Copyright (c) 2016-present, Facebook, Inc. All rights reserved. - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. - END OF TERMS AND CONDITIONS +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - APPENDIX: How to apply the Apache License to your work. +-------------------------------------------------------------------------------- - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. +3rdparty dependency lz4 is statically linked in certain binary +distributions, like the python wheels. lz4 has the following license: - Copyright [yyyy] [name of copyright owner] +LZ4 Library +Copyright (c) 2011-2016, Yann Collet +All rights reserved. - 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 +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: - http://www.apache.org/licenses/LICENSE-2.0 +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. - 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. +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- -* Other Licenses * -BSD-3-Clause, BSD-2-Clause, IETF +3rdparty dependency Brotli is statically linked in certain binary +distributions, like the python wheels. Brotli has the following license: -* BSD-3-Clause * +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. -Copyright (c) 2020 The Go Authors. All rights reserved. . All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +-------------------------------------------------------------------------------- - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +3rdparty dependency rapidjson is statically linked in certain binary +distributions, like the python wheels. rapidjson and its dependencies have the +following licenses: -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Tencent is pleased to support the open source community by making RapidJSON +available. -* BSD-2-Clause * +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. +All rights reserved. -Copyright (c) 1996-1998 John D. Polstra. All rights reserved. +If you have downloaded a copy of the RapidJSON binary from Tencent, please note +that the RapidJSON binary is licensed under the MIT License. +If you have downloaded a copy of the RapidJSON source code from Tencent, please +note that RapidJSON source code is licensed under the MIT License, except for +the third-party components listed below which are subject to different license +terms. Your integration of RapidJSON into your own projects may require +compliance with the MIT License, as well as the other licenses applicable to +the third-party components included within RapidJSON. To avoid the problematic +JSON license in your own projects, it's sufficient to exclude the +bin/jsonchecker/ directory, as it's the only code under the JSON license. +A copy of the MIT License is included in this file. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +Other dependencies and licenses: - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + Open Source Software Licensed Under the BSD License: + -------------------------------------------------------------------- - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation + The msinttypes r29 + Copyright (c) 2006-2013 Alexander Chemeris + All rights reserved. - and/or other materials provided with the distribution. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. -* IETF * + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR + ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + DAMAGE. -This repository relates to activities in the Internet Engineering Task Force (IETF). All material in this repository is considered Contributions to the IETF Standards Process, as defined in the intellectual property policies of IETF currently designated as BCP 78, BCP 79 and the IETF Trust Legal Provisions (TLP) Relating to IETF Documents. + Open Source Software Licensed Under the JSON License: + -------------------------------------------------------------------- -Any edit, commit, pull request, issue, comment or other change made to this repository constitutes Contributions to the IETF Standards Process (https://www.ietf.org/). + json.org + Copyright (c) 2002 JSON.org + All Rights Reserved. -You agree to comply with all applicable IETF policies and procedures, including, BCP 78, 79, the TLP, and the TLP rules regarding code components (e.g. being subject to a Simplified BSD License) in Contributions. + JSON_checker + Copyright (c) 2002 JSON.org + All Rights Reserved. --------------------------------------------------------------------------------- -Package Title: google-cloud-go (bd90ad90c1de4495ea270e7d1ba3390a41f88f0a) --------------------------------------------------------------------------------- + Terms of the JSON License: + --------------------------------------------------- -* Declared Licenses * -Apache-2.0 + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + The Software shall be used for Good, not Evil. - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - 1. Definitions. + Terms of the MIT License: + -------------------------------------------------------------------- - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +-------------------------------------------------------------------------------- - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +3rdparty dependency snappy is statically linked in certain binary +distributions, like the python wheels. snappy has the following license: - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +Copyright 2011, Google Inc. +All rights reserved. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of Google Inc. nor the names of its contributors may be + used to endorse or promote products derived from this software without + specific prior written permission. - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: +=== - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and +Some of the benchmark data in testdata/ is licensed differently: - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and + - fireworks.jpeg is Copyright 2013 Steinar H. Gunderson, and + is licensed under the Creative Commons Attribution 3.0 license + (CC-BY-3.0). See https://creativecommons.org/licenses/by/3.0/ + for more information. - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and + - kppkn.gtb is taken from the Gaviota chess tablebase set, and + is licensed under the MIT License. See + https://sites.google.com/site/gaviotachessengine/Home/endgame-tablebases-1 + for more information. - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. + - paper-100k.pdf is an excerpt (bytes 92160 to 194560) from the paper + “Combinatorial Modeling of Chromatin Features Quantitatively Predicts DNA + Replication Timing in _Drosophila_” by Federico Comoglio and Renato Paro, + which is licensed under the CC-BY license. See + http://www.ploscompbiol.org/static/license for more ifnormation. - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. + - alice29.txt, asyoulik.txt, plrabn12.txt and lcet10.txt are from Project + Gutenberg. The first three have expired copyrights and are in the public + domain; the latter does not have expired copyright, but is still in the + public domain according to the license information + (http://www.gutenberg.org/ebooks/53). - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +-------------------------------------------------------------------------------- - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +3rdparty dependency gflags is statically linked in certain binary +distributions, like the python wheels. gflags has the following license: - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +Copyright (c) 2006, Google Inc. +All rights reserved. - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. - END OF TERMS AND CONDITIONS +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - APPENDIX: How to apply the Apache License to your work. +-------------------------------------------------------------------------------- - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. +3rdparty dependency glog is statically linked in certain binary +distributions, like the python wheels. glog has the following license: - Copyright [yyyy] [name of copyright owner] +Copyright (c) 2008, Google Inc. +All rights reserved. - 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 +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - http://www.apache.org/licenses/LICENSE-2.0 + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. - 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. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +A function gettimeofday in utilities.cc is based on -* Other Licenses * -BSD-3-Clause, BSD-2-Clause, IETF +http://www.google.com/codesearch/p?hl=en#dR3YEbitojA/COPYING&q=GetSystemTimeAsFileTime%20license:bsd -* BSD-3-Clause * +The license of this code is: -Copyright (c) 2020 The Go Authors. All rights reserved. . All rights reserved. +Copyright (c) 2003-2008, Jouni Malinen and contributors +All Rights Reserved. Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +modification, are permitted provided that the following conditions are +met: - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +3. Neither the name(s) of the above-listed copyright holder(s) nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* BSD-2-Clause * - -Copyright (c) 1996-1998 John D. Polstra. All rights reserved. +-------------------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +3rdparty dependency re2 is statically linked in certain binary +distributions, like the python wheels. re2 has the following license: - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Copyright (c) 2009 The RE2 Authors. All rights reserved. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - and/or other materials provided with the distribution. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its contributors + may be used to endorse or promote products derived from this + software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* IETF * - -This repository relates to activities in the Internet Engineering Task Force (IETF). All material in this repository is considered Contributions to the IETF Standards Process, as defined in the intellectual property policies of IETF currently designated as BCP 78, BCP 79 and the IETF Trust Legal Provisions (TLP) Relating to IETF Documents. - -Any edit, commit, pull request, issue, comment or other change made to this repository constitutes Contributions to the IETF Standards Process (https://www.ietf.org/). - -You agree to comply with all applicable IETF policies and procedures, including, BCP 78, 79, the TLP, and the TLP rules regarding code components (e.g. being subject to a Simplified BSD License) in Contributions. +-------------------------------------------------------------------------------- +3rdparty dependency c-ares is statically linked in certain binary +distributions, like the python wheels. c-ares has the following license: --------------------------------------------------------------------------------- -Package Title: google-cloud-go (cf8081fada0955a1682ce3fc400b44bc141309c7) --------------------------------------------------------------------------------- +# c-ares license -* Declared Licenses * -Apache-2.0 +Copyright (c) 2007 - 2018, Daniel Stenberg with many contributors, see AUTHORS +file. +Copyright 1998 by the Massachusetts Institute of Technology. +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided that +the above copyright notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting documentation, and that +the name of M.I.T. not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior permission. +M.I.T. makes no representations about the suitability of this software for any +purpose. It is provided "as is" without express or implied warranty. - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +-------------------------------------------------------------------------------- - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +3rdparty dependency zlib is redistributed as a dynamically linked shared +library in certain binary distributions, like the python wheels. In the future +this will likely change to static linkage. zlib has the following license: - 1. Definitions. +zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.11, January 15th, 2017 - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. + Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +-------------------------------------------------------------------------------- - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +3rdparty dependency openssl is redistributed as a dynamically linked shared +library in certain binary distributions, like the python wheels. openssl +preceding version 3 has the following license: - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. + LICENSE ISSUES + ============== - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." + The OpenSSL toolkit stays under a double license, i.e. both the conditions of + the OpenSSL License and the original SSLeay license apply to the toolkit. + See below for the actual license texts. - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. + OpenSSL License + --------------- - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +/* ==================================================================== + * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. + Original SSLeay License + ----------------------- - 4. Redistribution. You may reproduce and distribute copies of the +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +-------------------------------------------------------------------------------- + +This project includes code from the rtools-backports project. + +* ci/scripts/PKGBUILD and ci/scripts/r_windows_build.sh are based on code + from the rtools-backports project. + +Copyright: Copyright (c) 2013 - 2019, Алексей and Jeroen Ooms. +All rights reserved. +Homepage: https://github.com/r-windows/rtools-backports +License: 3-clause BSD + +-------------------------------------------------------------------------------- + +Some code from pandas has been adapted for the pyarrow codebase. pandas is +available under the 3-clause BSD license, which follows: + +pandas license +============== + +Copyright (c) 2011-2012, Lambda Foundry, Inc. and PyData Development Team +All rights reserved. + +Copyright (c) 2008-2011 AQR Capital Management, LLC +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + * Neither the name of the copyright holder nor the names of any + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- + +Some bits from DyND, in particular aspects of the build system, have been +adapted from libdynd and dynd-python under the terms of the BSD 2-clause +license + +The BSD 2-Clause License + + Copyright (C) 2011-12, Dynamic NDArray Developers + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Dynamic NDArray Developers list: + + * Mark Wiebe + * Continuum Analytics + +-------------------------------------------------------------------------------- + +Some source code from Ibis (https://github.com/cloudera/ibis) has been adapted +for PyArrow. Ibis is released under the Apache License, Version 2.0. + +-------------------------------------------------------------------------------- + +This project includes code from the autobrew project. + +* r/tools/autobrew and dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb + are based on code from the autobrew project. + +Copyright (c) 2019, Jeroen Ooms +License: MIT +Homepage: https://github.com/jeroen/autobrew + +-------------------------------------------------------------------------------- + +dev/tasks/homebrew-formulae/apache-arrow.rb has the following license: + +BSD 2-Clause License + +Copyright (c) 2009-present, Homebrew contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- + +cpp/src/arrow/vendored/base64.cpp has the following license + +ZLIB License + +Copyright (C) 2004-2017 René Nyffenegger + +This source code is provided 'as-is', without any express or implied +warranty. In no event will the author be held liable for any damages arising +from the use of this software. + +Permission is granted to anyone to use this software for any purpose, including +commercial applications, and to alter it and redistribute it freely, subject to +the following restrictions: + +1. The origin of this source code must not be misrepresented; you must not + claim that you wrote the original source code. If you use this source code + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original source code. + +3. This notice may not be removed or altered from any source distribution. + +René Nyffenegger rene.nyffenegger@adp-gmbh.ch + +-------------------------------------------------------------------------------- + +The file cpp/src/arrow/vendored/optional.hpp has the following license + +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------------------- + +The file cpp/src/arrow/vendored/musl/strptime.c has the following license + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------------------- + +The file cpp/cmake_modules/BuildUtils.cmake contains code from + +https://gist.github.com/cristianadam/ef920342939a89fae3e8a85ca9459b49 + +which is made available under the MIT license + +Copyright (c) 2019 Cristian Adam + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +-------------------------------------------------------------------------------- + +The files in cpp/src/arrow/vendored/portable-snippets/ contain code from + +https://github.com/nemequ/portable-snippets + +and have the following copyright notice: + +Each source file contains a preamble explaining the license situation +for that file, which takes priority over this file. With the +exception of some code pulled in from other repositories (such as +µnit, an MIT-licensed project which is used for testing), the code is +public domain, released using the CC0 1.0 Universal dedication (*). + +(*) https://creativecommons.org/publicdomain/zero/1.0/legalcode + + +* Apache-2.0 * + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: @@ -54027,18 +54735,7 @@ Apache-2.0 END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] + Copyright 2015 Microsoft Corporation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -54053,83 +54750,10 @@ Apache-2.0 limitations under the License. - -* Other Licenses * -BSD-3-Clause, BSD-2-Clause, IETF - -* BSD-3-Clause * - -Copyright (c) 2020 The Go Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* BSD-2-Clause * - -Copyright (c) 1996-1998 John D. Polstra. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* IETF * - -This repository relates to activities in the Internet Engineering Task Force (IETF). All material in this repository is considered Contributions to the IETF Standards Process, as defined in the intellectual property policies of IETF currently designated as BCP 78, BCP 79 and the IETF Trust Legal Provisions (TLP) Relating to IETF Documents. - -Any edit, commit, pull request, issue, comment or other change made to this repository constitutes Contributions to the IETF Standards Process (https://www.ietf.org/). - -You agree to comply with all applicable IETF policies and procedures, including, BCP 78, 79, the TLP, and the TLP rules regarding code components (e.g. being subject to a Simplified BSD License) in Contributions. - - --------------------------------------------------------------------------------- -Package Title: googleapis (1f0e43f50bc0606e385ffae1bc80b5b231dcd042) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 +* Apache-2.0 * -Apache License + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -54306,19 +54930,7 @@ Apache License END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2015, Google Inc - Copyright 2018, GoGo Authors + Copyright 2016 The Linux Foundation. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -54333,531 +54945,598 @@ Apache License limitations under the License. +* Apache-2.0 * --------------------------------------------------------------------------------- -Package Title: goose (5f1f43cfb2ba11d901b1ea2f28c88bf2577985cb) --------------------------------------------------------------------------------- + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ -* Declared Licenses * -MIT + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + 1. Definitions. -Original work Copyright (c) 2012 Liam Staskawicz -Modified work Copyright (c) 2016 Vojtech Vitek + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -MIT License + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). --------------------------------------------------------------------------------- -Package Title: gopgkrb5 (2749fc92fc9b1446499d9599bc9b9925aad18125) --------------------------------------------------------------------------------- + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -* Declared Licenses * -MIT + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -MIT License + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -Copyright (c) 2022 Oliver Tan + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. --------------------------------------------------------------------------------- -Package Title: gopter (634a59d12406abc51545000deab7cf43ebc32378) --------------------------------------------------------------------------------- + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -* Declared Licenses * -MIT + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -The MIT License (MIT) + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -Copyright (c) 2016 leanovate + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + END OF TERMS AND CONDITIONS -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + Copyright 2013-2018 Docker, Inc. + 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 + https://www.apache.org/licenses/LICENSE-2.0 -* Other Licenses * -BSD-3-Clause + 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. -Copyright (c) 2009 The Go Authors. All rights reserved. . All rights reserved. +* Apache-2.0 * -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. + 1. Definitions. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. --------------------------------------------------------------------------------- -Package Title: gosigar (a1c62e5557684c3b690284ec229176b842c0bf6b) --------------------------------------------------------------------------------- + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -* Declared Licenses * -Apache-2.0 + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -1. Definitions. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and + END OF TERMS AND CONDITIONS - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -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. - - - --------------------------------------------------------------------------------- -Package Title: gostdlib (ed4897e9faf46f1484d2c81d40ab05bad8ca45b1) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2009 The Go Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: gotool (80517062f582ea3340cd4baf70e86d539ae7d84d) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2013 Kamil Kisiel - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: + Copyright 2015 Docker, Inc. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. + 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 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + https://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. -* Other Licenses * -BSD-3-Clause +* Apache-2.0 * -Copyright (c) 2009 The Go Authors. All rights reserved. . All rights reserved. + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. + 1. Definitions. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. --------------------------------------------------------------------------------- -Package Title: govalidator (a9d515a09cc289c60d55064edec5ef189859f172) --------------------------------------------------------------------------------- + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -* Declared Licenses * -MIT + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -Copyright (c) 2014-2020 Alex Saskevich -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -* Other Licenses * -Apache-2.0 + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -Copyright [yyyy] [name of copyright owner] + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -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 + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -http://www.apache.org/licenses/LICENSE-2.0 + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -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. + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -See the License for the specific language governing permissions and limitations under the License. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. --------------------------------------------------------------------------------- -Package Title: graceful-fs (4.2.11) --------------------------------------------------------------------------------- + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -* Declared Licenses * -ISC + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -The ISC License + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -Copyright (c) 2011-2022 Isaac Z. Schlueter, Ben Noordhuis, and Contributors + END OF TERMS AND CONDITIONS -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. + Copyright 2019, 2020 OCI Contributors + Copyright 2016 Docker, Inc. -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + 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 + https://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. --------------------------------------------------------------------------------- -Package Title: grafana-openapi-client-go (eb0e60d27cb781eabfb0d0b66bc25c72d1c4866a) --------------------------------------------------------------------------------- -* Declared Licenses * -Apache-2.0 +* Apache-2.0 * Apache License Version 2.0, January 2004 - http://www.apache.org/licenses/ + https://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION @@ -55032,24 +55711,13 @@ Apache-2.0 END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] + Copyright The containerd Authors 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 + https://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, @@ -55058,221 +55726,282 @@ Apache-2.0 limitations under the License. +* BSD-3-Clause * --------------------------------------------------------------------------------- -Package Title: graphemer (1.4.0) --------------------------------------------------------------------------------- -* Declared Licenses * -MIT +Copyright (c) 2009-2011, Mozilla Foundation and contributors +All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -Copyright 2020 Filament (Anomalous Technologies Limited) +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +* Neither the names of the Mozilla Foundation nor the names of project + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, -INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* Apache-2.0 * --------------------------------------------------------------------------------- -Package Title: groupcache (41bb18bfe9da5321badc438f91158cd790a33aa3) --------------------------------------------------------------------------------- -* Declared Licenses * -Apache-2.0 +This project is covered by two different licenses: MIT and Apache. +#### MIT License #### -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ +The following files were ported to Go from C files of libyaml, and thus +are still covered by their original MIT license, with the additional +copyright staring in 2011 when the project was ported over: -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + apic.go emitterc.go parserc.go readerc.go scannerc.go + writerc.go yamlh.go yamlprivateh.go -1. Definitions. +Copyright (c) 2006-2010 Kirill Simonov +Copyright (c) 2006-2011 Kirill Simonov -"License" shall mean the terms and conditions for use, reproduction, and -distribution as defined by Sections 1 through 9 of this document. +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: -"Licensor" shall mean the copyright owner or entity authorized by the copyright -owner that is granting the License. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -"Legal Entity" shall mean the union of the acting entity and all other entities -that control, are controlled by, or are under common control with that entity. -For the purposes of this definition, "control" means (i) the power, direct or -indirect, to cause the direction or management of such entity, whether by -contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the -outstanding shares, or (iii) beneficial ownership of such entity. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -"You" (or "Your") shall mean an individual or Legal Entity exercising -permissions granted by this License. +### Apache License ### -"Source" form shall mean the preferred form for making modifications, including -but not limited to software source code, documentation source, and configuration -files. +All the remaining project files are covered by the Apache license: -"Object" form shall mean any form resulting from mechanical transformation or -translation of a Source form, including but not limited to compiled object code, -generated documentation, and conversions to other media types. +Copyright (c) 2011-2019 Canonical Ltd -"Work" shall mean the work of authorship, whether in Source or Object form, made -available under the License, as indicated by a copyright notice that is included -in or attached to the work (an example is provided in the Appendix below). +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 -"Derivative Works" shall mean any work, whether in Source or Object form, that -is based on (or derived from) the Work and for which the editorial revisions, -annotations, elaborations, or other modifications represent, as a whole, an -original work of authorship. For the purposes of this License, Derivative Works -shall not include works that remain separable from, or merely link (or bind by -name) to the interfaces of, the Work and Derivative Works thereof. + http://www.apache.org/licenses/LICENSE-2.0 -"Contribution" shall mean any work of authorship, including the original version -of the Work and any modifications or additions to that Work or Derivative Works -thereof, that is intentionally submitted to Licensor for inclusion in the Work -by the copyright owner or by an individual or Legal Entity authorized to submit -on behalf of the copyright owner. For the purposes of this definition, -"submitted" means any form of electronic, verbal, or written communication sent -to the Licensor or its representatives, including but not limited to -communication on electronic mailing lists, source code control systems, and -issue tracking systems that are managed by, or on behalf of, the Licensor for -the purpose of discussing and improving the Work, but excluding communication -that is conspicuously marked or otherwise designated in writing by the copyright -owner as "Not a Contribution." +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. -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf -of whom a Contribution has been received by Licensor and subsequently -incorporated within the Work. -2. Grant of Copyright License. +* Apache-2.0 * -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the Work and such -Derivative Works in Source or Object form. -3. Grant of Patent License. + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable (except as stated in this section) patent license to make, have -made, use, offer to sell, sell, import, and otherwise transfer the Work, where -such license applies only to those patent claims licensable by such Contributor -that are necessarily infringed by their Contribution(s) alone or by combination -of their Contribution(s) with the Work to which such Contribution(s) was -submitted. If You institute patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Work or a -Contribution incorporated within the Work constitutes direct or contributory -patent infringement, then any patent licenses granted to You under this License -for that Work shall terminate as of the date such litigation is filed. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -4. Redistribution. + 1. Definitions. -You may reproduce and distribute copies of the Work or Derivative Works thereof -in any medium, with or without modifications, and in Source or Object form, -provided that You meet the following conditions: + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -You must give any other recipients of the Work or Derivative Works a copy of -this License; and -You must cause any modified files to carry prominent notices stating that You -changed the files; and -You must retain, in the Source form of any Derivative Works that You distribute, -all copyright, patent, trademark, and attribution notices from the Source form -of the Work, excluding those notices that do not pertain to any part of the -Derivative Works; and -If the Work includes a "NOTICE" text file as part of its distribution, then any -Derivative Works that You distribute must include a readable copy of the -attribution notices contained within such NOTICE file, excluding those notices -that do not pertain to any part of the Derivative Works, in at least one of the -following places: within a NOTICE text file distributed as part of the -Derivative Works; within the Source form or documentation, if provided along -with the Derivative Works; or, within a display generated by the Derivative -Works, if and wherever such third-party notices normally appear. The contents of -the NOTICE file are for informational purposes only and do not modify the -License. You may add Your own attribution notices within Derivative Works that -You distribute, alongside or as an addendum to the NOTICE text from the Work, -provided that such additional attribution notices cannot be construed as -modifying the License. -You may add Your own copyright statement to Your modifications and may provide -additional or different license terms and conditions for use, reproduction, or -distribution of Your modifications, or for any such Derivative Works as a whole, -provided Your use, reproduction, and distribution of the Work otherwise complies -with the conditions stated in this License. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -5. Submission of Contributions. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -Unless You explicitly state otherwise, any Contribution intentionally submitted -for inclusion in the Work by You to the Licensor shall be under the terms and -conditions of this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify the terms of -any separate license agreement you may have executed with Licensor regarding -such Contributions. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -6. Trademarks. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -This License does not grant permission to use the trade names, trademarks, -service marks, or product names of the Licensor, except as required for -reasonable and customary use in describing the origin of the Work and -reproducing the content of the NOTICE file. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -7. Disclaimer of Warranty. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -Unless required by applicable law or agreed to in writing, Licensor provides the -Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, -including, without limitation, any warranties or conditions of TITLE, -NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are -solely responsible for determining the appropriateness of using or -redistributing the Work and assume any risks associated with Your exercise of -permissions under this License. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -8. Limitation of Liability. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -In no event and under no legal theory, whether in tort (including negligence), -contract, or otherwise, unless required by applicable law (such as deliberate -and grossly negligent acts) or agreed to in writing, shall any Contributor be -liable to You for damages, including any direct, indirect, special, incidental, -or consequential damages of any character arising as a result of this License or -out of the use or inability to use the Work (including but not limited to -damages for loss of goodwill, work stoppage, computer failure or malfunction, or -any and all other commercial damages or losses), even if such Contributor has -been advised of the possibility of such damages. + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -9. Accepting Warranty or Additional Liability. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -While redistributing the Work or Derivative Works thereof, You may choose to -offer, and charge a fee for, acceptance of support, warranty, indemnity, or -other liability obligations and/or rights consistent with this License. However, -in accepting such obligations, You may act only on Your own behalf and on Your -sole responsibility, not on behalf of any other Contributor, and only if You -agree to indemnify, defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason of your -accepting any such warranty or additional liability. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -END OF TERMS AND CONDITIONS + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -APPENDIX: How to apply the Apache License to your work + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -To apply the Apache License to your work, attach the following boilerplate -notice, with the fields enclosed by brackets "[]" replaced with your own -identifying information. (Don't include the brackets!) The text should be -enclosed in the appropriate comment syntax for the file format. We also -recommend that a file or class name and description of purpose be included on -the same "printed page" as the copyright notice for easier identification within -third-party archives. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. Copyright [yyyy] [name of copyright owner] @@ -55280,7 +56009,7 @@ third-party archives. 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 + 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, @@ -55289,72 +56018,187 @@ third-party archives. limitations under the License. +* Apache-2.0 * --------------------------------------------------------------------------------- -Package Title: grpc-gateway (094a6fe78b3ca888297d090185cdf30f0e42e157) --------------------------------------------------------------------------------- + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -* Declared Licenses * -BSD-3-Clause + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + 1. Definitions. -Copyright (c) 2015, Gengo, Inc. -All rights reserved. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. - * Neither the name of Gengo, Inc. nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -* Other Licenses * -Apache-2.0 + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -Copyright 2015 Google Inc. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -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 + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -http://www.apache.org/licenses/LICENSE-2.0 + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -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. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -See the License for the specific language governing permissions and limitations under the License. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and --------------------------------------------------------------------------------- -Package Title: grpc-go (1055b481ed2204a29d233286b9b50c42b63f8825) --------------------------------------------------------------------------------- + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -* Declared Licenses * -Apache-2.0 + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS +* Apache-2.0 * Apache License Version 2.0, January 2004 @@ -55559,15 +56403,7 @@ Apache-2.0 limitations under the License. - --------------------------------------------------------------------------------- -Package Title: grpc-go (702608ffae4d03a6821b96d3e2311973d34b96dc) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - +* Apache-2.0 * Apache License Version 2.0, January 2004 @@ -55749,7 +56585,7 @@ Apache-2.0 APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" + boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -55757,7 +56593,7 @@ Apache-2.0 same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright (c) 2018-2020, Dmitrij Koniajev (dimchansky@gmail.com) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -55772,789 +56608,417 @@ Apache-2.0 limitations under the License. +* Apache-2.0 * --------------------------------------------------------------------------------- -Package Title: gud (1.0.0) --------------------------------------------------------------------------------- + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -* Declared Licenses * -MIT - - -Copyright (c) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 1. Definitions. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. --------------------------------------------------------------------------------- -Package Title: gziphandler (56545f4a5d46df9a6648819d1664c3a03a13ffdb) --------------------------------------------------------------------------------- + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -* Declared Licenses * -Apache-2.0 + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -Copyright (c) 2015 The New York Times Company + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this library except in compliance with the License. -You may obtain a copy of the License at + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). - http://www.apache.org/licenses/LICENSE-2.0 + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -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. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. --------------------------------------------------------------------------------- -Package Title: has (1.0.3) --------------------------------------------------------------------------------- + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -* Declared Licenses * -MIT + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -Copyright (c) 2013 Thiago de Arruda + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. --------------------------------------------------------------------------------- -Package Title: has-ansi (2.0.0) --------------------------------------------------------------------------------- + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -* Declared Licenses * -MIT + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + END OF TERMS AND CONDITIONS -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + APPENDIX: How to apply the Apache License to your work. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + Copyright 2015 Marc-Antoine Ruel --------------------------------------------------------------------------------- -Package Title: has-flag (1.0.0) --------------------------------------------------------------------------------- + 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 -* Declared Licenses * -MIT + 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. -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +* Apache-2.0 * -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION --------------------------------------------------------------------------------- -Package Title: has-flag (3.0.0) --------------------------------------------------------------------------------- + 1. Definitions. -* Declared Licenses * -MIT + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. --------------------------------------------------------------------------------- -Package Title: has-flag (4.0.0) --------------------------------------------------------------------------------- + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -* Declared Licenses * -MIT + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: --------------------------------------------------------------------------------- -Package Title: has-property-descriptors (1.0.0) --------------------------------------------------------------------------------- + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -* Declared Licenses * -MIT + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -MIT License + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -Copyright (c) 2022 Inspect JS + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. --------------------------------------------------------------------------------- -Package Title: has-symbols (1.0.3) --------------------------------------------------------------------------------- + END OF TERMS AND CONDITIONS -* Declared Licenses * -MIT + APPENDIX: How to apply the Apache License to your work. + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -MIT License + Copyright {yyyy} {name of copyright owner} -Copyright (c) 2016 Jordan Harband + 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 -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + http://www.apache.org/licenses/LICENSE-2.0 -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: has-tostringtag (1.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2021 Inspect JS - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: hdrhistogram-go (494271c4c016b36c8cee88480288f33b419cf7b0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014 Coda Hale - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: highlight.js (10.6.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -BSD 3-Clause License - -Copyright (c) 2006, Ivan Sagalaev. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Other Licenses * -MIT - - -Copyright (c) 2015 All rights reserved -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: highlight.js (10.7.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -BSD 3-Clause License - -Copyright (c) 2006, Ivan Sagalaev. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Other Licenses * -MIT - - -Copyright (c) 2018 Sarah Drasner -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: history (4.10.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) React Training 2016-2018 - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: hoist-non-react-statics (3.3.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Software License Agreement (BSD License) -======================================== - -Copyright (c) 2015, Yahoo! Inc. All rights reserved. ----------------------------------------------------- - -Redistribution and use of this software in source and binary forms, with or -without modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of Yahoo! Inc. nor the names of YUI's contributors may be - used to endorse or promote products derived from this software without - specific prior written permission of Yahoo! Inc. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: homedir-polyfill (1.0.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2016 Brian Woodward - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: html (a22733972181c63ecab285f900bb2917f3ba4e88) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause - - -Copyright (c) 2015, The Authors -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Other Licenses * -BSD-3-Clause - - -Copyright (c) 2015 The Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: https-browserify (1.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -This software is released under the MIT license: - -Copyright (c) James Halliday - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: hyperloglog (4b99d0c2c99ec77eb3a42344d206a88997957495) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2017 Axiom Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: icss-utils (4.1.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -ISC License (ISC) -Copyright 2018 Glen Maddern - -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: ieee754 (1.2.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright 2008 Fair Oaks Labs, Inc. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: ignore (4.0.6) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2013 Kael Zhang , contributors -http://kael.me/ - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: ignore (5.2.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2013 Kael Zhang , contributors -http://kael.me/ - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: image-spec (c5a74bcca799bef045e7fbe74e1b75580fd18d4c) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-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. +* Apache-2.0 * Apache License Version 2.0, January 2004 @@ -56733,7 +57197,18 @@ Apache-2.0 END OF TERMS AND CONDITIONS - Copyright 2016 The Linux Foundation. + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -56749,273 +57224,495 @@ Apache-2.0 --------------------------------------------------------------------------------- -Package Title: immer (9.0.21) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT +* Apache-2.0 * + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -MIT License + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -Copyright (c) 2017 Michel Weststrate + 1. Definitions. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. --------------------------------------------------------------------------------- -Package Title: immer (9.0.3) --------------------------------------------------------------------------------- + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -* Declared Licenses * -MIT + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -MIT License + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -Copyright (c) 2017 Michel Weststrate + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and --------------------------------------------------------------------------------- -Package Title: import-cwd (2.1.0) --------------------------------------------------------------------------------- + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -* Declared Licenses * -MIT + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. --------------------------------------------------------------------------------- -Package Title: import-fresh (2.0.0) --------------------------------------------------------------------------------- + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -* Declared Licenses * -MIT +* Apache-2.0 * -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +1. Definitions. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. --------------------------------------------------------------------------------- -Package Title: import-fresh (3.3.0) --------------------------------------------------------------------------------- + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -* Declared Licenses * -MIT + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -Copyright (c) Sindre Sorhus (https://sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. --------------------------------------------------------------------------------- -Package Title: import-from (2.1.0) --------------------------------------------------------------------------------- + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -* Declared Licenses * -MIT + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and --------------------------------------------------------------------------------- -Package Title: import-local (2.0.0) --------------------------------------------------------------------------------- + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -* Declared Licenses * -MIT + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. --------------------------------------------------------------------------------- -Package Title: imurmurhash (0.1.4) --------------------------------------------------------------------------------- +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -* Declared Licenses * -MIT +END OF TERMS AND CONDITIONS +APPENDIX: How to apply the Apache License to your work. -Copyright (c) 2013 Gary Court, Jens Taylor -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Copyright [yyyy] [name of copyright owner] -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +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 --------------------------------------------------------------------------------- -Package Title: infer-owner (1.0.4) --------------------------------------------------------------------------------- +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. -* Declared Licenses * -ISC +* MIT * -The ISC License + MIT License -Copyright (c) npm, Inc. and Contributors + Copyright (c) Microsoft Corporation. -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE --------------------------------------------------------------------------------- -Package Title: inflection (1.12.0) --------------------------------------------------------------------------------- +* MIT * -* Declared Licenses * -MIT + MIT License + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +* MIT * + + MIT License + + Copyright (c) Microsoft Corporation. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +* MIT * + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +* MIT * + +# The MIT License + +Copyright © 2018 Hoàng Văn Khải -Copyright (c) 2011 dreamerslab <ben@dreamerslab.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -57035,332 +57732,345 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -Package Title: inflight (1.0.6) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC +* Apache-2.0 * +##nvd3.js License -The ISC License +Copyright (c) 2011-2014 [Novus Partners, Inc.][novus] -Copyright (c) Isaac Z. Schlueter +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 -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. + http://www.apache.org/licenses/LICENSE-2.0 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +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. +[novus]: https://www.novus.com/ --------------------------------------------------------------------------------- -Package Title: inherits (2.0.1) --------------------------------------------------------------------------------- -* Declared Licenses * -ISC +##d3.js License +Copyright (c) 2012, Michael Bostock +All rights reserved. -The ISC License +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -Copyright (c) Isaac Z. Schlueter +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. +* The name Michael Bostock may not be used to endorse or promote products + derived from this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* MIT * --------------------------------------------------------------------------------- -Package Title: inherits (2.0.3) --------------------------------------------------------------------------------- +(The MIT License) -* Declared Licenses * -ISC +Copyright (c) 2014 Scott Barron +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -The ISC License +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -Copyright (c) Isaac Z. Schlueter +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. +* MIT * +(The MIT License) +Copyright (c) 2014 TJ Holowaychuk +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the 'Software'), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: --------------------------------------------------------------------------------- -Package Title: inherits (2.0.4) --------------------------------------------------------------------------------- +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. -* Declared Licenses * -ISC +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -The ISC License -Copyright (c) Isaac Z. Schlueter +* MIT * -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +(The MIT License) -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. +Copyright (c) 2014-2017 Douglas Christopher Wilson +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -Package Title: ini (1.3.8) --------------------------------------------------------------------------------- -* Declared Licenses * -ISC +* 0BSD * +Copyright (C) 2006 by Rob Landley +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -The ISC License +* AML * -Copyright (c) Isaac Z. Schlueter and Contributors +Copyright: Copyright (c) 2006 by Apple Computer, Inc., All Rights Reserved. +IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in consideration of your agreement to the following terms, and your use, installation, modification or redistribution of this Apple software constitutes acceptance of these terms. If you do not agree with these terms, please do not use, install, modify or redistribute this Apple software. +In consideration of your agreement to abide by the following terms, and subject to these terms, Apple grants you a personal, non-exclusive license, under Apple's copyrights in this original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the Apple Software, with or without modifications, in source and/or binary forms; provided that if you redistribute the Apple Software in its entirety and without modifications, you must retain this notice and the following text and disclaimers in all such redistributions of the Apple Software. Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to endorse or promote products derived from the Apple Software without specific prior written permission from Apple. Except as expressly stated in this notice, no other rights or licenses, express or implied, are granted by Apple herein, including but not limited to any patent rights that may be infringed by your derivative works or by other works in which the Apple Software may be incorporated. +The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. +IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +* Apache-2.0 * -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + 1. Definitions. --------------------------------------------------------------------------------- -Package Title: ini.v1 (b2f570e5b5b844226bbefe6fb521d891f529a951) --------------------------------------------------------------------------------- + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -* Declared Licenses * -Apache-2.0 + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -1. Definitions. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -"License" shall mean the terms and conditions for use, reproduction, and -distribution as defined by Sections 1 through 9 of this document. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -"Licensor" shall mean the copyright owner or entity authorized by the copyright -owner that is granting the License. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -"Legal Entity" shall mean the union of the acting entity and all other entities -that control, are controlled by, or are under common control with that entity. -For the purposes of this definition, "control" means (i) the power, direct or -indirect, to cause the direction or management of such entity, whether by -contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the -outstanding shares, or (iii) beneficial ownership of such entity. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -"You" (or "Your") shall mean an individual or Legal Entity exercising -permissions granted by this License. + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -"Source" form shall mean the preferred form for making modifications, including -but not limited to software source code, documentation source, and configuration -files. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -"Object" form shall mean any form resulting from mechanical transformation or -translation of a Source form, including but not limited to compiled object code, -generated documentation, and conversions to other media types. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -"Work" shall mean the work of authorship, whether in Source or Object form, made -available under the License, as indicated by a copyright notice that is included -in or attached to the work (an example is provided in the Appendix below). + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -"Derivative Works" shall mean any work, whether in Source or Object form, that -is based on (or derived from) the Work and for which the editorial revisions, -annotations, elaborations, or other modifications represent, as a whole, an -original work of authorship. For the purposes of this License, Derivative Works -shall not include works that remain separable from, or merely link (or bind by -name) to the interfaces of, the Work and Derivative Works thereof. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -"Contribution" shall mean any work of authorship, including the original version -of the Work and any modifications or additions to that Work or Derivative Works -thereof, that is intentionally submitted to Licensor for inclusion in the Work -by the copyright owner or by an individual or Legal Entity authorized to submit -on behalf of the copyright owner. For the purposes of this definition, -"submitted" means any form of electronic, verbal, or written communication sent -to the Licensor or its representatives, including but not limited to -communication on electronic mailing lists, source code control systems, and -issue tracking systems that are managed by, or on behalf of, the Licensor for -the purpose of discussing and improving the Work, but excluding communication -that is conspicuously marked or otherwise designated in writing by the copyright -owner as "Not a Contribution." + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf -of whom a Contribution has been received by Licensor and subsequently -incorporated within the Work. + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -2. Grant of Copyright License. + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the Work and such -Derivative Works in Source or Object form. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -3. Grant of Patent License. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable (except as stated in this section) patent license to make, have -made, use, offer to sell, sell, import, and otherwise transfer the Work, where -such license applies only to those patent claims licensable by such Contributor -that are necessarily infringed by their Contribution(s) alone or by combination -of their Contribution(s) with the Work to which such Contribution(s) was -submitted. If You institute patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Work or a -Contribution incorporated within the Work constitutes direct or contributory -patent infringement, then any patent licenses granted to You under this License -for that Work shall terminate as of the date such litigation is filed. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -4. Redistribution. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -You may reproduce and distribute copies of the Work or Derivative Works thereof -in any medium, with or without modifications, and in Source or Object form, -provided that You meet the following conditions: + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -You must give any other recipients of the Work or Derivative Works a copy of -this License; and -You must cause any modified files to carry prominent notices stating that You -changed the files; and -You must retain, in the Source form of any Derivative Works that You distribute, -all copyright, patent, trademark, and attribution notices from the Source form -of the Work, excluding those notices that do not pertain to any part of the -Derivative Works; and -If the Work includes a "NOTICE" text file as part of its distribution, then any -Derivative Works that You distribute must include a readable copy of the -attribution notices contained within such NOTICE file, excluding those notices -that do not pertain to any part of the Derivative Works, in at least one of the -following places: within a NOTICE text file distributed as part of the -Derivative Works; within the Source form or documentation, if provided along -with the Derivative Works; or, within a display generated by the Derivative -Works, if and wherever such third-party notices normally appear. The contents of -the NOTICE file are for informational purposes only and do not modify the -License. You may add Your own attribution notices within Derivative Works that -You distribute, alongside or as an addendum to the NOTICE text from the Work, -provided that such additional attribution notices cannot be construed as -modifying the License. -You may add Your own copyright statement to Your modifications and may provide -additional or different license terms and conditions for use, reproduction, or -distribution of Your modifications, or for any such Derivative Works as a whole, -provided Your use, reproduction, and distribution of the Work otherwise complies -with the conditions stated in this License. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -5. Submission of Contributions. + END OF TERMS AND CONDITIONS -Unless You explicitly state otherwise, any Contribution intentionally submitted -for inclusion in the Work by You to the Licensor shall be under the terms and -conditions of this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify the terms of -any separate license agreement you may have executed with Licensor regarding -such Contributions. + APPENDIX: How to apply the Apache License to your work. -6. Trademarks. - -This License does not grant permission to use the trade names, trademarks, -service marks, or product names of the Licensor, except as required for -reasonable and customary use in describing the origin of the Work and -reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. - -Unless required by applicable law or agreed to in writing, Licensor provides the -Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, -including, without limitation, any warranties or conditions of TITLE, -NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are -solely responsible for determining the appropriateness of using or -redistributing the Work and assume any risks associated with Your exercise of -permissions under this License. - -8. Limitation of Liability. - -In no event and under no legal theory, whether in tort (including negligence), -contract, or otherwise, unless required by applicable law (such as deliberate -and grossly negligent acts) or agreed to in writing, shall any Contributor be -liable to You for damages, including any direct, indirect, special, incidental, -or consequential damages of any character arising as a result of this License or -out of the use or inability to use the Work (including but not limited to -damages for loss of goodwill, work stoppage, computer failure or malfunction, or -any and all other commercial damages or losses), even if such Contributor has -been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. - -While redistributing the Work or Derivative Works thereof, You may choose to -offer, and charge a fee for, acceptance of support, warranty, indemnity, or -other liability obligations and/or rights consistent with this License. However, -in accepting such obligations, You may act only on Your own behalf and on Your -sole responsibility, not on behalf of any other Contributor, and only if You -agree to indemnify, defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason of your -accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work - -To apply the Apache License to your work, attach the following boilerplate -notice, with the fields enclosed by brackets "[]" replaced with your own -identifying information. (Don't include the brackets!) The text should be -enclosed in the appropriate comment syntax for the file format. We also -recommend that a file or class name and description of purpose be included on -the same "printed page" as the copyright notice for easier identification within -third-party archives. + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. - Copyright 2014 Unknwon + Copyright 2015, Google Inc + Copyright 2018, GoGo Authors 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 + 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, @@ -57370,977 +58080,1543 @@ third-party archives. --------------------------------------------------------------------------------- -Package Title: intern (8e6ff32b3e7c0b018c43953085fe2ac330fe9acd) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2019 Josh Bleecher Snyder -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +* Apache-2.0 * -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + 1. Definitions. --------------------------------------------------------------------------------- -Package Title: internmap (2.0.3) --------------------------------------------------------------------------------- + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -* Declared Licenses * -ISC + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -Copyright 2021 Mike Bostock + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. --------------------------------------------------------------------------------- -Package Title: interpret (1.2.0) --------------------------------------------------------------------------------- + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -* Declared Licenses * -MIT + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -Copyright (c) 2014-2018 Tyler Kellen , Blaine Bublitz , and Eric Schoffstall + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. --------------------------------------------------------------------------------- -Package Title: invert-kv (2.0.0) --------------------------------------------------------------------------------- + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -* Declared Licenses * -MIT + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + END OF TERMS AND CONDITIONS --------------------------------------------------------------------------------- -Package Title: iostat (7c078744755cb76d2f642f13b5bbe02e6da51ce8) --------------------------------------------------------------------------------- + APPENDIX: How to apply the Apache License to your work. -* Declared Licenses * -BSD-3-Clause + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + Copyright {yyyy} {name of copyright owner} -BSD 3-Clause License + 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 -Copyright (c) 2017, kadota kyohei -All rights reserved. + http://www.apache.org/licenses/LICENSE-2.0 -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + 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. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +* Apache-2.0 * -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + 1. Definitions. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. --------------------------------------------------------------------------------- -Package Title: is-arguments (1.1.1) --------------------------------------------------------------------------------- + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -* Declared Licenses * -MIT + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -The MIT License (MIT) + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -Copyright (c) 2014 Jordan Harband + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. --------------------------------------------------------------------------------- -Package Title: is-binary-path (2.1.0) --------------------------------------------------------------------------------- + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -* Declared Licenses * -MIT + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -Copyright (c) 2019 Sindre Sorhus (https://sindresorhus.com), Paul Miller (https://paulmillr.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. --------------------------------------------------------------------------------- -Package Title: is-bluebird (1.0.2) --------------------------------------------------------------------------------- + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -* Declared Licenses * -MIT + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -Copyright (c) 2016 Overlook Motel (theoverlookmotel@gmail.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + END OF TERMS AND CONDITIONS + APPENDIX: How to apply the Apache License to your work. --------------------------------------------------------------------------------- -Package Title: is-buffer (1.1.6) --------------------------------------------------------------------------------- + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -* Declared Licenses * -MIT + Copyright {yyyy} {name of copyright owner} + 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 -The MIT License (MIT) + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (c) Feross Aboukhadijeh + 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. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +* Apache-2.0 * +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION --------------------------------------------------------------------------------- -Package Title: is-core-module (2.12.1) --------------------------------------------------------------------------------- + 1. Definitions. -* Declared Licenses * -MIT + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -The MIT License (MIT) + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -Copyright (c) 2014 Dave Justice + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. --------------------------------------------------------------------------------- -Package Title: is-date-object (1.0.5) --------------------------------------------------------------------------------- + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -* Declared Licenses * -MIT + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -The MIT License (MIT) + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -Copyright (c) 2015 Jordan Harband + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. --------------------------------------------------------------------------------- -Package Title: is-descriptor (1.0.2) --------------------------------------------------------------------------------- + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -* Declared Licenses * -MIT + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -The MIT License (MIT) + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -Copyright (c) 2015-2017, Jon Schlinkert. + END OF TERMS AND CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + APPENDIX: How to apply the Apache License to your work. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + Copyright {} + 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 --------------------------------------------------------------------------------- -Package Title: is-directory (0.3.1) --------------------------------------------------------------------------------- + http://www.apache.org/licenses/LICENSE-2.0 -* Declared Licenses * -MIT + 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. -The MIT License (MIT) -Copyright (c) 2014-2016, Jon Schlinkert. +* Apache-2.0 * -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +1. Definitions. +"License" shall mean the terms and conditions for use, reproduction, +and distribution as defined by Sections 1 through 9 of this document. +"Licensor" shall mean the copyright owner or entity authorized by +the copyright owner that is granting the License. --------------------------------------------------------------------------------- -Package Title: is-extendable (1.0.1) --------------------------------------------------------------------------------- +"Legal Entity" shall mean the union of the acting entity and all +other entities that control, are controlled by, or are under common +control with that entity. For the purposes of this definition, +"control" means (i) the power, direct or indirect, to cause the +direction or management of such entity, whether by contract or +otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. -* Declared Licenses * -MIT +"You" (or "Your") shall mean an individual or Legal Entity +exercising permissions granted by this License. +"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation +source, and configuration files. -The MIT License (MIT) +"Object" form shall mean any form resulting from mechanical +transformation or translation of a Source form, including but +not limited to compiled object code, generated documentation, +and conversions to other media types. -Copyright (c) 2015-2017, Jon Schlinkert. +"Work" shall mean the work of authorship, whether in Source or +Object form, made available under the License, as indicated by a +copyright notice that is included in or attached to the work +(an example is provided in the Appendix below). -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +"Derivative Works" shall mean any work, whether in Source or Object +form, that is based on (or derived from) the Work and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. For the purposes +of this License, Derivative Works shall not include works that remain +separable from, or merely link (or bind by name) to the interfaces of, +the Work and Derivative Works thereof. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +"Contribution" shall mean any work of authorship, including +the original version of the Work and any modifications or additions +to that Work or Derivative Works thereof, that is intentionally +submitted to Licensor for inclusion in the Work by the copyright owner +or by an individual or Legal Entity authorized to submit on behalf of +the copyright owner. For the purposes of this definition, "submitted" +means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, +and issue tracking systems that are managed by, or on behalf of, the +Licensor for the purpose of discussing and improving the Work, but +excluding communication that is conspicuously marked or otherwise +designated in writing by the copyright owner as "Not a Contribution." -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +"Contributor" shall mean Licensor and any individual or Legal Entity +on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work. +2. Grant of Copyright License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the +Work and such Derivative Works in Source or Object form. --------------------------------------------------------------------------------- -Package Title: is-extglob (2.1.1) --------------------------------------------------------------------------------- +3. Grant of Patent License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +(except as stated in this section) patent license to make, have made, +use, offer to sell, sell, import, and otherwise transfer the Work, +where such license applies only to those patent claims licensable +by such Contributor that are necessarily infringed by their +Contribution(s) alone or by combination of their Contribution(s) +with the Work to which such Contribution(s) was submitted. If You +institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work +or a Contribution incorporated within the Work constitutes direct +or contributory patent infringement, then any patent licenses +granted to You under this License for that Work shall terminate +as of the date such litigation is filed. -* Declared Licenses * -MIT +4. Redistribution. You may reproduce and distribute copies of the +Work or Derivative Works thereof in any medium, with or without +modifications, and in Source or Object form, provided that You +meet the following conditions: +(a) You must give any other recipients of the Work or +Derivative Works a copy of this License; and -The MIT License (MIT) +(b) You must cause any modified files to carry prominent notices +stating that You changed the files; and -Copyright (c) 2014-2016, Jon Schlinkert +(c) You must retain, in the Source form of any Derivative Works +that You distribute, all copyright, patent, trademark, and +attribution notices from the Source form of the Work, +excluding those notices that do not pertain to any part of +the Derivative Works; and -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +(d) If the Work includes a "NOTICE" text file as part of its +distribution, then any Derivative Works that You distribute must +include a readable copy of the attribution notices contained +within such NOTICE file, excluding those notices that do not +pertain to any part of the Derivative Works, in at least one +of the following places: within a NOTICE text file distributed +as part of the Derivative Works; within the Source form or +documentation, if provided along with the Derivative Works; or, +within a display generated by the Derivative Works, if and +wherever such third-party notices normally appear. The contents +of the NOTICE file are for informational purposes only and +do not modify the License. You may add Your own attribution +notices within Derivative Works that You distribute, alongside +or as an addendum to the NOTICE text from the Work, provided +that such additional attribution notices cannot be construed +as modifying the License. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +You may add Your own copyright statement to Your modifications and +may provide additional or different license terms and conditions +for use, reproduction, or distribution of Your modifications, or +for any such Derivative Works as a whole, provided Your use, +reproduction, and distribution of the Work otherwise complies with +the conditions stated in this License. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +5. Submission of Contributions. Unless You explicitly state otherwise, +any Contribution intentionally submitted for inclusion in the Work +by You to the Licensor shall be under the terms and conditions of +this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify +the terms of any separate license agreement you may have executed +with Licensor regarding such Contributions. +6. Trademarks. This License does not grant permission to use the trade +names, trademarks, service marks, or product names of the Licensor, +except as required for reasonable and customary use in describing the +origin of the Work and reproducing the content of the NOTICE file. +7. Disclaimer of Warranty. Unless required by applicable law or +agreed to in writing, Licensor provides the Work (and each +Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +implied, including, without limitation, any warranties or conditions +of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +PARTICULAR PURPOSE. You are solely responsible for determining the +appropriateness of using or redistributing the Work and assume any +risks associated with Your exercise of permissions under this License. --------------------------------------------------------------------------------- -Package Title: is-fullwidth-code-point (2.0.0) --------------------------------------------------------------------------------- +8. Limitation of Liability. In no event and under no legal theory, +whether in tort (including negligence), contract, or otherwise, +unless required by applicable law (such as deliberate and grossly +negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, +incidental, or consequential damages of any character arising as a +result of this License or out of the use or inability to use the +Work (including but not limited to damages for loss of goodwill, +work stoppage, computer failure or malfunction, or any and all +other commercial damages or losses), even if such Contributor +has been advised of the possibility of such damages. -* Declared Licenses * -MIT +9. Accepting Warranty or Additional Liability. While redistributing +the Work or Derivative Works thereof, You may choose to offer, +and charge a fee for, acceptance of support, warranty, indemnity, +or other liability obligations and/or rights consistent with this +License. However, in accepting such obligations, You may act only +on Your own behalf and on Your sole responsibility, not on behalf +of any other Contributor, and only if You agree to indemnify, +defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason +of your accepting any such warranty or additional liability. +END OF TERMS AND CONDITIONS -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +APPENDIX: How to apply the Apache License to your work. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +To apply the Apache License to your work, attach the following +boilerplate notice, with the fields enclosed by brackets "{}" +replaced with your own identifying information. (Don't include +the brackets!) The text should be enclosed in the appropriate +comment syntax for the file format. We also recommend that a +file or class name and description of purpose be included on the +same "printed page" as the copyright notice for easier +identification within third-party archives. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Copyright 2017 The OpenZipkin Authors +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 --------------------------------------------------------------------------------- -Package Title: is-fullwidth-code-point (3.0.0) --------------------------------------------------------------------------------- +http://www.apache.org/licenses/LICENSE-2.0 -* Declared Licenses * -MIT +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. -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +* Apache-2.0 * -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +1. Definitions. --------------------------------------------------------------------------------- -Package Title: is-glob (4.0.3) --------------------------------------------------------------------------------- +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. -* Declared Licenses * -MIT +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. -The MIT License (MIT) +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. -Copyright (c) 2014-2017, Jon Schlinkert. +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. --------------------------------------------------------------------------------- -Package Title: is-path-inside (3.0.3) --------------------------------------------------------------------------------- +2. Grant of Copyright License. -* Declared Licenses * -MIT +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. +3. Grant of Patent License. -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +4. Redistribution. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. --------------------------------------------------------------------------------- -Package Title: is-regex (1.1.4) --------------------------------------------------------------------------------- +5. Submission of Contributions. -* Declared Licenses * -MIT +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. +6. Trademarks. -The MIT License (MIT) +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. -Copyright (c) 2014 Jordan Harband +7. Disclaimer of Warranty. -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +8. Limitation of Liability. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. +9. Accepting Warranty or Additional Liability. +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. --------------------------------------------------------------------------------- -Package Title: is-retry-allowed (1.2.0) --------------------------------------------------------------------------------- +END OF TERMS AND CONDITIONS -* Declared Licenses * -MIT +APPENDIX: How to apply the Apache License to your work +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. -Copyright (c) Vsevolod Strukchinsky (github.com/floatdrop) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Copyright [yyyy] [name of copyright owner] -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 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 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 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. --------------------------------------------------------------------------------- -Package Title: is-stream (1.1.0) --------------------------------------------------------------------------------- -* Declared Licenses * -MIT +* Apache-2.0 * +Apache License, Version 2.0 -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright (c) 2011 Dominic Tarr -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +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 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 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. --------------------------------------------------------------------------------- -Package Title: is-windows (1.0.2) --------------------------------------------------------------------------------- -* Declared Licenses * -MIT +* Apache-1.1 * +Apache License 1.1 +Copyright (c) 2000 The Apache Software Foundation. All rights reserved. +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + 3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: + "This product includes software developed by the Apache Software Foundation (http://www.apache.org/) ." + Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear. + 4. The name "Apache" and "Apache Software Foundation" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact apache@apache.org . + 5. Products derived from this software may not be called "Apache" [ex. "Jakarta," "Apache," or "Apache Commons,"] nor may "Apache" [ex. the names] appear in their name, without prior written permission of the Apache Software Foundation . +THIS SOFTWARE IS PROVIDED ''AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +This software consists of voluntary contributions made by many individuals on behalf of the Apache Software Foundation. For more information on the Apache Software Foundation, please see http://www.apache.org/. Portions of this software are based upon public domain software originally written at the National Center for Supercomputing Applications, University of Illinois, Urbana-Champaign. -The MIT License (MIT) +* Apache-2.0 * -Copyright (c) 2015-2018, Jon Schlinkert. +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + 1. Definitions. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. --------------------------------------------------------------------------------- -Package Title: is-wsl (1.1.0) --------------------------------------------------------------------------------- + "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. -* Declared Licenses * -MIT + "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and + (b) You must cause any modified files to carry prominent notices stating that You changed the files; and + (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. + You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS +APPENDIX: How to apply the Apache License to your work. +To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. +Copyright [yyyy] [name of copyright owner] +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. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +* CC-BY-SA-4.0 * +Attribution-ShareAlike 4.0 International --------------------------------------------------------------------------------- -Package Title: isarray (0.0.1) --------------------------------------------------------------------------------- +======================================================================= -* Declared Licenses * -MIT +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. +Using Creative Commons Public Licenses -Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More_considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees +======================================================================= --------------------------------------------------------------------------------- -Package Title: isarray (1.0.0) --------------------------------------------------------------------------------- +Creative Commons Attribution-ShareAlike 4.0 International Public +License -* Declared Licenses * -MIT +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution-ShareAlike 4.0 International Public License ("Public +License"). To the extent this Public License may be interpreted as a +contract, You are granted the Licensed Rights in consideration of Your +acceptance of these terms and conditions, and the Licensor grants You +such rights in consideration of benefits the Licensor receives from +making the Licensed Material available under these terms and +conditions. -Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Section 1 -- Definitions. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + c. BY-SA Compatible License means a license listed at + creativecommons.org/compatiblelicenses, approved by Creative + Commons as essentially the equivalent of this Public License. --------------------------------------------------------------------------------- -Package Title: isexe (2.0.0) --------------------------------------------------------------------------------- + d. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. -* Declared Licenses * -ISC + e. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + f. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. -The ISC License + g. License Elements means the license attributes listed in the name + of a Creative Commons Public License. The License Elements of this + Public License are Attribution and ShareAlike. -Copyright (c) Isaac Z. Schlueter and Contributors + h. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. + i. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + j. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + k. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + l. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. --------------------------------------------------------------------------------- -Package Title: isobject (3.0.1) --------------------------------------------------------------------------------- + m. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. -* Declared Licenses * -MIT +Section 2 -- Scope. -The MIT License (MIT) + a. License grant. -Copyright (c) 2014-2017, Jon Schlinkert. + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + a. reproduce and Share the Licensed Material, in whole or + in part; and -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + b. produce, reproduce, and Share Adapted Material. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + 3. Term. The term of this Public License is specified in Section + 6(a). --------------------------------------------------------------------------------- -Package Title: isomorphic-fetch (2.2.1) --------------------------------------------------------------------------------- + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. -* Declared Licenses * -MIT + 5. Downstream recipients. + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. -The MIT License (MIT) + b. Additional offer from the Licensor -- Adapted Material. + Every recipient of Adapted Material from You + automatically receives an offer from the Licensor to + exercise the Licensed Rights in the Adapted Material + under the conditions of the Adapter's License You apply. -Copyright (c) 2015 Matt Andrews + c. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + b. Other rights. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + 2. Patent and trademark rights are not licensed under this + Public License. + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties. --------------------------------------------------------------------------------- -Package Title: join-component (1.1.0) --------------------------------------------------------------------------------- -* Declared Licenses * -MIT +Section 3 -- License Conditions. +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. -Copyright (c) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + a. Attribution. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 1. If You Share the Licensed Material (including in modified + form), You must: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); --------------------------------------------------------------------------------- -Package Title: jose2go (48ba0b76bc881767cff2723388f4dd1a47c5104a) --------------------------------------------------------------------------------- + ii. a copyright notice; -* Declared Licenses * -MIT + iii. a notice that refers to this Public License; + iv. a notice that refers to the disclaimer of + warranties; -The MIT License (MIT) + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; -Copyright (c) 2014 + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + b. ShareAlike. + In addition to the conditions in Section 3(a), if You Share + Adapted Material You produce, the following conditions also apply. + 1. The Adapter's License You apply must be a Creative Commons + license with the same License Elements, this version or + later, or a BY-SA Compatible License. --------------------------------------------------------------------------------- -Package Title: joycon (3.1.1) --------------------------------------------------------------------------------- + 2. You must include the text of, or the URI or hyperlink to, the + Adapter's License You apply. You may satisfy this condition + in any reasonable manner based on the medium, means, and + context in which You Share Adapted Material. -* Declared Licenses * -MIT + 3. You may not offer or impose any additional or different terms + or conditions on, or apply any Effective Technological + Measures to, Adapted Material that restrict exercise of the + rights granted under the Adapter's License You apply. -The MIT License (MIT) +Section 4 -- Sui Generis Database Rights. -Copyright (c) egoist <0x142857@gmail.com> (https://github.com/egoist) +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material, -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + including for purposes of Section 3(b); and + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. --------------------------------------------------------------------------------- -Package Title: js-base64 (2.6.4) --------------------------------------------------------------------------------- +Section 5 -- Disclaimer of Warranties and Limitation of Liability. -* Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. -* Multi-license: BSD-2-Clause OR BSD-3-Clause * + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. -Copyright (c) 2014, Dan Kogai + +======================================================================= + +Creative Commons is not a party to its public licenses. +Notwithstanding, Creative Commons may elect to apply one of its public +licenses to material it publishes and in those instances will be +considered the "Licensor." Except for the limited purpose of indicating +that material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the public +licenses. + +Creative Commons may be contacted at creativecommons.org. + + +* BSD-2-Clause * + +BSD 2-Clause License + +Copyright (c) 2017, kena All rights reserved. Redistribution and use in source and binary forms, with or without @@ -58353,10 +59629,6 @@ modification, are permitted provided that the following conditions are met: this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -* Neither the name of {{{project}}} nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE @@ -58371,7 +59643,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * BSD-3-Clause * -Copyright (c) 2014, Dan Kogai +BSD 3-Clause License + +Copyright (c) 2006, Ivan Sagalaev. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -58384,7 +59658,7 @@ modification, are permitted provided that the following conditions are met: this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -* Neither the name of {{{project}}} nor the names of its +* Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -58400,491 +59674,803 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* BSD-3-Clause * --------------------------------------------------------------------------------- -Package Title: js-string-escape (1.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT +BSD 3-Clause License +Copyright (c) 2017, kadota kyohei +All rights reserved. -The MIT License (MIT) +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -Copyright (c) 2013 Jo Liss +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* BSD-3-Clause * --------------------------------------------------------------------------------- -Package Title: js-tokens (4.0.0) --------------------------------------------------------------------------------- +BSD 3-Clause License -* Declared Licenses * -MIT +Copyright (c) 2018, React Community +Forked from React (https://github.com/facebook/react) Copyright 2013-present, Facebook, Inc. +All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -The MIT License (MIT) - -Copyright (c) 2014, 2015, 2016, 2017, 2018 Simon Lydell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: js-yaml (3.14.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -(The MIT License) +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. -Copyright (C) 2011-2015 by Vitaly Puzrin +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +* BSD-3-Clause * -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +BSD 3-Clause License +Copyright (c) 2018, Rohit Gupta +All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: --------------------------------------------------------------------------------- -Package Title: js-yaml (4.1.0) --------------------------------------------------------------------------------- +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -* Declared Licenses * -MIT +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. -(The MIT License) +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Copyright (C) 2011-2015 by Vitaly Puzrin -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +* BSD-3-Clause * -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +BSD 3-Clause License -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +Copyright (c) 2018-2021, Tobias Klauser +All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. --------------------------------------------------------------------------------- -Package Title: js2xmlparser (4.0.2) --------------------------------------------------------------------------------- +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -* Declared Licenses * -Apache-2.0 +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +* BSD-3-Clause * - 1. Definitions. +BSD License - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +For Draft.js software - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +Copyright (c) 2013-present, Facebook, Inc. +All rights reserved. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +* BSD-3-Clause * - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +BSD License - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +For Draft.js software - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +Copyright (c) 2013-present, Facebook, Inc. +All rights reserved. - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +* BSD-3-Clause * - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +BSD License - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +For Immutable JS software - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +Copyright (c) 2014-2015, Facebook, Inc. All rights reserved. - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. - END OF TERMS AND CONDITIONS + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - APPENDIX: How to apply the Apache License to your work. + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - Copyright [yyyy] [name of copyright owner] - 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 +* BSD-2-Clause * - http://www.apache.org/licenses/LICENSE-2.0 +Copyright (c) +All rights reserved. - 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. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation --------------------------------------------------------------------------------- -Package Title: jsdoc (3.6.11) --------------------------------------------------------------------------------- + and/or other materials provided with the distribution. -* Declared Licenses * -Apache-2.0, MIT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* Apache-2.0 * +* BSD-2-Clause-FreeBSD * -# License +The FreeBSD Copyright +Copyright 1992-2012 The FreeBSD Project. All rights reserved. +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +THIS SOFTWARE IS PROVIDED BY THE FREEBSD PROJECT ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of the FreeBSD Project. -JSDoc is free software, licensed under the Apache License, Version 2.0 (the -"License"). Commercial and non-commercial use are permitted in compliance with -the License. +* BSD-3-Clause * -Copyright (c) 2011-present Michael Mathews and the -[contributors to JSDoc](https://github.com/jsdoc/jsdoc/graphs/contributors). All -rights reserved. +Copyright (c) +All rights reserved. -You can obtain a copy of the License at: -https://www.apache.org/licenses/LICENSE-2.0 +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -In addition, a copy of the License is included with this distribution. + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. -As stated in Section 7, "Disclaimer of Warranty," of the License: + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -> Licensor provides the Work (and each Contributor provides its Contributions) -> on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either -> express or implied, including, without limitation, any warranties or -> conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A -> PARTICULAR PURPOSE. You are solely responsible for determining the -> appropriateness of using or redistributing the Work and assume any risks -> associated with Your exercise of permissions under this License. + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. -The source code for JSDoc is available at: https://github.com/jsdoc/jsdoc +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# Third-party software +* BSL-1.0 * -JSDoc includes the following third-party software, either in whole or in part. -Each third-party software package is provided under its own license. +Boost Software License - Version 1.0 - August 17th, 2003 +Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following: +The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -## MIT License +* BSD-2-Clause * -Several of the following software packages are distributed under the MIT -license, which is reproduced below: +Blackfriday is distributed under the Simplified BSD License: -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: +> Copyright © 2011 Russ Ross +> All rights reserved. > -> The above copyright notice and this permission notice shall be included in all -> copies or substantial portions of the Software. +> Redistribution and use in source and binary forms, with or without +> modification, are permitted provided that the following conditions +> are met: > -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -> SOFTWARE. - -## Google Code Prettify - -Google Code Prettify is distributed under the Apache License 2.0, which is -included with this package. - -Copyright (c) 2006 Google Inc. - -The source code for Google Code Prettify is available at: -https://code.google.com/p/google-code-prettify/ - -## Jasmine - -Jasmine is distributed under the MIT license, which is reproduced above. +> 1. Redistributions of source code must retain the above copyright +> notice, this list of conditions and the following disclaimer. +> +> 2. Redistributions in binary form must reproduce the above +> copyright notice, this list of conditions and the following +> disclaimer in the documentation and/or other materials provided with +> the distribution. +> +> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +> "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +> LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +> FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +> COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +> INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +> BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +> LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +> CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +> LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +> ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +> POSSIBILITY OF SUCH DAMAGE. -Copyright (c) 2008-2011 Pivotal Labs. -The source code for Jasmine is available at: -https://github.com/pivotal/jasmine +* CC-BY-3.0 * -## jasmine-node +Creative Commons Attribution 3.0 Unported CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. +License +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + 1. Definitions + a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. + b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. + c. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. + d. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. + e. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. + f. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. + g. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. + h. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. + i. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. + 2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. + 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: + a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; + b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; + c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and, + d. to Distribute and Publicly Perform Adaptations. + e. For the avoidance of doubt: + i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; + ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and, + iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License. + The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved. + 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: + a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(b), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(b), as requested. + b. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv), consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4 (b) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. + c. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. + 5. Representations, Warranties and Disclaimer + UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + 7. Termination + a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. + b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. + 8. Miscellaneous + a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. + b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. + c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. + e. This License may not be modified without the mutual written agreement of the Licensor and You. + f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. +Creative Commons Notice +Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. +Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of this License. +Creative Commons may be contacted at http://creativecommons.org/. -jasmine-node is distributed under the MIT license, which is reproduced above. +* CC-BY-4.0 * -Copyright (c) 2010 Adam Abrons and Misko Hevery (http://getangular.com). +Creative Commons Attribution 4.0 International Creative Commons Corporation ("Creative Commons") is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an "as-is" basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. +Using Creative Commons Public Licenses +Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. +Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors : wiki.creativecommons.org/Considerations_for_licensors +Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor's permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public : wiki.creativecommons.org/Considerations_for_licensees Creative Commons Attribution 4.0 International Public License +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. +Section 1 – Definitions. + a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. + b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. + c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. + d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. + e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. + f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. + g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. + h. Licensor means the individual(s) or entity(ies) granting rights under this Public License. + i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. + j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. + k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. +Section 2 – Scope. + a. License grant. + 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: + A. reproduce and Share the Licensed Material, in whole or in part; and + B. produce, reproduce, and Share Adapted Material. + 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. + 3. Term. The term of this Public License is specified in Section 6(a). + 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. + 5. Downstream recipients. + A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. + B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. + 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). + b. Other rights. + 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. + 2. Patent and trademark rights are not licensed under this Public License. + 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. +Section 3 – License Conditions. +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + a. Attribution. + 1. If You Share the Licensed Material (including in modified form), You must: + A. retain the following if it is supplied by the Licensor with the Licensed Material: + i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); + ii. a copyright notice; + iii. a notice that refers to this Public License; + iv. a notice that refers to the disclaimer of warranties; + v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; + B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and + C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. + 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. + 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. + 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. +Section 4 – Sui Generis Database Rights. +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: + a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; + b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and + c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. +For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. +Section 5 – Disclaimer of Warranties and Limitation of Liability. + a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. + b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. + c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. +Section 6 – Term and Termination. + a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. + b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: + 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or + 2. upon express reinstatement by the Licensor. + c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. + d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. + e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. +Section 7 – Other Terms and Conditions. + a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. + b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. +Section 8 – Interpretation. + a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. + b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. + c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. + d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. +Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." The text of the Creative Commons public licenses is dedicated to the public domain under the CC0 Public Domain Dedication. Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. +Creative Commons may be contacted at creativecommons.org. + +* CC-BY-SA-1.0 * + +Creative Commons Attribution-ShareAlike 1.0 CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DRAFT LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. +License +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE IS PROHIBITED. +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + 1. Definitions + a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License. + b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. + c. "Licensor" means the individual or entity that offers the Work under the terms of this License. + d. "Original Author" means the individual or entity who created the Work. + e. "Work" means the copyrightable work of authorship offered under the terms of this License. + f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. + 2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws. + 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: + a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works; + b. to create and reproduce Derivative Works; + c. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works; + d. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works; + The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved. + 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: + a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any reference to such Licensor or the Original Author, as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any reference to such Licensor or the Original Author, as requested. + b. You may distribute, publicly display, publicly perform, or publicly digitally perform a Derivative Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of each Derivative Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder, and You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Derivative Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License. + c. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title of the Work if supplied; in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit. + 5. Representations, Warranties and Disclaimer + a. By offering the Work for public release under this License, Licensor represents and warrants that, to the best of Licensor's knowledge after reasonable inquiry: + i. Licensor has secured all rights in the Work necessary to grant the license rights hereunder and to permit the lawful exercise of the rights granted hereunder without You having any obligation to pay any royalties, compulsory license fees, residuals or any other payments; + ii. The Work does not infringe the copyright, trademark, publicity rights, common law rights or any other right of any third party or constitute defamation, invasion of privacy or other tortious injury to any third party. + b. EXCEPT AS EXPRESSLY STATED IN THIS LICENSE OR OTHERWISE AGREED IN WRITING OR REQUIRED BY APPLICABLE LAW, THE WORK IS LICENSED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES REGARDING THE CONTENTS OR ACCURACY OF THE WORK. + 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, AND EXCEPT FOR DAMAGES ARISING FROM LIABILITY TO A THIRD PARTY RESULTING FROM BREACH OF THE WARRANTIES IN SECTION 5, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + 7. Termination + a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. + b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. + 8. Miscellaneous + a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. + b. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. + c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. + e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. +Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. +Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. +Creative Commons may be contacted at http://creativecommons.org/. -The source code for jasmine-node is available at: -https://github.com/mhevery/jasmine-node +* CC-BY-SA-2.0 * -## Open Sans +Creative Commons Attribution-ShareAlike 2.0 CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. +License +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + 1. Definitions + a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License. + b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License. + c. "Licensor" means the individual or entity that offers the Work under the terms of this License. + d. "Original Author" means the individual or entity who created the Work. + e. "Work" means the copyrightable work of authorship offered under the terms of this License. + f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. + g. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike. + 2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws. + 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: + a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works; + b. to create and reproduce Derivative Works; + c. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works; + d. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works. + e. For the avoidance of doubt, where the work is a musical composition: + i. Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work. + ii. Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights society or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions). + f. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions). + The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved. + 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: + a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any reference to such Licensor or the Original Author, as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any reference to such Licensor or the Original Author, as requested. + b. You may distribute, publicly display, publicly perform, or publicly digitally perform a Derivative Work only under the terms of this License, a later version of this License with the same License Elements as this License, or a Creative Commons iCommons license that contains the same License Elements as this License (e.g. Attribution-ShareAlike 2.0 Japan). You must include a copy of, or the Uniform Resource Identifier for, this License or other license specified in the previous sentence with every copy or phonorecord of each Derivative Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder, and You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Derivative Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License. + c. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit. + 5. Representations, Warranties and Disclaimer + UNLESS OTHERWISE AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE MATERIALS, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + 7. Termination + a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. + b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. + 8. Miscellaneous + a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. + b. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. + c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. + e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. +Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. +Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. +Creative Commons may be contacted at http://creativecommons.org/. -Open Sans is distributed under the Apache License 2.0, which is -included with this package. +* CC-BY-SA-2.5 * -Copyright (c) 2010-2011, Google Inc. +Creative Commons Attribution-ShareAlike 2.5 CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. +License +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + 1. Definitions + a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License. + b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License. + c. "Licensor" means the individual or entity that offers the Work under the terms of this License. + d. "Original Author" means the individual or entity who created the Work. + e. "Work" means the copyrightable work of authorship offered under the terms of this License. + f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. + g. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike. + 2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws. + 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: + a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works; + b. to create and reproduce Derivative Works; + c. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works; + d. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works. + e. For the avoidance of doubt, where the work is a musical composition: + i. Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work. + ii. Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights society or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions). + f. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions). + The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved. + 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: + a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any credit as required by clause 4(c), as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any credit as required by clause 4(c), as requested. + b. You may distribute, publicly display, publicly perform, or publicly digitally perform a Derivative Work only under the terms of this License, a later version of this License with the same License Elements as this License, or a Creative Commons iCommons license that contains the same License Elements as this License (e.g. Attribution-ShareAlike 2.5 Japan). You must include a copy of, or the Uniform Resource Identifier for, this License or other license specified in the previous sentence with every copy or phonorecord of each Derivative Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder, and You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Derivative Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License. + c. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or (ii) if the Original Author and/or Licensor designate another party or parties (e.g. a sponsor institute, publishing entity, journal) for attribution in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit. + 5. Representations, Warranties and Disclaimer + UNLESS OTHERWISE AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE MATERIALS, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + 7. Termination + a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. + b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. + 8. Miscellaneous + a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. + b. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. + c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. + e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. +Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. +Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. +Creative Commons may be contacted at http://creativecommons.org/. -This typeface, including the complete set of variations, are available at: -https://fonts.google.com/specimen/Open+Sans +* CC-BY-SA-3.0 * -## Tomorrow theme for Google Code Prettify +Creative Commons Attribution-ShareAlike 3.0 Unported CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. +License +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + 1. Definitions + a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. + b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined below) for the purposes of this License. + c. "Creative Commons Compatible License" means a license that is listed at http://creativecommons.org/compatiblelicenses that has been approved by Creative Commons as being essentially equivalent to this License, including, at a minimum, because that license: (i) contains terms that have the same purpose, meaning and effect as the License Elements of this License; and, (ii) explicitly permits the relicensing of adaptations of works made available under that license under this License or a Creative Commons jurisdiction license with the same License Elements as this License. + d. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. + e. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike. + f. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. + g. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. + h. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. + i. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. + j. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. + k. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. + 2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. + 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: + a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; + b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; + c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and, + d. to Distribute and Publicly Perform Adaptations. + e. For the avoidance of doubt: + i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; + ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and, + iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License. + The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved. + 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: + a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(c), as requested. + b. You may Distribute or Publicly Perform an Adaptation only under the terms of: (i) this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible License. If you license the Adaptation under one of the licenses mentioned in (iv), you must comply with the terms of that license. If you license the Adaptation under the terms of any of the licenses mentioned in (i), (ii) or (iii) (the "Applicable License"), you must comply with the terms of the Applicable License generally and the following provisions: (I) You must include a copy of, or the URI for, the Applicable License with every copy of each Adaptation You Distribute or Publicly Perform; (II) You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License; (III) You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform; (IV) when You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License. + c. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv), consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. + d. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. + 5. Representations, Warranties and Disclaimer + UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + 7. Termination + a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. + b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. + 8. Miscellaneous + a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. + b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. + c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. + e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. + f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. +Creative Commons Notice +Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. +Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of the License. +Creative Commons may be contacted at http://creativecommons.org/. -The Tomorrow theme for Google Code Prettify is distributed under the MIT -license, which is reproduced above. +* CC-BY-SA-4.0 * -Copyright (c) 2016 Yoshihide Jimbo. +Creative Commons Attribution-ShareAlike 4.0 International Creative Commons Corporation ("Creative Commons") is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an "as-is" basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. +Using Creative Commons Public Licenses +Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. +Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors : wiki.creativecommons.org/Considerations_for_licensors +Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor's permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. +Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public : wiki.creativecommons.org/Considerations_for_licensees +Creative Commons Attribution-ShareAlike 4.0 International Public License +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. +Section 1 – Definitions. + a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. + b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. + c. BY-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License. + d. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. + e. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. + f. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. + g. License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution and ShareAlike. + h. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. + i. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. + j. Licensor means the individual(s) or entity(ies) granting rights under this Public License. + k. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. + l. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. + m. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. +Section 2 – Scope. + a. License grant. + 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: + A. reproduce and Share the Licensed Material, in whole or in part; and + B. produce, reproduce, and Share Adapted Material. + 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. + 3. Term. The term of this Public License is specified in Section 6(a). + 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. + 5. Downstream recipients. + A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. + B. Additional offer from the Licensor – Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter's License You apply. + C. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. + 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). + b. Other rights. + 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. + 2. Patent and trademark rights are not licensed under this Public License. + 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. +Section 3 – License Conditions. +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + a. Attribution. + 1. If You Share the Licensed Material (including in modified form), You must: + A. retain the following if it is supplied by the Licensor with the Licensed Material: + i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); + ii. a copyright notice; + iii. a notice that refers to this Public License; + iv. a notice that refers to the disclaimer of warranties; + v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; + B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and + C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. + 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. + 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. + b. ShareAlike.In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply. + 1. The Adapter's License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-SA Compatible License. + 2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material. + 3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply. +Section 4 – Sui Generis Database Rights. +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: + a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; + b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and + c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. + For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. +Section 5 – Disclaimer of Warranties and Limitation of Liability. + a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. + b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. + c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. +Section 6 – Term and Termination. + a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. + b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: + 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or + 2. upon express reinstatement by the Licensor. + c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. + d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. + e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. +Section 7 – Other Terms and Conditions. + a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. + b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. +Section 8 – Interpretation. + a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. + b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. + c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. + d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. +Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." The text of the Creative Commons public licenses is dedicated to the public domain under the CC0 Public Domain Dedication. Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. +Creative Commons may be contacted at creativecommons.org. -The source code for the Tomorrow theme is available at: -https://github.com/jmblog/color-themes-for-google-code-prettify +* CC0-1.0 * +Creative Commons Legal Code +CC0 1.0 Universal CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + 1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: + i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); + iii. publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and + vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. + 2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. + 3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. + 4. Limitations and Disclaimers. + a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. + d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. * MIT * -Copyright (c) 2011 present Michael Mathews and the -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright (C) 2012 Rob Figueiredo +All Rights Reserved. + +MIT LICENSE + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: jsesc (2.5.2) --------------------------------------------------------------------------------- +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -* Declared Licenses * -MIT +* MIT * -Copyright Mathias Bynens +Copyright (C) 2013 Blake Mizerany Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -58906,36 +60492,32 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* MIT * --------------------------------------------------------------------------------- -Package Title: json-parse-better-errors (1.0.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright 2017 Kat Marchán - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - +Copyright (C) 2014 by Oleku Konko +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: --------------------------------------------------------------------------------- -Package Title: json-schema-traverse (0.4.1) --------------------------------------------------------------------------------- +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -* Declared Licenses * -MIT +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -MIT License +* MIT * -Copyright (c) 2017 Evgeny Poberezkin +Copyright (C) 2014-2019, Matt Butcher and Matt Farina Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -58944,30 +60526,65 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +* MIT * +Copyright (C) 2015 Pierre Durand --------------------------------------------------------------------------------- -Package Title: json-schema-traverse (1.0.0) --------------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -* Declared Licenses * -MIT +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -MIT License -Copyright (c) 2017 Evgeny Poberezkin +* BSD-3-Clause * + +Copyright (c) 2001, Dr Martin Porter +Copyright (c) 2004,2005, Richard Boulton +Copyright (c) 2013, Yoshiki Shibukawa +Copyright (c) 2006,2007,2009,2010,2011,2014-2019, Olly Betts +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + 3. Neither the name of the Snowball project nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* MIT * + +Copyright (c) 2005-2008 Dustin Sallings Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -58976,8 +60593,8 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, @@ -58987,119 +60604,362 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + --------------------------------------------------------------------------------- -Package Title: json-stable-stringify-without-jsonify (1.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT +* BSD-3-Clause * +Copyright (c) 2009 The Go Authors. All rights reserved. -This software is released under the MIT license: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* BSD-3-Clause * + +Copyright (c) 2009,2014 Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* BSD-2-Clause * + +Copyright (c) 2011 Andy Balholm. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* MIT * + +Copyright (c) 2011 Dominic Tarr + +Permission is hereby granted, free of charge, +to any person obtaining a copy of this software and +associated documentation files (the "Software"), to +deal in the Software without restriction, including +without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom +the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice +shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* BSD-3-Clause * +Copyright (c) 2011 Google Inc. All rights reserved. --------------------------------------------------------------------------------- -Package Title: json2mq (0.2.0) --------------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -* Declared Licenses * -MIT + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -The MIT License (MIT) -Copyright (c) 2014 Kiran Abburi +* BSD-3-Clause * -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright (c) 2011 The LevelDB-Go Authors. All rights reserved. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* BSD-3-Clause * --------------------------------------------------------------------------------- -Package Title: json5 (1.0.2) --------------------------------------------------------------------------------- +Copyright (c) 2011 The Snappy-Go Authors. All rights reserved. -* Declared Licenses * -MIT +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. -MIT License +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Copyright (c) 2012-2018 Aseem Kishore, and [others]. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +* BSD-3-Clause * -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Copyright (c) 2011 The Snappy-Go Authors. All rights reserved. +Copyright (c) 2019 Klaus Post. All rights reserved. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -[others]: https://github.com/json5/json5/contributors + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* BSD-3-Clause * -* Other Licenses * -public-domain +Copyright (c) 2011, Evan Shaw +All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. --------------------------------------------------------------------------------- -Package Title: json5 (2.2.3) --------------------------------------------------------------------------------- +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* Declared Licenses * -MIT -MIT License +* MIT * -Copyright (c) 2012-2018 Aseem Kishore, and [others]. +Copyright (c) 2011-2013, 'pq' Contributors +Portions Copyright (C) 2011 Blake Mizerany + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +* BSD-3-Clause * + +Copyright (c) 2012 Alex Ogier. All rights reserved. +Copyright (c) 2012 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* MIT * + +Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, and Domenic Denicola + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +* MIT * + +Copyright (c) 2012 Dave Grijalva +Copyright (c) 2021 golang-jwt maintainers + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +* MIT * + +Copyright (c) 2012 Ingo Oeser Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -59108,59 +60968,115 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -[others]: https://github.com/json5/json5/contributors +* BSD-3-Clause * +Copyright (c) 2012 The Go Authors. All rights reserved. -* Other Licenses * -public-domain +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. --------------------------------------------------------------------------------- -Package Title: jsonfile (4.0.0) --------------------------------------------------------------------------------- +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* Declared Licenses * -MIT +* BSD-3-Clause * -(The MIT License) +Copyright (c) 2012 The Go Authors. All rights reserved. +Copyright (c) 2012-2019 fsnotify Authors. All rights reserved. -Copyright (c) 2012-2015, JP Richardson +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files -(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, - merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS -OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* Apache-2.0 * +Copyright (c) 2012 The Go Authors. All rights reserved. +Copyright (c) 2019 Klaus Post. All rights reserved. --------------------------------------------------------------------------------- -Package Title: jsonpointer (344388f5b9184a55dea9d36cf96742b69dddeac4) --------------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -* Declared Licenses * -Apache-2.0 + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------ +Files: gzhttp/* Apache License Version 2.0, January 2004 @@ -59350,7 +61266,7 @@ Apache-2.0 same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright 2016-2017 The New York Times Company Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -59364,332 +61280,69 @@ Apache-2.0 See the License for the specific language governing permissions and limitations under the License. +------------------ +Files: s2/cmd/internal/readahead/* --------------------------------------------------------------------------------- -Package Title: jsonreference (23cc9ccbfd88d2589a00b1567f7fe61119c41375) --------------------------------------------------------------------------------- +The MIT License (MIT) -* Declared Licenses * -Apache-2.0 +Copyright (c) 2015 Klaus Post +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +--------------------- +Files: snappy/* +Files: internal/snapref/* - 1. Definitions. +Copyright (c) 2011 The Snappy-Go Authors. All rights reserved. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - --------------------------------------------------------------------------------- -Package Title: JUnit (4.8.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -CPL-1.0 - - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. 1. -DEFINITIONS -"Contribution" means: - a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and - b) in the case of each subsequent Contributor: - i) changes to the Program, and - ii) additions to the Program; -where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. -"Contributor" means any person or entity that distributes the Program. -"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. -"Program" means the Contributions distributed in accordance with this Agreement. -"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. 2. -GRANT OF RIGHTS - a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. - b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. - c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. - d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. 3. -REQUIREMENTS -A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: - a) it complies with the terms and conditions of this Agreement; and - b) its license agreement: - i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; - ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; - iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and - iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. -When the Program is made available in source code form: - a) it must be made available under this Agreement; and - b) a copy of this Agreement must be included with each copy of the Program. - Contributors may not remove or alter any copyright notices contained within the Program. - Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. 4. -COMMERCIAL DISTRIBUTION -Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. -For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. 5. -NO WARRANTY -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. 6. -DISCLAIMER OF LIABILITY -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 7. -GENERAL -If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. -If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. -All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. -Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. -This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. - - -* Other Licenses * -CPL-1.0 +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. 1. -DEFINITIONS -"Contribution" means: - a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and - b) in the case of each subsequent Contributor: - i) changes to the Program, and - ii) additions to the Program; -where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. -"Contributor" means any person or entity that distributes the Program. -"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. -"Program" means the Contributions distributed in accordance with this Agreement. -"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. 2. -GRANT OF RIGHTS - a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. - b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. - c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. - d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. 3. -REQUIREMENTS -A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: - a) it complies with the terms and conditions of this Agreement; and - b) its license agreement: - i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; - ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; - iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and - iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. -When the Program is made available in source code form: - a) it must be made available under this Agreement; and - b) a copy of this Agreement must be included with each copy of the Program. - Contributors may not remove or alter any copyright notices contained within the Program. - Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. 4. -COMMERCIAL DISTRIBUTION -Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. -For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. 5. -NO WARRANTY -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. 6. -DISCLAIMER OF LIABILITY -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 7. -GENERAL -If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. -If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. -All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. -Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. -This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. - - --------------------------------------------------------------------------------- -Package Title: jwt-go (06ea1031745cb8b3dab3f6a236daf2b0aa468b7e) --------------------------------------------------------------------------------- +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* Declared Licenses * -MIT +----------------- +Files: s2/cmd/internal/filepathx/* -Copyright (c) 2012 Dave Grijalva +Copyright 2016 The filepathx Authors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: @@ -59698,19 +61351,9 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* MIT * - --------------------------------------------------------------------------------- -Package Title: kind-of (6.0.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-2017, Jon Schlinkert. +Copyright (c) 2012-2014 Raynos. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -59731,204 +61374,202 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* BSD-3-Clause * --------------------------------------------------------------------------------- -Package Title: klaw (3.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -(The MIT License) - -Copyright (c) 2015-2016 JP Richardson - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files -(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, - merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS -OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Copyright (c) 2012-2016, Martin Angers & Contributors +All rights reserved. +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. --------------------------------------------------------------------------------- -Package Title: lcid (2.0.0) --------------------------------------------------------------------------------- +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -* Declared Licenses * -MIT +* Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +* BSD-3-Clause * -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Copyright (c) 2012-2018 The Gorilla Authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: --------------------------------------------------------------------------------- -Package Title: ldap (21d1415bcac35ef3e8e35abf1c0a6af46977dc3d) --------------------------------------------------------------------------------- + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. -* Declared Licenses * -MIT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -The MIT License (MIT) +* BSD-3-Clause * -Copyright (c) 2011-2015 Michael Mitton (mmitton@gmail.com) -Portions copyright (c) 2015-2016 go-ldap Authors +Copyright (c) 2013 Ato Araki. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of @atotto. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* MIT * --------------------------------------------------------------------------------- -Package Title: levn (0.3.0) --------------------------------------------------------------------------------- +Copyright (c) 2013 Esri, Inc -* Declared Licenses * -MIT +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -Copyright (c) George Zahariev +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +* BSD-3-Clause * -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. +Copyright (c) 2013 Google. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. --------------------------------------------------------------------------------- -Package Title: levn (0.4.1) --------------------------------------------------------------------------------- +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* Declared Licenses * -MIT +* MIT * -Copyright (c) George Zahariev +Copyright (c) 2013 Kamil Kisiel -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* MIT * --------------------------------------------------------------------------------- -Package Title: linkify (a0c2df6c8f82281d2785a0974d1f02656b45fff7) --------------------------------------------------------------------------------- +Copyright (c) 2013 Lucas Beyer -* Declared Licenses * -BSD-2-Clause +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -Copyright (c) 2015, The Authors -All rights reserved. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +* MIT * -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +Copyright (c) 2013 Shopify -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -* Other Licenses * -BSD-3-Clause +* BSD-2-Clause * -Copyright (c) 2015 The Authors. All rights reserved. . All rights reserved. +Copyright (c) 2013 The Gorilla WebSocket Authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. + Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR @@ -59938,50 +61579,162 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -Package Title: linkify-it (3.0.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT +* BSD-3-Clause * +Copyright (c) 2013 The go-github AUTHORS. All rights reserved. -Copyright (c) 2015 Vitaly Puzrin. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. +* BSD-3-Clause * +Copyright (c) 2013, Patrick Mezard +All rights reserved. --------------------------------------------------------------------------------- -Package Title: lipgloss (0ce55509014b0cc476e197f22aa4d43add081a57) --------------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -* Declared Licenses * -MIT + Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. + The names of its contributors may not be used to endorse or promote +products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* BSD-3-Clause * + +Copyright (c) 2013, The GoGo Authors. All rights reserved. + +Protocol Buffers for Go with Gadgets + +Go support for Protocol Buffers - Google's data interchange format + +Copyright 2010 The Go Authors. All rights reserved. +https://github.com/golang/protobuf + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +* BSD-2-Clause * + +Copyright (c) 2013, Tom Payne +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +* MIT * +Copyright (c) 2013-2021 Jack Christensen MIT License -Copyright (c) 2021 Charmbracelet, Inc +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +* MIT * + +Copyright (c) 2014 Forbes Lindesay Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -59990,30 +61743,72 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +* BSD-2-Clause * --------------------------------------------------------------------------------- -Package Title: list.js (2.3.1) --------------------------------------------------------------------------------- +Copyright (c) 2014, Dave Cheney +All rights reserved. -* Declared Licenses * -MIT +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -The MIT License (MIT) +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -Copyright (c) 2011-2018 Jonny Strömberg, jonnystromberg.com +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* MIT * + +Copyright (c) 2014-2016 GitHub, Inc. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +* MIT * + +Copyright (c) 2014-2020 Denis Pushkarev Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -60034,18 +61829,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* MIT * --------------------------------------------------------------------------------- -Package Title: loader-runner (2.4.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License - -Copyright (c) Tobias Koppers @sokra +Copyright (c) 2014-present Matt Zabriskie Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -60066,322 +61852,303 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* MIT * --------------------------------------------------------------------------------- -Package Title: loader-utils (1.2.3) --------------------------------------------------------------------------------- +Copyright (c) 2015 NFL -* Declared Licenses * -MIT +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -Copyright JS Foundation and other contributors +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +* BSD-3-Clause * -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Copyright (c) 2015 The Go Authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. --------------------------------------------------------------------------------- -Package Title: loader-utils (1.4.2) --------------------------------------------------------------------------------- +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* Declared Licenses * -MIT +* Apache-2.0 * -Copyright JS Foundation and other contributors +Copyright (c) 2015 The New York Times Company -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this library except in compliance with the License. +You may obtain a copy of the License at -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. + http://www.apache.org/licenses/LICENSE-2.0 -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +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. +* BSD-2-Clause * --------------------------------------------------------------------------------- -Package Title: loader-utils (2.0.4) --------------------------------------------------------------------------------- +Copyright (c) 2015, Dave Cheney +All rights reserved. -* Declared Licenses * -MIT +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -Copyright JS Foundation and other contributors +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* BSD-3-Clause * +Copyright (c) 2015, Gengo, Inc. +All rights reserved. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: --------------------------------------------------------------------------------- -Package Title: loads (676e3a8f3f9bb8e24997fb71222b301f83f7ceef) --------------------------------------------------------------------------------- + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. -* Declared Licenses * -Apache-2.0 + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of Gengo, Inc. nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +* BSD-2-Clause * - 1. Definitions. +Copyright (c) 2015, Norberto Lopes +All rights reserved. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +* BSD-3-Clause * - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +Copyright (c) 2015, Pierre Curto +All rights reserved. - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +* Neither the name of xxHash nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +* BSD-3-Clause * - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +Copyright (c) 2015-2020, Tim Heckman +All rights reserved. - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +* Neither the name of gofrs nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. +* MIT * - END OF TERMS AND CONDITIONS +Copyright (c) 2016 Caleb Spare - APPENDIX: How to apply the Apache License to your work. +MIT License - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: - Copyright [yyyy] [name of copyright owner] +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. - 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 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - 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. +* MIT * +Copyright (c) 2016 Chris O'Hara +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: --------------------------------------------------------------------------------- -Package Title: locate-path (3.0.0) --------------------------------------------------------------------------------- +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -* Declared Licenses * -MIT +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Copyright (c) Sindre Sorhus (sindresorhus.com) +* MIT * + +Copyright (c) 2016 Dominik Honnef + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +* MIT * + +Copyright (c) 2016 Uber Technologies, Inc. + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -60389,27 +62156,89 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. --------------------------------------------------------------------------------- -Package Title: locate-path (5.0.0) --------------------------------------------------------------------------------- +* BSD-3-Clause * -* Declared Licenses * -MIT +Copyright (c) 2016, Daniel Wirtz All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of its author, nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* Protobuf * + +Copyright (c) 2016, Daniel Wirtz All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of its author, nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +--- + +Code generated by the command line utilities is owned by the owner +of the input file used when generating it. This code is not +standalone and requires a support library to be linked with it. This +support library is itself covered by the above license. + + +* MIT * + +Copyright (c) 2017 Alexandre Bourget -Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -60429,15 +62258,104 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -Package Title: locate-path (6.0.0) --------------------------------------------------------------------------------- +* BSD-3-Clause * -* Declared Licenses * -MIT +Copyright (c) 2017 The Bazel Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the + distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* BSD-3-Clause * + +Copyright (c) 2017 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* BSD-3-Clause * + +Copyright (c) 2017 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +* MIT * + +Copyright (c) 2017-2018 Fredrik Nicol -Copyright (c) Sindre Sorhus (https://sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -60457,27 +62375,34 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -Package Title: lodash (4.17.20) --------------------------------------------------------------------------------- +* MIT * -* Declared Licenses * -Multi-license: CC0-1.0 OR MIT +Copyright (c) 2017-present James Kyle +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Copyright OpenJS Foundation and other contributors +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -Based on Underscore.js, copyright Jeremy Ashkenas, -DocumentCloud and Investigative Reporters & Editors +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/lodash/lodash -The following license applies to all parts of this software except as -documented below: +* MIT * -==== +Copyright (c) 2018 Jack Christensen + +MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -60498,40 +62423,43 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -==== - -Copyright and related rights for sample code are waived via CC0. Sample -code is defined as all source code displayed within the prose of the -documentation. - -CC0: http://creativecommons.org/publicdomain/zero/1.0/ - -==== - -Files located in the node_modules and vendor directories are externally -maintained libraries used by this software which have their own -licenses; we recommend you read them, as their terms may differ from the -terms above. +* BSD-3-Clause * +Copyright (c) 2018 The Go Authors. All rights reserved. -* Other Licenses * -MIT +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. -Copyright OpenJS Foundation and other contributors +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Based on Underscore.js, copyright Jeremy Ashkenas, -DocumentCloud and Investigative Reporters & Editors -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/lodash/lodash +* MIT * -The following license applies to all parts of this software except as -documented below: +Copyright (c) 2019 Jack Christensen -==== +MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -60552,66 +62480,56 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -==== -Copyright and related rights for sample code are waived via CC0. Sample -code is defined as all source code displayed within the prose of the -documentation. +* BSD-2-Clause * -CC0: http://creativecommons.org/publicdomain/zero/1.0/ +Copyright (c) 2019 Sentry (https://sentry.io) and individual contributors. +All rights reserved. -==== +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -Files located in the node_modules and vendor directories are externally -maintained libraries used by this software which have their own -licenses; we recommend you read them, as their terms may differ from the -terms above. +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -Package Title: lodash (4.17.21) --------------------------------------------------------------------------------- +* BSD-3-Clause * -* Declared Licenses * -MIT, CC0-1.0 +Copyright (c) 2019 The Go Authors. All rights reserved. -* MIT * +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -Copyright (c) OpenJS Foundation and other contributors -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -* CC0-1.0 * - -Copyright OpenJS Foundation and other contributors - -Based on Underscore.js, copyright Jeremy Ashkenas, -DocumentCloud and Investigative Reporters & Editors -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/lodash/lodash +* MIT * -The following license applies to all parts of this software except as -documented below: +Copyright (c) 2019-2021 Jack Christensen -==== +MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -60632,44 +62550,37 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -==== - -Copyright and related rights for sample code are waived via CC0. Sample -code is defined as all source code displayed within the prose of the -documentation. - -CC0: http://creativecommons.org/publicdomain/zero/1.0/ - -==== - -Files located in the node_modules and vendor directories are externally -maintained libraries used by this software which have their own -licenses; we recommend you read them, as their terms may differ from the -terms above. +* MIT * +Copyright (c) 2019-present StringEpsilon --------------------------------------------------------------------------------- -Package Title: lodash (4.17.11) --------------------------------------------------------------------------------- +Copyright (c) 2017-2019 James Kyle -* Declared Licenses * -Multi-license: CC0-1.0 OR MIT +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -Copyright JS Foundation and other contributors +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -Based on Underscore.js, copyright Jeremy Ashkenas, -DocumentCloud and Investigative Reporters & Editors -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/lodash/lodash +* MIT * -The following license applies to all parts of this software except as -documented below: +Copyright (c) 2020 Jack Christensen -==== +MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -60690,98 +62601,129 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -==== -Copyright and related rights for sample code are waived via CC0. Sample -code is defined as all source code displayed within the prose of the -documentation. +* MIT * -CC0: http://creativecommons.org/publicdomain/zero/1.0/ +Copyright (c) Bogdan Chadkin -==== +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: -Files located in the node_modules and vendor directories are externally -maintained libraries used by this software which have their own -licenses; we recommend you read them, as their terms may differ from the -terms above. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. -* Other Licenses * -MIT +* BSD-2-Clause * +Copyright (c) Isaac Z. Schlueter ("Author") +All rights reserved. -Copyright JS Foundation and other contributors +The BSD License -Based on Underscore.js, copyright Jeremy Ashkenas, -DocumentCloud and Investigative Reporters & Editors +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/lodash/lodash +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -The following license applies to all parts of this software except as -documented below: +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. -==== +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: + +* MIT * + +Copyright (c) JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. -==== -Copyright and related rights for sample code are waived via CC0. Sample -code is defined as all source code displayed within the prose of the -documentation. +* MIT * -CC0: http://creativecommons.org/publicdomain/zero/1.0/ +Copyright (c) Nicolas Gallagher -==== +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: -Files located in the node_modules and vendor directories are externally -maintained libraries used by this software which have their own -licenses; we recommend you read them, as their terms may differ from the -terms above. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +* MIT * --------------------------------------------------------------------------------- -Package Title: lodash.isequalwith (4.4.0) --------------------------------------------------------------------------------- +Copyright (c) Yasuhiro MATSUMOTO -* Declared Licenses * -Multi-license: CC0-1.0 OR MIT +MIT License (Expat) +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -Copyright jQuery Foundation and other contributors +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -Based on Underscore.js, copyright Jeremy Ashkenas, -DocumentCloud and Investigative Reporters & Editors +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/lodash/lodash -The following license applies to all parts of this software except as -documented below: +* MIT * -==== +Copyright (c), Brian Grinstead, http://briangrinstead.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -60802,132 +62744,200 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -==== +* BSD-3-Clause * -Copyright and related rights for sample code are waived via CC0. Sample -code is defined as all source code displayed within the prose of the -documentation. +Copyright 2010 The Go Authors. All rights reserved. -CC0: http://creativecommons.org/publicdomain/zero/1.0/ +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -==== + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. -Files located in the node_modules and vendor directories are externally -maintained libraries used by this software which have their own -licenses; we recommend you read them, as their terms may differ from the -terms above. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* Other Licenses * -MIT +* BSD-3-Clause * +Copyright 2010-2015 Mike Bostock +All rights reserved. -Copyright jQuery Foundation and other contributors +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -Based on Underscore.js, copyright Jeremy Ashkenas, -DocumentCloud and Investigative Reporters & Editors +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/lodash/lodash +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -The following license applies to all parts of this software except as -documented below: +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. -==== +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +* BSD-3-Clause * -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Copyright 2010-2016 Mike Bostock +All rights reserved. -==== +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -Copyright and related rights for sample code are waived via CC0. Sample -code is defined as all source code displayed within the prose of the -documentation. +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -CC0: http://creativecommons.org/publicdomain/zero/1.0/ +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -==== +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. -Files located in the node_modules and vendor directories are externally -maintained libraries used by this software which have their own -licenses; we recommend you read them, as their terms may differ from the -terms above. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* BSD-3-Clause * --------------------------------------------------------------------------------- -Package Title: lodash.isstring (4.0.1) --------------------------------------------------------------------------------- +Copyright 2010-2017 Mike Bostock +All rights reserved. -* Declared Licenses * -MIT +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -Copyright 2012-2016 The Dojo Foundation -Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas, -DocumentCloud and Investigative Reporters & Editors +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* BSD-3-Clause * +Copyright 2010-2020 Mike Bostock +All rights reserved. --------------------------------------------------------------------------------- -Package Title: lodash.merge (4.6.2) --------------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -* Declared Licenses * -CC0-1.0, MIT +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -* CC0-1.0 * +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -Copyright OpenJS Foundation and other contributors +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. -Based on Underscore.js, copyright Jeremy Ashkenas, -DocumentCloud and Investigative Reporters & Editors +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/lodash/lodash -The following license applies to all parts of this software except as -documented below: +* BSD-2-Clause * -==== +Copyright 2012 Richard Crowley. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + +THIS SOFTWARE IS PROVIDED BY RICHARD CROWLEY ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL RICHARD CROWLEY OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +The views and conclusions contained in the software and documentation +are those of the authors and should not be interpreted as representing +official policies, either expressed or implied, of Richard Crowley. + + +* MIT * + +Copyright 2012-2016 The Dojo Foundation +Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -60948,31 +62958,28 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -==== -Copyright and related rights for sample code are waived via CC0. Sample -code is defined as all source code displayed within the prose of the -documentation. +* MIT * -CC0: http://creativecommons.org/publicdomain/zero/1.0/ +Copyright 2013 Chris Dickinson -==== +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -Files located in the node_modules and vendor directories are externally -maintained libraries used by this software which have their own -licenses; we recommend you read them, as their terms may differ from the -terms above. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * MIT * -Copyright (c) OpenJS Foundation and other contributors -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright 2014–present Olivier Lalonde , James Talmage , Ruben Verborgh + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. @@ -60980,28 +62987,168 @@ copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -Package Title: lodash.truncate (4.4.2) --------------------------------------------------------------------------------- +* Apache-2.0 * -* Declared Licenses * -Multi-license: CC0-1.0 OR MIT +Copyright 2015 James Saryerwinnie +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 -Copyright jQuery Foundation and other contributors + http://www.apache.org/licenses/LICENSE-2.0 -Based on Underscore.js, copyright Jeremy Ashkenas, -DocumentCloud and Investigative Reporters & Editors +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. -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/lodash/lodash + +* BSD-3-Clause * + +Copyright 2015-2016 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* BSD-3-Clause * + +Copyright 2016, Google Inc. +All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* MIT * + +Copyright 2017 JS Foundation + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +* Apache-2.0 * + +Copyright 2019 Softonic International S.A. + +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. + +* ISC * + +Copyright 2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +* MIT * + +Copyright JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +* MIT * + +Copyright JS Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash The following license applies to all parts of this software except as documented below: @@ -61043,12 +63190,9 @@ licenses; we recommend you read them, as their terms may differ from the terms above. +* CC0-1.0 * -* Other Licenses * -MIT - - -Copyright jQuery Foundation and other contributors +Copyright OpenJS Foundation and other contributors Based on Underscore.js, copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors @@ -61097,53593 +63241,965 @@ licenses; we recommend you read them, as their terms may differ from the terms above. +* CC0-1.0 * --------------------------------------------------------------------------------- -Package Title: log (0b69c7049332e99c25d5fd0f4d08317cfe45e7d8) --------------------------------------------------------------------------------- +Copyright jQuery Foundation and other contributors -* Declared Licenses * -MIT +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash -MIT License +The following license applies to all parts of this software except as +documented below: -Copyright (c) 2021 Go kit +==== -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +==== +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. -* Other Licenses * -BSD-3-Clause +CC0: http://creativecommons.org/publicdomain/zero/1.0/ +==== -Copyright (c) 2013 The Go Authors. All rights reserved. . All rights reserved. +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +* BSD-3-Clause * - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +Copyright © 2011, Paul Vorbach. All rights reserved. +Copyright © 2009, Jeff Mott. All rights reserved. - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +All rights reserved. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. +* Neither the name Crypto-JS nor the names of its contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. --------------------------------------------------------------------------------- -Package Title: logfmt (2fe45f2cf057d707c50bc1949e25ec2cd6b7a015) --------------------------------------------------------------------------------- +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* Declared Licenses * -MIT +* BSD-3-Clause * -The MIT License (MIT) +Copyright © 2011-2012, Paul Vorbach. +Copyright © 2009, Jeff Mott. -Copyright (c) 2015 go-logfmt +All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. +* Neither the name Crypto-JS nor the names of its contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* MPL-2.0 * +Copyright © 2015-2022 HashiCorp, Inc. -* Other Licenses * -BSD-3-Clause +Mozilla Public License, version 2.0 +1. Definitions -Copyright (c) 2010 The Go Authors. All rights reserved. . All rights reserved. +1.1. "Contributor" -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + means each individual or legal entity that creates, contributes to the + creation of, or owns Covered Software. - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +1.2. "Contributor Version" - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + means the combination of the Contributions of others (if any) used by a + Contributor and that particular Contributor's Contribution. - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +1.3. "Contribution" -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + means Covered Software of a particular Contributor. +1.4. "Covered Software" --------------------------------------------------------------------------------- -Package Title: logr (8adefbede0fe82bdee4fb8c9c9bdc7bc5d91388f) --------------------------------------------------------------------------------- + means Source Code Form to which the initial Contributor has attached the + notice in Exhibit A, the Executable Form of such Source Code Form, and + Modifications of such Source Code Form, in each case including portions + thereof. -* Declared Licenses * -Apache-2.0 +1.5. "Incompatible With Secondary Licenses" + means + a. that the initial Contributor has attached the notice described in + Exhibit B to the Covered Software; or - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ + b. that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the terms of + a Secondary License. - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +1.6. "Executable Form" - 1. Definitions. + means any form of the work other than Source Code Form. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +1.7. "Larger Work" - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. + means a work that combines Covered Software with other material, in a + separate file or files, that is not Covered Software. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +1.8. "License" - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. + means this document. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +1.9. "Licensable" - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. + means having the right to grant, to the maximum extent possible, whether + at the time of the initial grant or subsequently, any and all of the + rights conveyed by this License. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +1.10. "Modifications" - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. + means any of the following: - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." + a. any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered Software; or - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. + b. any new file in Source Code Form that contains any Covered Software. - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +1.11. "Patent Claims" of a Contributor - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the License, + by the making, using, selling, offering for sale, having made, import, + or transfer of either its Contributions or its Contributor Version. - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: +1.12. "Secondary License" - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and + means either the GNU General Public License, Version 2.0, the GNU Lesser + General Public License, Version 2.1, the GNU Affero General Public + License, Version 3.0, or any later versions of those licenses. - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +1.13. "Source Code Form" - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and + means the form of the work preferred for making modifications. - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. +1.14. "You" (or "Your") - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that controls, is + controlled by, or is under common control with You. For purposes of this + definition, "control" means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +2. License Grants and Conditions - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +2.1. Grants - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. + a. under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and - END OF TERMS AND CONDITIONS + b. under Patent Claims of such Contributor to make, use, sell, offer for + sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. - APPENDIX: How to apply the Apache License to your work. +2.2. Effective Date - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. + The licenses granted in Section 2.1 with respect to any Contribution + become effective for each Contribution on the date the Contributor first + distributes such Contribution. - Copyright {yyyy} {name of copyright owner} +2.3. Limitations on Grant Scope - 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 + The licenses granted in this Section 2 are the only rights granted under + this License. No additional rights or licenses will be implied from the + distribution or licensing of Covered Software under this License. + Notwithstanding Section 2.1(b) above, no patent license is granted by a + Contributor: - http://www.apache.org/licenses/LICENSE-2.0 + a. for any code that a Contributor has removed from Covered Software; or - 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. + b. for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + c. under Patent Claims infringed by Covered Software in the absence of + its Contributions. + This License does not grant any rights in the trademarks, service marks, + or logos of any Contributor (except as may be necessary to comply with + the notice requirements in Section 3.4). --------------------------------------------------------------------------------- -Package Title: logrus (f8bf7650dccb756cea26edaf9217aab85500fe07) --------------------------------------------------------------------------------- +2.4. Subsequent Licenses -* Declared Licenses * -MIT + No Contributor makes additional grants as a result of Your choice to + distribute the Covered Software under a subsequent version of this + License (see Section 10.2) or under the terms of a Secondary License (if + permitted under the terms of Section 3.3). +2.5. Representation -The MIT License (MIT) + Each Contributor represents that the Contributor believes its + Contributions are its original creation(s) or it has sufficient rights to + grant the rights to its Contributions conveyed by this License. -Copyright (c) 2014 Simon Eskildsen +2.6. Fair Use -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + This License is not intended to limit any rights You have under + applicable copyright doctrines of fair use, fair dealing, or other + equivalents. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +2.7. Conditions -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in + Section 2.1. +3. Responsibilities --------------------------------------------------------------------------------- -Package Title: logtags (21c54148d20b46d658d4cf001e85302739a698d1) --------------------------------------------------------------------------------- +3.1. Distribution of Source Form -* Declared Licenses * -Apache-2.0 + All distribution of Covered Software in Source Code Form, including any + Modifications that You create or to which You contribute, must be under + the terms of this License. You must inform recipients that the Source + Code Form of the Covered Software is governed by the terms of this + License, and how they can obtain a copy of this License. You may not + attempt to alter or restrict the recipients' rights in the Source Code + Form. +3.2. Distribution of Executable Form - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ + If You distribute Covered Software in Executable Form then: - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + a. such Covered Software must also be made available in Source Code Form, + as described in Section 3.1, and You must inform recipients of the + Executable Form how they can obtain a copy of such Source Code Form by + reasonable means in a timely manner, at a charge no more than the cost + of distribution to the recipient; and - 1. Definitions. + b. You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter the + recipients' rights in the Source Code Form under this License. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +3.3. Distribution of a Larger Work - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. + You may create and distribute a Larger Work under terms of Your choice, + provided that You also comply with the requirements of this License for + the Covered Software. If the Larger Work is a combination of Covered + Software with a work governed by one or more Secondary Licenses, and the + Covered Software is not Incompatible With Secondary Licenses, this + License permits You to additionally distribute such Covered Software + under the terms of such Secondary License(s), so that the recipient of + the Larger Work may, at their option, further distribute the Covered + Software under the terms of either this License or such Secondary + License(s). - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +3.4. Notices - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. + You may not remove or alter the substance of any license notices + (including copyright notices, patent notices, disclaimers of warranty, or + limitations of liability) contained within the Source Code Form of the + Covered Software, except that You may alter any license notices to the + extent required to remedy known factual inaccuracies. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +3.5. Application of Additional Terms - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. + You may choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of Covered + Software. However, You may do so only on Your own behalf, and not on + behalf of any Contributor. You must make it absolutely clear that any + such warranty, support, indemnity, or liability obligation is offered by + You alone, and You hereby agree to indemnify every Contributor for any + liability incurred by such Contributor as a result of warranty, support, + indemnity or liability terms You offer. You may include additional + disclaimers of warranty and limitations of liability specific to any + jurisdiction. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +4. Inability to Comply Due to Statute or Regulation - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. + If it is impossible for You to comply with any of the terms of this License + with respect to some or all of the Covered Software due to statute, + judicial order, or regulation then You must: (a) comply with the terms of + this License to the maximum extent possible; and (b) describe the + limitations and the code they affect. Such description must be placed in a + text file included with all distributions of the Covered Software under + this License. Except to the extent prohibited by statute or regulation, + such description must be sufficiently detailed for a recipient of ordinary + skill to be able to understand it. - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +5. Termination - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +5.1. The rights granted under this License will terminate automatically if You + fail to comply with any of its terms. However, if You become compliant, + then the rights granted under this License from a particular Contributor + are reinstated (a) provisionally, unless and until such Contributor + explicitly and finally terminates Your grants, and (b) on an ongoing + basis, if such Contributor fails to notify You of the non-compliance by + some reasonable means prior to 60 days after You have come back into + compliance. Moreover, Your grants from a particular Contributor are + reinstated on an ongoing basis if such Contributor notifies You of the + non-compliance by some reasonable means, this is the first time You have + received notice of non-compliance with this License from such + Contributor, and You become compliant prior to 30 days after Your receipt + of the notice. - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +5.2. If You initiate litigation against any entity by asserting a patent + infringement claim (excluding declaratory judgment actions, + counter-claims, and cross-claims) alleging that a Contributor Version + directly or indirectly infringes any patent, then the rights granted to + You by any and all Contributors for the Covered Software under Section + 2.1 of this License shall terminate. - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user + license agreements (excluding distributors and resellers) which have been + validly granted by You or Your distributors under this License prior to + termination shall survive termination. - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: +6. Disclaimer of Warranty - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and + Covered Software is provided under this License on an "as is" basis, + without warranty of any kind, either expressed, implied, or statutory, + including, without limitation, warranties that the Covered Software is free + of defects, merchantable, fit for a particular purpose or non-infringing. + The entire risk as to the quality and performance of the Covered Software + is with You. Should any Covered Software prove defective in any respect, + You (not any Contributor) assume the cost of any necessary servicing, + repair, or correction. This disclaimer of warranty constitutes an essential + part of this License. No use of any Covered Software is authorized under + this License except under this disclaimer. - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +7. Limitation of Liability - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and + Under no circumstances and under no legal theory, whether tort (including + negligence), contract, or otherwise, shall any Contributor, or anyone who + distributes Covered Software as permitted above, be liable to You for any + direct, indirect, special, incidental, or consequential damages of any + character including, without limitation, damages for lost profits, loss of + goodwill, work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses, even if such party shall have been + informed of the possibility of such damages. This limitation of liability + shall not apply to liability for death or personal injury resulting from + such party's negligence to the extent applicable law prohibits such + limitation. Some jurisdictions do not allow the exclusion or limitation of + incidental or consequential damages, so this exclusion and limitation may + not apply to You. - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. +8. Litigation - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. + Any litigation relating to this License may be brought only in the courts + of a jurisdiction where the defendant maintains its principal place of + business and such litigation shall be governed by laws of that + jurisdiction, without reference to its conflict-of-law provisions. Nothing + in this Section shall prevent a party's ability to bring cross-claims or + counter-claims. - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +9. Miscellaneous - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. + This License represents the complete agreement concerning the subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. Any law or regulation which provides that + the language of a contract shall be construed against the drafter shall not + be used to construe this License against a Contributor. - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +10. Versions of the License - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. +10.1. New Versions - END OF TERMS AND CONDITIONS + Mozilla Foundation is the license steward. Except as provided in Section + 10.3, no one other than the license steward has the right to modify or + publish new versions of this License. Each version will be given a + distinguishing version number. - APPENDIX: How to apply the Apache License to your work. +10.2. Effect of New Versions - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. + You may distribute the Covered Software under the terms of the version + of the License under which You originally received the Covered Software, + or under the terms of any subsequent version published by the license + steward. - Copyright [yyyy] [name of copyright owner] +10.3. Modified Versions - 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 + If you create software not governed by this License, and you want to + create a new license for such software, you may create and use a + modified version of this License if you rename the license and remove + any references to the name of the license steward (except to note that + such modified license differs from this License). - http://www.apache.org/licenses/LICENSE-2.0 +10.4. Distributing Source Code Form that is Incompatible With Secondary + Licenses If You choose to distribute Source Code Form that is + Incompatible With Secondary Licenses under the terms of this version of + the License, the notice described in Exhibit B of this License must be + attached. - 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. +Exhibit A - Source Code Form License Notice + This Source Code Form is subject to the + terms of the Mozilla Public License, v. + 2.0. If a copy of the MPL was not + distributed with this file, You can + obtain one at + http://mozilla.org/MPL/2.0/. +If it is not possible or desirable to put the notice in a particular file, +then You may include the notice in a location (such as a LICENSE file in a +relevant directory) where a recipient would be likely to look for such a +notice. --------------------------------------------------------------------------------- -Package Title: long (4.0.0) --------------------------------------------------------------------------------- +You may add additional accurate notices of copyright ownership. -* Declared Licenses * -Apache-2.0 +Exhibit B - "Incompatible With Secondary Licenses" Notice + This Source Code Form is "Incompatible + With Secondary Licenses", as defined by + the Mozilla Public License, v. 2.0. - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +* ISC * - 1. Definitions. +Copyright © 2017, Charmander <~@charmander.me> - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +* BSD-3-Clause * - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +Copyright ©2012 The bíogo Authors. All rights reserved. - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the bíogo project nor the names of its authors and + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - --------------------------------------------------------------------------------- -Package Title: loose-envify (1.4.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015 Andres Suarez - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: lru-cache (5.1.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: lru-cache (6.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: lz4 (65e4285c566323a894d155441e5279ec4a9884f4) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2015, Pierre Curto -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of xxHash nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - - --------------------------------------------------------------------------------- -Package Title: make-dir (2.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: make-dir (3.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: mamacro (0.0.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: map-age-cleaner (0.1.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sam Verschueren (github.com/SamVerschueren) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: map-cache (0.2.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-2016, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: mapstructure (ab69d8d93410fce4361f4912bb1ff88110a81311) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2013 Mitchell Hashimoto - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: markdown (bf3e522c626a2e60cff08505073d69f716f3c573) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause - - -Copyright (c) 2015, The Authors -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Other Licenses * -BSD-3-Clause - - -Copyright (c) 2015 The Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: markdown-it (12.3.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin. - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: markdown-it-anchor (8.6.7) --------------------------------------------------------------------------------- - -* Declared Licenses * -Unlicense - - -This is free and unencumbered software released into the public domain. -Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means. -In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -For more information, please refer to - - --------------------------------------------------------------------------------- -Package Title: marked (4.3.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT, BSD-3-Clause - -* MIT * - -Copyright (c) 2018+, MarkedJS (https://github.com/markedjs/) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -* BSD-3-Clause * - -# License information - -## Contribution License Agreement - -If you contribute code to this project, you are implicitly allowing your code -to be distributed under the MIT license. You are also implicitly verifying that -all code is your original work. `` - -## Marked - -Copyright (c) 2018+, MarkedJS (https://github.com/markedjs/) -Copyright (c) 2011-2018, Christopher Jeffrey (https://github.com/chjj/) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -## Markdown - -Copyright © 2004, John Gruber -http://daringfireball.net/ -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -* Neither the name “Markdown” nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -This software is provided by the copyright holders and contributors “as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage. - - - --------------------------------------------------------------------------------- -Package Title: md5 (2.3.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause - -* Multi-license: BSD-2-Clause OR BSD-3-Clause * - -Copyright © 2011-2012, Paul Vorbach. -Copyright © 2009, Jeff Mott. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. -* Neither the name Crypto-JS nor the names of its contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright © 2011-2012, Paul Vorbach. -Copyright © 2009, Jeff Mott. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. -* Neither the name Crypto-JS nor the names of its contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Other Licenses * -MIT - - -Copyright (c) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: mdurl (932350d1cb841423f436264e83e4f0bdbc798f67) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause - - -Copyright (c) 2015, The Authors -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Other Licenses * -BSD-3-Clause - - -Copyright (c) 2015 The Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: mdurl (1.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2015 Vitaly Puzrin, Alex Kocharin. - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - --------------------------------------------------------------------------------- - -.parse() is based on Joyent's node.js `url` code: - -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: mem (4.3.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: memoize-one (5.2.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2019 Alexander Reardon - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: memory-fs (0.4.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2012-2014 Tobias Koppers -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: memory-fs (0.5.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: merge2 (1.4.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-2020 Teambition - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: mergo (194978757031c1a5c8ff8e059ae75fc2fc2a04f7) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2013 Dario Castañé. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: micromatch (3.1.10) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-2018, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: micromatch (4.0.5) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-present, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: miller-rabin (4.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Fedor Indutny, 2014. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: mimic-fn (2.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: mini-create-react-context (0.3.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2019-present StringEpsilon - -Copyright (c) 2017-2019 James Kyle - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: mini-create-react-context (0.3.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2019-present StringEpsilon - -Copyright (c) 2017-2019 James Kyle - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: mini-create-react-context (0.4.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2019-present StringEpsilon - -Copyright (c) 2017-2019 James Kyle - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: minimatch (3.1.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: minimist (1.2.8) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -This software is released under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: mississippi (3.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause - - -Copyright (c) - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: misspell (b90dc15cfd220ecf8bbc9043ecb928cef381f011) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-2017 Nick Galbreath - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - - -* Other Licenses * -BSD-3-Clause - - -Copyright (c) 2011 The Go Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: mkdirp (0.5.6) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright 2010 James Halliday (mail@substack.net) - -This project is free software released under the MIT/X11 license: - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: mkdirp (1.0.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright James Halliday (mail@substack.net) and Isaac Z. Schlueter (i@izs.me) - -This project is free software released under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: moby (1a7969545d73537545645f5cd2c79b7a77e7d39f) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - - Apache License - Version 2.0, January 2004 - https://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - Copyright 2013-2018 Docker, Inc. - - 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 - - https://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. - - - -* Other Licenses * -GPL-2.0-or-later, CC-BY-4.0, BSD-2-Clause, CC-BY-SA-4.0, BSD-3-Clause, openssl-ssleay, MIT, GPL-2.0-only, MPL-2.0 - -* GPL-2.0-or-later * - -Copyright (C) Text: copyright notice(s) text, "NONE" or "NOASSERTION" -This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 or any later version. -This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -* CC-BY-4.0 * - -Attribution 4.0 International<> -By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. -Section 1 – Definitions. - a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. - b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. - c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. - d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. - e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. - f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. - g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. - h. Licensor means the individual(s) or entity(ies) granting rights under this Public License. - i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. - j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. - k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. -Section 2 – Scope. - a. License grant. - 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: - A. reproduce and Share the Licensed Material, in whole or in part; and - B. produce, reproduce, and Share Adapted Material. - 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. - 3. Term. The term of this Public License is specified in Section 6(a). - 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. - 5. Downstream recipients. - A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. - B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. - 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). - b. Other rights. - 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. - 2. Patent and trademark rights are not licensed under this Public License. - 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. -Section 3 – License Conditions. -Your exercise of the Licensed Rights is expressly made subject to the following conditions. - a. Attribution. - 1. If You Share the Licensed Material (including in modified form), You must: - A. retain the following if it is supplied by the Licensor with the Licensed Material: - i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); - ii. a copyright notice; - iii. a notice that refers to this Public License; - iv. a notice that refers to the disclaimer of warranties; - v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; - B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and - C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. - 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. - 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. - 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. -Section 4 – Sui Generis Database Rights. -Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: - a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; - b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and - c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. -For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. -Section 5 – Disclaimer of Warranties and Limitation of Liability. - a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. - b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. - c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. -Section 6 – Term and Termination. - a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. - b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: - 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or - 2. upon express reinstatement by the Licensor. - c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. - d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. - e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. -Section 7 – Other Terms and Conditions. - a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. - b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. -Section 8 – Interpretation. - a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. - b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. - c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. - d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. -Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. -Creative Commons may be contacted at creativecommons.org. - -* BSD-2-Clause * - -Copyright (c) 2014 CloudFlare Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* CC-BY-SA-4.0 * - -Attribution-ShareAlike 4.0 International<> -Using Creative Commons Public Licenses -Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. -Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors : wiki.creativecommons.org/Considerations_for_licensors -Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor's permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. -Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public : wiki.creativecommons.org/Considerations_for_licensees -Creative Commons Attribution-ShareAlike 4.0 International Public License -By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. -Section 1 – Definitions. - a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. - b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. - c. BY-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License. - d. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. - e. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. - f. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. - g. License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution and ShareAlike. - h. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. - i. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. - j. Licensor means the individual(s) or entity(ies) granting rights under this Public License. - k. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. - l. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. - m. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. -Section 2 – Scope. - a. License grant. - 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: - A. reproduce and Share the Licensed Material, in whole or in part; and - B. produce, reproduce, and Share Adapted Material. - 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. - 3. Term. The term of this Public License is specified in Section 6(a). - 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. - 5. Downstream recipients. - A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. - B. Additional offer from the Licensor – Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter's License You apply. - C. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. - 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). - b. Other rights. - 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. - 2. Patent and trademark rights are not licensed under this Public License. - 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. -Section 3 – License Conditions. -Your exercise of the Licensed Rights is expressly made subject to the following conditions. - a. Attribution. - 1. If You Share the Licensed Material (including in modified form), You must: - A. retain the following if it is supplied by the Licensor with the Licensed Material: - i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); - ii. a copyright notice; - iii. a notice that refers to this Public License; - iv. a notice that refers to the disclaimer of warranties; - v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; - B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and - C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. - 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. - 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. - b. ShareAlike.In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply. - 1. The Adapter's License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-SA Compatible License. - 2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material. - 3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply. -Section 4 – Sui Generis Database Rights. -Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: - a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; - b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and - c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. - For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. -Section 5 – Disclaimer of Warranties and Limitation of Liability. - a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. - b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. - c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. -Section 6 – Term and Termination. - a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. - b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: - 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or - 2. upon express reinstatement by the Licensor. - c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. - d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. - e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. -Section 7 – Other Terms and Conditions. - a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. - b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. -Section 8 – Interpretation. - a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. - b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. - c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. - d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. -Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. -Creative Commons may be contacted at creativecommons.org. - -* BSD-3-Clause * - -Copyright (c) 2015 Rackspace. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* openssl-ssleay * - -LICENSE ISSUES - ============== - - The OpenSSL toolkit stays under a dual license, i.e. both the conditions of - the OpenSSL License and the original SSLeay license apply to the toolkit. - See below for the actual license texts. Actually both licenses are BSD-style - Open Source licenses. In case of any license issues related to OpenSSL - please contact openssl-core@openssl.org. - - OpenSSL License - --------------- - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - -3. All advertising materials mentioning features or use of this - software must display the following acknowledgment: - "This product includes software developed by the OpenSSL Project - for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - -4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - endorse or promote products derived from this software without - prior written permission. For written permission, please contact - openssl-core@openssl.org. - -5. Products derived from this software may not be called "OpenSSL" - nor may "OpenSSL" appear in their names without prior written - permission of the OpenSSL Project. - -6. Redistributions of any form whatsoever must retain the following - acknowledgment: - "This product includes software developed by the OpenSSL Project - for use in the OpenSSL Toolkit (http://www.openssl.org/)" - -THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY -EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR -ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -OF THE POSSIBILITY OF SUCH DAMAGE. - - -This product includes cryptographic software written by Eric Young -(eay@cryptsoft.com). This product includes software written by Tim -Hudson (tjh@cryptsoft.com). - - - Original SSLeay License - ----------------------- - -Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) -All rights reserved. - -This package is an SSL implementation written -by Eric Young (eay@cryptsoft.com). -The implementation was written so as to conform with Netscapes SSL. - -This library is free for commercial and non-commercial use as long as -the following conditions are aheared to. The following conditions -apply to all code found in this distribution, be it the RC4, RSA, -lhash, DES, etc., code; not just the SSL code. The SSL documentation -included with this distribution is covered by the same copyright terms -except that the holder is Tim Hudson (tjh@cryptsoft.com). - -Copyright remains Eric Young's, and as such any Copyright notices in -the code are not to be removed. -If this package is used in a product, Eric Young should be given attribution -as the author of the parts of the library used. -This can be in the form of a textual message at program startup or -in documentation (online or textual) provided with the package. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -3. All advertising materials mentioning features or use of this software - must display the following acknowledgement: - "This product includes cryptographic software written by - Eric Young (eay@cryptsoft.com)" - The word 'cryptographic' can be left out if the rouines from the library - being used are not cryptographic related :-). -4. If you include any Windows specific code (or a derivative thereof) from - the apps directory (application code) you must include an acknowledgement: - "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - -THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. - -The licence and distribution terms for any publically available version or -derivative of this code cannot be changed. i.e. this code cannot simply be -copied and put under another distribution licence -[including the GNU Public Licence.] - -* MIT * - -Copyright (c) 2012-2017 Docker, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -* GPL-2.0-only * - -Copyright (C) 1989, 1991 Free Software Foundation, Inc., -This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2. -This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -* MPL-2.0 * - -1. Definitions - 1.1. "Contributor" means each individual or legal entity that creates, contributes to the creation of, or owns Covered Software. - 1.2. "Contributor Version" means the combination of the Contributions of others (if any) used by a Contributor and that particular Contributor's Contribution. - 1.3. "Contribution" means Covered Software of a particular Contributor. - 1.4. "Covered Software" means Source Code Form to which the initial Contributor has attached the notice in Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof. - 1.5. "Incompatible With Secondary Licenses" means - (a) that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or - (b) that the Covered Software was made available under the terms of version 1.1 or earlier of the License, but not also under the terms of a Secondary License. - 1.6. "Executable Form" means any form of the work other than Source Code Form. - 1.7. "Larger Work" means a work that combines Covered Software with other material, in a separate file or files, that is not Covered Software. - 1.8. "License" means this document. - 1.9. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently, any and all of the rights conveyed by this License. - 1.10. "Modifications" means any of the following: - (a) any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or - (b) any new file in Source Code Form that contains any Covered Software. - 1.11. "Patent Claims" of a Contributor means any patent claim(s), including without limitation, method, process, and apparatus claims, in any patent Licensable by such Contributor that would be infringed, but for the grant of the License, by the making, using, selling, offering for sale, having made, import, or transfer of either its Contributions or its Contributor Version. - 1.12. "Secondary License" means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses. - 1.13. "Source Code Form" means the form of the work preferred for making modifications. - 1.14. "You" (or "Your") means an individual or a legal entity exercising rights under this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. - 2. License Grants and Conditions - 2.1. Grants - Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license: - (a) under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and - (b) under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version. - 2.2. Effective Date - The licenses granted in Section 2.1 with respect to any Contribution become effective for each Contribution on the date the Contributor first distributes such Contribution. - 2.3. Limitations on Grant Scope - The licenses granted in this Section 2 are the only rights granted under this License. No additional rights or licenses will be implied from the distribution or licensing of Covered Software under this License. Notwithstanding Section 2.1(b) above, no patent license is granted by a Contributor: - (a) for any code that a Contributor has removed from Covered Software; or - (b) for infringements caused by: (i) Your and any other third party's modifications of Covered Software, or (ii) the combination of its Contributions with other software (except as part of its Contributor Version); or - (c) under Patent Claims infringed by Covered Software in the absence of its Contributions. - This License does not grant any rights in the trademarks, service marks, or logos of any Contributor (except as may be necessary to comply with the notice requirements in Section 3.4). - 2.4. Subsequent Licenses - No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version of this License (see Section 10.2) or under the terms of a Secondary License (if permitted under the terms of Section 3.3). - 2.5. Representation - Each Contributor represents that the Contributor believes its Contributions are its original creation(s) or it has sufficient rights to grant the rights to its Contributions conveyed by this License. - 2.6. Fair Use - This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other equivalents. - 2.7. Conditions - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1. - 3. Responsibilities - 3.1. Distribution of Source Form - All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License. You may not attempt to alter or restrict the recipients' rights in the Source Code Form. - 3.2. Distribution of Executable Form - If You distribute Covered Software in Executable Form then: - (a) such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must inform recipients of the Executable Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the recipient; and - (b) You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients' rights in the Source Code Form under this License. - 3.3. Distribution of a Larger Work - You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s). - 3.4. Notices - You may not remove or alter the substance of any license notices (including copyright notices, patent notices, disclaimers of warranty, or limitations of liability) contained within the Source Code Form of the Covered Software, except that You may alter any license notices to the extent required to remedy known factual inaccuracies. - 3.5. Application of Additional Terms - You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, You may do so only on Your own behalf, and not on behalf of any Contributor. You must make it absolutely clear that any such warranty, support, indemnity, or liability obligation is offered by You alone, and You hereby agree to indemnify every Contributor for any liability incurred by such Contributor as a result of warranty, support, indemnity or liability terms You offer. You may include additional disclaimers of warranty and limitations of liability specific to any jurisdiction. - 4. Inability to Comply Due to Statute or Regulation - If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be placed in a text file included with all distributions of the Covered Software under this License. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. - 5. Termination - 5.1. The rights granted under this License will terminate automatically if You fail to comply with any of its terms. However, if You become compliant, then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such Contributor explicitly and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor fails to notify You of the non-compliance by some reasonable means prior to 60 days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such Contributor notifies You of the non-compliance by some reasonable means, this is the first time You have received notice of non-compliance with this License from such Contributor, and You become compliant prior to 30 days after Your receipt of the notice. - 5.2. If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate. - 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or Your distributors under this License prior to termination shall survive termination. - 6. Disclaimer of Warranty - Covered Software is provided under this License on an "as is" basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the Covered Software is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the Covered Software is with You. Should any Covered Software prove defective in any respect, You (not any Contributor) assume the cost of any necessary servicing, repair, or correction. This disclaimer of warranty constitutes an essential part of this License. No use of any Covered Software is authorized under this License except under this disclaimer. - 7. Limitation of Liability - Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall any Contributor, or anyone who distributes Covered Software as permitted above, be liable to You for any direct, indirect, special, incidental, or consequential damages of any character including, without limitation, damages for lost profits, loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages. This limitation of liability shall not apply to liability for death or personal injury resulting from such party's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You. - 8. Litigation - Any litigation relating to this License may be brought only in the courts of a jurisdiction where the defendant maintains its principal place of business and such litigation shall be governed by laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this Section shall prevent a party's ability to bring cross-claims or counter-claims. - 9. Miscellaneous - This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not be used to construe this License against a Contributor. - 10. Versions of the License - 10.1. New Versions - Mozilla Foundation is the license steward. Except as provided in Section 10.3, no one other than the license steward has the right to modify or publish new versions of this License. Each version will be given a distinguishing version number. - 10.2. Effect of New Versions - You may distribute the Covered Software under the terms of the version of the License under which You originally received the Covered Software, or under the terms of any subsequent version published by the license steward. - 10.3. Modified Versions - If you create software not governed by this License, and you want to create a new license for such software, you may create and use a modified version of this License if you rename the license and remove any references to the name of the license steward (except to note that such modified license differs from this License). - 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses - If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached. - - --------------------------------------------------------------------------------- -Package Title: mock (aba2ff9a6844d5e3289e8472d3217d5b3090f083) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - --------------------------------------------------------------------------------- -Package Title: mod (6e58e47c7bd6672665dc35cce7b1f325d2addd67) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: modvendor (bcba7f548224f19d4bfa9e166d2711d9b14fbcfe) --------------------------------------------------------------------------------- - -* Declared Licenses * -No licenses found - - -* Other Licenses * -BSD-3-Clause, MIT - -* BSD-3-Clause * - -Copyright (c) 2016 The Go Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* MIT * - -Copyright (c) 2017 Yasuhiro Matsumoto -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: moment (^2.29.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: moment (2.29.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: moment (2.30.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: moment (2.21.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: moment-timezone (0.5.42) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: moment-timezone (0.5.45) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: moment-timezone (0.5.14) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: moment-timezone-data-webpack-plugin (1.5.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright 2019-2022 Gilmore Davidson - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: mousetrap (3a66f25f8779fad208598f21472174ef7b35c3ec) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2022 Alan Shreve (@inconshreveable) - - 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. - - - --------------------------------------------------------------------------------- -Package Title: move-concurrently (1.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -Copyright (c) 2017, Rebecca Turner - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - - --------------------------------------------------------------------------------- -Package Title: ms (2.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2016 Zeit, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: ms (2.1.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2016 Zeit, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: ms (2.1.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2020 Vercel, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: multierr (a5cd5509686189240486545be669e1dff9b98dcf) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2017-2021 Uber Technologies, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: murmur3 (f09979ecbc725b9e6d41a297405f65e7e8804acc) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright 2013, Sébastien Paolacci. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the library nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: mux (98cb6bf42e086f6af920b965c38cacc07402d51b) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2012-2018 The Gorilla Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: mysql (bcc459a906419e2890a50fc2c99ea6dd927a88f2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MPL-2.0 - - -Mozilla Public License Version 2.0 -================================== - -1. Definitions --------------- - -1.1. "Contributor" - means each individual or legal entity that creates, contributes to - the creation of, or owns Covered Software. - -1.2. "Contributor Version" - means the combination of the Contributions of others (if any) used - by a Contributor and that particular Contributor's Contribution. - -1.3. "Contribution" - means Covered Software of a particular Contributor. - -1.4. "Covered Software" - means Source Code Form to which the initial Contributor has attached - the notice in Exhibit A, the Executable Form of such Source Code - Form, and Modifications of such Source Code Form, in each case - including portions thereof. - -1.5. "Incompatible With Secondary Licenses" - means - - (a) that the initial Contributor has attached the notice described - in Exhibit B to the Covered Software; or - - (b) that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the - terms of a Secondary License. - -1.6. "Executable Form" - means any form of the work other than Source Code Form. - -1.7. "Larger Work" - means a work that combines Covered Software with other material, in - a separate file or files, that is not Covered Software. - -1.8. "License" - means this document. - -1.9. "Licensable" - means having the right to grant, to the maximum extent possible, - whether at the time of the initial grant or subsequently, any and - all of the rights conveyed by this License. - -1.10. "Modifications" - means any of the following: - - (a) any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered - Software; or - - (b) any new file in Source Code Form that contains any Covered - Software. - -1.11. "Patent Claims" of a Contributor - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the - License, by the making, using, selling, offering for sale, having - made, import, or transfer of either its Contributions or its - Contributor Version. - -1.12. "Secondary License" - means either the GNU General Public License, Version 2.0, the GNU - Lesser General Public License, Version 2.1, the GNU Affero General - Public License, Version 3.0, or any later versions of those - licenses. - -1.13. "Source Code Form" - means the form of the work preferred for making modifications. - -1.14. "You" (or "Your") - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that - controls, is controlled by, or is under common control with You. For - purposes of this definition, "control" means (a) the power, direct - or indirect, to cause the direction or management of such entity, - whether by contract or otherwise, or (b) ownership of more than - fifty percent (50%) of the outstanding shares or beneficial - ownership of such entity. - -2. License Grants and Conditions --------------------------------- - -2.1. Grants - -Each Contributor hereby grants You a world-wide, royalty-free, -non-exclusive license: - -(a) under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and - -(b) under Patent Claims of such Contributor to make, use, sell, offer - for sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. - -2.2. Effective Date - -The licenses granted in Section 2.1 with respect to any Contribution -become effective for each Contribution on the date the Contributor first -distributes such Contribution. - -2.3. Limitations on Grant Scope - -The licenses granted in this Section 2 are the only rights granted under -this License. No additional rights or licenses will be implied from the -distribution or licensing of Covered Software under this License. -Notwithstanding Section 2.1(b) above, no patent license is granted by a -Contributor: - -(a) for any code that a Contributor has removed from Covered Software; - or - -(b) for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - -(c) under Patent Claims infringed by Covered Software in the absence of - its Contributions. - -This License does not grant any rights in the trademarks, service marks, -or logos of any Contributor (except as may be necessary to comply with -the notice requirements in Section 3.4). - -2.4. Subsequent Licenses - -No Contributor makes additional grants as a result of Your choice to -distribute the Covered Software under a subsequent version of this -License (see Section 10.2) or under the terms of a Secondary License (if -permitted under the terms of Section 3.3). - -2.5. Representation - -Each Contributor represents that the Contributor believes its -Contributions are its original creation(s) or it has sufficient rights -to grant the rights to its Contributions conveyed by this License. - -2.6. Fair Use - -This License is not intended to limit any rights You have under -applicable copyright doctrines of fair use, fair dealing, or other -equivalents. - -2.7. Conditions - -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted -in Section 2.1. - -3. Responsibilities -------------------- - -3.1. Distribution of Source Form - -All distribution of Covered Software in Source Code Form, including any -Modifications that You create or to which You contribute, must be under -the terms of this License. You must inform recipients that the Source -Code Form of the Covered Software is governed by the terms of this -License, and how they can obtain a copy of this License. You may not -attempt to alter or restrict the recipients' rights in the Source Code -Form. - -3.2. Distribution of Executable Form - -If You distribute Covered Software in Executable Form then: - -(a) such Covered Software must also be made available in Source Code - Form, as described in Section 3.1, and You must inform recipients of - the Executable Form how they can obtain a copy of such Source Code - Form by reasonable means in a timely manner, at a charge no more - than the cost of distribution to the recipient; and - -(b) You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter - the recipients' rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - -You may create and distribute a Larger Work under terms of Your choice, -provided that You also comply with the requirements of this License for -the Covered Software. If the Larger Work is a combination of Covered -Software with a work governed by one or more Secondary Licenses, and the -Covered Software is not Incompatible With Secondary Licenses, this -License permits You to additionally distribute such Covered Software -under the terms of such Secondary License(s), so that the recipient of -the Larger Work may, at their option, further distribute the Covered -Software under the terms of either this License or such Secondary -License(s). - -3.4. Notices - -You may not remove or alter the substance of any license notices -(including copyright notices, patent notices, disclaimers of warranty, -or limitations of liability) contained within the Source Code Form of -the Covered Software, except that You may alter any license notices to -the extent required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - -You may choose to offer, and to charge a fee for, warranty, support, -indemnity or liability obligations to one or more recipients of Covered -Software. However, You may do so only on Your own behalf, and not on -behalf of any Contributor. You must make it absolutely clear that any -such warranty, support, indemnity, or liability obligation is offered by -You alone, and You hereby agree to indemnify every Contributor for any -liability incurred by such Contributor as a result of warranty, support, -indemnity or liability terms You offer. You may include additional -disclaimers of warranty and limitations of liability specific to any -jurisdiction. - -4. Inability to Comply Due to Statute or Regulation ---------------------------------------------------- - -If it is impossible for You to comply with any of the terms of this -License with respect to some or all of the Covered Software due to -statute, judicial order, or regulation then You must: (a) comply with -the terms of this License to the maximum extent possible; and (b) -describe the limitations and the code they affect. Such description must -be placed in a text file included with all distributions of the Covered -Software under this License. Except to the extent prohibited by statute -or regulation, such description must be sufficiently detailed for a -recipient of ordinary skill to be able to understand it. - -5. Termination --------------- - -5.1. The rights granted under this License will terminate automatically -if You fail to comply with any of its terms. However, if You become -compliant, then the rights granted under this License from a particular -Contributor are reinstated (a) provisionally, unless and until such -Contributor explicitly and finally terminates Your grants, and (b) on an -ongoing basis, if such Contributor fails to notify You of the -non-compliance by some reasonable means prior to 60 days after You have -come back into compliance. Moreover, Your grants from a particular -Contributor are reinstated on an ongoing basis if such Contributor -notifies You of the non-compliance by some reasonable means, this is the -first time You have received notice of non-compliance with this License -from such Contributor, and You become compliant prior to 30 days after -Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent -infringement claim (excluding declaratory judgment actions, -counter-claims, and cross-claims) alleging that a Contributor Version -directly or indirectly infringes any patent, then the rights granted to -You by any and all Contributors for the Covered Software under Section -2.1 of this License shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all -end user license agreements (excluding distributors and resellers) which -have been validly granted by You or Your distributors under this License -prior to termination shall survive termination. - -************************************************************************ -* * -* 6. Disclaimer of Warranty * -* ------------------------- * -* * -* Covered Software is provided under this License on an "as is" * -* basis, without warranty of any kind, either expressed, implied, or * -* statutory, including, without limitation, warranties that the * -* Covered Software is free of defects, merchantable, fit for a * -* particular purpose or non-infringing. The entire risk as to the * -* quality and performance of the Covered Software is with You. * -* Should any Covered Software prove defective in any respect, You * -* (not any Contributor) assume the cost of any necessary servicing, * -* repair, or correction. This disclaimer of warranty constitutes an * -* essential part of this License. No use of any Covered Software is * -* authorized under this License except under this disclaimer. * -* * -************************************************************************ - -************************************************************************ -* * -* 7. Limitation of Liability * -* -------------------------- * -* * -* Under no circumstances and under no legal theory, whether tort * -* (including negligence), contract, or otherwise, shall any * -* Contributor, or anyone who distributes Covered Software as * -* permitted above, be liable to You for any direct, indirect, * -* special, incidental, or consequential damages of any character * -* including, without limitation, damages for lost profits, loss of * -* goodwill, work stoppage, computer failure or malfunction, or any * -* and all other commercial damages or losses, even if such party * -* shall have been informed of the possibility of such damages. This * -* limitation of liability shall not apply to liability for death or * -* personal injury resulting from such party's negligence to the * -* extent applicable law prohibits such limitation. Some * -* jurisdictions do not allow the exclusion or limitation of * -* incidental or consequential damages, so this exclusion and * -* limitation may not apply to You. * -* * -************************************************************************ - -8. Litigation -------------- - -Any litigation relating to this License may be brought only in the -courts of a jurisdiction where the defendant maintains its principal -place of business and such litigation shall be governed by laws of that -jurisdiction, without reference to its conflict-of-law provisions. -Nothing in this Section shall prevent a party's ability to bring -cross-claims or counter-claims. - -9. Miscellaneous ----------------- - -This License represents the complete agreement concerning the subject -matter hereof. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the extent -necessary to make it enforceable. Any law or regulation which provides -that the language of a contract shall be construed against the drafter -shall not be used to construe this License against a Contributor. - -10. Versions of the License ---------------------------- - -10.1. New Versions - -Mozilla Foundation is the license steward. Except as provided in Section -10.3, no one other than the license steward has the right to modify or -publish new versions of this License. Each version will be given a -distinguishing version number. - -10.2. Effect of New Versions - -You may distribute the Covered Software under the terms of the version -of the License under which You originally received the Covered Software, -or under the terms of any subsequent version published by the license -steward. - -10.3. Modified Versions - -If you create software not governed by this License, and you want to -create a new license for such software, you may create and use a -modified version of this License if you rename the license and remove -any references to the name of the license steward (except to note that -such modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary -Licenses - -If You choose to distribute Source Code Form that is Incompatible With -Secondary Licenses under the terms of this version of the License, the -notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice -------------------------------------------- - - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular -file, then You may include the notice in a location (such as a LICENSE -file in a relevant directory) where a recipient would be likely to look -for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - "Incompatible With Secondary Licenses" Notice ---------------------------------------------------------- - - This Source Code Form is "Incompatible With Secondary Licenses", as - defined by the Mozilla Public License, v. 2.0. - - - -* Other Licenses * -Apache-2.0 - - -Copyright [yyyy] [name of copyright owner] - -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. - - --------------------------------------------------------------------------------- -Package Title: nanomatch (1.2.13) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2016-2018, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: natural-compare (1.4.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: neo-async (2.6.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2014-2018 Suguru Motegi -Based on Async.js, Copyright Caolan McMahon - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: net (7bbe32058aba7159e4d273710e6f4f1c16c627fb) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Other Licenses * -BSD-2-Clause - - -Copyright (c) 2009 Apple Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: nice-try (1.0.5) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2018 Tobias Reich - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: node-fetch (2.6.7) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2016 David Frank - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - - --------------------------------------------------------------------------------- -Package Title: node-libs-browser (2.2.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -(The MIT License) - -Copyright (c) 2012 Tobias Koppers - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: normalize-path (3.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-2018, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: Npgsql (6.0.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -No licenses found - - --------------------------------------------------------------------------------- -Package Title: npm-run-path (2.0.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: nvd3 (1.8.5) --------------------------------------------------------------------------------- - -* Declared Licenses * -Multi-license: Apache-2.0 OR BSD-3-Clause, Apache-2.0 - -* Multi-license: Apache-2.0 OR BSD-3-Clause * - -##nvd3.js License - -Copyright (c) 2011-2014 [Novus Partners, Inc.][novus] - -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. - -[novus]: https://www.novus.com/ - - - -##d3.js License - -Copyright (c) 2012, Michael Bostock -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* The name Michael Bostock may not be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* Apache-2.0 * - -##nvd3.js License - -Copyright (c) 2011-2014 [Novus Partners, Inc.][novus] - -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. - -[novus]: https://www.novus.com/ - - - -##d3.js License - -Copyright (c) 2012, Michael Bostock -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* The name Michael Bostock may not be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: nvd3 (1.8.6) --------------------------------------------------------------------------------- - -* Declared Licenses * -Multi-license: Apache-2.0 OR BSD-3-Clause, Apache-2.0 - -* Multi-license: Apache-2.0 OR BSD-3-Clause * - -##nvd3.js License - -Copyright (c) 2011-2014 [Novus Partners, Inc.][novus] - -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. - -[novus]: https://www.novus.com/ - - - -##d3.js License - -Copyright (c) 2012, Michael Bostock -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* The name Michael Bostock may not be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* Apache-2.0 * - -##nvd3.js License - -Copyright (c) 2011-2014 [Novus Partners, Inc.][novus] - -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. - -[novus]: https://www.novus.com/ - - - -##d3.js License - -Copyright (c) 2012, Michael Bostock -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* The name Michael Bostock may not be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: oauth2 (36075149c5b89480def496c735b8a1ba5fc63218) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: object-assign (4.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: object-assign (4.1.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: object-is (1.1.5) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014 Jordan Harband - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: object-keys (1.1.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (C) 2013 Jordan Harband - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: object.pick (1.3.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-2016, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: once (1.4.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: opencensus-go (b1a01ee95db0e690d91d7193d037447816fae4c5) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - --------------------------------------------------------------------------------- -Package Title: opentelemetry-go (3c476ce1816ae6f38758e90cc36d8b77ebcc223b) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - -* Other Licenses * -FSFAP, BSD-3-Clause - -* FSFAP * - -Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty. - -* BSD-3-Clause * - -Copyright (c) 2007 Thomas Porschberg . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: opentelemetry-go (4bfa00347d52e655899b13054198c0aefbd67f85) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - -* Other Licenses * -Multi-license: Apache-2.0 OR BSD-3-Clause OR FSFAP OR MIT, Apache-1.1 - -* Multi-license: Apache-2.0 OR BSD-3-Clause OR FSFAP OR MIT * - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - -* Apache-1.1 * - -Copyright (c) 2000 The Apache Software Foundation. All rights reserved. -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - 3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: - "This product includes software developed by the Apache Software Foundation (http://www.apache.org/) ." - Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear. - 4. The name "Apache" and "Apache Software Foundation" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact apache@apache.org . - 5. Products derived from this software may not be called "Apache" [ex. "Jakarta," "Apache," or "Apache Commons,"] nor may "Apache" [ex. the names] appear in their name, without prior written permission of the Apache Software Foundation . -THIS SOFTWARE IS PROVIDED ''AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: opentelemetry-go (aedef05e953cbca349f1d8b4dfd46f69d96c6a61) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - -* Other Licenses * -FSFAP, BSD-3-Clause - -* FSFAP * - -Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty. - -* BSD-3-Clause * - -Copyright (c) 2007 Thomas Porschberg . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: opentelemetry-proto-go (21600d60a50369aeb6d8965173108c0446d94549) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - --------------------------------------------------------------------------------- -Package Title: opentracing-go (d34af3eaa63c4d08ab54863a4bdd0daa45212e12) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2016 The OpenTracing Authors - - 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. - - - --------------------------------------------------------------------------------- -Package Title: optionator (0.8.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) George Zahariev - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: optionator (0.9.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) George Zahariev - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: os-browserify (0.3.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2017 CoderPuppy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: os-locale (3.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: os-tmpdir (1.0.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: overflow (46fa312c352cdb9517817d04f2067d49f418e332) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2017 John C. Griffin, -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: p-finally (1.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: p-is-promise (2.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: p-limit (3.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (https://sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: p-locate (3.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: p-locate (5.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (https://sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: packet-reader (0.3.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2015 Brian M. Carlson -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: packet-reader (1.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2015 Brian M. Carlson -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: pako (1.0.11) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -(The MIT License) - -Copyright (C) 2014-2017 by Vitaly Puzrin and Andrei Tuputcyn - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Other Licenses * -Zlib - - -This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. -Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: - 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - --------------------------------------------------------------------------------- -Package Title: panicparse (95bad65f85c1e8c661fc959fb3653329f7c056d0) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2015 Marc-Antoine Ruel - - 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. - - - -* Other Licenses * -OFL-1.1 - - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. -The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. -"Reserved Font Name" refers to any names specified as such after the copyright statement(s). -"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). -"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. -"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: - 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. - 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. - 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. - 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. - 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. -TERMINATION -This license becomes null and void if any of the above conditions are not met. -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: parallel-transform (1.2.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright 2013 Mathias Buus - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: parent-module (1.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: parse-asn1 (5.1.6) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -Copyright (c) 2017, crypto-browserify contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: parse-json (4.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: path-browserify (0.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -This software is released under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: path-exists (3.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: path-exists (4.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: path-is-absolute (1.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: path-key (2.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: path-key (3.1.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: path-parse (1.0.7) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015 Javier Blanco - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: path-to-regexp (1.8.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: path-type (4.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: pbkdf2 (7f452ef1dac88350356f1bb84a23748205e64b96) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - - --------------------------------------------------------------------------------- -Package Title: pbkdf2 (3.1.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014 Daniel Cousens - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: pebble (558a985cb907796a7708293c1b08f1677e4a6c7c) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2011 The LevelDB-Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Other Licenses * -Apache-2.0, MIT - -* Apache-2.0 * - -Copyright 2017 Dgraph Labs, Inc. and Contributors - -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. - -* MIT * - -Copyright (c) 2018 Damian Gryski -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: perf (801c7ef9e5c5eb8fb97c176023267056756fc52d) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: performance-now (0.2.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2013 Meryn Stol -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: performance-now (2.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2017 Braveg1rl -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: perks (37c8de3658fcb183f997c4e13e8337516ab753e6) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (C) 2013 Blake Mizerany - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: pflag (2e9d26c8c37aae03e3f9d4e90b7116f5accb7cab) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2012 Alex Ogier. All rights reserved. -Copyright (c) 2012 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: pg (8.11.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2010 - 2021 Brian Carlson - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: pg (6.4.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2010 - 2017 Brian Carlson - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: pg-connection-string (0.1.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014 Iced Development - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: pg-connection-string (2.6.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014 Iced Development - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: pg-error-codes (1.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -public-domain - - --------------------------------------------------------------------------------- -Package Title: pg-int8 (1.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -Copyright © 2017, Charmander <~@charmander.me> - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: pg-pool (1.8.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2017 Brian M. Carlson - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: pg-pool (3.6.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2017 Brian M. Carlson - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: pg-protocol (1.6.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2010 - 2021 Brian Carlson - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: pg-types (1.13.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2014 Brian M. Carlson -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: pg-types (2.2.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2014 Brian M. Carlson -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: pgconn (754c5737f13c951bb6aca7c029bc0ccbee6656c5) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2019-2021 Jack Christensen - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: pgpass (1.0.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2013-2016 Hannes Hörl -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: pgproto3 (0c0f7b03fb4967dfff8de06d07a9fe20baf83449) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2019 Jack Christensen - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: pgtype (676527676f0e53da5e01e197da8b4270b54cc804) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2013-2021 Jack Christensen - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: pgx (038fc448c1cc91b9372a6a0d151789f41536f033) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2013-2021 Jack Christensen - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: pgx (13468eb321a0bacbb0cbdfddb1ea1d62e68e0652) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2013-2021 Jack Christensen - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -* Other Licenses * -BSD-3-Clause - - -Copyright (c) 2009 The Go Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: picocolors (0.2.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -ISC License - -Copyright (c) 2021 Alexey Raspopov, Kostiantyn Denysov, Anton Verinov - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: pify (4.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: pkg-dir (3.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: pkg-dir (4.2.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: popper.js (1.14.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2016 Federico Zivolo**. Code released under the [MIT license](LICENSE.md). Docs released under Creative Commons. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: popper.js (1.16.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2016 Federico Zivolo and contributors -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: posix-character-classes (0.1.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2016-2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: postcss (5.2.18) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright 2013 Andrey Sitnik - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: postcss (7.0.39) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright 2013 Andrey Sitnik - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: postcss-atroot (0.1.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015 Evgeny - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - - --------------------------------------------------------------------------------- -Package Title: postcss-load-config (2.1.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -License (MIT) - -Copyright (c) Michael Ciniawsky - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: postcss-loader (3.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -License (MIT) - -Copyright 2017 Andrey Sitnik - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: postcss-modules-extract-imports (2.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -Copyright 2015 Glen Maddern - -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: postcss-modules-local-by-default (3.0.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright 2015 Mark Dalgleish - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: postcss-modules-scope (2.2.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -ISC License (ISC) - -Copyright (c) 2015, Glen Maddern - -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: postcss-modules-values (3.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -ISC License (ISC) - -Copyright (c) 2015, Glen Maddern - -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: postcss-nested (4.2.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright 2014 Andrey Sitnik - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: postcss-selector-parser (6.0.13) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Ben Briggs (http://beneb.info) - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: postcss-value-parser (3.3.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Bogdan Chadkin - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: postcss-value-parser (4.2.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Bogdan Chadkin - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: postgres-array (1.0.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Ben Drucker (bendrucker.me) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: postgres-array (2.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Ben Drucker (bendrucker.me) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: postgres-bytea (1.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Ben Drucker (bendrucker.me) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: postgres-date (1.0.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Ben Drucker (bendrucker.me) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: postgres-date (1.0.7) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Ben Drucker (bendrucker.me) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: postgres-interval (1.1.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Ben Drucker (bendrucker.me) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: PostgreSQL JDBC Driver (42.1.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause - - -Copyright (c) 1997, PostgreSQL Global Development Group -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - - - -* Other Licenses * -PostgreSQL, Apache-2.0 - -* PostgreSQL * - -Portions Copyright (c) 1996-2010, The PostgreSQL Global Development Group -Portions Copyright (c) 1994, The Regents of the University of California -Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies. -IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - -* Apache-2.0 * - -Copyright [yyyy] [name of copyright owner] - -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. - - --------------------------------------------------------------------------------- -Package Title: pprof (02619b876842e0d0afb5e5580d3a374dad740edb) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - -* Other Licenses * -BSD-3-Clause - - -Copyright (c) 2010-2017 Mike Bostock . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: prelude-ls (1.1.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) George Zahariev - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: prelude-ls (1.2.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) George Zahariev - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: pretty (3cd153a126da607b78d1762779b1e1054f9889fc) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2012 Keith Rarick -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: process (0.11.10) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -(The MIT License) - -Copyright (c) 2013 Roman Shtylman - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: process-nextick-args (2.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2015 Calvin Metcalf -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: procfs (332e865adfebaa7eaedc94535a3f12f7e5eeb2d4) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - --------------------------------------------------------------------------------- -Package Title: profile (3704c8d23324a3fc0771ad2c1cef0aa4e9459f6f) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause - - -Copyright (c) 2013 Dave Cheney. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: progress (2.0.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -(The MIT License) - -Copyright (c) 2017 TJ Holowaychuk - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: prometheus (37468d88dce85ac507f3fb7864c7d1c078e3e27d) --------------------------------------------------------------------------------- - -* Declared Licenses * -Multi-license: Apache-2.0 OR MIT, Apache-2.0 - -* Multi-license: Apache-2.0 OR MIT * - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - -* Apache-2.0 * - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - -* Other Licenses * -Multi-license: Apache-2.0 OR BSD-2-Clause, Multi-license: CC-BY-4.0 OR MIT OR OFL-1.1, MIT - -* Multi-license: Apache-2.0 OR BSD-2-Clause * - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - -* Multi-license: CC-BY-4.0 OR MIT OR OFL-1.1 * - -Attribution 4.0 International<> -By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. -Section 1 – Definitions. - a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. - b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. - c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. - d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. - e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. - f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. - g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. - h. Licensor means the individual(s) or entity(ies) granting rights under this Public License. - i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. - j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. - k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. -Section 2 – Scope. - a. License grant. - 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: - A. reproduce and Share the Licensed Material, in whole or in part; and - B. produce, reproduce, and Share Adapted Material. - 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. - 3. Term. The term of this Public License is specified in Section 6(a). - 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. - 5. Downstream recipients. - A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. - B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. - 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). - b. Other rights. - 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. - 2. Patent and trademark rights are not licensed under this Public License. - 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. -Section 3 – License Conditions. -Your exercise of the Licensed Rights is expressly made subject to the following conditions. - a. Attribution. - 1. If You Share the Licensed Material (including in modified form), You must: - A. retain the following if it is supplied by the Licensor with the Licensed Material: - i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); - ii. a copyright notice; - iii. a notice that refers to this Public License; - iv. a notice that refers to the disclaimer of warranties; - v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; - B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and - C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. - 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. - 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. - 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. -Section 4 – Sui Generis Database Rights. -Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: - a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; - b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and - c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. -For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. -Section 5 – Disclaimer of Warranties and Limitation of Liability. - a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. - b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. - c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. -Section 6 – Term and Termination. - a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. - b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: - 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or - 2. upon express reinstatement by the Licensor. - c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. - d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. - e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. -Section 7 – Other Terms and Conditions. - a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. - b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. -Section 8 – Interpretation. - a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. - b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. - c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. - d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. -Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. -Creative Commons may be contacted at creativecommons.org. - -* MIT * - -Copyright (c) 2012-2015 The Prometheus Authors -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: promise (7.3.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2014 Forbes Lindesay - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: promise-inflight (1.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -Copyright (c) 2017, Rebecca Turner - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - - --------------------------------------------------------------------------------- -Package Title: prop-types (15.5.10) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -BSD License - -For React software - -Copyright (c) 2013-present, Facebook, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - * Neither the name Facebook nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: prop-types (15.8.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2013-present, Facebook, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: protobuf (b03c65ea87cdc3521ede29f62fe3ce239267c1bc) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2013, The GoGo Authors. All rights reserved. - -Protocol Buffers for Go with Gadgets - -Go support for Protocol Buffers - Google's data interchange format - -Copyright 2010 The Go Authors. All rights reserved. -https://github.com/golang/protobuf - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - - -* Other Licenses * -BSD-2-Clause - - -Copyright (c) 2013 The GoGo Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: protobuf (5d5e8c018a13017f9d5b8bf4fad64aaa42a87308) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright 2010 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - - --------------------------------------------------------------------------------- -Package Title: protobuf (095a62b71f4b42d145df9699b90429dd082b43ed) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2018 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: protobufjs (6.8.6) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -This license applies to all parts of protobuf.js except those files -either explicitly including or referencing a different license or -located in a directory containing a different LICENSE file. - ---- - -Copyright (c) 2016, Daniel Wirtz All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of its author, nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ---- - -Code generated by the command line utilities is owned by the owner -of the input file used when generating it. This code is not -standalone and requires a support library to be linked with it. This -support library is itself covered by the above license. - - - -* Other Licenses * -MIT, Protobuf - -* MIT * - -Copyright (c) 2016 Chad Engler -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -* Protobuf * - -Copyright (c) 2016, Daniel Wirtz All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of its author, nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ---- - -Code generated by the command line utilities is owned by the owner -of the input file used when generating it. This code is not -standalone and requires a support library to be linked with it. This -support library is itself covered by the above license. - - - --------------------------------------------------------------------------------- -Package Title: protoc-gen-doc (56ed70214364d41f78e82050ac2a4e620aa5cbd1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2017 David Muto (pseudomuto) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: protoc-gen-validate (e959d03be5b7aeeecbbc995bfd1fb7c426d1cfda) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - --------------------------------------------------------------------------------- -Package Title: protokit (c63c13958542d70af1d1ef7826d30b25cd5bf6e9) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2018 David Muto (pseudomuto) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: protoreflect (db1a327a393ec12e4a565f4813c154abd843376a) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - -* Other Licenses * -BSD-3-Clause - - -Copyright (c) 2008 Google Inc. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: prr (1.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) -===================== - -Copyright (c) 2014 Rod Vagg ---------------------------- - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: psycopg2 (2.8.6) --------------------------------------------------------------------------------- - -* Declared Licenses * -Zlib - - -This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. -Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: - 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - -* Other Licenses * -DOC, LGPL-3.0-only - -* DOC * - -ACE(TM), TAO(TM), CIAO(TM), DAnCE>(TM), and CoSMIC(TM) (henceforth referred to as "DOC software") are copyrighted by Douglas C. Schmidt and his research group at Washington University, University of California, Irvine, and Vanderbilt University, Copyright (c) 1993-2009, all rights reserved. Since DOC software is open-source, freely available software, you are free to use, modify, copy, and distribute--perpetually and irrevocably--the DOC software source code and object code produced from the source, as well as copy and distribute modified versions of this software. You must, however, include this copyright statement along with any code built using DOC software that you release. No copyright statement needs to be provided if you just ship binary executables of your software products. -You can use DOC software in commercial and/or binary software releases and are under no obligation to redistribute any of your source code that is built using DOC software. Note, however, that you may not misappropriate the DOC software code, such as copyrighting it yourself or claiming authorship of the DOC software code, in a way that will prevent DOC software from being distributed freely using an open-source development model. You needn't inform anyone that you're using DOC software in your software, though we encourage you to let us know so we can promote your project in the DOC software success stories. -The ACE, TAO, CIAO, DAnCE, and CoSMIC web sites are maintained by the DOC Group at the Institute for Software Integrated Systems (ISIS) and the Center for Distributed Object Computing of Washington University, St. Louis for the development of open-source software as part of the open-source software community. Submissions are provided by the submitter ``as is'' with no warranties whatsoever, including any warranty of merchantability, noninfringement of third party intellectual property, or fitness for any particular purpose. In no event shall the submitter be liable for any direct, indirect, special, exemplary, punitive, or consequential damages, including without limitation, lost profits, even if advised of the possibility of such damages. Likewise, DOC software is provided as is with no warranties of any kind, including the warranties of design, merchantability, and fitness for a particular purpose, noninfringement, or arising from a course of dealing, usage or trade practice. Washington University, UC Irvine, Vanderbilt University, their employees, and students shall have no liability with respect to the infringement of copyrights, trade secrets or any patents by DOC software or any part thereof. Moreover, in no event will Washington University, UC Irvine, or Vanderbilt University, their employees, or students be liable for any lost revenue or profits or other special, indirect and consequential damages. -DOC software is provided with no support and without any obligation on the part of Washington University, UC Irvine, Vanderbilt University, their employees, or students to assist in its use, correction, modification, or enhancement. A number of companies around the world provide commercial support for DOC software, however. DOC software is Y2K-compliant, as long as the underlying OS platform is Y2K-compliant. Likewise, DOC software is compliant with the new US daylight savings rule passed by Congress as "The Energy Policy Act of 2005," which established new daylight savings times (DST) rules for the United States that expand DST as of March 2007. Since DOC software obtains time/date and calendaring information from operating systems users will not be affected by the new DST rules as long as they upgrade their operating systems accordingly. -The names ACE(TM), TAO(TM), CIAO(TM), DAnCE(TM), CoSMIC(TM), Washington University, UC Irvine, and Vanderbilt University, may not be used to endorse or promote products or services derived from this source without express written permission from Washington University, UC Irvine, or Vanderbilt University. This license grants no permission to call products or services derived from this source ACE(TM), TAO(TM), CIAO(TM), DAnCE(TM), or CoSMIC(TM), nor does it grant permission for the name Washington University, UC Irvine, or Vanderbilt University to appear in their names. -If you have any suggestions, additions, comments, or questions, please let me know. -Douglas C. Schmidt - -* LGPL-3.0-only * - -Copyright (C) 2007 Free Software Foundation, Inc. -Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. -This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below. - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser General Public License, and the "GNU GPL" refers to version 3 of the GNU General Public License. - - "The Library" refers to a covered work governed by this License, other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the "Linked Version". - - The "Minimal Corresponding Source" for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work. - 1. Exception to Section 3 of the GNU GPL. - You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL. - 2. Conveying Modified Versions. - If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version: - a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or - b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy. - 3. Object Code Incorporating Material from Library Header Files. - The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following: - a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License. - b) Accompany the object code with a copy of the GNU GPL and this license document. - 4. Combined Works. - You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following: - a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License. - b) Accompany the Combined Work with a copy of the GNU GPL and this license document. - c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document. - d) Do one of the following: - 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. - 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. - e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.) - 5. Combined Libraries. - You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following: - a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License. - b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. - 6. Revised Versions of the GNU Lesser General Public License. - The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. - Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation. - If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library. - - --------------------------------------------------------------------------------- -Package Title: public-encrypt (4.0.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2017 Calvin Metcalf - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: puddle (c5402ce53663d3c6481ea83c2912c339aeb94adc) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2018 Jack Christensen - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: pulsar-client-go (853c108eec6fa10bda801f945ee258d8615bf8b9) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - -* Other Licenses * -BSD-3-Clause, ISC, proprietary-license, MIT, BSD-2-Clause - -* BSD-3-Clause * - -Copyright (c) 2012 The Go Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* ISC * - -Copyright (c) 2012-2016 Dave Collins -Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. -THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -* proprietary-license * - -This is a catch-all license used when we find many different proprietary licenses. - -* MIT * - -Copyright (c) 2014 Simon Eskildsen -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -* BSD-2-Clause * - -Copyright (c) 2015 Dave Cheney - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: pump (3.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014 Mathias Buus - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: pumpify (1.5.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014 Mathias Buus - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: puny (9f83538fa04f50589f934c5ad2a18750264c8276) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause - - -Copyright (c) 2015, The Authors -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Other Licenses * -BSD-3-Clause - - -Copyright (c) 2015 The Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: punycode (1.4.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright Mathias Bynens - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: punycode (2.3.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright Mathias Bynens - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: qrcode.react (3.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -ISC License - -Copyright (c) 2015, Paul O’Shannessy - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - -This product bundles QR Code Generator, which is available under a -"MIT" license. For details, see src/third-party/qrcodegen. - - - -* Other Licenses * -MIT - - -Copyright (c) Project Nayuki. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: qs (6.11.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -BSD 3-Clause License - -Copyright (c) 2014, Nathan LaFreniere and other [contributors](https://github.com/ljharb/qs/graphs/contributors) -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: querystring-es3 (0.2.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -Multi-license: MIT OR https://github.com/Gozala/enchain/License.md - - -Copyright (c) 2012 Irakli Gozalishvili. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* Other Licenses * -MIT - - -Copyright (c) 2012 Irakli Gozalishvili. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: queue (44cc805cf13205b55f69e14bcb69867d1ae92f98) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014 Evan Huus - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: queue-microtask (1.2.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) Feross Aboukhadijeh - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: raf (3.4.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright 2013 Chris Dickinson - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: randombytes (2.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2017 crypto-browserify - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: randomfill (1.0.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2017 crypto-browserify - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: raw-loader (0.5.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: rc-align (2.4.5) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-present yiminghe - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-animate (2.11.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-present yiminghe - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-calendar (9.15.11) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-present yiminghe - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-cascader (3.12.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-present alipay.com - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-checkbox (3.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) Copyright (c) 2016 React Components - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-collapse (3.7.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-present yiminghe - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-dialog (9.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-present yiminghe - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-drawer (6.2.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT LICENSE - -Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-dropdown (4.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) -Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-field-form (1.32.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2019-present react-component - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: rc-form (2.4.11) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-present yiminghe - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-form (2.4.12) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-present yiminghe - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-image (5.17.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT LICENSE - -Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-input (1.0.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2019-present afc163 - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-input-number (7.4.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-present yiminghe - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-mentions (2.3.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2019-present alipay.com - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-menu (9.9.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-present yiminghe - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-motion (2.9.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2019-present afc163 - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-notification (5.0.5) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-present yiminghe - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-overflow (1.3.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2019-present afc163 - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-pagination (3.5.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-present yiminghe - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-picker (3.8.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2019-present afc163 - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-progress (2.5.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-present yiminghe - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-progress (2.6.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT, Multi-license: MIT OR M, I, T - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2014-present yiminghe - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* Multi-license: MIT OR M, I, T * - -The MIT License (MIT) - -Copyright (c) 2014-present yiminghe - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-progress (3.4.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-present yiminghe - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-rate (2.12.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-present yiminghe - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-resize-observer (1.4.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2019-present afc163 - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-segmented (2.2.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2019-present afc163 - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-select (14.5.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-present alipay.com - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-slider (10.1.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) -Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-steps (6.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-present yiminghe - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-switch (4.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-present yiminghe - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-table (7.32.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT LICENSE - -Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-tabs (12.7.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-present yiminghe - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-textarea (1.2.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2019-present afc163 - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-tooltip (6.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-tree (5.7.12) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT LICENSE - -Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-tree-select (5.9.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT LICENSE - -Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-trigger (2.6.5) --------------------------------------------------------------------------------- - -* Declared Licenses * -Multi-license: MIT OR M, I, T, MIT - -* Multi-license: MIT OR M, I, T * - -The MIT License (MIT) -Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) -Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-upload (4.3.6) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2016-present react-component - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-util (4.21.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-present yiminghe -Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rc-util (5.39.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-present yiminghe -Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -* Other Licenses * -facebook-patent-rights-2, BSD-3-Clause - -* facebook-patent-rights-2 * - -Additional Grant of Patent Rights Version 2 - -"Software" means the software distributed by Facebook, Inc. - -Facebook, Inc. ("Facebook") hereby grants to each recipient of the Software -("you") a perpetual, worldwide, royalty-free, non-exclusive, irrevocable -(subject to the termination provision below) license under any Necessary -Claims, to make, have made, use, sell, offer to sell, import, and otherwise -transfer the Software. For avoidance of doubt, no license is granted under -Facebook’s rights in any patent claims that are infringed by (i) modifications -to the Software made by you or any third party or (ii) the Software in -combination with any software or other technology. - -The license granted hereunder will terminate, automatically and without notice, -if you (or any of your subsidiaries, corporate affiliates or agents) initiate -directly or indirectly, or take a direct financial interest in, any Patent -Assertion: (i) against Facebook or any of its subsidiaries or corporate -affiliates, (ii) against any party if such Patent Assertion arises in whole or -in part from any software, technology, product or service of Facebook or any of -its subsidiaries or corporate affiliates, or (iii) against any party relating -to the Software. Notwithstanding the foregoing, if Facebook or any of its -subsidiaries or corporate affiliates files a lawsuit alleging patent -infringement against you in the first instance, and you respond by filing a -patent infringement counterclaim in that lawsuit against that party that is -unrelated to the Software, the license granted hereunder will not terminate -under section (i) of this paragraph due to such counterclaim. - -A "Necessary Claim" is a claim of a patent owned by Facebook that is -necessarily infringed by the Software standing alone. - -A "Patent Assertion" is any lawsuit or other action alleging direct, indirect, -or contributory infringement or inducement to infringe any patent, including a -cross-claim or counterclaim. - - -* BSD-3-Clause * - -Copyright (c) 2013 present, Facebook, Inc. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: rc-virtual-list (3.12.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react (16.12.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) Facebook, Inc. and its affiliates. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react (16.14.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) Facebook, Inc. and its affiliates. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react (18.3.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) Facebook, Inc. and its affiliates. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-copy-to-clipboard (5.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2016 Nik Butenko - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - - --------------------------------------------------------------------------------- -Package Title: react-copy-to-clipboard (5.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2016 Nik Butenko - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - - --------------------------------------------------------------------------------- -Package Title: react-dom (16.12.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) Facebook, Inc. and its affiliates. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-dom (16.14.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) Facebook, Inc. and its affiliates. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-dom (18.3.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) Facebook, Inc. and its affiliates. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-fast-compare (3.2.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2018 Formidable Labs -Copyright (c) 2017 Evgeny Poberezkin - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-helmet (5.2.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2015 NFL - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-helmet (5.2.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2015 NFL - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-input-autosize (2.2.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2018 Jed Watson - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-input-autosize (3.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2018 Jed Watson - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-is (16.13.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) Facebook, Inc. and its affiliates. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-is (18.2.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) Facebook, Inc. and its affiliates. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-lifecycles-compat (3.0.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2013-present, Facebook, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: react-lines-ellipsis (0.15.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2016 xiaody - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-motion (0.5.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015 React Motion authors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - - --------------------------------------------------------------------------------- -Package Title: react-paginate (5.2.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2016 Adèle Delamarche - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-paginate (5.3.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2016 Adèle Delamarche - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-popper (2.2.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2018 React Popper authors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-popper (2.3.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2018 React Popper authors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-redux (7.2.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-present Dan Abramov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-redux (7.2.9) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-present Dan Abramov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-redux (9.1.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-present Dan Abramov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-resize-detector (8.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2023 Vitalii Maslianok - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* Other Licenses * -0BSD - - -Copyright (C) 2006 by Rob Landley -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: react-router (5.3.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) React Training - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-router-dom (5.3.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) React Training - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-router-dom (5.3.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) React Training 2015-2019 -Copyright (c) Remix Software 2020-2022 - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-router-dom (6.25.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) React Training LLC 2015-2019 -Copyright (c) Remix Software Inc. 2020-2021 -Copyright (c) Shopify Inc. 2022-2023 - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-select (1.2.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2018 Jed Watson - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-select (4.3.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Jed Watson 2019. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: react-select (4.3.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: react-side-effect (1.2.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015 Dan Abramov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - - --------------------------------------------------------------------------------- -Package Title: react-smooth (2.0.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2016 recharts - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: react-transition-group (2.9.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause, Multi-license: BSD-2-Clause OR BSD-3-Clause - -* BSD-3-Clause * - -BSD 3-Clause License - -Copyright (c) 2018, React Community -Forked from React (https://github.com/facebook/react) Copyright 2013-present, Facebook, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* Multi-license: BSD-2-Clause OR BSD-3-Clause * - -BSD 3-Clause License - -Copyright (c) 2018, React Community -Forked from React (https://github.com/facebook/react) Copyright 2013-present, Facebook, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Other Licenses * -MIT - - -Copyright (c) 2013 present, Facebook, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: react-transition-group (4.4.5) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -BSD 3-Clause License - -Copyright (c) 2018, React Community -Forked from React (https://github.com/facebook/react) Copyright 2013-present, Facebook, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Other Licenses * -MIT - - -Copyright (c) 2013 present, Facebook, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: readable-stream (2.3.8) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Node.js is licensed for use as follows: - -""" -Copyright Node.js contributors. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - -This license applies to parts of Node.js originating from the -https://github.com/joyent/node repository: - -""" -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - - - --------------------------------------------------------------------------------- -Package Title: readable-stream (3.6.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Node.js is licensed for use as follows: - -""" -Copyright Node.js contributors. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - -This license applies to parts of Node.js originating from the -https://github.com/joyent/node repository: - -""" -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - - - --------------------------------------------------------------------------------- -Package Title: readdirp (3.6.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2012-2019 Thorsten Lorenz, Paul Miller (https://paulmillr.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: recharts (2.7.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-present recharts - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - - --------------------------------------------------------------------------------- -Package Title: recharts-scale (0.4.5) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015 Sen Yang - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - - --------------------------------------------------------------------------------- -Package Title: recorder (a21b46510fd6386803f37c9d599067cd8350a6e7) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - --------------------------------------------------------------------------------- -Package Title: redact (b7e45562c4d0d78dd4d6c7f08f65e8220a0d7b77) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - -* Other Licenses * -BSD-3-Clause - - -Copyright (c) 2018 The Go Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: reduce-css-calc (2.1.8) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014 Maxime Thirouin & Joakim Bengtson - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: redux (4.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-present Dan Abramov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: redux (4.2.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-present Dan Abramov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: redux (5.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-present Dan Abramov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: redux-saga (1.1.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015 Yassine Elouafi - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - - --------------------------------------------------------------------------------- -Package Title: redux-saga (1.3.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) Redux-Saga team and other contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: redux-thunk (^2.3.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-present Dan Abramov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: redux-thunk (2.3.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-present Dan Abramov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: reflect2 (2b33151c9bbc5231aea69b8861c540102b087070) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - --------------------------------------------------------------------------------- -Package Title: reflow (602e329532049c9e33fa8c74e352a46fb9486947) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2019 Christian Muehlhaeuser - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: regenerator-runtime (0.10.5) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: regenerator-runtime (0.11.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2014 present, Facebook, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: regenerator-runtime (0.13.11) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2014-present, Facebook, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: regenerator-runtime (0.14.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2014-present, Facebook, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: regex-not (1.0.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2016, 2018, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: regexp.prototype.flags (1.5.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (C) 2014 Jordan Harband - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - - --------------------------------------------------------------------------------- -Package Title: regexpp (3.2.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2018 Toru Nagashima - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: remove-trailing-slash (0.1.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: repeat-element (1.1.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-present, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: repeat-string (1.6.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-2016, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: require-directory (2.1.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2011 Troy Goode - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: require-from-string (2.0.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Vsevolod Strukchinsky (github.com/floatdrop) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: require-main-filename (2.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -Copyright (c) 2016, Contributors - -Permission to use, copy, modify, and/or distribute this software -for any purpose with or without fee is hereby granted, provided -that the above copyright notice and this permission notice -appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE -LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: requizzle (0.2.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014 Google Inc. -Copyright (c) 2012-2013 Johannes Ewald - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: reselect (^4.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-2018 Reselect Contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: reselect (4.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-2018 Reselect Contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: resize-observer-polyfill (1.5.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2016 Denis Rul - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: resolve (1.22.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2012 James Halliday - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - -* Other Licenses * -ISC - - -Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC") -Copyright (c) 1995-2003 by Internet Software Consortium -Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. -THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: resolve-cwd (2.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: resolve-dir (1.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-2016, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: resolve-from (3.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: resolve-from (4.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: resolve-pathname (3.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) Michael Jackson 2016-2018 - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: retry-as-promised (2.3.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License - -Copyright (c) 2015-2016 Mick Hansen. http://mhansen.io - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - - - --------------------------------------------------------------------------------- -Package Title: returncheck (92cdbca611dd083736f8bdf426e4fc74791aab9e) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {} - - 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. - - - - --------------------------------------------------------------------------------- -Package Title: reusify (1.0.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015 Matteo Collina - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - - --------------------------------------------------------------------------------- -Package Title: right-align (0.1.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rimraf (2.7.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rimraf (3.0.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: ripemd160 (2.0.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2016 crypto-browserify - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: rpc (7f482067a47ba5c8f25f2bcae9ab99b3fed820e9) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - --------------------------------------------------------------------------------- -Package Title: run-parallel (1.2.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) Feross Aboukhadijeh - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: run-queue (1.0.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC") -Copyright (c) 1995-2003 by Internet Software Consortium -Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. -THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: runtime (50a16d3f8f0134f218876a656581a41b0f7f0377) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - -* Other Licenses * -MIT, BSD-3-Clause - -* MIT * - -Copyright (c) 2014 Naoya Inada -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -* BSD-3-Clause * - -Copyright (c) 2013 The Go Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: safe-buffer (5.1.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) Feross Aboukhadijeh - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: safe-buffer (5.2.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) Feross Aboukhadijeh - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: safe-regex (1.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -This software is released under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: sarama (d88a48a6a6fd6cf1bd89e76192216378379fe799) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -# MIT License - -Copyright (c) 2013 Shopify - -Copyright (c) 2023 IBM Corporation - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: scheduler (0.18.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) Facebook, Inc. and its affiliates. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: schema-utils (1.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: schema-utils (2.7.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: scram (17629a50d5ce12875d83f9095809ae43b765c303) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - - --------------------------------------------------------------------------------- -Package Title: scroll-into-view-if-needed (3.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2023 Cody Olsen - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: semaphore (6952cef993b28a4d0871600e08bfcf2f2b1207a0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2017 marusama - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: semver (7bb0c843b53d6ad21a3f619cb22c4b442bb3ef3e) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (C) 2014-2019, Matt Butcher and Matt Farina - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: semver (7.5.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: semver (4.3.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause, BSD-2-Clause - -* BSD-3-Clause * - -Copyright (c) Isaac Z. Schlueter" . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* BSD-2-Clause * - -Copyright (c) Isaac Z. Schlueter ("Author") -All rights reserved. - -The BSD License - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: semver (5.5.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: semver (5.7.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: semver (6.3.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: sequelize (4.37.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: sequelize-cockroachdb (1.0.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - 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. - - - --------------------------------------------------------------------------------- -Package Title: serialize-javascript (3.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause, BSD-3-Clause - -* Multi-license: BSD-2-Clause OR BSD-3-Clause * - -Copyright 2014 Yahoo! Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the Yahoo! Inc. nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL YAHOO! INC. BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright 2014 Yahoo! Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the Yahoo! Inc. nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL YAHOO! INC. BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: set-blocking (2.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -Copyright (c) 2016, Contributors - -Permission to use, copy, modify, and/or distribute this software -for any purpose with or without fee is hereby granted, provided -that the above copyright notice and this permission notice -appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE -LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: setimmediate (1.0.5) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, and Domenic Denicola - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: sha.js (2.4.11) --------------------------------------------------------------------------------- - -* Declared Licenses * -Multi-license: BSD-2-Clause OR BSD-3-Clause OR MIT, Multi-license: BSD-3-Clause OR MIT - -* Multi-license: BSD-2-Clause OR BSD-3-Clause OR MIT * - -Copyright (c) 2013-2018 sha.js contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -Copyright (c) 1998 - 2009, Paul Johnston & Contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright notice, this -list of conditions and the following disclaimer in the documentation and/or -other materials provided with the distribution. - -Neither the name of the author nor the names of its contributors may be used to -endorse or promote products derived from this software without specific prior -written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Multi-license: BSD-3-Clause OR MIT * - -Copyright (c) 2013-2018 sha.js contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -Copyright (c) 1998 - 2009, Paul Johnston & Contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright notice, this -list of conditions and the following disclaimer in the documentation and/or -other materials provided with the distribution. - -Neither the name of the author nor the names of its contributors may be used to -endorse or promote products derived from this software without specific prior -written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - - -* Other Licenses * -MIT - - -Copyright (c) 2013-2018 sha.js contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -Copyright (c) 1998 - 2009, Paul Johnston & Contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright notice, this -list of conditions and the following disclaimer in the documentation and/or -other materials provided with the distribution. - -Neither the name of the author nor the names of its contributors may be used to -endorse or promote products derived from this software without specific prior -written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - - --------------------------------------------------------------------------------- -Package Title: shallowequal (1.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2017 Alberto Leal (github.com/dashed) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: shebang-command (1.2.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Kevin Martensson (github.com/kevva) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: shebang-command (2.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Kevin Mårtensson (github.com/kevva) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: shebang-regex (1.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: shebang-regex (3.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: shimmer (1.2.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause - - -Copyright (c) - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: shlex (e7afc7fbc51079733e9468cdfd1efcd7d196cd1d) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - --------------------------------------------------------------------------------- -Package Title: side-channel (1.0.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2019 Jordan Harband - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: side-eye-go (5eb9c7a69e1dd311a464226e3af6d49afd3d1f6f) --------------------------------------------------------------------------------- - -* Declared Licenses * -No licenses found - - --------------------------------------------------------------------------------- -Package Title: signal-exit (3.0.7) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -The ISC License - -Copyright (c) 2015, Contributors - -Permission to use, copy, modify, and/or distribute this software -for any purpose with or without fee is hereby granted, provided -that the above copyright notice and this permission notice -appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE -LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: skylark (a5f7082aabed29c0e429c722292c66ec8ecf9591) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2017 The Bazel Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the - distribution. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Other Licenses * -Apache-2.0 - - -Copyright 2014 The Bazel Authors. All rights reserved. - -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. - - --------------------------------------------------------------------------------- -Package Title: slash (3.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: slice-ansi (4.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) DC -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: snapdragon (0.8.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-2016, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: snapdragon-node (2.1.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: snapdragon-util (3.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: snappy (544b4180ac705b7605231d4a4550a1acb22a19fe) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2011 The Snappy-Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: source-list-map (2.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright 2017 JS Foundation - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -* Other Licenses * -BSD-3-Clause - - -Copyright (c) 2011 Mozilla Foundation and contributors . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: source-map (0.6.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - - -Copyright (c) 2009-2011, Mozilla Foundation and contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the names of the Mozilla Foundation nor the names of project - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: source-map (0.5.7) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - - -Copyright (c) 2009-2011, Mozilla Foundation and contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the names of the Mozilla Foundation nor the names of project - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: source-map-resolve (0.5.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014, 2015, 2016, 2017, 2018, 2019 Simon Lydell -Copyright (c) 2019 ZHAO Jinxiang - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: source-map-support (0.5.21) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014 Evan Wallace - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: spec (ed00e7169ddfe4d5d2d6c668d81f54867bc24047) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - --------------------------------------------------------------------------------- -Package Title: split (1.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2011 Dominic Tarr - -Permission is hereby granted, free of charge, -to any person obtaining a copy of this software and -associated documentation files (the "Software"), to -deal in the Software without restriction, including -without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom -the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: split-string (3.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: sprintf-js (1.0.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2007-2014, Alexandru Marasteanu -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of this software nor the names of its contributors may be - used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Other Licenses * -BSD-3-Clause-Clear - - -Copyright (c) [xxxx]-[xxxx] [Owner Organization] -All rights reserved. -Redistribution and use in source and binary forms, with or without modification, are permitted (subject to the limitations in the disclaimer below) provided that the following conditions are met: - * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of [Owner Organization] nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: sspi (909beea2cc7490802e4be2af0600202db533536b) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2012 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: ssri (6.0.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -ISC License - -Copyright (c) npm, Inc. - -Permission to use, copy, modify, and/or distribute this software for -any purpose with or without fee is hereby granted, provided that the -above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE COPYRIGHT HOLDER DISCLAIMS -ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE -USE OR PERFORMANCE OF THIS SOFTWARE. - - - -* Other Licenses * -Multi-license: CC0-1.0 OR ISC - - -ISC License - -Copyright (c) npm, Inc. - -Permission to use, copy, modify, and/or distribute this software for -any purpose with or without fee is hereby granted, provided that the -above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE COPYRIGHT HOLDER DISCLAIMS -ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE -USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: status (935308aef7372e7685e8fbee162aae8f7a7e515a) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - --------------------------------------------------------------------------------- -Package Title: stdr (521af2addfa7c81c8a65d0e85ed34bb6bb6dc262) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - --------------------------------------------------------------------------------- -Package Title: store (913427a1d5e89604e50ea1db0f28f34966d61602) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright ©2012 The bíogo Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the bíogo project nor the names of its authors and - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: stream (696b145b53b9611fe9c9f189122f990171e391a0) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - 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. - - - --------------------------------------------------------------------------------- -Package Title: stream-browserify (2.0.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -This software is released under the MIT license: - -Copyright (c) James Halliday - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: stream-each (1.2.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015 Mathias Buus - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: stream-http (2.8.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License - -Copyright (c) 2015 John Hiesey - -Permission is hereby granted, free of charge, -to any person obtaining a copy of this software and -associated documentation files (the "Software"), to -deal in the Software without restriction, including -without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom -the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: stress (1806698b1b7b914eafaecb3de5519175fe82892d) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: strfmt (740a7c63f407292a8a26eb7440e20d7d7315d917) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - --------------------------------------------------------------------------------- -Package Title: string-convert (0.2.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014 Kiran Abburi - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: string-natural-compare (2.0.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-2016 Nathan Woltman - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - - --------------------------------------------------------------------------------- -Package Title: string-width (3.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: string-width (4.2.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: string_decoder (1.1.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Node.js is licensed for use as follows: - -""" -Copyright Node.js contributors. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - -This license applies to parts of Node.js originating from the -https://github.com/joyent/node repository: - -""" -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - - - - --------------------------------------------------------------------------------- -Package Title: string_decoder (1.3.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Node.js is licensed for use as follows: - -""" -Copyright Node.js contributors. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - -This license applies to parts of Node.js originating from the -https://github.com/joyent/node repository: - -""" -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - - - - --------------------------------------------------------------------------------- -Package Title: stringprep (dabf77401b04b57597914595d170883092e0df3c) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - - --------------------------------------------------------------------------------- -Package Title: strip-ansi (3.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: strip-ansi (5.2.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: strip-ansi (6.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: strip-eof (1.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: strip-json-comments (3.1.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (https://sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: strtime (be999391ffa90a7880271a65d53f760fc1cf0151) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause - - -BSD 2-Clause License - -Copyright (c) 2017, kena -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Other Licenses * -bsd-2-clause-views, MIT - -* bsd-2-clause-views * - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list -of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright notice, this -list of conditions and the following disclaimer in the documentation and/or -other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -The views and conclusions contained in the software and documentation are those -of the authors and should not be interpreted as representing official policies, -either expressed or implied, of the FreeBSD Project. - -* MIT * - -Copyright (c) 2017 Cockroach Labs -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: stylis (4.2.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2016-present Sultan Tarimo - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: supports-color (2.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: supports-color (3.2.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: supports-color (5.5.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: supports-color (6.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: supports-color (7.2.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: supports-color (8.1.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (https://sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: supports-preserve-symlinks-flag (1.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2022 Inspect JS - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: swag (a05020e2eba35111df9afd1d3186792050a6a876) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - --------------------------------------------------------------------------------- -Package Title: swiss (f4de07ae6964c0750b453774cf592d4699eac7bd) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {} - - 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. - - - - --------------------------------------------------------------------------------- -Package Title: sync (14be23e5b48bec28285f8a694875175ecacfddb3) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: sys (cabba82f75d7f55a0657810d02d534745dee5d59) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: table (6.8.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2018, Gajus Kuizinas (http://gajus.com/) -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the Gajus Kuizinas (http://gajus.com/) nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL ANUARY BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: tablewriter (bd15540e88470a2a7abfd3d457874fbee6702218) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (C) 2014 by Oleku Konko - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: taffydb (2.6.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -proprietary-license - - -This is a catch-all license used when we find many different proprietary licenses. - - --------------------------------------------------------------------------------- -Package Title: tapable (1.1.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License - -Copyright (c) Tobias Koppers @sokra - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: tapable (2.2.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License - -Copyright JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: term (3f7ff695adc6a35abc925370dd0a4dafb48ec64d) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - - Apache License - Version 2.0, January 2004 - https://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - Copyright 2013-2018 Docker, Inc. - - 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 - - https://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. - - - --------------------------------------------------------------------------------- -Package Title: term (5b15d269ba1f54e8da86c8aa5574253aea0c2198) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: termenv (d5ed3231917d0f5c9fdc635e10d576f8d5b4b175) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2019 Christian Muehlhaeuser - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: terraformer (1.0.8) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2013 Esri, Inc - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: terraformer-wkt-parser (1.1.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2013 Esri, Inc - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: terser (4.8.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause - - -UglifyJS is released under the BSD license: - -Copyright 2012-2018 (c) Mihai Bazon - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, -OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR -TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF -THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: terser-webpack-plugin (1.4.5) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: testify (bb548d0473d4e1c9b7bbfd6602c7bf12f7a84dd2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2012-2020 Mat Ryer, Tyler Bunnell and contributors. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: text (702c74938df48b97370179f33ce2107bd7ff3b3e) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2012 Keith Rarick -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: text (6c97a165dd661335ff7bce6104a008558123c353) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Other Licenses * -CC-BY-SA-3.0, CC-BY-SA-2.5, CC-BY-SA-2.0, CC-BY-SA-1.0 - -* CC-BY-SA-3.0 * - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - 1. Definitions - a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. - b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined below) for the purposes of this License. - c. "Creative Commons Compatible License" means a license that is listed at http://creativecommons.org/compatiblelicenses that has been approved by Creative Commons as being essentially equivalent to this License, including, at a minimum, because that license: (i) contains terms that have the same purpose, meaning and effect as the License Elements of this License; and, (ii) explicitly permits the relicensing of adaptations of works made available under that license under this License or a Creative Commons jurisdiction license with the same License Elements as this License. - d. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. - e. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike. - f. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. - g. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. - h. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. - i. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. - j. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. - k. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. - 2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. - 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; - b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; - c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and, - d. to Distribute and Publicly Perform Adaptations. - e. For the avoidance of doubt: - i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; - ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and, - iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License. - The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved. - 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(c), as requested. - b. You may Distribute or Publicly Perform an Adaptation only under the terms of: (i) this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible License. If you license the Adaptation under one of the licenses mentioned in (iv), you must comply with the terms of that license. If you license the Adaptation under the terms of any of the licenses mentioned in (i), (ii) or (iii) (the "Applicable License"), you must comply with the terms of the Applicable License generally and the following provisions: (I) You must include a copy of, or the URI for, the Applicable License with every copy of each Adaptation You Distribute or Publicly Perform; (II) You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License; (III) You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform; (IV) when You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License. - c. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv), consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. - d. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. - 5. Representations, Warranties and Disclaimer - UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - 7. Termination - a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. - b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. - 8. Miscellaneous - a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. - b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. - c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. - e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. - f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. -Creative Commons Notice -Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. -Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of the License. -Creative Commons may be contacted at http://creativecommons.org/. - -* CC-BY-SA-2.5 * - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - 1. Definitions - a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License. - b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License. - c. "Licensor" means the individual or entity that offers the Work under the terms of this License. - d. "Original Author" means the individual or entity who created the Work. - e. "Work" means the copyrightable work of authorship offered under the terms of this License. - f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. - g. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike. - 2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws. - 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works; - b. to create and reproduce Derivative Works; - c. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works; - d. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works. - e. For the avoidance of doubt, where the work is a musical composition: - i. Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work. - ii. Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights society or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions). - f. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions). - The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved. - 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any credit as required by clause 4(c), as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any credit as required by clause 4(c), as requested. - b. You may distribute, publicly display, publicly perform, or publicly digitally perform a Derivative Work only under the terms of this License, a later version of this License with the same License Elements as this License, or a Creative Commons iCommons license that contains the same License Elements as this License (e.g. Attribution-ShareAlike 2.5 Japan). You must include a copy of, or the Uniform Resource Identifier for, this License or other license specified in the previous sentence with every copy or phonorecord of each Derivative Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder, and You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Derivative Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License. - c. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or (ii) if the Original Author and/or Licensor designate another party or parties (e.g. a sponsor institute, publishing entity, journal) for attribution in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit. - 5. Representations, Warranties and Disclaimer - UNLESS OTHERWISE AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE MATERIALS, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - 7. Termination - a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. - b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. - 8. Miscellaneous - a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. - b. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. - c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. - e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. -Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. -Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. -Creative Commons may be contacted at http://creativecommons.org/. - -* CC-BY-SA-2.0 * - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - 1. Definitions - a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License. - b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License. - c. "Licensor" means the individual or entity that offers the Work under the terms of this License. - d. "Original Author" means the individual or entity who created the Work. - e. "Work" means the copyrightable work of authorship offered under the terms of this License. - f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. - g. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike. - 2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws. - 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works; - b. to create and reproduce Derivative Works; - c. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works; - d. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works. - e. For the avoidance of doubt, where the work is a musical composition: - i. Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work. - ii. Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights society or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions). - f. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions). - The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved. - 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any reference to such Licensor or the Original Author, as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any reference to such Licensor or the Original Author, as requested. - b. You may distribute, publicly display, publicly perform, or publicly digitally perform a Derivative Work only under the terms of this License, a later version of this License with the same License Elements as this License, or a Creative Commons iCommons license that contains the same License Elements as this License (e.g. Attribution-ShareAlike 2.0 Japan). You must include a copy of, or the Uniform Resource Identifier for, this License or other license specified in the previous sentence with every copy or phonorecord of each Derivative Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder, and You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Derivative Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License. - c. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit. - 5. Representations, Warranties and Disclaimer - UNLESS OTHERWISE AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE MATERIALS, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - 7. Termination - a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. - b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. - 8. Miscellaneous - a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. - b. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. - c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. - e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. -Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. -Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. -Creative Commons may be contacted at http://creativecommons.org/. - -* CC-BY-SA-1.0 * - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE IS PROHIBITED. -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - 1. Definitions - a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License. - b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. - c. "Licensor" means the individual or entity that offers the Work under the terms of this License. - d. "Original Author" means the individual or entity who created the Work. - e. "Work" means the copyrightable work of authorship offered under the terms of this License. - f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. - 2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws. - 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works; - b. to create and reproduce Derivative Works; - c. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works; - d. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works; - The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved. - 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any reference to such Licensor or the Original Author, as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any reference to such Licensor or the Original Author, as requested. - b. You may distribute, publicly display, publicly perform, or publicly digitally perform a Derivative Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of each Derivative Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder, and You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Derivative Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License. - c. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title of the Work if supplied; in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit. - 5. Representations, Warranties and Disclaimer - a. By offering the Work for public release under this License, Licensor represents and warrants that, to the best of Licensor's knowledge after reasonable inquiry: - i. Licensor has secured all rights in the Work necessary to grant the license rights hereunder and to permit the lawful exercise of the rights granted hereunder without You having any obligation to pay any royalties, compulsory license fees, residuals or any other payments; - ii. The Work does not infringe the copyright, trademark, publicity rights, common law rights or any other right of any third party or constitute defamation, invasion of privacy or other tortious injury to any third party. - b. EXCEPT AS EXPRESSLY STATED IN THIS LICENSE OR OTHERWISE AGREED IN WRITING OR REQUIRED BY APPLICABLE LAW, THE WORK IS LICENSED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES REGARDING THE CONTENTS OR ACCURACY OF THE WORK. - 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, AND EXCEPT FOR DAMAGES ARISING FROM LIABILITY TO A THIRD PARTY RESULTING FROM BREACH OF THE WARRANTIES IN SECTION 5, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - 7. Termination - a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. - b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. - 8. Miscellaneous - a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. - b. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. - c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. - e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. -Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. -Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. -Creative Commons may be contacted at http://creativecommons.org/. - - --------------------------------------------------------------------------------- -Package Title: text-table (0.2.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -This software is released under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: throttle-debounce (5.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT, GPL-2.0-only - -* MIT * - -Copyright (c) Ivan Nikolić -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -* GPL-2.0-only * - -Copyright (c) Ivan Nikolić - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - ---- - -Copyright (c) 2010 "Cowboy" Ben Alman - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - ---- - - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - - --------------------------------------------------------------------------------- -Package Title: through (2.3.8) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0, MIT - -* Apache-2.0 * - -Apache License, Version 2.0 - -Copyright (c) 2011 Dominic Tarr - -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. - - -* MIT * - -The MIT License - -Copyright (c) 2011 Dominic Tarr - -Permission is hereby granted, free of charge, -to any person obtaining a copy of this software and -associated documentation files (the "Software"), to -deal in the Software without restriction, including -without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom -the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: through2 (2.0.5) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -# The MIT License (MIT) - -**Copyright (c) Rod Vagg (the "Original Author") and additional contributors** - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: timers-browserify (2.0.12) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -# timers-browserify - -This project uses the [MIT](http://jryans.mit-license.org/) license: - - Copyright © 2012 J. Ryan Stinnett - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the “Software”), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - -# lib/node - -The `lib/node` directory borrows files from joyent/node which uses the following license: - - Copyright Joyent, Inc. and other Node contributors. All rights reserved. - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to - deal in the Software without restriction, including without limitation the - rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: tiny-invariant (1.3.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2019 Alexander Reardon - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: tiny-warning (1.0.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2019 Alexander Reardon - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: tmp (0.0.33) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014 KARASZI István - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: to-arraybuffer (1.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License - -Copyright (c) 2016 John Hiesey - -Permission is hereby granted, free of charge, -to any person obtaining a copy of this software and -associated documentation files (the "Software"), to -deal in the Software without restriction, including -without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom -the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: to-fast-properties (2.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2014 Petka Antonov -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: to-regex (3.0.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2016-2018, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: to-regex-range (2.1.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: toggle-selection (1.0.6) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: tokenbucket (cc333fc44b06d2f30c5a42d29645699e6ae89859) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - --------------------------------------------------------------------------------- -Package Title: toml (74c008f3d2dcb9c295248aada067301a0d810932) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2013 TOML authors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Other Licenses * -BSD-3-Clause - - -Copyright (c) 2010 The Go Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: tools (642e51449b40932d4ceeeaac8d51e8aace7bbbbd) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: tools (0b1f1d4bc227cc2e610854f23e14696becb9e46c) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Other Licenses * -MIT - - -Copyright (c) 1994-1999 Lucent Technologies Inc. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: toposort-class (1.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015 Gustavo Henke and Aaron Trent - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: tslib (1.14.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -0BSD - - -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: tsutils (3.21.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2017 Klaus Meinhardt - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: tty-browserify (0.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -This software is released under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: ttycolor (c7d7dcdde4e8d13c5da16b74324573439d7a6d8c) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - --------------------------------------------------------------------------------- -Package Title: type-check (0.3.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) George Zahariev - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: type-check (0.4.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) George Zahariev - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: type-fest (0.20.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT, CC0-1.0 - -* MIT * - -Copyright (c) Sindre Sorhus (https:/sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -* CC0-1.0 * - -<> -CC0 1.0 Universal<> -Statement of Purpose -The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). -Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. -For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. - 1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: - i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; - ii. moral rights retained by the original author(s) and/or performer(s); - iii. publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; - iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; - v. rights protecting the extraction, dissemination, use and reuse of data in a Work; - vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and - vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. - 2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. - 3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. - 4. Limitations and Disclaimers. - a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. - b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. - c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. - d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. - - --------------------------------------------------------------------------------- -Package Title: typescript (5.1.6) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - -Apache License - -Version 2.0, January 2004 - -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of this License; and - -You must cause any modified files to carry prominent notices stating that You changed the files; and - -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - -If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - - - -* Other Licenses * -W3C-20150513, Unicode-DFS-2016, MIT, CC-BY-4.0 - -* W3C-20150513 * - -[$name_of_software: $distribution_URI] Copyright (c) [$date-of-software] World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University, Beihang). All Rights Reserved. This work is distributed under the W3C® Software License [1] in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. [1] http://www.w3.org/Consortium/Legal/copyright-software - -* Unicode-DFS-2016 * - -Unicode Data Files include all data files under the directories http://www.unicode.org/Public/, http://www.unicode.org/reports/, http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and http://www.unicode.org/utility/trac/browser/. -Unicode Data Files do not include PDF online code charts under the directory http://www.unicode.org/Public/. -Software includes any source code published in the Unicode Standard or under the directories http://www.unicode.org/Public/, http://www.unicode.org/reports/, http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and http://www.unicode.org/utility/trac/browser/. -NOTICE TO USER: Carefully read the following legal agreement. BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE. -COPYRIGHT AND PERMISSION NOTICE -Copyright © 1991-2016 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html. -Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that either - (a) this copyright and permission notice appear with all copies of the Data Files or Software, or - (b) this copyright and permission notice appear in associated Documentation. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE. -Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder. - -* MIT * - -Copyright (c) AND PERMISSION NOTICE -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -* CC-BY-4.0 * - -Attribution 4.0 International<> -By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. -Section 1 – Definitions. - a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. - b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. - c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. - d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. - e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. - f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. - g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. - h. Licensor means the individual(s) or entity(ies) granting rights under this Public License. - i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. - j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. - k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. -Section 2 – Scope. - a. License grant. - 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: - A. reproduce and Share the Licensed Material, in whole or in part; and - B. produce, reproduce, and Share Adapted Material. - 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. - 3. Term. The term of this Public License is specified in Section 6(a). - 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. - 5. Downstream recipients. - A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. - B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. - 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). - b. Other rights. - 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. - 2. Patent and trademark rights are not licensed under this Public License. - 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. -Section 3 – License Conditions. -Your exercise of the Licensed Rights is expressly made subject to the following conditions. - a. Attribution. - 1. If You Share the Licensed Material (including in modified form), You must: - A. retain the following if it is supplied by the Licensor with the Licensed Material: - i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); - ii. a copyright notice; - iii. a notice that refers to this Public License; - iv. a notice that refers to the disclaimer of warranties; - v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; - B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and - C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. - 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. - 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. - 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. -Section 4 – Sui Generis Database Rights. -Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: - a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; - b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and - c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. -For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. -Section 5 – Disclaimer of Warranties and Limitation of Liability. - a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. - b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. - c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. -Section 6 – Term and Termination. - a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. - b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: - 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or - 2. upon express reinstatement by the Licensor. - c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. - d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. - e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. -Section 7 – Other Terms and Conditions. - a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. - b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. -Section 8 – Interpretation. - a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. - b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. - c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. - d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. -Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. -Creative Commons may be contacted at creativecommons.org. - - --------------------------------------------------------------------------------- -Package Title: typescript-compare (0.0.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -# The MIT License - -Copyright © 2018 Hoàng Văn Khải - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: typescript-logic (0.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -# The MIT License - -Copyright © 2018 Hoàng Văn Khải - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: typescript-tuple (2.2.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -# The MIT License - -Copyright © 2018 Hoàng Văn Khải - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: ua-parser-js (0.7.24) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2012-2021 Faisal Salman -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: uc.micro (1.0.6) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright Mathias Bynens - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: uglify-js (2.8.29) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause - - -UglifyJS is released under the BSD license: - -Copyright 2012-2013 (c) Mihai Bazon - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, -OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR -TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF -THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: ulid (02a8604050d8466dd915307496174adb9be4593a) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - -* Other Licenses * -BSD-3-Clause - - -Copyright (c) 2017 Google Inc. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: underscore (1.13.6) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2009-2022 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: unique-filename (1.1.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -Copyright npm, Inc - -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: unique-slug (2.0.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -The ISC License - -Copyright npm, Inc - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: universalify (0.1.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -(The MIT License) - -Copyright (c) 2017, Ryan Zimmerman - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the 'Software'), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: uplot (1.6.19) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2022 Leon Sorokin - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: uplot (1.6.30) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2022 Leon Sorokin - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: uri-js (4.4.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause, bsd-2-clause-views - -* BSD-2-Clause * - -Copyright (c) - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* bsd-2-clause-views * - -Copyright 2011 Gary Court. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY GARY COURT "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of Gary Court. - - - --------------------------------------------------------------------------------- -Package Title: url (0.11.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright 2014 Joyent, Inc. and other Node contributors. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: use (3.1.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-present, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: util (0.10.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: util (0.11.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: util-deprecate (1.0.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -(The MIT License) - -Copyright (c) 2014 Nathan Rajlich - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: uuid (4d47f8eb066f43cfaedd728a543479d9c9dfa8f6) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2009,2014 Google Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: uuid (3.2.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2010-2016 Robert Kieffer and other contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: uuid (3.4.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2010-2016 Robert Kieffer and other contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: v8-compile-cache (2.0.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2019 Andres Suarez - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: v8-compile-cache (2.3.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2019 Andres Suarez - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: validate (fb01d6d2369f1ffa71d59d6492a2f4254dcf1b60) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - --------------------------------------------------------------------------------- -Package Title: validator (9.4.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2016 Chris O'Hara - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: value-equal (1.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) Michael Jackson 2016-2018 - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: victory-vendor (36.6.11) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC, MIT - -* ISC * - -Copyright (c) 2010-2022 Mike Bostock -Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. -THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -* MIT * - -Copyright (c) 2010-2016 Mike Bostock -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* Other Licenses * -BSD-3-Clause - - -Copyright (c) 2010-2021 Mike Bostock . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- -Package Title: vitess (54524729cc82038e5597c034d472f770c9668175) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - -* Other Licenses * -BSD-2-Clause, MIT, MPL-2.0 - -* BSD-2-Clause * - -Copyright (c) 2015 Dave Cheney - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* MIT * - -Copyright (c) 2017 GitHub -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -* MPL-2.0 * - -1. Definitions - 1.1. "Contributor" means each individual or legal entity that creates, contributes to the creation of, or owns Covered Software. - 1.2. "Contributor Version" means the combination of the Contributions of others (if any) used by a Contributor and that particular Contributor's Contribution. - 1.3. "Contribution" means Covered Software of a particular Contributor. - 1.4. "Covered Software" means Source Code Form to which the initial Contributor has attached the notice in Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof. - 1.5. "Incompatible With Secondary Licenses" means - (a) that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or - (b) that the Covered Software was made available under the terms of version 1.1 or earlier of the License, but not also under the terms of a Secondary License. - 1.6. "Executable Form" means any form of the work other than Source Code Form. - 1.7. "Larger Work" means a work that combines Covered Software with other material, in a separate file or files, that is not Covered Software. - 1.8. "License" means this document. - 1.9. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently, any and all of the rights conveyed by this License. - 1.10. "Modifications" means any of the following: - (a) any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or - (b) any new file in Source Code Form that contains any Covered Software. - 1.11. "Patent Claims" of a Contributor means any patent claim(s), including without limitation, method, process, and apparatus claims, in any patent Licensable by such Contributor that would be infringed, but for the grant of the License, by the making, using, selling, offering for sale, having made, import, or transfer of either its Contributions or its Contributor Version. - 1.12. "Secondary License" means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses. - 1.13. "Source Code Form" means the form of the work preferred for making modifications. - 1.14. "You" (or "Your") means an individual or a legal entity exercising rights under this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. - 2. License Grants and Conditions - 2.1. Grants - Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license: - (a) under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and - (b) under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version. - 2.2. Effective Date - The licenses granted in Section 2.1 with respect to any Contribution become effective for each Contribution on the date the Contributor first distributes such Contribution. - 2.3. Limitations on Grant Scope - The licenses granted in this Section 2 are the only rights granted under this License. No additional rights or licenses will be implied from the distribution or licensing of Covered Software under this License. Notwithstanding Section 2.1(b) above, no patent license is granted by a Contributor: - (a) for any code that a Contributor has removed from Covered Software; or - (b) for infringements caused by: (i) Your and any other third party's modifications of Covered Software, or (ii) the combination of its Contributions with other software (except as part of its Contributor Version); or - (c) under Patent Claims infringed by Covered Software in the absence of its Contributions. - This License does not grant any rights in the trademarks, service marks, or logos of any Contributor (except as may be necessary to comply with the notice requirements in Section 3.4). - 2.4. Subsequent Licenses - No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version of this License (see Section 10.2) or under the terms of a Secondary License (if permitted under the terms of Section 3.3). - 2.5. Representation - Each Contributor represents that the Contributor believes its Contributions are its original creation(s) or it has sufficient rights to grant the rights to its Contributions conveyed by this License. - 2.6. Fair Use - This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other equivalents. - 2.7. Conditions - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1. - 3. Responsibilities - 3.1. Distribution of Source Form - All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License. You may not attempt to alter or restrict the recipients' rights in the Source Code Form. - 3.2. Distribution of Executable Form - If You distribute Covered Software in Executable Form then: - (a) such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must inform recipients of the Executable Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the recipient; and - (b) You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients' rights in the Source Code Form under this License. - 3.3. Distribution of a Larger Work - You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s). - 3.4. Notices - You may not remove or alter the substance of any license notices (including copyright notices, patent notices, disclaimers of warranty, or limitations of liability) contained within the Source Code Form of the Covered Software, except that You may alter any license notices to the extent required to remedy known factual inaccuracies. - 3.5. Application of Additional Terms - You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, You may do so only on Your own behalf, and not on behalf of any Contributor. You must make it absolutely clear that any such warranty, support, indemnity, or liability obligation is offered by You alone, and You hereby agree to indemnify every Contributor for any liability incurred by such Contributor as a result of warranty, support, indemnity or liability terms You offer. You may include additional disclaimers of warranty and limitations of liability specific to any jurisdiction. - 4. Inability to Comply Due to Statute or Regulation - If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be placed in a text file included with all distributions of the Covered Software under this License. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. - 5. Termination - 5.1. The rights granted under this License will terminate automatically if You fail to comply with any of its terms. However, if You become compliant, then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such Contributor explicitly and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor fails to notify You of the non-compliance by some reasonable means prior to 60 days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such Contributor notifies You of the non-compliance by some reasonable means, this is the first time You have received notice of non-compliance with this License from such Contributor, and You become compliant prior to 30 days after Your receipt of the notice. - 5.2. If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate. - 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or Your distributors under this License prior to termination shall survive termination. - 6. Disclaimer of Warranty - Covered Software is provided under this License on an "as is" basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the Covered Software is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the Covered Software is with You. Should any Covered Software prove defective in any respect, You (not any Contributor) assume the cost of any necessary servicing, repair, or correction. This disclaimer of warranty constitutes an essential part of this License. No use of any Covered Software is authorized under this License except under this disclaimer. - 7. Limitation of Liability - Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall any Contributor, or anyone who distributes Covered Software as permitted above, be liable to You for any direct, indirect, special, incidental, or consequential damages of any character including, without limitation, damages for lost profits, loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages. This limitation of liability shall not apply to liability for death or personal injury resulting from such party's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You. - 8. Litigation - Any litigation relating to this License may be brought only in the courts of a jurisdiction where the defendant maintains its principal place of business and such litigation shall be governed by laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this Section shall prevent a party's ability to bring cross-claims or counter-claims. - 9. Miscellaneous - This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not be used to construe this License against a Contributor. - 10. Versions of the License - 10.1. New Versions - Mozilla Foundation is the license steward. Except as provided in Section 10.3, no one other than the license steward has the right to modify or publish new versions of this License. Each version will be given a distinguishing version number. - 10.2. Effect of New Versions - You may distribute the Covered Software under the terms of the version of the License under which You originally received the Covered Software, or under the terms of any subsequent version published by the license steward. - 10.3. Modified Versions - If you create software not governed by this License, and you want to create a new license for such software, you may create and use a modified version of this License if you rename the license and remove any references to the name of the license steward (except to note that such modified license differs from this License). - 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses - If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached. - - --------------------------------------------------------------------------------- -Package Title: vm-browserify (1.1.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: walk (4748e29d5718c2df4028a6543edf86fd8cc0f881) --------------------------------------------------------------------------------- - -* Declared Licenses * -No licenses found - - -* Other Licenses * -BSD-3-Clause, MIT - -* BSD-3-Clause * - -Copyright (c) 2010 The Go Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* MIT * - -Copyright (c) 2016 Michael T Jones -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: warning (4.0.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2013-present, Facebook, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: watchpack (1.7.5) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: webpack (4.41.5) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: webpack-cli (3.3.10) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: webpack-sources (1.4.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2017 JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: webpack-sources (2.3.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License - -Copyright (c) 2017 JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: websocket (b65e62901fc1c0d968042419e74789f6af455eb9) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause - - -Copyright (c) 2013 The Gorilla WebSocket Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Other Licenses * -BSD-3-Clause, MIT - -* BSD-3-Clause * - -Copyright (c) 2013 The Gorilla WebSocket Authors. All rights reserved. . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* MIT * - -Copyright (c) 2013 The Gorilla WebSocket Authors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: whatwg-fetch (2.0.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2014-2016 GitHub, Inc. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: whatwg-fetch (2.0.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2014-2016 GitHub, Inc. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: whatwg-url (5.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015–2016 Sebastian Mayr - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: which (1.3.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: which (2.0.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: which-module (2.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -Copyright (c) 2016, Contributors - -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: window-size (0.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2014 Jon Schlinkert - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: wkx (0.4.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2013 Christian Schwarz - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: word-wrap (1.2.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: wordwrap (0.0.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -Multi-license: MIT OR X11 - - -Copyright (c) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: worker-farm (1.7.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) -===================== - -Copyright (c) 2014 LevelUP contributors ---------------------------------------- - -*LevelUP contributors listed at * - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: wrap-ansi (5.1.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: wrappy (1.0.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: x-time (71747adb5d5c99501f5639f701fbc00cb0a7eaf4) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: xerrors (04be3eba64a22a838cdb17b8dca15a52871c08b4) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2019 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: xmlcreate (2.0.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - - --------------------------------------------------------------------------------- -Package Title: xtend (4.0.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2012-2014 Raynos. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: xtend (4.0.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) -Copyright (c) 2012-2014 Raynos. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: xxh3 (e6b0fd3c7bb50f49d637174ab61e39c0aa684c8c) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-2-Clause - - -xxHash Library -Copyright (c) 2012-2014, Yann Collet -Copyright (c) 2019, Jeff Wendling -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: xxhash (a76eb16a93c1e30527c073ca831d9048b4b935f6) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2016 Caleb Spare - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: y18n (4.0.3) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -Copyright (c) 2015, Contributors - -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: yallist (3.1.1) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: yallist (4.0.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: yaml (2d6955c8edbc64e78427d8add97c2eca6fa44e26) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT, Apache-2.0 - -* MIT * - -The following files were ported to Go from C files of libyaml, and thus -are still covered by their original copyright and license: - - apic.go - emitterc.go - parserc.go - readerc.go - scannerc.go - writerc.go - yamlh.go - yamlprivateh.go - -Copyright (c) 2006 Kirill Simonov - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* Apache-2.0 * - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - 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. - - - --------------------------------------------------------------------------------- -Package Title: yaml (0ca9ea5df5451ffdf184b4428c902747c2c11cd7) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT, BSD-3-Clause - -* MIT * - -Copyright (c) 2014 Sam Ghods -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -* BSD-3-Clause * - -The MIT License (MIT) - -Copyright (c) 2014 Sam Ghods - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -Copyright (c) 2012 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - --------------------------------------------------------------------------------- -Package Title: yaml.v3 (f6f7691b1fdeb513f56608cd2c32c51f8194bf51) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT, Apache-2.0 - -* MIT * - -Copyright (c) staring in 2011 when the project was ported over: -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -* Apache-2.0 * - - -This project is covered by two different licenses: MIT and Apache. - -#### MIT License #### - -The following files were ported to Go from C files of libyaml, and thus -are still covered by their original MIT license, with the additional -copyright staring in 2011 when the project was ported over: - - apic.go emitterc.go parserc.go readerc.go scannerc.go - writerc.go yamlh.go yamlprivateh.go - -Copyright (c) 2006-2010 Kirill Simonov -Copyright (c) 2006-2011 Kirill Simonov - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -### Apache License ### - -All the remaining project files are covered by the Apache license: - -Copyright (c) 2011-2019 Canonical Ltd - -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. - - - --------------------------------------------------------------------------------- -Package Title: yargs (13.2.4) --------------------------------------------------------------------------------- - -* Declared Licenses * -Multi-license: MIT OR X11 - - -Copyright 2010 James Halliday (mail@substack.net) -Modified work Copyright 2014 Contributors (ben@npmjs.com) - -This project is free software released under the MIT/X11 license: - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Other Licenses * -MIT - - -Copyright 2010 James Halliday (mail@substack.net) -Modified work Copyright 2014 Contributors (ben@npmjs.com) - -This project is free software released under the MIT/X11 license: - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: yargs (3.10.0) --------------------------------------------------------------------------------- - -* Declared Licenses * -Multi-license: MIT OR X11 - - -Copyright 2010 James Halliday (mail@substack.net) - -This project is free software released under the MIT/X11 license: - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Other Licenses * -MIT - - -Copyright (c) 2010 James Halliday (mail@substack.net) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Package Title: yargs-parser (13.1.2) --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - - -Copyright (c) 2016, Contributors - -Permission to use, copy, modify, and/or distribute this software -for any purpose with or without fee is hereby granted, provided -that the above copyright notice and this permission notice -appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE -LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: zap (c8e813efff7b3d6f791ee71b3f76b9a175d2a9d8) --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -Copyright (c) 2016-2017 Uber Technologies, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - --------------------------------------------------------------------------------- -Package Title: zipkin-go (b98d75699e013868e73c146266a28bc8c9e2c372) --------------------------------------------------------------------------------- - -* Declared Licenses * -Apache-2.0 - - -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, -and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by -the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all -other entities that control, are controlled by, or are under common -control with that entity. For the purposes of this definition, -"control" means (i) the power, direct or indirect, to cause the -direction or management of such entity, whether by contract or -otherwise, or (ii) ownership of fifty percent (50%) or more of the -outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity -exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, -including but not limited to software source code, documentation -source, and configuration files. - -"Object" form shall mean any form resulting from mechanical -transformation or translation of a Source form, including but -not limited to compiled object code, generated documentation, -and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or -Object form, made available under the License, as indicated by a -copyright notice that is included in or attached to the work -(an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object -form, that is based on (or derived from) the Work and for which the -editorial revisions, annotations, elaborations, or other modifications -represent, as a whole, an original work of authorship. For the purposes -of this License, Derivative Works shall not include works that remain -separable from, or merely link (or bind by name) to the interfaces of, -the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including -the original version of the Work and any modifications or additions -to that Work or Derivative Works thereof, that is intentionally -submitted to Licensor for inclusion in the Work by the copyright owner -or by an individual or Legal Entity authorized to submit on behalf of -the copyright owner. For the purposes of this definition, "submitted" -means any form of electronic, verbal, or written communication sent -to the Licensor or its representatives, including but not limited to -communication on electronic mailing lists, source code control systems, -and issue tracking systems that are managed by, or on behalf of, the -Licensor for the purpose of discussing and improving the Work, but -excluding communication that is conspicuously marked or otherwise -designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity -on behalf of whom a Contribution has been received by Licensor and -subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable -copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the -Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable -(except as stated in this section) patent license to make, have made, -use, offer to sell, sell, import, and otherwise transfer the Work, -where such license applies only to those patent claims licensable -by such Contributor that are necessarily infringed by their -Contribution(s) alone or by combination of their Contribution(s) -with the Work to which such Contribution(s) was submitted. If You -institute patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Work -or a Contribution incorporated within the Work constitutes direct -or contributory patent infringement, then any patent licenses -granted to You under this License for that Work shall terminate -as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the -Work or Derivative Works thereof in any medium, with or without -modifications, and in Source or Object form, provided that You -meet the following conditions: - -(a) You must give any other recipients of the Work or -Derivative Works a copy of this License; and - -(b) You must cause any modified files to carry prominent notices -stating that You changed the files; and - -(c) You must retain, in the Source form of any Derivative Works -that You distribute, all copyright, patent, trademark, and -attribution notices from the Source form of the Work, -excluding those notices that do not pertain to any part of -the Derivative Works; and - -(d) If the Work includes a "NOTICE" text file as part of its -distribution, then any Derivative Works that You distribute must -include a readable copy of the attribution notices contained -within such NOTICE file, excluding those notices that do not -pertain to any part of the Derivative Works, in at least one -of the following places: within a NOTICE text file distributed -as part of the Derivative Works; within the Source form or -documentation, if provided along with the Derivative Works; or, -within a display generated by the Derivative Works, if and -wherever such third-party notices normally appear. The contents -of the NOTICE file are for informational purposes only and -do not modify the License. You may add Your own attribution -notices within Derivative Works that You distribute, alongside -or as an addendum to the NOTICE text from the Work, provided -that such additional attribution notices cannot be construed -as modifying the License. - -You may add Your own copyright statement to Your modifications and -may provide additional or different license terms and conditions -for use, reproduction, or distribution of Your modifications, or -for any such Derivative Works as a whole, provided Your use, -reproduction, and distribution of the Work otherwise complies with -the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, -any Contribution intentionally submitted for inclusion in the Work -by You to the Licensor shall be under the terms and conditions of -this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify -the terms of any separate license agreement you may have executed -with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade -names, trademarks, service marks, or product names of the Licensor, -except as required for reasonable and customary use in describing the -origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or -agreed to in writing, Licensor provides the Work (and each -Contributor provides its Contributions) on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -implied, including, without limitation, any warranties or conditions -of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A -PARTICULAR PURPOSE. You are solely responsible for determining the -appropriateness of using or redistributing the Work and assume any -risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, -whether in tort (including negligence), contract, or otherwise, -unless required by applicable law (such as deliberate and grossly -negligent acts) or agreed to in writing, shall any Contributor be -liable to You for damages, including any direct, indirect, special, -incidental, or consequential damages of any character arising as a -result of this License or out of the use or inability to use the -Work (including but not limited to damages for loss of goodwill, -work stoppage, computer failure or malfunction, or any and all -other commercial damages or losses), even if such Contributor -has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing -the Work or Derivative Works thereof, You may choose to offer, -and charge a fee for, acceptance of support, warranty, indemnity, -or other liability obligations and/or rights consistent with this -License. However, in accepting such obligations, You may act only -on Your own behalf and on Your sole responsibility, not on behalf -of any other Contributor, and only if You agree to indemnify, -defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason -of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - -To apply the Apache License to your work, attach the following -boilerplate notice, with the fields enclosed by brackets "{}" -replaced with your own identifying information. (Don't include -the brackets!) The text should be enclosed in the appropriate -comment syntax for the file format. We also recommend that a -file or class name and description of purpose be included on the -same "printed page" as the copyright notice for easier -identification within third-party archives. - -Copyright 2017 The OpenZipkin Authors - -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. - - - --------------------------------------------------------------------------------- -Package Title: zstd (869dae002e5efb372a0b09cd7d99390ca2089cc1) --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Simplified BSD License - -Copyright (c) 2016, Datadog -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Other Licenses * -BSD-2-Clause, GPL-2.0-only, MIT - -* BSD-2-Clause * - -Copyright (c) Meta Platforms, Inc. and affiliates. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* GPL-2.0-only * - -Copyright (C) Meta Platforms, Inc. and affiliates. -This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2. -This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -* MIT * - -Copyright (c) 2003-2008 Yuta Mori All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - -================================================================================ - Licenses - -================================================================================ - -* Apache-2.0 * - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - -* Apache-2.0 * - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - -* Apache-2.0 * - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - - -* Apache-2.0 * - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2014 Google Inc. - - 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. - - -* Apache-2.0 * - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [2018] [Spotahome Ltd.] - - 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. - - -* Apache-2.0 * - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - -* Apache-2.0 * - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - -* Apache-2.0 * - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - --------------------------------------------------- -SOFTWARE DISTRIBUTED WITH THRIFT: - -The Apache Thrift software includes a number of subcomponents with -separate copyright notices and license terms. Your use of the source -code for the these subcomponents is subject to the terms and -conditions of the following licenses. - --------------------------------------------------- -Portions of the following files are licensed under the MIT License: - - lib/erl/src/Makefile.am - -Please see doc/otp-base-license.txt for the full terms of this license. - --------------------------------------------------- -For the aclocal/ax_boost_base.m4 and contrib/fb303/aclocal/ax_boost_base.m4 components: - -# Copyright (c) 2007 Thomas Porschberg -# -# Copying and distribution of this file, with or without -# modification, are permitted in any medium without royalty provided -# the copyright notice and this notice are preserved. - --------------------------------------------------- -For the lib/nodejs/lib/thrift/json_parse.js: - -/* - json_parse.js - 2015-05-02 - Public Domain. - NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. - -*/ -(By Douglas Crockford ) - --------------------------------------------------- -For lib/cpp/src/thrift/windows/SocketPair.cpp - -/* socketpair.c - * Copyright 2007 by Nathan C. Myers ; some rights reserved. - * This code is Free Software. It may be copied freely, in original or - * modified form, subject only to the restrictions that (1) the author is - * relieved from all responsibilities for any use for any purpose, and (2) - * this copyright notice must be retained, unchanged, in its entirety. If - * for any reason the author might be held responsible for any consequences - * of copying or use, license is withheld. - */ - - --------------------------------------------------- -For lib/py/compat/win32/stdint.h - -// ISO C9x compliant stdint.h for Microsoft Visual Studio -// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 -// -// Copyright (c) 2006-2008 Alexander Chemeris -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// 1. Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. The name of the author may be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -/////////////////////////////////////////////////////////////////////////////// - - --------------------------------------------------- -Codegen template in t_html_generator.h - -* Bootstrap v2.0.3 -* -* Copyright 2012 Twitter, Inc -* Licensed under the Apache License v2.0 -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Designed and built with all the love in the world @twitter by @mdo and @fat. - ---------------------------------------------------- -For t_cl_generator.cc - - * Copyright (c) 2008- Patrick Collison - * Copyright (c) 2006- Facebook - ---------------------------------------------------- - - -* Apache-2.0 * - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - --------------------------------------------------------------------------------- - -src/plasma/fling.cc and src/plasma/fling.h: Apache 2.0 - -Copyright 2013 Sharvil Nanavati - -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. - --------------------------------------------------------------------------------- - -src/plasma/thirdparty/ae: Modified / 3-Clause BSD - -Copyright (c) 2006-2010, Salvatore Sanfilippo -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of Redis nor the names of its contributors may be used - to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -src/plasma/thirdparty/dlmalloc.c: CC0 - -This is a version (aka dlmalloc) of malloc/free/realloc written by -Doug Lea and released to the public domain, as explained at -http://creativecommons.org/publicdomain/zero/1.0/ Send questions, -comments, complaints, performance data, etc to dl@cs.oswego.edu - --------------------------------------------------------------------------------- - -src/plasma/common.cc (some portions) - -Copyright (c) Austin Appleby (aappleby (AT) gmail) - -Some portions of this file are derived from code in the MurmurHash project - -All code is released to the public domain. For business purposes, Murmurhash is -under the MIT license. - -https://sites.google.com/site/murmurhash/ - --------------------------------------------------------------------------------- - -src/arrow/util (some portions): Apache 2.0, and 3-clause BSD - -Some portions of this module are derived from code in the Chromium project, -copyright (c) Google inc and (c) The Chromium Authors and licensed under the -Apache 2.0 License or the under the 3-clause BSD license: - - Copyright (c) 2013 The Chromium Authors. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -This project includes code from Daniel Lemire's FrameOfReference project. - -https://github.com/lemire/FrameOfReference/blob/6ccaf9e97160f9a3b299e23a8ef739e711ef0c71/src/bpacking.cpp - -Copyright: 2013 Daniel Lemire -Home page: http://lemire.me/en/ -Project page: https://github.com/lemire/FrameOfReference -License: Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 - --------------------------------------------------------------------------------- - -This project includes code from the TensorFlow project - -Copyright 2015 The TensorFlow Authors. All Rights Reserved. - -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. - --------------------------------------------------------------------------------- - -This project includes code from the NumPy project. - -https://github.com/numpy/numpy/blob/e1f191c46f2eebd6cb892a4bfe14d9dd43a06c4e/numpy/core/src/multiarray/multiarraymodule.c#L2910 - -https://github.com/numpy/numpy/blob/68fd82271b9ea5a9e50d4e761061dfcca851382a/numpy/core/src/multiarray/datetime.c - -Copyright (c) 2005-2017, NumPy Developers. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - * Neither the name of the NumPy Developers nor the names of any - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -This project includes code from the Boost project - -Boost Software License - Version 1.0 - August 17th, 2003 - -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: - -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - --------------------------------------------------------------------------------- - -This project includes code from the FlatBuffers project - -Copyright 2014 Google Inc. - -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. - --------------------------------------------------------------------------------- - -This project includes code from the tslib project - -Copyright 2015 Microsoft Corporation. All rights reserved. - -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. - --------------------------------------------------------------------------------- - -This project includes code from the jemalloc project - -https://github.com/jemalloc/jemalloc - -Copyright (C) 2002-2017 Jason Evans . -All rights reserved. -Copyright (C) 2007-2012 Mozilla Foundation. All rights reserved. -Copyright (C) 2009-2017 Facebook, Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: -1. Redistributions of source code must retain the above copyright notice(s), - this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice(s), - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY EXPRESS -OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- - -This project includes code from the Go project, BSD 3-clause license + PATENTS -weak patent termination clause -(https://github.com/golang/go/blob/master/PATENTS). - -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -This project includes code from the hs2client - -https://github.com/cloudera/hs2client - -Copyright 2016 Cloudera Inc. - -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. - --------------------------------------------------------------------------------- - -The script ci/scripts/util_wait_for_it.sh has the following license - -Copyright (c) 2016 Giles Hall - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - --------------------------------------------------------------------------------- - -The script r/configure has the following license (MIT) - -Copyright (c) 2017, Jeroen Ooms and Jim Hester - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - --------------------------------------------------------------------------------- - -cpp/src/arrow/util/logging.cc, cpp/src/arrow/util/logging.h and -cpp/src/arrow/util/logging-test.cc are adapted from -Ray Project (https://github.com/ray-project/ray) (Apache 2.0). - -Copyright (c) 2016 Ray Project (https://github.com/ray-project/ray) - -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. - --------------------------------------------------------------------------------- -The files cpp/src/arrow/vendored/datetime/date.h, cpp/src/arrow/vendored/datetime/tz.h, -cpp/src/arrow/vendored/datetime/tz_private.h, cpp/src/arrow/vendored/datetime/ios.h, -cpp/src/arrow/vendored/datetime/ios.mm, -cpp/src/arrow/vendored/datetime/tz.cpp are adapted from -Howard Hinnant's date library (https://github.com/HowardHinnant/date) -It is licensed under MIT license. - -The MIT License (MIT) -Copyright (c) 2015, 2016, 2017 Howard Hinnant -Copyright (c) 2016 Adrian Colomitchi -Copyright (c) 2017 Florian Dang -Copyright (c) 2017 Paul Thompson -Copyright (c) 2018 Tomasz Kamiński - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - --------------------------------------------------------------------------------- - -The file cpp/src/arrow/util/utf8.h includes code adapted from the page - https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ -with the following license (MIT) - -Copyright (c) 2008-2009 Bjoern Hoehrmann - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - --------------------------------------------------------------------------------- - -The file cpp/src/arrow/vendored/string_view.hpp has the following license - -Boost Software License - Version 1.0 - August 17th, 2003 - -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: - -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - --------------------------------------------------------------------------------- - -The file cpp/src/arrow/vendored/variant.hpp has the following license - -Boost Software License - Version 1.0 - August 17th, 2003 - -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: - -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - --------------------------------------------------------------------------------- - -The files in cpp/src/arrow/vendored/xxhash/ have the following license -(BSD 2-Clause License) - -xxHash Library -Copyright (c) 2012-2014, Yann Collet -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -You can contact the author at : -- xxHash homepage: http://www.xxhash.com -- xxHash source repository : https://github.com/Cyan4973/xxHash - --------------------------------------------------------------------------------- - -The files in cpp/src/arrow/vendored/double-conversion/ have the following license -(BSD 3-Clause License) - -Copyright 2006-2011, the V8 project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -The files in cpp/src/arrow/vendored/uriparser/ have the following license -(BSD 3-Clause License) - -uriparser - RFC 3986 URI parsing library - -Copyright (C) 2007, Weijia Song -Copyright (C) 2007, Sebastian Pipping -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. - - * Neither the name of the nor the names of its - contributors may be used to endorse or promote products - derived from this software without specific prior written - permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -The files under dev/tasks/conda-recipes have the following license - -BSD 3-clause license -Copyright (c) 2015-2018, conda-forge -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR -TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -The files in cpp/src/arrow/vendored/utfcpp/ have the following license - -Copyright 2006-2018 Nemanja Trifunovic - -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: - -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - --------------------------------------------------------------------------------- - -This project includes code from Apache Kudu. - - * cpp/cmake_modules/CompilerInfo.cmake is based on Kudu's cmake_modules/CompilerInfo.cmake - -Copyright: 2016 The Apache Software Foundation. -Home page: https://kudu.apache.org/ -License: http://www.apache.org/licenses/LICENSE-2.0 - --------------------------------------------------------------------------------- - -This project includes code from Apache Impala (incubating), formerly -Impala. The Impala code and rights were donated to the ASF as part of the -Incubator process after the initial code imports into Apache Parquet. - -Copyright: 2012 Cloudera, Inc. -Copyright: 2016 The Apache Software Foundation. -Home page: http://impala.apache.org/ -License: http://www.apache.org/licenses/LICENSE-2.0 - --------------------------------------------------------------------------------- - -This project includes code from Apache Aurora. - -* dev/release/{release,changelog,release-candidate} are based on the scripts from - Apache Aurora - -Copyright: 2016 The Apache Software Foundation. -Home page: https://aurora.apache.org/ -License: http://www.apache.org/licenses/LICENSE-2.0 - --------------------------------------------------------------------------------- - -This project includes code from the Google styleguide. - -* cpp/build-support/cpplint.py is based on the scripts from the Google styleguide. - -Copyright: 2009 Google Inc. All rights reserved. -Homepage: https://github.com/google/styleguide -License: 3-clause BSD - --------------------------------------------------------------------------------- - -This project includes code from Snappy. - -* cpp/cmake_modules/{SnappyCMakeLists.txt,SnappyConfig.h} are based on code - from Google's Snappy project. - -Copyright: 2009 Google Inc. All rights reserved. -Homepage: https://github.com/google/snappy -License: 3-clause BSD - --------------------------------------------------------------------------------- - -This project includes code from the manylinux project. - -* python/manylinux1/scripts/{build_python.sh,python-tag-abi-tag.py, - requirements.txt} are based on code from the manylinux project. - -Copyright: 2016 manylinux -Homepage: https://github.com/pypa/manylinux -License: The MIT License (MIT) - --------------------------------------------------------------------------------- - -This project includes code from the cymove project: - -* python/pyarrow/includes/common.pxd includes code from the cymove project - -The MIT License (MIT) -Copyright (c) 2019 Omer Ozarslan - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -OR OTHER DEALINGS IN THE SOFTWARE. - --------------------------------------------------------------------------------- - -The projects includes code from the Ursabot project under the dev/archery -directory. - -License: BSD 2-Clause - -Copyright 2019 RStudio, Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -This project include code from CMake. - -* cpp/cmake_modules/FindGTest.cmake is based on code from CMake. - -Copyright: Copyright 2000-2019 Kitware, Inc. and Contributors -Homepage: https://gitlab.kitware.com/cmake/cmake -License: 3-clause BSD - --------------------------------------------------------------------------------- - -This project include code from mingw-w64. - -* cpp/src/arrow/util/cpu-info.cc has a polyfill for mingw-w64 < 5 - -Copyright (c) 2009 - 2013 by the mingw-w64 project -Homepage: https://mingw-w64.org -License: Zope Public License (ZPL) Version 2.1. - ---------------------------------------------------------------------------------- - -This project include code from Google's Asylo project. - -* cpp/src/arrow/result.h is based on status_or.h - -Copyright (c) Copyright 2017 Asylo authors -Homepage: https://asylo.dev/ -License: Apache 2.0 - --------------------------------------------------------------------------------- - -This project includes code from Google's protobuf project - -* cpp/src/arrow/result.h ARROW_ASSIGN_OR_RAISE is based off ASSIGN_OR_RETURN - -Copyright 2008 Google Inc. All rights reserved. -Homepage: https://developers.google.com/protocol-buffers/ -License: - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Code generated by the Protocol Buffer compiler is owned by the owner -of the input file used when generating it. This code is not -standalone and requires a support library to be linked with it. This -support library is itself covered by the above license. - --------------------------------------------------------------------------------- - -3rdparty dependency LLVM is statically linked in certain binary distributions. -Additionally some sections of source code have been derived from sources in LLVM -and have been clearly labeled as such. LLVM has the following license: - -============================================================================== -The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: -============================================================================== - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - ----- LLVM Exceptions to the Apache 2.0 License ---- - -As an exception, if, as a result of your compiling your source code, portions -of this Software are embedded into an Object form of such source code, you -may redistribute such embedded portions in such Object form without complying -with the conditions of Sections 4(a), 4(b) and 4(d) of the License. - -In addition, if you combine or link compiled forms of this Software with -software that is licensed under the GPLv2 ("Combined Software") and if a -court of competent jurisdiction determines that the patent provision (Section -3), the indemnity provision (Section 9) or other Section of the License -conflicts with the conditions of the GPLv2, you may retroactively and -prospectively choose to deem waived or otherwise exclude such Section(s) of -the License, but only in their entirety and only with respect to the Combined -Software. - -============================================================================== -Software from third parties included in the LLVM Project: -============================================================================== -The LLVM Project contains third party software which is under different license -terms. All such code will be identified clearly using at least one of two -mechanisms: -1) It will be in a separate directory tree with its own `LICENSE.txt` or - `LICENSE` file at the top containing the specific license and restrictions - which apply to that software, or -2) It will contain specific license and restriction terms at the top of every - file. - --------------------------------------------------------------------------------- - -3rdparty dependency gRPC is statically linked in certain binary -distributions, like the python wheels. gRPC has the following license: - -Copyright 2014 gRPC authors. - -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. - --------------------------------------------------------------------------------- - -3rdparty dependency Apache Thrift is statically linked in certain binary -distributions, like the python wheels. Apache Thrift has the following license: - -Apache Thrift -Copyright (C) 2006 - 2019, The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -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. - --------------------------------------------------------------------------------- - -3rdparty dependency Apache ORC is statically linked in certain binary -distributions, like the python wheels. Apache ORC has the following license: - -Apache ORC -Copyright 2013-2019 The Apache Software Foundation - -This product includes software developed by The Apache Software -Foundation (http://www.apache.org/). - -This product includes software developed by Hewlett-Packard: -(c) Copyright [2014-2015] Hewlett-Packard Development Company, L.P - -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. - --------------------------------------------------------------------------------- - -3rdparty dependency zstd is statically linked in certain binary -distributions, like the python wheels. ZSTD has the following license: - -BSD License - -For Zstandard software - -Copyright (c) 2016-present, Facebook, Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - * Neither the name Facebook nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -3rdparty dependency lz4 is statically linked in certain binary -distributions, like the python wheels. lz4 has the following license: - -LZ4 Library -Copyright (c) 2011-2016, Yann Collet -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -3rdparty dependency Brotli is statically linked in certain binary -distributions, like the python wheels. Brotli has the following license: - -Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - --------------------------------------------------------------------------------- - -3rdparty dependency rapidjson is statically linked in certain binary -distributions, like the python wheels. rapidjson and its dependencies have the -following licenses: - -Tencent is pleased to support the open source community by making RapidJSON -available. - -Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. -All rights reserved. - -If you have downloaded a copy of the RapidJSON binary from Tencent, please note -that the RapidJSON binary is licensed under the MIT License. -If you have downloaded a copy of the RapidJSON source code from Tencent, please -note that RapidJSON source code is licensed under the MIT License, except for -the third-party components listed below which are subject to different license -terms. Your integration of RapidJSON into your own projects may require -compliance with the MIT License, as well as the other licenses applicable to -the third-party components included within RapidJSON. To avoid the problematic -JSON license in your own projects, it's sufficient to exclude the -bin/jsonchecker/ directory, as it's the only code under the JSON license. -A copy of the MIT License is included in this file. - -Other dependencies and licenses: - - Open Source Software Licensed Under the BSD License: - -------------------------------------------------------------------- - - The msinttypes r29 - Copyright (c) 2006-2013 Alexander Chemeris - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY - EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR - ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH - DAMAGE. - - Open Source Software Licensed Under the JSON License: - -------------------------------------------------------------------- - - json.org - Copyright (c) 2002 JSON.org - All Rights Reserved. - - JSON_checker - Copyright (c) 2002 JSON.org - All Rights Reserved. - - - Terms of the JSON License: - --------------------------------------------------- - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - The Software shall be used for Good, not Evil. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - - Terms of the MIT License: - -------------------------------------------------------------------- - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - --------------------------------------------------------------------------------- - -3rdparty dependency snappy is statically linked in certain binary -distributions, like the python wheels. snappy has the following license: - -Copyright 2011, Google Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its contributors may be - used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -=== - -Some of the benchmark data in testdata/ is licensed differently: - - - fireworks.jpeg is Copyright 2013 Steinar H. Gunderson, and - is licensed under the Creative Commons Attribution 3.0 license - (CC-BY-3.0). See https://creativecommons.org/licenses/by/3.0/ - for more information. - - - kppkn.gtb is taken from the Gaviota chess tablebase set, and - is licensed under the MIT License. See - https://sites.google.com/site/gaviotachessengine/Home/endgame-tablebases-1 - for more information. - - - paper-100k.pdf is an excerpt (bytes 92160 to 194560) from the paper - “Combinatorial Modeling of Chromatin Features Quantitatively Predicts DNA - Replication Timing in _Drosophila_” by Federico Comoglio and Renato Paro, - which is licensed under the CC-BY license. See - http://www.ploscompbiol.org/static/license for more ifnormation. - - - alice29.txt, asyoulik.txt, plrabn12.txt and lcet10.txt are from Project - Gutenberg. The first three have expired copyrights and are in the public - domain; the latter does not have expired copyright, but is still in the - public domain according to the license information - (http://www.gutenberg.org/ebooks/53). - --------------------------------------------------------------------------------- - -3rdparty dependency gflags is statically linked in certain binary -distributions, like the python wheels. gflags has the following license: - -Copyright (c) 2006, Google Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -3rdparty dependency glog is statically linked in certain binary -distributions, like the python wheels. glog has the following license: - -Copyright (c) 2008, Google Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -A function gettimeofday in utilities.cc is based on - -http://www.google.com/codesearch/p?hl=en#dR3YEbitojA/COPYING&q=GetSystemTimeAsFileTime%20license:bsd - -The license of this code is: - -Copyright (c) 2003-2008, Jouni Malinen and contributors -All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -3. Neither the name(s) of the above-listed copyright holder(s) nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -3rdparty dependency re2 is statically linked in certain binary -distributions, like the python wheels. re2 has the following license: - -Copyright (c) 2009 The RE2 Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its contributors - may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -3rdparty dependency c-ares is statically linked in certain binary -distributions, like the python wheels. c-ares has the following license: - -# c-ares license - -Copyright (c) 2007 - 2018, Daniel Stenberg with many contributors, see AUTHORS -file. - -Copyright 1998 by the Massachusetts Institute of Technology. - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, provided that -the above copyright notice appear in all copies and that both that copyright -notice and this permission notice appear in supporting documentation, and that -the name of M.I.T. not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior permission. -M.I.T. makes no representations about the suitability of this software for any -purpose. It is provided "as is" without express or implied warranty. - --------------------------------------------------------------------------------- - -3rdparty dependency zlib is redistributed as a dynamically linked shared -library in certain binary distributions, like the python wheels. In the future -this will likely change to static linkage. zlib has the following license: - -zlib.h -- interface of the 'zlib' general purpose compression library - version 1.2.11, January 15th, 2017 - - Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Jean-loup Gailly Mark Adler - jloup@gzip.org madler@alumni.caltech.edu - --------------------------------------------------------------------------------- - -3rdparty dependency openssl is redistributed as a dynamically linked shared -library in certain binary distributions, like the python wheels. openssl -preceding version 3 has the following license: - - LICENSE ISSUES - ============== - - The OpenSSL toolkit stays under a double license, i.e. both the conditions of - the OpenSSL License and the original SSLeay license apply to the toolkit. - See below for the actual license texts. - - OpenSSL License - --------------- - -/* ==================================================================== - * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - - Original SSLeay License - ----------------------- - -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - --------------------------------------------------------------------------------- - -This project includes code from the rtools-backports project. - -* ci/scripts/PKGBUILD and ci/scripts/r_windows_build.sh are based on code - from the rtools-backports project. - -Copyright: Copyright (c) 2013 - 2019, Алексей and Jeroen Ooms. -All rights reserved. -Homepage: https://github.com/r-windows/rtools-backports -License: 3-clause BSD - --------------------------------------------------------------------------------- - -Some code from pandas has been adapted for the pyarrow codebase. pandas is -available under the 3-clause BSD license, which follows: - -pandas license -============== - -Copyright (c) 2011-2012, Lambda Foundry, Inc. and PyData Development Team -All rights reserved. - -Copyright (c) 2008-2011 AQR Capital Management, LLC -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - * Neither the name of the copyright holder nor the names of any - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -Some bits from DyND, in particular aspects of the build system, have been -adapted from libdynd and dynd-python under the terms of the BSD 2-clause -license - -The BSD 2-Clause License - - Copyright (C) 2011-12, Dynamic NDArray Developers - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Dynamic NDArray Developers list: - - * Mark Wiebe - * Continuum Analytics - --------------------------------------------------------------------------------- - -Some source code from Ibis (https://github.com/cloudera/ibis) has been adapted -for PyArrow. Ibis is released under the Apache License, Version 2.0. - --------------------------------------------------------------------------------- - -This project includes code from the autobrew project. - -* r/tools/autobrew and dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb - are based on code from the autobrew project. - -Copyright (c) 2019, Jeroen Ooms -License: MIT -Homepage: https://github.com/jeroen/autobrew - --------------------------------------------------------------------------------- - -dev/tasks/homebrew-formulae/apache-arrow.rb has the following license: - -BSD 2-Clause License - -Copyright (c) 2009-present, Homebrew contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ----------------------------------------------------------------------- - -cpp/src/arrow/vendored/base64.cpp has the following license - -ZLIB License - -Copyright (C) 2004-2017 René Nyffenegger - -This source code is provided 'as-is', without any express or implied -warranty. In no event will the author be held liable for any damages arising -from the use of this software. - -Permission is granted to anyone to use this software for any purpose, including -commercial applications, and to alter it and redistribute it freely, subject to -the following restrictions: - -1. The origin of this source code must not be misrepresented; you must not - claim that you wrote the original source code. If you use this source code - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original source code. - -3. This notice may not be removed or altered from any source distribution. - -René Nyffenegger rene.nyffenegger@adp-gmbh.ch - --------------------------------------------------------------------------------- - -The file cpp/src/arrow/vendored/optional.hpp has the following license - -Boost Software License - Version 1.0 - August 17th, 2003 - -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: - -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - --------------------------------------------------------------------------------- - -The file cpp/src/arrow/vendored/musl/strptime.c has the following license - -Copyright © 2005-2020 Rich Felker, et al. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - --------------------------------------------------------------------------------- - -The file cpp/cmake_modules/BuildUtils.cmake contains code from - -https://gist.github.com/cristianadam/ef920342939a89fae3e8a85ca9459b49 - -which is made available under the MIT license - -Copyright (c) 2019 Cristian Adam - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - --------------------------------------------------------------------------------- - -The files in cpp/src/arrow/vendored/portable-snippets/ contain code from - -https://github.com/nemequ/portable-snippets - -and have the following copyright notice: - -Each source file contains a preamble explaining the license situation -for that file, which takes priority over this file. With the -exception of some code pulled in from other repositories (such as -µnit, an MIT-licensed project which is used for testing), the code is -public domain, released using the CC0 1.0 Universal dedication (*). - -(*) https://creativecommons.org/publicdomain/zero/1.0/legalcode - - -* Apache-2.0 * - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - Copyright 2015 Microsoft Corporation - - 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. - - -* Apache-2.0 * - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - Copyright 2016 The Linux Foundation. - - 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. - - -* Apache-2.0 * - - - Apache License - Version 2.0, January 2004 - https://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - Copyright 2013-2018 Docker, Inc. - - 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 - - https://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. - - -* Apache-2.0 * - - - Apache License - Version 2.0, January 2004 - https://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - Copyright 2015 Docker, Inc. - - 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 - - https://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. - - -* Apache-2.0 * - - - Apache License - Version 2.0, January 2004 - https://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - Copyright 2019, 2020 OCI Contributors - Copyright 2016 Docker, Inc. - - 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 - - https://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. - - -* Apache-2.0 * - - - Apache License - Version 2.0, January 2004 - https://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - Copyright The containerd Authors - - 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 - - https://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. - - -* Apache-2.0 * - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - - -* BSD-3-Clause * - - -Copyright (c) 2009-2011, Mozilla Foundation and contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the names of the Mozilla Foundation nor the names of project - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MIT * - - -Copyright 2009–2014 Contributors. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. - - - -* MIT * - - -The MIT License (MIT) - -Copyright (c) 2013 Mikola Lysenko - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* Apache-2.0 * - - -This project is covered by two different licenses: MIT and Apache. - -#### MIT License #### - -The following files were ported to Go from C files of libyaml, and thus -are still covered by their original MIT license, with the additional -copyright staring in 2011 when the project was ported over: - - apic.go emitterc.go parserc.go readerc.go scannerc.go - writerc.go yamlh.go yamlprivateh.go - -Copyright (c) 2006-2010 Kirill Simonov -Copyright (c) 2006-2011 Kirill Simonov - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -### Apache License ### - -All the remaining project files are covered by the Apache license: - -Copyright (c) 2011-2019 Canonical Ltd - -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. - - -* Apache-2.0 * - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - -* Apache-2.0 * - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2014 Google Inc. - - 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. - - -* Apache-2.0 * - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2020-2021 Buf Technologies, Inc. - - 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. - - -* Apache-2.0 * - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2022 Alan Shreve (@inconshreveable) - - 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. - - -* Apache-2.0 * - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - -* Apache-2.0 * - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright (c) 2017-2018 Snowflake Computing Inc. All right reserved. - - 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. - - -* Apache-2.0 * - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright (c) 2018-2020, Dmitrij Koniajev (dimchansky@gmail.com) - - 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. - - -* Apache-2.0 * - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2015 Marc-Antoine Ruel - - 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. - - -* Apache-2.0 * - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2016 Paulo Pires - - 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. - - -* Apache-2.0 * - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2016 The OpenTracing Authors - - 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. - - -* Apache-2.0 * - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright contributors - - 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. - - -* Apache-2.0 * - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} Authors of Cilium - - 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. - - - -* Apache-2.0 * - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - 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. - - -* Apache-2.0 * - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - 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. - - - -* Apache-2.0 * - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - -* Apache-2.0 * - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - -* Apache-2.0 * - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -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. - - -* Apache-2.0 * - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - -* MIT * - - MIT License - - Copyright (c) Microsoft Corporation. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE - - -* MIT * - - MIT License - - Copyright (c) Microsoft Corporation. All rights reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE - - -* MIT * - - MIT License - - Copyright (c) Microsoft Corporation. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE - - -* MIT * - - MIT License - - Copyright (c) Microsoft Corporation. All rights reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE - - -* WTFPL * - - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - Version 2, December 2004 - -Copyright (C) 2015 Pavel Gulbin <2tvenom@gmail.com> - -Everyone is permitted to copy and distribute verbatim or modified -copies of this license document, and changing it is allowed as long -as the name is changed. - - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. You just DO WHAT THE FUCK YOU WANT TO. - -* Apache-2.0 * - -# License - -JSDoc is free software, licensed under the Apache License, Version 2.0 (the -"License"). Commercial and non-commercial use are permitted in compliance with -the License. - -Copyright (c) 2011-present Michael Mathews and the -[contributors to JSDoc](https://github.com/jsdoc/jsdoc/graphs/contributors). All -rights reserved. - -You can obtain a copy of the License at: -https://www.apache.org/licenses/LICENSE-2.0 - -In addition, a copy of the License is included with this distribution. - -As stated in Section 7, "Disclaimer of Warranty," of the License: - -> Licensor provides the Work (and each Contributor provides its Contributions) -> on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either -> express or implied, including, without limitation, any warranties or -> conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A -> PARTICULAR PURPOSE. You are solely responsible for determining the -> appropriateness of using or redistributing the Work and assume any risks -> associated with Your exercise of permissions under this License. - -The source code for JSDoc is available at: https://github.com/jsdoc/jsdoc - -# Third-party software - -JSDoc includes the following third-party software, either in whole or in part. -Each third-party software package is provided under its own license. - -## MIT License - -Several of the following software packages are distributed under the MIT -license, which is reproduced below: - -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all -> copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -> SOFTWARE. - -## Google Code Prettify - -Google Code Prettify is distributed under the Apache License 2.0, which is -included with this package. - -Copyright (c) 2006 Google Inc. - -The source code for Google Code Prettify is available at: -https://code.google.com/p/google-code-prettify/ - -## Jasmine - -Jasmine is distributed under the MIT license, which is reproduced above. - -Copyright (c) 2008-2011 Pivotal Labs. - -The source code for Jasmine is available at: -https://github.com/pivotal/jasmine - -## jasmine-node - -jasmine-node is distributed under the MIT license, which is reproduced above. - -Copyright (c) 2010 Adam Abrons and Misko Hevery (http://getangular.com). - -The source code for jasmine-node is available at: -https://github.com/mhevery/jasmine-node - -## Open Sans - -Open Sans is distributed under the Apache License 2.0, which is -included with this package. - -Copyright (c) 2010-2011, Google Inc. - -This typeface, including the complete set of variations, are available at: -https://fonts.google.com/specimen/Open+Sans - -## Tomorrow theme for Google Code Prettify - -The Tomorrow theme for Google Code Prettify is distributed under the MIT -license, which is reproduced above. - -Copyright (c) 2016 Yoshihide Jimbo. - -The source code for the Tomorrow theme is available at: -https://github.com/jmblog/color-themes-for-google-code-prettify - - -* BSD-3-Clause * - -# License information - -## Contribution License Agreement - -If you contribute code to this project, you are implicitly allowing your code -to be distributed under the MIT license. You are also implicitly verifying that -all code is your original work. `` - -## Marked - -Copyright (c) 2018+, MarkedJS (https://github.com/markedjs/) -Copyright (c) 2011-2018, Christopher Jeffrey (https://github.com/chjj/) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -## Markdown - -Copyright © 2004, John Gruber -http://daringfireball.net/ -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -* Neither the name “Markdown” nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -This software is provided by the copyright holders and contributors “as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage. - - -* MIT * - -# MIT License - -Copyright (c) 2013 Shopify - -Copyright (c) 2023 IBM Corporation - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -# The MIT License - -Copyright © 2018 Hoàng Văn Khải - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -# The MIT License (MIT) - -**Copyright (c) Rod Vagg (the "Original Author") and additional contributors** - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -# This is the MIT license - -Copyright (c) 2015 Joyent Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -* MIT * - -# timers-browserify - -This project uses the [MIT](http://jryans.mit-license.org/) license: - - Copyright © 2012 J. Ryan Stinnett - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the “Software”), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - -# lib/node - -The `lib/node` directory borrows files from joyent/node which uses the following license: - - Copyright Joyent, Inc. and other Node contributors. All rights reserved. - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to - deal in the Software without restriction, including without limitation the - rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - IN THE SOFTWARE. - - -* MIT * - -## The MIT License (MIT) ## - -Copyright (c) 2014 Hugh Kennedy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* Apache-2.0 * - -##nvd3.js License - -Copyright (c) 2011-2014 [Novus Partners, Inc.][novus] - -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. - -[novus]: https://www.novus.com/ - - - -##d3.js License - -Copyright (c) 2012, Michael Bostock -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* The name Michael Bostock may not be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MIT * - -(MIT License) - -Copyright (c) 2013 [Ramesh Nair](http://www.hiddentao.com/) - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - - -* MIT * - -(MIT) - -Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -(The MIT License) - -Copyright (C) 2011-2015 by Vitaly Puzrin - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -(The MIT License) - -Copyright (C) 2012 by Vitaly Puzrin - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -(The MIT License) - -Copyright (C) 2014-2017 by Vitaly Puzrin and Andrei Tuputcyn - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -(The MIT License) - -Copyright (c) 2011 TJ Holowaychuk - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -(The MIT License) - -Copyright (c) 2011-2017 JP Richardson - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files -(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, - merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS -OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -(The MIT License) - -Copyright (c) 2012 Tobias Koppers - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -(The MIT License) - -Copyright (c) 2012-2015, JP Richardson - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files -(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, - merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS -OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -(The MIT License) - -Copyright (c) 2013 Roman Shtylman - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -(The MIT License) - -Copyright (c) 2014 Nathan Rajlich - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -(The MIT License) - -Copyright (c) 2014 TJ Holowaychuk - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software -and associated documentation files (the 'Software'), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial -portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT -LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -* MIT * - -(The MIT License) - -Copyright (c) 2014-2017 Douglas Christopher Wilson - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -(The MIT License) - -Copyright (c) 2014-2017 TJ Holowaychuk -Copyright (c) 2018-2021 Josh Junon - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software -and associated documentation files (the 'Software'), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial -portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT -LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -* MIT * - -(The MIT License) - -Copyright (c) 2015-2016 JP Richardson - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files -(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, - merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS -OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -(The MIT License) - -Copyright (c) 2017 TJ Holowaychuk - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -(The MIT License) - -Copyright (c) 2017, Ryan Zimmerman - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the 'Software'), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* 0BSD * - -Copyright (C) 2006 by Rob Landley -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -* MIT * - - - -

License

- -Unless stated otherwise all works are: - - - -and licensed under: - - - -

MIT License

- -
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- - - - -* Python-2.0 * - -A. HISTORY OF THE SOFTWARE -========================== - -Python was created in the early 1990s by Guido van Rossum at Stichting -Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands -as a successor of a language called ABC. Guido remains Python's -principal author, although it includes many contributions from others. - -In 1995, Guido continued his work on Python at the Corporation for -National Research Initiatives (CNRI, see http://www.cnri.reston.va.us) -in Reston, Virginia where he released several versions of the -software. - -In May 2000, Guido and the Python core development team moved to -BeOpen.com to form the BeOpen PythonLabs team. In October of the same -year, the PythonLabs team moved to Digital Creations, which became -Zope Corporation. In 2001, the Python Software Foundation (PSF, see -https://www.python.org/psf/) was formed, a non-profit organization -created specifically to own Python-related Intellectual Property. -Zope Corporation was a sponsoring member of the PSF. - -All Python releases are Open Source (see http://www.opensource.org for -the Open Source Definition). Historically, most, but not all, Python -releases have also been GPL-compatible; the table below summarizes -the various releases. - - Release Derived Year Owner GPL- - from compatible? (1) - - 0.9.0 thru 1.2 1991-1995 CWI yes - 1.3 thru 1.5.2 1.2 1995-1999 CNRI yes - 1.6 1.5.2 2000 CNRI no - 2.0 1.6 2000 BeOpen.com no - 1.6.1 1.6 2001 CNRI yes (2) - 2.1 2.0+1.6.1 2001 PSF no - 2.0.1 2.0+1.6.1 2001 PSF yes - 2.1.1 2.1+2.0.1 2001 PSF yes - 2.1.2 2.1.1 2002 PSF yes - 2.1.3 2.1.2 2002 PSF yes - 2.2 and above 2.1.1 2001-now PSF yes - -Footnotes: - -(1) GPL-compatible doesn't mean that we're distributing Python under - the GPL. All Python licenses, unlike the GPL, let you distribute - a modified version without making your changes open source. The - GPL-compatible licenses make it possible to combine Python with - other software that is released under the GPL; the others don't. - -(2) According to Richard Stallman, 1.6.1 is not GPL-compatible, - because its license has a choice of law clause. According to - CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1 - is "not incompatible" with the GPL. - -Thanks to the many outside volunteers who have worked under Guido's -direction to make these releases possible. - - -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON -=============================================================== - -PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 --------------------------------------------- - -1. This LICENSE AGREEMENT is between the Python Software Foundation -("PSF"), and the Individual or Organization ("Licensee") accessing and -otherwise using this software ("Python") in source or binary form and -its associated documentation. - -2. Subject to the terms and conditions of this License Agreement, PSF hereby -grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, -analyze, test, perform and/or display publicly, prepare derivative works, -distribute, and otherwise use Python alone or in any derivative version, -provided, however, that PSF's License Agreement and PSF's notice of copyright, -i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Python Software Foundation; -All Rights Reserved" are retained in Python alone or in any derivative version -prepared by Licensee. - -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python or any part thereof, and wants to make -the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to Python. - -4. PSF is making Python available to Licensee on an "AS IS" -basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. Nothing in this License Agreement shall be deemed to create any -relationship of agency, partnership, or joint venture between PSF and -Licensee. This License Agreement does not grant permission to use PSF -trademarks or trade name in a trademark sense to endorse or promote -products or services of Licensee, or any third party. - -8. By copying, installing or otherwise using Python, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. - - -BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0 -------------------------------------------- - -BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 - -1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an -office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the -Individual or Organization ("Licensee") accessing and otherwise using -this software in source or binary form and its associated -documentation ("the Software"). - -2. Subject to the terms and conditions of this BeOpen Python License -Agreement, BeOpen hereby grants Licensee a non-exclusive, -royalty-free, world-wide license to reproduce, analyze, test, perform -and/or display publicly, prepare derivative works, distribute, and -otherwise use the Software alone or in any derivative version, -provided, however, that the BeOpen Python License is retained in the -Software, alone or in any derivative version prepared by Licensee. - -3. BeOpen is making the Software available to Licensee on an "AS IS" -basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE -SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS -AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY -DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -5. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -6. This License Agreement shall be governed by and interpreted in all -respects by the law of the State of California, excluding conflict of -law provisions. Nothing in this License Agreement shall be deemed to -create any relationship of agency, partnership, or joint venture -between BeOpen and Licensee. This License Agreement does not grant -permission to use BeOpen trademarks or trade names in a trademark -sense to endorse or promote products or services of Licensee, or any -third party. As an exception, the "BeOpen Python" logos available at -http://www.pythonlabs.com/logos.html may be used according to the -permissions granted on that web page. - -7. By copying, installing or otherwise using the software, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. - - -CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1 ---------------------------------------- - -1. This LICENSE AGREEMENT is between the Corporation for National -Research Initiatives, having an office at 1895 Preston White Drive, -Reston, VA 20191 ("CNRI"), and the Individual or Organization -("Licensee") accessing and otherwise using Python 1.6.1 software in -source or binary form and its associated documentation. - -2. Subject to the terms and conditions of this License Agreement, CNRI -hereby grants Licensee a nonexclusive, royalty-free, world-wide -license to reproduce, analyze, test, perform and/or display publicly, -prepare derivative works, distribute, and otherwise use Python 1.6.1 -alone or in any derivative version, provided, however, that CNRI's -License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) -1995-2001 Corporation for National Research Initiatives; All Rights -Reserved" are retained in Python 1.6.1 alone or in any derivative -version prepared by Licensee. Alternately, in lieu of CNRI's License -Agreement, Licensee may substitute the following text (omitting the -quotes): "Python 1.6.1 is made available subject to the terms and -conditions in CNRI's License Agreement. This Agreement together with -Python 1.6.1 may be located on the Internet using the following -unique, persistent identifier (known as a handle): 1895.22/1013. This -Agreement may also be obtained from a proxy server on the Internet -using the following URL: http://hdl.handle.net/1895.22/1013". - -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python 1.6.1 or any part thereof, and wants to make -the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to Python 1.6.1. - -4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" -basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. This License Agreement shall be governed by the federal -intellectual property law of the United States, including without -limitation the federal copyright law, and, to the extent such -U.S. federal law does not apply, by the law of the Commonwealth of -Virginia, excluding Virginia's conflict of law provisions. -Notwithstanding the foregoing, with regard to derivative works based -on Python 1.6.1 that incorporate non-separable material that was -previously distributed under the GNU General Public License (GPL), the -law of the Commonwealth of Virginia shall govern this License -Agreement only as to issues arising under or with respect to -Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this -License Agreement shall be deemed to create any relationship of -agency, partnership, or joint venture between CNRI and Licensee. This -License Agreement does not grant permission to use CNRI trademarks or -trade name in a trademark sense to endorse or promote products or -services of Licensee, or any third party. - -8. By clicking on the "ACCEPT" button where indicated, or by copying, -installing or otherwise using Python 1.6.1, Licensee agrees to be -bound by the terms and conditions of this License Agreement. - - ACCEPT - - -CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2 --------------------------------------------------- - -Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, -The Netherlands. All rights reserved. - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of Stichting Mathematisch -Centrum or CWI not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE -FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -* AML * - -Copyright: Copyright (c) 2006 by Apple Computer, Inc., All Rights Reserved. -IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in consideration of your agreement to the following terms, and your use, installation, modification or redistribution of this Apple software constitutes acceptance of these terms. If you do not agree with these terms, please do not use, install, modify or redistribute this Apple software. -In consideration of your agreement to abide by the following terms, and subject to these terms, Apple grants you a personal, non-exclusive license, under Apple's copyrights in this original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the Apple Software, with or without modifications, in source and/or binary forms; provided that if you redistribute the Apple Software in its entirety and without modifications, you must retain this notice and the following text and disclaimers in all such redistributions of the Apple Software. Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to endorse or promote products derived from the Apple Software without specific prior written permission from Apple. Except as expressly stated in this notice, no other rights or licenses, express or implied, are granted by Apple herein, including but not limited to any patent rights that may be infringed by your derivative works or by other works in which the Apple Software may be incorporated. -The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. -IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* Apache-2.0 * - -Apache License - -Version 2.0, January 2004 - -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, -and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the -copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other -entities that control, are controlled by, or are under common control -with that entity. For the purposes of this definition, "control" means -(i) the power, direct or indirect, to cause the direction or -management of such entity, whether by contract or otherwise, or (ii) -ownership of fifty percent (50%) or more of the outstanding shares, or -(iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising -permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, -including but not limited to software source code, documentation -source, and configuration files. - -"Object" form shall mean any form resulting from mechanical -transformation or translation of a Source form, including but not -limited to compiled object code, generated documentation, and -conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object -form, made available under the License, as indicated by a copyright -notice that is included in or attached to the work (an example is -provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object -form, that is based on (or derived from) the Work and for which the -editorial revisions, annotations, elaborations, or other modifications -represent, as a whole, an original work of authorship. For the -purposes of this License, Derivative Works shall not include works -that remain separable from, or merely link (or bind by name) to the -interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the -original version of the Work and any modifications or additions to -that Work or Derivative Works thereof, that is intentionally submitted -to Licensor for inclusion in the Work by the copyright owner or by an -individual or Legal Entity authorized to submit on behalf of the -copyright owner. For the purposes of this definition, "submitted" -means any form of electronic, verbal, or written communication sent to -the Licensor or its representatives, including but not limited to -communication on electronic mailing lists, source code control -systems, and issue tracking systems that are managed by, or on behalf -of, the Licensor for the purpose of discussing and improving the Work, -but excluding communication that is conspicuously marked or otherwise -designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity -on behalf of whom a Contribution has been received by Licensor and -subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable -copyright license to reproduce, prepare Derivative Works of, publicly -display, publicly perform, sublicense, and distribute the Work and -such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except -as stated in this section) patent license to make, have made, use, -offer to sell, sell, import, and otherwise transfer the Work, where -such license applies only to those patent claims licensable by such -Contributor that are necessarily infringed by their Contribution(s) -alone or by combination of their Contribution(s) with the Work to -which such Contribution(s) was submitted. If You institute patent -litigation against any entity (including a cross-claim or counterclaim -in a lawsuit) alleging that the Work or a Contribution incorporated -within the Work constitutes direct or contributory patent -infringement, then any patent licenses granted to You under this -License for that Work shall terminate as of the date such litigation -is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work -or Derivative Works thereof in any medium, with or without -modifications, and in Source or Object form, provided that You meet -the following conditions: - -You must give any other recipients of the Work or Derivative Works a -copy of this License; and You must cause any modified files to carry -prominent notices stating that You changed the files; and You must -retain, in the Source form of any Derivative Works that You -distribute, all copyright, patent, trademark, and attribution notices -from the Source form of the Work, excluding those notices that do not -pertain to any part of the Derivative Works; and If the Work includes -a "NOTICE" text file as part of its distribution, then any Derivative -Works that You distribute must include a readable copy of the -attribution notices contained within such NOTICE file, excluding those -notices that do not pertain to any part of the Derivative Works, in at -least one of the following places: within a NOTICE text file -distributed as part of the Derivative Works; within the Source form or -documentation, if provided along with the Derivative Works; or, within -a display generated by the Derivative Works, if and wherever such -third-party notices normally appear. The contents of the NOTICE file -are for informational purposes only and do not modify the License. You -may add Your own attribution notices within Derivative Works that You -distribute, alongside or as an addendum to the NOTICE text from the -Work, provided that such additional attribution notices cannot be -construed as modifying the License. - -You may add Your own copyright statement to Your modifications and may -provide additional or different license terms and conditions for use, -reproduction, or distribution of Your modifications, or for any such -Derivative Works as a whole, provided Your use, reproduction, and -distribution of the Work otherwise complies with the conditions stated -in this License. 5. Submission of Contributions. Unless You -explicitly state otherwise, any Contribution intentionally submitted -for inclusion in the Work by You to the Licensor shall be under the -terms and conditions of this License, without any additional terms or -conditions. Notwithstanding the above, nothing herein shall supersede -or modify the terms of any separate license agreement you may have -executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade -names, trademarks, service marks, or product names of the Licensor, -except as required for reasonable and customary use in describing the -origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed -to in writing, Licensor provides the Work (and each Contributor -provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied, including, without -limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, -MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely -responsible for determining the appropriateness of using or -redistributing the Work and assume any risks associated with Your -exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, -whether in tort (including negligence), contract, or otherwise, unless -required by applicable law (such as deliberate and grossly negligent -acts) or agreed to in writing, shall any Contributor be liable to You -for damages, including any direct, indirect, special, incidental, or -consequential damages of any character arising as a result of this -License or out of the use or inability to use the Work (including but -not limited to damages for loss of goodwill, work stoppage, computer -failure or malfunction, or any and all other commercial damages or -losses), even if such Contributor has been advised of the possibility -of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing -the Work or Derivative Works thereof, You may choose to offer, and -charge a fee for, acceptance of support, warranty, indemnity, or other -liability obligations and/or rights consistent with this -License. However, in accepting such obligations, You may act only on -Your own behalf and on Your sole responsibility, not on behalf of any -other Contributor, and only if You agree to indemnify, defend, and -hold each Contributor harmless for any liability incurred by, or -claims asserted against, such Contributor by reason of your accepting -any such warranty or additional liability. - - - -* Apache-2.0 * - -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2015, Google Inc - Copyright 2018, GoGo Authors - - 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. - - - -* Apache-2.0 * - -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - 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. - - -* Apache-2.0 * - -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - 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. - - - -* Apache-2.0 * - -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {} - - 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. - - - -* Apache-2.0 * - -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, -and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by -the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all -other entities that control, are controlled by, or are under common -control with that entity. For the purposes of this definition, -"control" means (i) the power, direct or indirect, to cause the -direction or management of such entity, whether by contract or -otherwise, or (ii) ownership of fifty percent (50%) or more of the -outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity -exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, -including but not limited to software source code, documentation -source, and configuration files. - -"Object" form shall mean any form resulting from mechanical -transformation or translation of a Source form, including but -not limited to compiled object code, generated documentation, -and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or -Object form, made available under the License, as indicated by a -copyright notice that is included in or attached to the work -(an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object -form, that is based on (or derived from) the Work and for which the -editorial revisions, annotations, elaborations, or other modifications -represent, as a whole, an original work of authorship. For the purposes -of this License, Derivative Works shall not include works that remain -separable from, or merely link (or bind by name) to the interfaces of, -the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including -the original version of the Work and any modifications or additions -to that Work or Derivative Works thereof, that is intentionally -submitted to Licensor for inclusion in the Work by the copyright owner -or by an individual or Legal Entity authorized to submit on behalf of -the copyright owner. For the purposes of this definition, "submitted" -means any form of electronic, verbal, or written communication sent -to the Licensor or its representatives, including but not limited to -communication on electronic mailing lists, source code control systems, -and issue tracking systems that are managed by, or on behalf of, the -Licensor for the purpose of discussing and improving the Work, but -excluding communication that is conspicuously marked or otherwise -designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity -on behalf of whom a Contribution has been received by Licensor and -subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable -copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the -Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable -(except as stated in this section) patent license to make, have made, -use, offer to sell, sell, import, and otherwise transfer the Work, -where such license applies only to those patent claims licensable -by such Contributor that are necessarily infringed by their -Contribution(s) alone or by combination of their Contribution(s) -with the Work to which such Contribution(s) was submitted. If You -institute patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Work -or a Contribution incorporated within the Work constitutes direct -or contributory patent infringement, then any patent licenses -granted to You under this License for that Work shall terminate -as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the -Work or Derivative Works thereof in any medium, with or without -modifications, and in Source or Object form, provided that You -meet the following conditions: - -(a) You must give any other recipients of the Work or -Derivative Works a copy of this License; and - -(b) You must cause any modified files to carry prominent notices -stating that You changed the files; and - -(c) You must retain, in the Source form of any Derivative Works -that You distribute, all copyright, patent, trademark, and -attribution notices from the Source form of the Work, -excluding those notices that do not pertain to any part of -the Derivative Works; and - -(d) If the Work includes a "NOTICE" text file as part of its -distribution, then any Derivative Works that You distribute must -include a readable copy of the attribution notices contained -within such NOTICE file, excluding those notices that do not -pertain to any part of the Derivative Works, in at least one -of the following places: within a NOTICE text file distributed -as part of the Derivative Works; within the Source form or -documentation, if provided along with the Derivative Works; or, -within a display generated by the Derivative Works, if and -wherever such third-party notices normally appear. The contents -of the NOTICE file are for informational purposes only and -do not modify the License. You may add Your own attribution -notices within Derivative Works that You distribute, alongside -or as an addendum to the NOTICE text from the Work, provided -that such additional attribution notices cannot be construed -as modifying the License. - -You may add Your own copyright statement to Your modifications and -may provide additional or different license terms and conditions -for use, reproduction, or distribution of Your modifications, or -for any such Derivative Works as a whole, provided Your use, -reproduction, and distribution of the Work otherwise complies with -the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, -any Contribution intentionally submitted for inclusion in the Work -by You to the Licensor shall be under the terms and conditions of -this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify -the terms of any separate license agreement you may have executed -with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade -names, trademarks, service marks, or product names of the Licensor, -except as required for reasonable and customary use in describing the -origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or -agreed to in writing, Licensor provides the Work (and each -Contributor provides its Contributions) on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -implied, including, without limitation, any warranties or conditions -of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A -PARTICULAR PURPOSE. You are solely responsible for determining the -appropriateness of using or redistributing the Work and assume any -risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, -whether in tort (including negligence), contract, or otherwise, -unless required by applicable law (such as deliberate and grossly -negligent acts) or agreed to in writing, shall any Contributor be -liable to You for damages, including any direct, indirect, special, -incidental, or consequential damages of any character arising as a -result of this License or out of the use or inability to use the -Work (including but not limited to damages for loss of goodwill, -work stoppage, computer failure or malfunction, or any and all -other commercial damages or losses), even if such Contributor -has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing -the Work or Derivative Works thereof, You may choose to offer, -and charge a fee for, acceptance of support, warranty, indemnity, -or other liability obligations and/or rights consistent with this -License. However, in accepting such obligations, You may act only -on Your own behalf and on Your sole responsibility, not on behalf -of any other Contributor, and only if You agree to indemnify, -defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason -of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - -To apply the Apache License to your work, attach the following -boilerplate notice, with the fields enclosed by brackets "{}" -replaced with your own identifying information. (Don't include -the brackets!) The text should be enclosed in the appropriate -comment syntax for the file format. We also recommend that a -file or class name and description of purpose be included on the -same "printed page" as the copyright notice for easier -identification within third-party archives. - -Copyright 2017 The OpenZipkin Authors - -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. - - -* Apache-2.0 * - -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and -distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright -owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities -that control, are controlled by, or are under common control with that entity. -For the purposes of this definition, "control" means (i) the power, direct or -indirect, to cause the direction or management of such entity, whether by -contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the -outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising -permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including -but not limited to software source code, documentation source, and configuration -files. - -"Object" form shall mean any form resulting from mechanical transformation or -translation of a Source form, including but not limited to compiled object code, -generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made -available under the License, as indicated by a copyright notice that is included -in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that -is based on (or derived from) the Work and for which the editorial revisions, -annotations, elaborations, or other modifications represent, as a whole, an -original work of authorship. For the purposes of this License, Derivative Works -shall not include works that remain separable from, or merely link (or bind by -name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version -of the Work and any modifications or additions to that Work or Derivative Works -thereof, that is intentionally submitted to Licensor for inclusion in the Work -by the copyright owner or by an individual or Legal Entity authorized to submit -on behalf of the copyright owner. For the purposes of this definition, -"submitted" means any form of electronic, verbal, or written communication sent -to the Licensor or its representatives, including but not limited to -communication on electronic mailing lists, source code control systems, and -issue tracking systems that are managed by, or on behalf of, the Licensor for -the purpose of discussing and improving the Work, but excluding communication -that is conspicuously marked or otherwise designated in writing by the copyright -owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf -of whom a Contribution has been received by Licensor and subsequently -incorporated within the Work. - -2. Grant of Copyright License. - -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the Work and such -Derivative Works in Source or Object form. - -3. Grant of Patent License. - -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable (except as stated in this section) patent license to make, have -made, use, offer to sell, sell, import, and otherwise transfer the Work, where -such license applies only to those patent claims licensable by such Contributor -that are necessarily infringed by their Contribution(s) alone or by combination -of their Contribution(s) with the Work to which such Contribution(s) was -submitted. If You institute patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Work or a -Contribution incorporated within the Work constitutes direct or contributory -patent infringement, then any patent licenses granted to You under this License -for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. - -You may reproduce and distribute copies of the Work or Derivative Works thereof -in any medium, with or without modifications, and in Source or Object form, -provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of -this License; and -You must cause any modified files to carry prominent notices stating that You -changed the files; and -You must retain, in the Source form of any Derivative Works that You distribute, -all copyright, patent, trademark, and attribution notices from the Source form -of the Work, excluding those notices that do not pertain to any part of the -Derivative Works; and -If the Work includes a "NOTICE" text file as part of its distribution, then any -Derivative Works that You distribute must include a readable copy of the -attribution notices contained within such NOTICE file, excluding those notices -that do not pertain to any part of the Derivative Works, in at least one of the -following places: within a NOTICE text file distributed as part of the -Derivative Works; within the Source form or documentation, if provided along -with the Derivative Works; or, within a display generated by the Derivative -Works, if and wherever such third-party notices normally appear. The contents of -the NOTICE file are for informational purposes only and do not modify the -License. You may add Your own attribution notices within Derivative Works that -You distribute, alongside or as an addendum to the NOTICE text from the Work, -provided that such additional attribution notices cannot be construed as -modifying the License. -You may add Your own copyright statement to Your modifications and may provide -additional or different license terms and conditions for use, reproduction, or -distribution of Your modifications, or for any such Derivative Works as a whole, -provided Your use, reproduction, and distribution of the Work otherwise complies -with the conditions stated in this License. - -5. Submission of Contributions. - -Unless You explicitly state otherwise, any Contribution intentionally submitted -for inclusion in the Work by You to the Licensor shall be under the terms and -conditions of this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify the terms of -any separate license agreement you may have executed with Licensor regarding -such Contributions. - -6. Trademarks. - -This License does not grant permission to use the trade names, trademarks, -service marks, or product names of the Licensor, except as required for -reasonable and customary use in describing the origin of the Work and -reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. - -Unless required by applicable law or agreed to in writing, Licensor provides the -Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, -including, without limitation, any warranties or conditions of TITLE, -NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are -solely responsible for determining the appropriateness of using or -redistributing the Work and assume any risks associated with Your exercise of -permissions under this License. - -8. Limitation of Liability. - -In no event and under no legal theory, whether in tort (including negligence), -contract, or otherwise, unless required by applicable law (such as deliberate -and grossly negligent acts) or agreed to in writing, shall any Contributor be -liable to You for damages, including any direct, indirect, special, incidental, -or consequential damages of any character arising as a result of this License or -out of the use or inability to use the Work (including but not limited to -damages for loss of goodwill, work stoppage, computer failure or malfunction, or -any and all other commercial damages or losses), even if such Contributor has -been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. - -While redistributing the Work or Derivative Works thereof, You may choose to -offer, and charge a fee for, acceptance of support, warranty, indemnity, or -other liability obligations and/or rights consistent with this License. However, -in accepting such obligations, You may act only on Your own behalf and on Your -sole responsibility, not on behalf of any other Contributor, and only if You -agree to indemnify, defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason of your -accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work - -To apply the Apache License to your work, attach the following boilerplate -notice, with the fields enclosed by brackets "[]" replaced with your own -identifying information. (Don't include the brackets!) The text should be -enclosed in the appropriate comment syntax for the file format. We also -recommend that a file or class name and description of purpose be included on -the same "printed page" as the copyright notice for easier identification within -third-party archives. - - Copyright 2014 Unknwon - - 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. - - -* Apache-2.0 * - -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and -distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright -owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities -that control, are controlled by, or are under common control with that entity. -For the purposes of this definition, "control" means (i) the power, direct or -indirect, to cause the direction or management of such entity, whether by -contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the -outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising -permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including -but not limited to software source code, documentation source, and configuration -files. - -"Object" form shall mean any form resulting from mechanical transformation or -translation of a Source form, including but not limited to compiled object code, -generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made -available under the License, as indicated by a copyright notice that is included -in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that -is based on (or derived from) the Work and for which the editorial revisions, -annotations, elaborations, or other modifications represent, as a whole, an -original work of authorship. For the purposes of this License, Derivative Works -shall not include works that remain separable from, or merely link (or bind by -name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version -of the Work and any modifications or additions to that Work or Derivative Works -thereof, that is intentionally submitted to Licensor for inclusion in the Work -by the copyright owner or by an individual or Legal Entity authorized to submit -on behalf of the copyright owner. For the purposes of this definition, -"submitted" means any form of electronic, verbal, or written communication sent -to the Licensor or its representatives, including but not limited to -communication on electronic mailing lists, source code control systems, and -issue tracking systems that are managed by, or on behalf of, the Licensor for -the purpose of discussing and improving the Work, but excluding communication -that is conspicuously marked or otherwise designated in writing by the copyright -owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf -of whom a Contribution has been received by Licensor and subsequently -incorporated within the Work. - -2. Grant of Copyright License. - -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the Work and such -Derivative Works in Source or Object form. - -3. Grant of Patent License. - -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable (except as stated in this section) patent license to make, have -made, use, offer to sell, sell, import, and otherwise transfer the Work, where -such license applies only to those patent claims licensable by such Contributor -that are necessarily infringed by their Contribution(s) alone or by combination -of their Contribution(s) with the Work to which such Contribution(s) was -submitted. If You institute patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Work or a -Contribution incorporated within the Work constitutes direct or contributory -patent infringement, then any patent licenses granted to You under this License -for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. - -You may reproduce and distribute copies of the Work or Derivative Works thereof -in any medium, with or without modifications, and in Source or Object form, -provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of -this License; and -You must cause any modified files to carry prominent notices stating that You -changed the files; and -You must retain, in the Source form of any Derivative Works that You distribute, -all copyright, patent, trademark, and attribution notices from the Source form -of the Work, excluding those notices that do not pertain to any part of the -Derivative Works; and -If the Work includes a "NOTICE" text file as part of its distribution, then any -Derivative Works that You distribute must include a readable copy of the -attribution notices contained within such NOTICE file, excluding those notices -that do not pertain to any part of the Derivative Works, in at least one of the -following places: within a NOTICE text file distributed as part of the -Derivative Works; within the Source form or documentation, if provided along -with the Derivative Works; or, within a display generated by the Derivative -Works, if and wherever such third-party notices normally appear. The contents of -the NOTICE file are for informational purposes only and do not modify the -License. You may add Your own attribution notices within Derivative Works that -You distribute, alongside or as an addendum to the NOTICE text from the Work, -provided that such additional attribution notices cannot be construed as -modifying the License. -You may add Your own copyright statement to Your modifications and may provide -additional or different license terms and conditions for use, reproduction, or -distribution of Your modifications, or for any such Derivative Works as a whole, -provided Your use, reproduction, and distribution of the Work otherwise complies -with the conditions stated in this License. - -5. Submission of Contributions. - -Unless You explicitly state otherwise, any Contribution intentionally submitted -for inclusion in the Work by You to the Licensor shall be under the terms and -conditions of this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify the terms of -any separate license agreement you may have executed with Licensor regarding -such Contributions. - -6. Trademarks. - -This License does not grant permission to use the trade names, trademarks, -service marks, or product names of the Licensor, except as required for -reasonable and customary use in describing the origin of the Work and -reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. - -Unless required by applicable law or agreed to in writing, Licensor provides the -Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, -including, without limitation, any warranties or conditions of TITLE, -NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are -solely responsible for determining the appropriateness of using or -redistributing the Work and assume any risks associated with Your exercise of -permissions under this License. - -8. Limitation of Liability. - -In no event and under no legal theory, whether in tort (including negligence), -contract, or otherwise, unless required by applicable law (such as deliberate -and grossly negligent acts) or agreed to in writing, shall any Contributor be -liable to You for damages, including any direct, indirect, special, incidental, -or consequential damages of any character arising as a result of this License or -out of the use or inability to use the Work (including but not limited to -damages for loss of goodwill, work stoppage, computer failure or malfunction, or -any and all other commercial damages or losses), even if such Contributor has -been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. - -While redistributing the Work or Derivative Works thereof, You may choose to -offer, and charge a fee for, acceptance of support, warranty, indemnity, or -other liability obligations and/or rights consistent with this License. However, -in accepting such obligations, You may act only on Your own behalf and on Your -sole responsibility, not on behalf of any other Contributor, and only if You -agree to indemnify, defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason of your -accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work - -To apply the Apache License to your work, attach the following boilerplate -notice, with the fields enclosed by brackets "[]" replaced with your own -identifying information. (Don't include the brackets!) The text should be -enclosed in the appropriate comment syntax for the file format. We also -recommend that a file or class name and description of purpose be included on -the same "printed page" as the copyright notice for easier identification within -third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - -* Apache-2.0 * - -Apache License - -Version 2.0, January 2004 - -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of this License; and - -You must cause any modified files to carry prominent notices stating that You changed the files; and - -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - -If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - - -* Apache-2.0 * - -Apache License, Version 2.0 - -Copyright (c) 2011 Dominic Tarr - -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. - - -* Apache-1.1 * - -Apache License 1.1 -Copyright (c) 2000 The Apache Software Foundation. All rights reserved. -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - 3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: - "This product includes software developed by the Apache Software Foundation (http://www.apache.org/) ." - Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear. - 4. The name "Apache" and "Apache Software Foundation" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact apache@apache.org . - 5. Products derived from this software may not be called "Apache" [ex. "Jakarta," "Apache," or "Apache Commons,"] nor may "Apache" [ex. the names] appear in their name, without prior written permission of the Apache Software Foundation . -THIS SOFTWARE IS PROVIDED ''AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -This software consists of voluntary contributions made by many individuals on behalf of the Apache Software Foundation. For more information on the Apache Software Foundation, please see http://www.apache.org/. Portions of this software are based upon public domain software originally written at the National Center for Supercomputing Applications, University of Illinois, Urbana-Champaign. - -* Apache-2.0 * - -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - - "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and - (b) You must cause any modified files to carry prominent notices stating that You changed the files; and - (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. - You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS -APPENDIX: How to apply the Apache License to your work. -To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. -Copyright [yyyy] [name of copyright owner] -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. - -* CC-BY-SA-4.0 * - -Attribution-ShareAlike 4.0 International - -======================================================================= - -Creative Commons Corporation ("Creative Commons") is not a law firm and -does not provide legal services or legal advice. Distribution of -Creative Commons public licenses does not create a lawyer-client or -other relationship. Creative Commons makes its licenses and related -information available on an "as-is" basis. Creative Commons gives no -warranties regarding its licenses, any material licensed under their -terms and conditions, or any related information. Creative Commons -disclaims all liability for damages resulting from their use to the -fullest extent possible. - -Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and -conditions that creators and other rights holders may use to share -original works of authorship and other material subject to copyright -and certain other rights specified in the public license below. The -following considerations are for informational purposes only, are not -exhaustive, and do not form part of our licenses. - - Considerations for licensors: Our public licenses are - intended for use by those authorized to give the public - permission to use material in ways otherwise restricted by - copyright and certain other rights. Our licenses are - irrevocable. Licensors should read and understand the terms - and conditions of the license they choose before applying it. - Licensors should also secure all rights necessary before - applying our licenses so that the public can reuse the - material as expected. Licensors should clearly mark any - material not subject to the license. This includes other CC- - licensed material, or material used under an exception or - limitation to copyright. More considerations for licensors: - wiki.creativecommons.org/Considerations_for_licensors - - Considerations for the public: By using one of our public - licenses, a licensor grants the public permission to use the - licensed material under specified terms and conditions. If - the licensor's permission is not necessary for any reason--for - example, because of any applicable exception or limitation to - copyright--then that use is not regulated by the license. Our - licenses grant only permissions under copyright and certain - other rights that a licensor has authority to grant. Use of - the licensed material may still be restricted for other - reasons, including because others have copyright or other - rights in the material. A licensor may make special requests, - such as asking that all changes be marked or described. - Although not required by our licenses, you are encouraged to - respect those requests where reasonable. More_considerations - for the public: - wiki.creativecommons.org/Considerations_for_licensees - -======================================================================= - -Creative Commons Attribution-ShareAlike 4.0 International Public -License - -By exercising the Licensed Rights (defined below), You accept and agree -to be bound by the terms and conditions of this Creative Commons -Attribution-ShareAlike 4.0 International Public License ("Public -License"). To the extent this Public License may be interpreted as a -contract, You are granted the Licensed Rights in consideration of Your -acceptance of these terms and conditions, and the Licensor grants You -such rights in consideration of benefits the Licensor receives from -making the Licensed Material available under these terms and -conditions. - - -Section 1 -- Definitions. - - a. Adapted Material means material subject to Copyright and Similar - Rights that is derived from or based upon the Licensed Material - and in which the Licensed Material is translated, altered, - arranged, transformed, or otherwise modified in a manner requiring - permission under the Copyright and Similar Rights held by the - Licensor. For purposes of this Public License, where the Licensed - Material is a musical work, performance, or sound recording, - Adapted Material is always produced where the Licensed Material is - synched in timed relation with a moving image. - - b. Adapter's License means the license You apply to Your Copyright - and Similar Rights in Your contributions to Adapted Material in - accordance with the terms and conditions of this Public License. - - c. BY-SA Compatible License means a license listed at - creativecommons.org/compatiblelicenses, approved by Creative - Commons as essentially the equivalent of this Public License. - - d. Copyright and Similar Rights means copyright and/or similar rights - closely related to copyright including, without limitation, - performance, broadcast, sound recording, and Sui Generis Database - Rights, without regard to how the rights are labeled or - categorized. For purposes of this Public License, the rights - specified in Section 2(b)(1)-(2) are not Copyright and Similar - Rights. - - e. Effective Technological Measures means those measures that, in the - absence of proper authority, may not be circumvented under laws - fulfilling obligations under Article 11 of the WIPO Copyright - Treaty adopted on December 20, 1996, and/or similar international - agreements. - - f. Exceptions and Limitations means fair use, fair dealing, and/or - any other exception or limitation to Copyright and Similar Rights - that applies to Your use of the Licensed Material. - - g. License Elements means the license attributes listed in the name - of a Creative Commons Public License. The License Elements of this - Public License are Attribution and ShareAlike. - - h. Licensed Material means the artistic or literary work, database, - or other material to which the Licensor applied this Public - License. - - i. Licensed Rights means the rights granted to You subject to the - terms and conditions of this Public License, which are limited to - all Copyright and Similar Rights that apply to Your use of the - Licensed Material and that the Licensor has authority to license. - - j. Licensor means the individual(s) or entity(ies) granting rights - under this Public License. - - k. Share means to provide material to the public by any means or - process that requires permission under the Licensed Rights, such - as reproduction, public display, public performance, distribution, - dissemination, communication, or importation, and to make material - available to the public including in ways that members of the - public may access the material from a place and at a time - individually chosen by them. - - l. Sui Generis Database Rights means rights other than copyright - resulting from Directive 96/9/EC of the European Parliament and of - the Council of 11 March 1996 on the legal protection of databases, - as amended and/or succeeded, as well as other essentially - equivalent rights anywhere in the world. - - m. You means the individual or entity exercising the Licensed Rights - under this Public License. Your has a corresponding meaning. - - -Section 2 -- Scope. - - a. License grant. - - 1. Subject to the terms and conditions of this Public License, - the Licensor hereby grants You a worldwide, royalty-free, - non-sublicensable, non-exclusive, irrevocable license to - exercise the Licensed Rights in the Licensed Material to: - - a. reproduce and Share the Licensed Material, in whole or - in part; and - - b. produce, reproduce, and Share Adapted Material. - - 2. Exceptions and Limitations. For the avoidance of doubt, where - Exceptions and Limitations apply to Your use, this Public - License does not apply, and You do not need to comply with - its terms and conditions. - - 3. Term. The term of this Public License is specified in Section - 6(a). - - 4. Media and formats; technical modifications allowed. The - Licensor authorizes You to exercise the Licensed Rights in - all media and formats whether now known or hereafter created, - and to make technical modifications necessary to do so. The - Licensor waives and/or agrees not to assert any right or - authority to forbid You from making technical modifications - necessary to exercise the Licensed Rights, including - technical modifications necessary to circumvent Effective - Technological Measures. For purposes of this Public License, - simply making modifications authorized by this Section 2(a) - (4) never produces Adapted Material. - - 5. Downstream recipients. - - a. Offer from the Licensor -- Licensed Material. Every - recipient of the Licensed Material automatically - receives an offer from the Licensor to exercise the - Licensed Rights under the terms and conditions of this - Public License. - - b. Additional offer from the Licensor -- Adapted Material. - Every recipient of Adapted Material from You - automatically receives an offer from the Licensor to - exercise the Licensed Rights in the Adapted Material - under the conditions of the Adapter's License You apply. - - c. No downstream restrictions. You may not offer or impose - any additional or different terms or conditions on, or - apply any Effective Technological Measures to, the - Licensed Material if doing so restricts exercise of the - Licensed Rights by any recipient of the Licensed - Material. - - 6. No endorsement. Nothing in this Public License constitutes or - may be construed as permission to assert or imply that You - are, or that Your use of the Licensed Material is, connected - with, or sponsored, endorsed, or granted official status by, - the Licensor or others designated to receive attribution as - provided in Section 3(a)(1)(A)(i). - - b. Other rights. - - 1. Moral rights, such as the right of integrity, are not - licensed under this Public License, nor are publicity, - privacy, and/or other similar personality rights; however, to - the extent possible, the Licensor waives and/or agrees not to - assert any such rights held by the Licensor to the limited - extent necessary to allow You to exercise the Licensed - Rights, but not otherwise. - - 2. Patent and trademark rights are not licensed under this - Public License. - - 3. To the extent possible, the Licensor waives any right to - collect royalties from You for the exercise of the Licensed - Rights, whether directly or through a collecting society - under any voluntary or waivable statutory or compulsory - licensing scheme. In all other cases the Licensor expressly - reserves any right to collect such royalties. - - -Section 3 -- License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the -following conditions. - - a. Attribution. - - 1. If You Share the Licensed Material (including in modified - form), You must: - - a. retain the following if it is supplied by the Licensor - with the Licensed Material: - - i. identification of the creator(s) of the Licensed - Material and any others designated to receive - attribution, in any reasonable manner requested by - the Licensor (including by pseudonym if - designated); - - ii. a copyright notice; - - iii. a notice that refers to this Public License; - - iv. a notice that refers to the disclaimer of - warranties; - - v. a URI or hyperlink to the Licensed Material to the - extent reasonably practicable; - - b. indicate if You modified the Licensed Material and - retain an indication of any previous modifications; and - - c. indicate the Licensed Material is licensed under this - Public License, and include the text of, or the URI or - hyperlink to, this Public License. - - 2. You may satisfy the conditions in Section 3(a)(1) in any - reasonable manner based on the medium, means, and context in - which You Share the Licensed Material. For example, it may be - reasonable to satisfy the conditions by providing a URI or - hyperlink to a resource that includes the required - information. - - 3. If requested by the Licensor, You must remove any of the - information required by Section 3(a)(1)(A) to the extent - reasonably practicable. - - b. ShareAlike. - - In addition to the conditions in Section 3(a), if You Share - Adapted Material You produce, the following conditions also apply. - - 1. The Adapter's License You apply must be a Creative Commons - license with the same License Elements, this version or - later, or a BY-SA Compatible License. - - 2. You must include the text of, or the URI or hyperlink to, the - Adapter's License You apply. You may satisfy this condition - in any reasonable manner based on the medium, means, and - context in which You Share Adapted Material. - - 3. You may not offer or impose any additional or different terms - or conditions on, or apply any Effective Technological - Measures to, Adapted Material that restrict exercise of the - rights granted under the Adapter's License You apply. - - -Section 4 -- Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that -apply to Your use of the Licensed Material: - - a. for the avoidance of doubt, Section 2(a)(1) grants You the right - to extract, reuse, reproduce, and Share all or a substantial - portion of the contents of the database; - - b. if You include all or a substantial portion of the database - contents in a database in which You have Sui Generis Database - Rights, then the database in which You have Sui Generis Database - Rights (but not its individual contents) is Adapted Material, - - including for purposes of Section 3(b); and - c. You must comply with the conditions in Section 3(a) if You Share - all or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not -replace Your obligations under this Public License where the Licensed -Rights include other Copyright and Similar Rights. - - -Section 5 -- Disclaimer of Warranties and Limitation of Liability. - - a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. - - b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. - - c. The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. - - -Section 6 -- Term and Termination. - - a. This Public License applies for the term of the Copyright and - Similar Rights licensed here. However, if You fail to comply with - this Public License, then Your rights under this Public License - terminate automatically. - - b. Where Your right to use the Licensed Material has terminated under - Section 6(a), it reinstates: - - 1. automatically as of the date the violation is cured, provided - it is cured within 30 days of Your discovery of the - violation; or - - 2. upon express reinstatement by the Licensor. - - For the avoidance of doubt, this Section 6(b) does not affect any - right the Licensor may have to seek remedies for Your violations - of this Public License. - - c. For the avoidance of doubt, the Licensor may also offer the - Licensed Material under separate terms or conditions or stop - distributing the Licensed Material at any time; however, doing so - will not terminate this Public License. - - d. Sections 1, 5, 6, 7, and 8 survive termination of this Public - License. - - -Section 7 -- Other Terms and Conditions. - - a. The Licensor shall not be bound by any additional or different - terms or conditions communicated by You unless expressly agreed. - - b. Any arrangements, understandings, or agreements regarding the - Licensed Material not stated herein are separate from and - independent of the terms and conditions of this Public License. - - -Section 8 -- Interpretation. - - a. For the avoidance of doubt, this Public License does not, and - shall not be interpreted to, reduce, limit, restrict, or impose - conditions on any use of the Licensed Material that could lawfully - be made without permission under this Public License. - - b. To the extent possible, if any provision of this Public License is - deemed unenforceable, it shall be automatically reformed to the - minimum extent necessary to make it enforceable. If the provision - cannot be reformed, it shall be severed from this Public License - without affecting the enforceability of the remaining terms and - conditions. - - c. No term or condition of this Public License will be waived and no - failure to comply consented to unless expressly agreed to by the - Licensor. - - d. Nothing in this Public License constitutes or may be interpreted - as a limitation upon, or waiver of, any privileges and immunities - that apply to the Licensor or You, including from the legal - processes of any jurisdiction or authority. - - -======================================================================= - -Creative Commons is not a party to its public licenses. -Notwithstanding, Creative Commons may elect to apply one of its public -licenses to material it publishes and in those instances will be -considered the "Licensor." Except for the limited purpose of indicating -that material is shared under a Creative Commons public license or as -otherwise permitted by the Creative Commons policies published at -creativecommons.org/policies, Creative Commons does not authorize the -use of the trademark "Creative Commons" or any other trademark or logo -of Creative Commons without its prior written consent including, -without limitation, in connection with any unauthorized modifications -to any of its public licenses or any other arrangements, -understandings, or agreements concerning use of licensed material. For -the avoidance of doubt, this paragraph does not form part of the public -licenses. - -Creative Commons may be contacted at creativecommons.org. - - -* BSD-2-Clause * - -BSD 2-Clause License - -Copyright (c) 2017, kena -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-2-Clause * - -BSD 2-Clause License - -Copyright (c) Open JS Foundation -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -BSD 3-Clause License - -Copyright (c) 2006, Ivan Sagalaev. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -BSD 3-Clause License - -Copyright (c) 2014, Nathan LaFreniere and other [contributors](https://github.com/ljharb/qs/graphs/contributors) -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -BSD 3-Clause License - -Copyright (c) 2017, kadota kyohei -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -BSD 3-Clause License - -Copyright (c) 2018, React Community -Forked from React (https://github.com/facebook/react) Copyright 2013-present, Facebook, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -BSD 3-Clause License - -Copyright (c) 2018, Rohit Gupta -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -BSD 3-Clause License - -Copyright (c) 2018-2021, Tobias Klauser -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -BSD 3-Clause License - -Copyright (c) 2019, Human Who Codes -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -BSD 3-Clause License - -Copyright (c) 2019, KADOTA, Kyohei -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -BSD License - -For React software - -Copyright (c) 2013-present, Facebook, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - * Neither the name Facebook nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* BSD-2-Clause * - -Copyright (c) -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* BSD-2-Clause-FreeBSD * - -The FreeBSD Copyright -Copyright 1992-2012 The FreeBSD Project. All rights reserved. -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -THIS SOFTWARE IS PROVIDED BY THE FREEBSD PROJECT ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of the FreeBSD Project. - -* BSD-3-Clause * - -Copyright (c) -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* BSD-3-Clause-Clear * - -The Clear BSD License -Copyright (c) [xxxx]-[xxxx] [Owner Organization] -All rights reserved. -Redistribution and use in source and binary forms, with or without modification, are permitted (subject to the limitations in the disclaimer below) provided that the following conditions are met: - * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of [Owner Organization] nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* BSL-1.0 * - -Boost Software License - Version 1.0 - August 17th, 2003 -Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following: -The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -* BSD-2-Clause * - -Blackfriday is distributed under the Simplified BSD License: - -> Copyright © 2011 Russ Ross -> All rights reserved. -> -> Redistribution and use in source and binary forms, with or without -> modification, are permitted provided that the following conditions -> are met: -> -> 1. Redistributions of source code must retain the above copyright -> notice, this list of conditions and the following disclaimer. -> -> 2. Redistributions in binary form must reproduce the above -> copyright notice, this list of conditions and the following -> disclaimer in the documentation and/or other materials provided with -> the distribution. -> -> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -> "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -> LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -> FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -> COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -> INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -> BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -> LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -> CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -> LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -> ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -> POSSIBILITY OF SUCH DAMAGE. - - -* CC-BY-3.0 * - -Creative Commons Attribution 3.0 Unported CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. -License -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - 1. Definitions - a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. - b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. - c. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. - d. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. - e. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. - f. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. - g. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. - h. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. - i. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. - 2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. - 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; - b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; - c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and, - d. to Distribute and Publicly Perform Adaptations. - e. For the avoidance of doubt: - i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; - ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and, - iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License. - The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved. - 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(b), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(b), as requested. - b. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv), consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4 (b) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. - c. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. - 5. Representations, Warranties and Disclaimer - UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - 7. Termination - a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. - b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. - 8. Miscellaneous - a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. - b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. - c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. - e. This License may not be modified without the mutual written agreement of the Licensor and You. - f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. -Creative Commons Notice -Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. -Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of this License. -Creative Commons may be contacted at http://creativecommons.org/. - -* CC-BY-4.0 * - -Creative Commons Attribution 4.0 International Creative Commons Corporation ("Creative Commons") is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an "as-is" basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. -Using Creative Commons Public Licenses -Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. -Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors : wiki.creativecommons.org/Considerations_for_licensors -Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor's permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public : wiki.creativecommons.org/Considerations_for_licensees Creative Commons Attribution 4.0 International Public License -By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. -Section 1 – Definitions. - a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. - b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. - c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. - d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. - e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. - f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. - g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. - h. Licensor means the individual(s) or entity(ies) granting rights under this Public License. - i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. - j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. - k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. -Section 2 – Scope. - a. License grant. - 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: - A. reproduce and Share the Licensed Material, in whole or in part; and - B. produce, reproduce, and Share Adapted Material. - 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. - 3. Term. The term of this Public License is specified in Section 6(a). - 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. - 5. Downstream recipients. - A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. - B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. - 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). - b. Other rights. - 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. - 2. Patent and trademark rights are not licensed under this Public License. - 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. -Section 3 – License Conditions. -Your exercise of the Licensed Rights is expressly made subject to the following conditions. - a. Attribution. - 1. If You Share the Licensed Material (including in modified form), You must: - A. retain the following if it is supplied by the Licensor with the Licensed Material: - i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); - ii. a copyright notice; - iii. a notice that refers to this Public License; - iv. a notice that refers to the disclaimer of warranties; - v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; - B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and - C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. - 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. - 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. - 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. -Section 4 – Sui Generis Database Rights. -Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: - a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; - b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and - c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. -For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. -Section 5 – Disclaimer of Warranties and Limitation of Liability. - a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. - b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. - c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. -Section 6 – Term and Termination. - a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. - b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: - 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or - 2. upon express reinstatement by the Licensor. - c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. - d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. - e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. -Section 7 – Other Terms and Conditions. - a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. - b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. -Section 8 – Interpretation. - a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. - b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. - c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. - d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. -Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." The text of the Creative Commons public licenses is dedicated to the public domain under the CC0 Public Domain Dedication. Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. -Creative Commons may be contacted at creativecommons.org. - -* CC-BY-SA-1.0 * - -Creative Commons Attribution-ShareAlike 1.0 CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DRAFT LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. -License -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE IS PROHIBITED. -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - 1. Definitions - a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License. - b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. - c. "Licensor" means the individual or entity that offers the Work under the terms of this License. - d. "Original Author" means the individual or entity who created the Work. - e. "Work" means the copyrightable work of authorship offered under the terms of this License. - f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. - 2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws. - 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works; - b. to create and reproduce Derivative Works; - c. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works; - d. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works; - The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved. - 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any reference to such Licensor or the Original Author, as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any reference to such Licensor or the Original Author, as requested. - b. You may distribute, publicly display, publicly perform, or publicly digitally perform a Derivative Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of each Derivative Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder, and You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Derivative Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License. - c. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title of the Work if supplied; in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit. - 5. Representations, Warranties and Disclaimer - a. By offering the Work for public release under this License, Licensor represents and warrants that, to the best of Licensor's knowledge after reasonable inquiry: - i. Licensor has secured all rights in the Work necessary to grant the license rights hereunder and to permit the lawful exercise of the rights granted hereunder without You having any obligation to pay any royalties, compulsory license fees, residuals or any other payments; - ii. The Work does not infringe the copyright, trademark, publicity rights, common law rights or any other right of any third party or constitute defamation, invasion of privacy or other tortious injury to any third party. - b. EXCEPT AS EXPRESSLY STATED IN THIS LICENSE OR OTHERWISE AGREED IN WRITING OR REQUIRED BY APPLICABLE LAW, THE WORK IS LICENSED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES REGARDING THE CONTENTS OR ACCURACY OF THE WORK. - 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, AND EXCEPT FOR DAMAGES ARISING FROM LIABILITY TO A THIRD PARTY RESULTING FROM BREACH OF THE WARRANTIES IN SECTION 5, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - 7. Termination - a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. - b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. - 8. Miscellaneous - a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. - b. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. - c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. - e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. -Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. -Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. -Creative Commons may be contacted at http://creativecommons.org/. - -* CC-BY-SA-2.0 * - -Creative Commons Attribution-ShareAlike 2.0 CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. -License -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - 1. Definitions - a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License. - b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License. - c. "Licensor" means the individual or entity that offers the Work under the terms of this License. - d. "Original Author" means the individual or entity who created the Work. - e. "Work" means the copyrightable work of authorship offered under the terms of this License. - f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. - g. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike. - 2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws. - 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works; - b. to create and reproduce Derivative Works; - c. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works; - d. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works. - e. For the avoidance of doubt, where the work is a musical composition: - i. Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work. - ii. Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights society or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions). - f. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions). - The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved. - 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any reference to such Licensor or the Original Author, as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any reference to such Licensor or the Original Author, as requested. - b. You may distribute, publicly display, publicly perform, or publicly digitally perform a Derivative Work only under the terms of this License, a later version of this License with the same License Elements as this License, or a Creative Commons iCommons license that contains the same License Elements as this License (e.g. Attribution-ShareAlike 2.0 Japan). You must include a copy of, or the Uniform Resource Identifier for, this License or other license specified in the previous sentence with every copy or phonorecord of each Derivative Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder, and You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Derivative Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License. - c. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit. - 5. Representations, Warranties and Disclaimer - UNLESS OTHERWISE AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE MATERIALS, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - 7. Termination - a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. - b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. - 8. Miscellaneous - a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. - b. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. - c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. - e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. -Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. -Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. -Creative Commons may be contacted at http://creativecommons.org/. - -* CC-BY-SA-2.5 * - -Creative Commons Attribution-ShareAlike 2.5 CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. -License -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - 1. Definitions - a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License. - b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License. - c. "Licensor" means the individual or entity that offers the Work under the terms of this License. - d. "Original Author" means the individual or entity who created the Work. - e. "Work" means the copyrightable work of authorship offered under the terms of this License. - f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. - g. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike. - 2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws. - 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works; - b. to create and reproduce Derivative Works; - c. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works; - d. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works. - e. For the avoidance of doubt, where the work is a musical composition: - i. Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work. - ii. Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights society or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions). - f. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions). - The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved. - 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any credit as required by clause 4(c), as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any credit as required by clause 4(c), as requested. - b. You may distribute, publicly display, publicly perform, or publicly digitally perform a Derivative Work only under the terms of this License, a later version of this License with the same License Elements as this License, or a Creative Commons iCommons license that contains the same License Elements as this License (e.g. Attribution-ShareAlike 2.5 Japan). You must include a copy of, or the Uniform Resource Identifier for, this License or other license specified in the previous sentence with every copy or phonorecord of each Derivative Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder, and You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Derivative Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License. - c. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or (ii) if the Original Author and/or Licensor designate another party or parties (e.g. a sponsor institute, publishing entity, journal) for attribution in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit. - 5. Representations, Warranties and Disclaimer - UNLESS OTHERWISE AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE MATERIALS, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - 7. Termination - a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. - b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. - 8. Miscellaneous - a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. - b. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. - c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. - e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. -Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. -Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. -Creative Commons may be contacted at http://creativecommons.org/. - -* CC-BY-SA-3.0 * - -Creative Commons Attribution-ShareAlike 3.0 Unported CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. -License -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - 1. Definitions - a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. - b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined below) for the purposes of this License. - c. "Creative Commons Compatible License" means a license that is listed at http://creativecommons.org/compatiblelicenses that has been approved by Creative Commons as being essentially equivalent to this License, including, at a minimum, because that license: (i) contains terms that have the same purpose, meaning and effect as the License Elements of this License; and, (ii) explicitly permits the relicensing of adaptations of works made available under that license under this License or a Creative Commons jurisdiction license with the same License Elements as this License. - d. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. - e. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike. - f. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. - g. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. - h. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. - i. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. - j. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. - k. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. - 2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. - 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; - b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; - c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and, - d. to Distribute and Publicly Perform Adaptations. - e. For the avoidance of doubt: - i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; - ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and, - iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License. - The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved. - 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(c), as requested. - b. You may Distribute or Publicly Perform an Adaptation only under the terms of: (i) this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible License. If you license the Adaptation under one of the licenses mentioned in (iv), you must comply with the terms of that license. If you license the Adaptation under the terms of any of the licenses mentioned in (i), (ii) or (iii) (the "Applicable License"), you must comply with the terms of the Applicable License generally and the following provisions: (I) You must include a copy of, or the URI for, the Applicable License with every copy of each Adaptation You Distribute or Publicly Perform; (II) You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License; (III) You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform; (IV) when You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License. - c. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv), consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. - d. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. - 5. Representations, Warranties and Disclaimer - UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - 7. Termination - a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. - b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. - 8. Miscellaneous - a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. - b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. - c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. - e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. - f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. -Creative Commons Notice -Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. -Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of the License. -Creative Commons may be contacted at http://creativecommons.org/. - -* CC-BY-SA-4.0 * - -Creative Commons Attribution-ShareAlike 4.0 International Creative Commons Corporation ("Creative Commons") is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an "as-is" basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. -Using Creative Commons Public Licenses -Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. -Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors : wiki.creativecommons.org/Considerations_for_licensors -Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor's permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. -Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public : wiki.creativecommons.org/Considerations_for_licensees -Creative Commons Attribution-ShareAlike 4.0 International Public License -By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. -Section 1 – Definitions. - a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. - b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. - c. BY-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License. - d. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. - e. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. - f. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. - g. License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution and ShareAlike. - h. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. - i. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. - j. Licensor means the individual(s) or entity(ies) granting rights under this Public License. - k. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. - l. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. - m. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. -Section 2 – Scope. - a. License grant. - 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: - A. reproduce and Share the Licensed Material, in whole or in part; and - B. produce, reproduce, and Share Adapted Material. - 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. - 3. Term. The term of this Public License is specified in Section 6(a). - 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. - 5. Downstream recipients. - A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. - B. Additional offer from the Licensor – Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter's License You apply. - C. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. - 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). - b. Other rights. - 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. - 2. Patent and trademark rights are not licensed under this Public License. - 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. -Section 3 – License Conditions. -Your exercise of the Licensed Rights is expressly made subject to the following conditions. - a. Attribution. - 1. If You Share the Licensed Material (including in modified form), You must: - A. retain the following if it is supplied by the Licensor with the Licensed Material: - i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); - ii. a copyright notice; - iii. a notice that refers to this Public License; - iv. a notice that refers to the disclaimer of warranties; - v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; - B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and - C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. - 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. - 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. - b. ShareAlike.In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply. - 1. The Adapter's License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-SA Compatible License. - 2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material. - 3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply. -Section 4 – Sui Generis Database Rights. -Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: - a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; - b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and - c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. - For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. -Section 5 – Disclaimer of Warranties and Limitation of Liability. - a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. - b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. - c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. -Section 6 – Term and Termination. - a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. - b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: - 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or - 2. upon express reinstatement by the Licensor. - c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. - d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. - e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. -Section 7 – Other Terms and Conditions. - a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. - b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. -Section 8 – Interpretation. - a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. - b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. - c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. - d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. -Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." The text of the Creative Commons public licenses is dedicated to the public domain under the CC0 Public Domain Dedication. Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. -Creative Commons may be contacted at creativecommons.org. - -* CC0-1.0 * - -Creative Commons Legal Code -CC0 1.0 Universal CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. -Statement of Purpose -The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). -Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. -For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. - 1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: - i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; - ii. moral rights retained by the original author(s) and/or performer(s); - iii. publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; - iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; - v. rights protecting the extraction, dissemination, use and reuse of data in a Work; - vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and - vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. - 2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. - 3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. - 4. Limitations and Disclaimers. - a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. - b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. - c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. - d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. - -* CPL-1.0 * - -Common Public License Version 1.0 -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. 1. -DEFINITIONS -"Contribution" means: - a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and - b) in the case of each subsequent Contributor: - i) changes to the Program, and - ii) additions to the Program; -where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. -"Contributor" means any person or entity that distributes the Program. -"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. -"Program" means the Contributions distributed in accordance with this Agreement. -"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. 2. -GRANT OF RIGHTS - a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. - b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. - c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. - d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. 3. -REQUIREMENTS -A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: - a) it complies with the terms and conditions of this Agreement; and - b) its license agreement: - i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; - ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; - iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and - iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. -When the Program is made available in source code form: - a) it must be made available under this Agreement; and - b) a copy of this Agreement must be included with each copy of the Program. - Contributors may not remove or alter any copyright notices contained within the Program. - Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. 4. -COMMERCIAL DISTRIBUTION -Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. -For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. 5. -NO WARRANTY -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. 6. -DISCLAIMER OF LIABILITY -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 7. -GENERAL -If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. -If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. -All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. -Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. -This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. - -* MIT * - -Copyright (C) 2012 Rob Figueiredo -All Rights Reserved. - -MIT LICENSE - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* BSD-2-Clause * - -Copyright (C) 2012 Yusuke Suzuki (twitter: @Constellation) and other contributors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MIT * - -Copyright (C) 2012-2014 by Ingvar Stepanyan - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -Copyright (C) 2012-2014 by various contributors (see AUTHORS) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -Copyright (C) 2012-2016 by various contributors (see AUTHORS) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -Copyright (C) 2012-2017 by Ingvar Stepanyan - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -Copyright (C) 2012-2018 by various contributors (see AUTHORS) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -Copyright (C) 2013 Blake Mizerany - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright (C) 2013-2018 by Maxim Bublis - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright (C) 2014 by Oleku Konko - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -Copyright (C) 2014-2019, Matt Butcher and Matt Farina - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -Copyright (C) 2015 Pierre Durand - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* BSD-2-Clause * - -Copyright (c) 1997, PostgreSQL Global Development Group -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright (c) 2001, Dr Martin Porter -Copyright (c) 2004,2005, Richard Boulton -Copyright (c) 2013, Yoshiki Shibukawa -Copyright (c) 2006,2007,2009,2010,2011,2014-2019, Olly Betts -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - 3. Neither the name of the Snowball project nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MIT * - -Copyright (c) 2005-2008 Dustin Sallings - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - - -* BSD-3-Clause * - -Copyright (c) 2007-2014, Alexandru Marasteanu -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of this software nor the names of its contributors may be - used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright (c) 2008, Fair Oaks Labs, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - * Neither the name of Fair Oaks Labs, Inc. nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* BSD-3-Clause * - -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MIT * - -Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* BSD-3-Clause * - -Copyright (c) 2009,2014 Google Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MIT * - -Copyright (c) 2009-2022 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - -* BSD-3-Clause * - -Copyright (c) 2010-2016, Michael Bostock -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* The name Michael Bostock may not be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-2-Clause * - -Copyright (c) 2011 Andy Balholm. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MIT * - -Copyright (c) 2011 Dominic Tarr - -Permission is hereby granted, free of charge, -to any person obtaining a copy of this software and -associated documentation files (the "Software"), to -deal in the Software without restriction, including -without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom -the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -* BSD-3-Clause * - -Copyright (c) 2011 Google Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright (c) 2011 The LevelDB-Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright (c) 2011 The Snappy-Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright (c) 2011 The Snappy-Go Authors. All rights reserved. -Copyright (c) 2019 Klaus Post. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright (c) 2011, Evan Shaw -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the copyright holder nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* MIT * - -Copyright (c) 2011-2013, 'pq' Contributors -Portions Copyright (C) 2011 Blake Mizerany - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright (c) 2011-2016 Heather Arthur - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -* BSD-3-Clause * - -Copyright (c) 2012 Alex Ogier. All rights reserved. -Copyright (c) 2012 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MIT * - -Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, and Domenic Denicola - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright (c) 2012 Dave Grijalva - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -* MIT * - -Copyright (c) 2012 Dave Grijalva -Copyright (c) 2021 golang-jwt maintainers - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -* MIT * - -Copyright (c) 2012 Ingo Oeser - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -Copyright (c) 2012 Raynos. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -* BSD-3-Clause * - -Copyright (c) 2012 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright (c) 2012 The Go Authors. All rights reserved. -Copyright (c) 2012-2019 fsnotify Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* Apache-2.0 * - -Copyright (c) 2012 The Go Authors. All rights reserved. -Copyright (c) 2019 Klaus Post. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ------------------- - -Files: gzhttp/* - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2016-2017 The New York Times Company - - 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. - ------------------- - -Files: s2/cmd/internal/readahead/* - -The MIT License (MIT) - -Copyright (c) 2015 Klaus Post - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - ---------------------- -Files: snappy/* -Files: internal/snapref/* - -Copyright (c) 2011 The Snappy-Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ------------------ - -Files: s2/cmd/internal/filepathx/* - -Copyright 2016 The filepathx Authors - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright (c) 2012, 2013 Thorsten Lorenz -Copyright (c) 2012 James Halliday -Copyright (c) 2009 Thomas Robinson <280north.com> - -This software is released under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright (c) 2012-2014 Raynos. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* BSD-3-Clause * - -Copyright (c) 2012-2016, Martin Angers & Contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -* Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright (c) 2012-2018 The Gorilla Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright (c) 2013 Ato Araki. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of @atotto. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-2-Clause * - -Copyright (c) 2013 Dave Cheney. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MIT * - -Copyright (c) 2013 Esri, Inc - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* BSD-3-Clause * - -Copyright (c) 2013 Google. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MIT * - -Copyright (c) 2013 Kael Zhang , contributors -http://kael.me/ - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -* MIT * - -Copyright (c) 2013 Kamil Kisiel - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright (c) 2013 Kamil Kisiel - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright (c) 2013 Lucas Beyer - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright (c) 2013 Raynos. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* BSD-2-Clause * - -Copyright (c) 2013 The Gorilla WebSocket Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright (c) 2013 The go-github AUTHORS. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MIT * - -Copyright (c) 2013 Thiago de Arruda - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - -* BSD-2-Clause * - -Copyright (c) 2013, Georg Reinke (), Google -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright notice, -this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright (c) 2013, Patrick Mezard -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - The names of its contributors may not be used to endorse or promote -products derived from this software without specific prior written -permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright (c) 2013, The GoGo Authors. All rights reserved. - -Protocol Buffers for Go with Gadgets - -Go support for Protocol Buffers - Google's data interchange format - -Copyright 2010 The Go Authors. All rights reserved. -https://github.com/golang/protobuf - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* BSD-2-Clause * - -Copyright (c) 2013, Tom Payne -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* MIT * - -Copyright (c) 2013-2018 sha.js contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -Copyright (c) 1998 - 2009, Paul Johnston & Contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright notice, this -list of conditions and the following disclaimer in the documentation and/or -other materials provided with the distribution. - -Neither the name of the author nor the names of its contributors may be used to -endorse or promote products derived from this software without specific prior -written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* MIT * - -Copyright (c) 2013-2021 Jack Christensen - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright (c) 2014 Forbes Lindesay - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -Copyright (c) 2014 Google Inc. -Copyright (c) 2012-2014 Jeff Williams - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and -associated documentation files (the "Software"), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, publish, distribute, -sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial -portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT -NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES -OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -* MIT * - -Copyright (c) 2014 Jon Schlinkert - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin. - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - -* BSD-3-Clause * - -Copyright (c) 2014 Will Fitzgerald. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright (c) 2014, Dan Kogai -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of {{{project}}} nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-2-Clause * - -Copyright (c) 2014, Dave Cheney -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* ISC * - -Copyright (c) 2014-2015 Calvin Metcalf and browserify-sign contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -* MIT * - -Copyright (c) 2014-2016 GitHub, Inc. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright (c) 2014-2018 Tyler Kellen , Blaine Bublitz , and Eric Schoffstall - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright (c) 2014-2020 Denis Pushkarev - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -Copyright (c) 2014-present Matt Zabriskie - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -Copyright (c) 2015 Datadog, Inc - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -Copyright (c) 2015 Denis Pushkarev - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -Copyright (c) 2015 NFL - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -Copyright (c) 2015 Olivier Poitrey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* BSD-3-Clause * - -Copyright (c) 2015 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* Apache-2.0 * - -Copyright (c) 2015 The New York Times Company - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this library 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. - - -* MIT * - -Copyright (c) 2015 Vitaly Puzrin, Alex Kocharin. - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - --------------------------------------------------------------------------------- - -.parse() is based on Joyent's node.js `url` code: - -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. - - -* MIT * - -Copyright (c) 2015 Vitaly Puzrin. - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - -* ISC * - -Copyright (c) 2015, Contributors - -Permission to use, copy, modify, and/or distribute this software -for any purpose with or without fee is hereby granted, provided -that the above copyright notice and this permission notice -appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE -LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -* ISC * - -Copyright (c) 2015, Contributors - -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. - - -* BSD-2-Clause * - -Copyright (c) 2015, Dave Cheney -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright (c) 2015, Gengo, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - * Neither the name of Gengo, Inc. nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-2-Clause * - -Copyright (c) 2015, Norberto Lopes -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation and/or -other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright (c) 2015, Pierre Curto -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of xxHash nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* ISC * - -Copyright (c) 2015, Rebecca Turner - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - -* BSD-2-Clause * - -Copyright (c) 2015, The Authors -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-2-Clause * - -Copyright (c) 2015, Wade Simmons -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* ISC * - -Copyright (c) 2015-2020, Matteo Collina - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -* BSD-3-Clause * - -Copyright (c) 2015-2020, Tim Heckman -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of gofrs nor the names of its contributors may be used - to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MIT * - -Copyright (c) 2016 Caleb Spare - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright (c) 2016 Chris O'Hara - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright (c) 2016 Dominik Honnef - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright (c) 2016 Mail.Ru Group - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright (c) 2016 Uber Technologies, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* ISC * - -Copyright (c) 2016, Contributors - -Permission to use, copy, modify, and/or distribute this software -for any purpose with or without fee is hereby granted, provided -that the above copyright notice and this permission notice -appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE -LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -* ISC * - -Copyright (c) 2016, Contributors - -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. - - -* BSD-3-Clause * - -Copyright (c) 2016, Daniel Wirtz All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of its author, nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* Protobuf * - -Copyright (c) 2016, Daniel Wirtz All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of its author, nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ---- - -Code generated by the command line utilities is owned by the owner -of the input file used when generating it. This code is not -standalone and requires a support library to be linked with it. This -support library is itself covered by the above license. - - -* MIT * - -Copyright (c) 2016-2017 Uber Technologies, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -Copyright (c) 2017 Calvin Metcalf - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* BSD-3-Clause * - -Copyright (c) 2017 The Bazel Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the - distribution. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright (c) 2017 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* ISC * - -Copyright (c) 2017, Rebecca Turner - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - -* ISC * - -Copyright (c) 2017, crypto-browserify contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -* MIT * - -Copyright (c) 2017-2018 Fredrik Nicol - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -Copyright (c) 2017-2021 Uber Technologies, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -Copyright (c) 2017-present James Kyle - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -Copyright (c) 2018 Jack Christensen - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* BSD-3-Clause * - -Copyright (c) 2018 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright (c) 2018, Gajus Kuizinas (http://gajus.com/) -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the Gajus Kuizinas (http://gajus.com/) nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL ANUARY BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MIT * - -Copyright (c) 2019 Jack Christensen - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* BSD-3-Clause * - -Copyright (c) 2019 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MIT * - -Copyright (c) 2019-2021 Jack Christensen - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright (c) 2019-present StringEpsilon - -Copyright (c) 2017-2019 James Kyle - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -Copyright (c) 2020 Jack Christensen - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright (c) Ben Briggs (http://beneb.info) - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright (c) Bogdan Chadkin - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - -* BSD-3-Clause * - -Copyright (c) Django Software Foundation and individual contributors. -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - 3. Neither the name of Django nor the names of its contributors may be used - to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-2-Clause * - -Copyright (c) Felix Böhm -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, -EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MIT * - -Copyright (c) George Zahariev - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - -* BSD-2-Clause * - -Copyright (c) Isaac Z. Schlueter ("Author") -All rights reserved. - -The BSD License - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* GPL-2.0-only * - -Copyright (c) Ivan Nikolić - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - ---- - -Copyright (c) 2010 "Cowboy" Ben Alman - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - ---- - - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - -* MIT * - -Copyright (c) JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - -* 0BSD * - -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - -* MIT * - -Copyright (c) Scott Cooper - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright (c) Yasuhiro MATSUMOTO - -MIT License (Expat) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* BSD-3-Clause * - -Copyright 2008 Fair Oaks Labs, Inc. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MIT * - -Copyright 2010 James Halliday (mail@substack.net) - -This project is free software released under the MIT/X11 license: - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -Copyright 2010 James Halliday (mail@substack.net) -Modified work Copyright 2014 Contributors (ben@npmjs.com) - -This project is free software released under the MIT/X11 license: - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* BSD-3-Clause * - -Copyright 2010 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* BSD-3-Clause * - -Copyright 2010-2015 Mike Bostock -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright 2010-2016 Mike Bostock -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MIT * - -Copyright 2010-2016 Mike Bostock -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -This license applies to GeographicLib, versions 1.12 and later. - -Copyright (c) 2008-2012, Charles Karney - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* BSD-3-Clause * - -Copyright 2010-2017 Mike Bostock -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright 2010-2020 Mike Bostock -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* ISC * - -Copyright 2010-2021 Mike Bostock - -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. - - -* BSD-3-Clause * - -Copyright 2010-2021 Mike Bostock -Copyright 2001 Robert Penner -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* ISC * - -Copyright 2010-2022 Mike Bostock - -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. - - -* ISC * - -Copyright 2010-2023 Mike Bostock - -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. - - -* bsd-2-clause-views * - -Copyright 2011 Gary Court. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY GARY COURT "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of Gary Court. - - -* BSD-2-Clause * - -Copyright 2012 Richard Crowley. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - -THIS SOFTWARE IS PROVIDED BY RICHARD CROWLEY ``AS IS'' AND ANY EXPRESS -OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL RICHARD CROWLEY OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGE. - -The views and conclusions contained in the software and documentation -are those of the authors and should not be interpreted as representing -official policies, either expressed or implied, of Richard Crowley. - - -* Apache-2.0 * - -Copyright 2012 The Obvious Corporation. -http://obvious.com/ - -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. - - -------------------------------------------------------------------------- - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - - -* MIT * - -Copyright 2012-2016 The Dojo Foundation -Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas, -DocumentCloud and Investigative Reporters & Editors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright 2013 Chris Dickinson - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright 2013 Mathias Buus - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright 2013 Thorsten Lorenz. -All rights reserved. - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - -* BSD-3-Clause * - -Copyright 2013, Sébastien Paolacci. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the library nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright 2013-2016 Mike Bostock -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - - -MIT License for https://github.com/scijs/integrate-adaptive-simpson - -The MIT License (MIT) - -Copyright (c) 2015 Ricky Reusser - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -* BSD-3-Clause * - -Copyright 2014 Yahoo! Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the Yahoo! Inc. nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL YAHOO! INC. BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MIT * - -Copyright 2014–present Olivier Lalonde , James Talmage , Ruben Verborgh - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* ISC * - -Copyright 2015 Glen Maddern - -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -* Apache-2.0 * - -Copyright 2015 James Saryerwinnie - -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. - - -* ISC * - -Copyright 2015-2022 Mike Bostock - -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. - - -* BSD-3-Clause * - -Copyright 2016, Google Inc. -All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MIT * - -Copyright 2017 JS Foundation - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright 2017 Kat Marchán - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright 2018 Logan Smyth - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright 2019 Justin Ridgewell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -* Apache-2.0 * - -Copyright 2019 Softonic International S.A. - -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. - -* MIT * - -Copyright 2020 Filament (Anomalous Technologies Limited) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, -INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* ISC * - -Copyright 2021 Mike Bostock - -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. - - -* MIT * - -Copyright 2022 Justin Ridgewell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -Copyright 2022 Justin Ridgewell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -Copyright Fedor Indutny, 2015. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -Copyright JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -* MIT * - -Copyright JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright JS Foundation and other contributors - -Based on Underscore.js, copyright Jeremy Ashkenas, -DocumentCloud and Investigative Reporters & Editors - -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/lodash/lodash - -The following license applies to all parts of this software except as -documented below: - -==== - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==== - -Copyright and related rights for sample code are waived via CC0. Sample -code is defined as all source code displayed within the prose of the -documentation. - -CC0: http://creativecommons.org/publicdomain/zero/1.0/ - -==== - -Files located in the node_modules and vendor directories are externally -maintained libraries used by this software which have their own -licenses; we recommend you read them, as their terms may differ from the -terms above. - - -* MIT * - -Copyright JS Foundation and other contributors, https://js.foundation - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* BSD-2-Clause * - -Copyright JS Foundation and other contributors, https://js.foundation -Copyright (C) 2012-2013 Yusuke Suzuki (twitter: @Constellation) and other contributors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-2-Clause * - -Copyright JS Foundation and other contributors, https://js.foundation/ - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MIT * - -Copyright James Halliday (mail@substack.net) and Isaac Z. Schlueter (i@izs.me) - -This project is free software released under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. - - -* MIT * - -Copyright Mathias Bynens - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Copyright Node.js contributors. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. - - -* MIT * - -Copyright OpenJS Foundation and other contributors - -Based on Underscore.js, copyright Jeremy Ashkenas, -DocumentCloud and Investigative Reporters & Editors - -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/lodash/lodash - -The following license applies to all parts of this software except as -documented below: - -==== - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==== - -Copyright and related rights for sample code are waived via CC0. Sample -code is defined as all source code displayed within the prose of the -documentation. - -CC0: http://creativecommons.org/publicdomain/zero/1.0/ - -==== - -Files located in the node_modules and vendor directories are externally -maintained libraries used by this software which have their own -licenses; we recommend you read them, as their terms may differ from the -terms above. - - -* MIT * - -Copyright OpenJS Foundation and other contributors, - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -Copyright jQuery Foundation and other contributors - -Based on Underscore.js, copyright Jeremy Ashkenas, -DocumentCloud and Investigative Reporters & Editors - -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/lodash/lodash - -The following license applies to all parts of this software except as -documented below: - -==== - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==== - -Copyright and related rights for sample code are waived via CC0. Sample -code is defined as all source code displayed within the prose of the -documentation. - -CC0: http://creativecommons.org/publicdomain/zero/1.0/ - -==== - -Files located in the node_modules and vendor directories are externally -maintained libraries used by this software which have their own -licenses; we recommend you read them, as their terms may differ from the -terms above. - - -* ISC * - -Copyright npm, Inc - -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -* BSD-3-Clause * - -Copyright © 2011, Paul Vorbach. All rights reserved. -Copyright © 2009, Jeff Mott. All rights reserved. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. -* Neither the name Crypto-JS nor the names of its contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Copyright © 2011-2012, Paul Vorbach. -Copyright © 2009, Jeff Mott. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. -* Neither the name Crypto-JS nor the names of its contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MPL-2.0 * - -Copyright © 2015-2022 HashiCorp, Inc. - -Mozilla Public License, version 2.0 - -1. Definitions - -1.1. "Contributor" - - means each individual or legal entity that creates, contributes to the - creation of, or owns Covered Software. - -1.2. "Contributor Version" - - means the combination of the Contributions of others (if any) used by a - Contributor and that particular Contributor's Contribution. - -1.3. "Contribution" - - means Covered Software of a particular Contributor. - -1.4. "Covered Software" - - means Source Code Form to which the initial Contributor has attached the - notice in Exhibit A, the Executable Form of such Source Code Form, and - Modifications of such Source Code Form, in each case including portions - thereof. - -1.5. "Incompatible With Secondary Licenses" - means - - a. that the initial Contributor has attached the notice described in - Exhibit B to the Covered Software; or - - b. that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the terms of - a Secondary License. - -1.6. "Executable Form" - - means any form of the work other than Source Code Form. - -1.7. "Larger Work" - - means a work that combines Covered Software with other material, in a - separate file or files, that is not Covered Software. - -1.8. "License" - - means this document. - -1.9. "Licensable" - - means having the right to grant, to the maximum extent possible, whether - at the time of the initial grant or subsequently, any and all of the - rights conveyed by this License. - -1.10. "Modifications" - - means any of the following: - - a. any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered Software; or - - b. any new file in Source Code Form that contains any Covered Software. - -1.11. "Patent Claims" of a Contributor - - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the License, - by the making, using, selling, offering for sale, having made, import, - or transfer of either its Contributions or its Contributor Version. - -1.12. "Secondary License" - - means either the GNU General Public License, Version 2.0, the GNU Lesser - General Public License, Version 2.1, the GNU Affero General Public - License, Version 3.0, or any later versions of those licenses. - -1.13. "Source Code Form" - - means the form of the work preferred for making modifications. - -1.14. "You" (or "Your") - - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that controls, is - controlled by, or is under common control with You. For purposes of this - definition, "control" means (a) the power, direct or indirect, to cause - the direction or management of such entity, whether by contract or - otherwise, or (b) ownership of more than fifty percent (50%) of the - outstanding shares or beneficial ownership of such entity. - - -2. License Grants and Conditions - -2.1. Grants - - Each Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - a. under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and - - b. under Patent Claims of such Contributor to make, use, sell, offer for - sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. - -2.2. Effective Date - - The licenses granted in Section 2.1 with respect to any Contribution - become effective for each Contribution on the date the Contributor first - distributes such Contribution. - -2.3. Limitations on Grant Scope - - The licenses granted in this Section 2 are the only rights granted under - this License. No additional rights or licenses will be implied from the - distribution or licensing of Covered Software under this License. - Notwithstanding Section 2.1(b) above, no patent license is granted by a - Contributor: - - a. for any code that a Contributor has removed from Covered Software; or - - b. for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - - c. under Patent Claims infringed by Covered Software in the absence of - its Contributions. - - This License does not grant any rights in the trademarks, service marks, - or logos of any Contributor (except as may be necessary to comply with - the notice requirements in Section 3.4). - -2.4. Subsequent Licenses - - No Contributor makes additional grants as a result of Your choice to - distribute the Covered Software under a subsequent version of this - License (see Section 10.2) or under the terms of a Secondary License (if - permitted under the terms of Section 3.3). - -2.5. Representation - - Each Contributor represents that the Contributor believes its - Contributions are its original creation(s) or it has sufficient rights to - grant the rights to its Contributions conveyed by this License. - -2.6. Fair Use - - This License is not intended to limit any rights You have under - applicable copyright doctrines of fair use, fair dealing, or other - equivalents. - -2.7. Conditions - - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in - Section 2.1. - - -3. Responsibilities - -3.1. Distribution of Source Form - - All distribution of Covered Software in Source Code Form, including any - Modifications that You create or to which You contribute, must be under - the terms of this License. You must inform recipients that the Source - Code Form of the Covered Software is governed by the terms of this - License, and how they can obtain a copy of this License. You may not - attempt to alter or restrict the recipients' rights in the Source Code - Form. - -3.2. Distribution of Executable Form - - If You distribute Covered Software in Executable Form then: - - a. such Covered Software must also be made available in Source Code Form, - as described in Section 3.1, and You must inform recipients of the - Executable Form how they can obtain a copy of such Source Code Form by - reasonable means in a timely manner, at a charge no more than the cost - of distribution to the recipient; and - - b. You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter the - recipients' rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - - You may create and distribute a Larger Work under terms of Your choice, - provided that You also comply with the requirements of this License for - the Covered Software. If the Larger Work is a combination of Covered - Software with a work governed by one or more Secondary Licenses, and the - Covered Software is not Incompatible With Secondary Licenses, this - License permits You to additionally distribute such Covered Software - under the terms of such Secondary License(s), so that the recipient of - the Larger Work may, at their option, further distribute the Covered - Software under the terms of either this License or such Secondary - License(s). - -3.4. Notices - - You may not remove or alter the substance of any license notices - (including copyright notices, patent notices, disclaimers of warranty, or - limitations of liability) contained within the Source Code Form of the - Covered Software, except that You may alter any license notices to the - extent required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - - You may choose to offer, and to charge a fee for, warranty, support, - indemnity or liability obligations to one or more recipients of Covered - Software. However, You may do so only on Your own behalf, and not on - behalf of any Contributor. You must make it absolutely clear that any - such warranty, support, indemnity, or liability obligation is offered by - You alone, and You hereby agree to indemnify every Contributor for any - liability incurred by such Contributor as a result of warranty, support, - indemnity or liability terms You offer. You may include additional - disclaimers of warranty and limitations of liability specific to any - jurisdiction. - -4. Inability to Comply Due to Statute or Regulation - - If it is impossible for You to comply with any of the terms of this License - with respect to some or all of the Covered Software due to statute, - judicial order, or regulation then You must: (a) comply with the terms of - this License to the maximum extent possible; and (b) describe the - limitations and the code they affect. Such description must be placed in a - text file included with all distributions of the Covered Software under - this License. Except to the extent prohibited by statute or regulation, - such description must be sufficiently detailed for a recipient of ordinary - skill to be able to understand it. - -5. Termination - -5.1. The rights granted under this License will terminate automatically if You - fail to comply with any of its terms. However, if You become compliant, - then the rights granted under this License from a particular Contributor - are reinstated (a) provisionally, unless and until such Contributor - explicitly and finally terminates Your grants, and (b) on an ongoing - basis, if such Contributor fails to notify You of the non-compliance by - some reasonable means prior to 60 days after You have come back into - compliance. Moreover, Your grants from a particular Contributor are - reinstated on an ongoing basis if such Contributor notifies You of the - non-compliance by some reasonable means, this is the first time You have - received notice of non-compliance with this License from such - Contributor, and You become compliant prior to 30 days after Your receipt - of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent - infringement claim (excluding declaratory judgment actions, - counter-claims, and cross-claims) alleging that a Contributor Version - directly or indirectly infringes any patent, then the rights granted to - You by any and all Contributors for the Covered Software under Section - 2.1 of this License shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user - license agreements (excluding distributors and resellers) which have been - validly granted by You or Your distributors under this License prior to - termination shall survive termination. - -6. Disclaimer of Warranty - - Covered Software is provided under this License on an "as is" basis, - without warranty of any kind, either expressed, implied, or statutory, - including, without limitation, warranties that the Covered Software is free - of defects, merchantable, fit for a particular purpose or non-infringing. - The entire risk as to the quality and performance of the Covered Software - is with You. Should any Covered Software prove defective in any respect, - You (not any Contributor) assume the cost of any necessary servicing, - repair, or correction. This disclaimer of warranty constitutes an essential - part of this License. No use of any Covered Software is authorized under - this License except under this disclaimer. - -7. Limitation of Liability - - Under no circumstances and under no legal theory, whether tort (including - negligence), contract, or otherwise, shall any Contributor, or anyone who - distributes Covered Software as permitted above, be liable to You for any - direct, indirect, special, incidental, or consequential damages of any - character including, without limitation, damages for lost profits, loss of - goodwill, work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses, even if such party shall have been - informed of the possibility of such damages. This limitation of liability - shall not apply to liability for death or personal injury resulting from - such party's negligence to the extent applicable law prohibits such - limitation. Some jurisdictions do not allow the exclusion or limitation of - incidental or consequential damages, so this exclusion and limitation may - not apply to You. - -8. Litigation - - Any litigation relating to this License may be brought only in the courts - of a jurisdiction where the defendant maintains its principal place of - business and such litigation shall be governed by laws of that - jurisdiction, without reference to its conflict-of-law provisions. Nothing - in this Section shall prevent a party's ability to bring cross-claims or - counter-claims. - -9. Miscellaneous - - This License represents the complete agreement concerning the subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. Any law or regulation which provides that - the language of a contract shall be construed against the drafter shall not - be used to construe this License against a Contributor. - - -10. Versions of the License - -10.1. New Versions - - Mozilla Foundation is the license steward. Except as provided in Section - 10.3, no one other than the license steward has the right to modify or - publish new versions of this License. Each version will be given a - distinguishing version number. - -10.2. Effect of New Versions - - You may distribute the Covered Software under the terms of the version - of the License under which You originally received the Covered Software, - or under the terms of any subsequent version published by the license - steward. - -10.3. Modified Versions - - If you create software not governed by this License, and you want to - create a new license for such software, you may create and use a - modified version of this License if you rename the license and remove - any references to the name of the license steward (except to note that - such modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary - Licenses If You choose to distribute Source Code Form that is - Incompatible With Secondary Licenses under the terms of this version of - the License, the notice described in Exhibit B of this License must be - attached. - -Exhibit A - Source Code Form License Notice - - This Source Code Form is subject to the - terms of the Mozilla Public License, v. - 2.0. If a copy of the MPL was not - distributed with this file, You can - obtain one at - http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular file, -then You may include the notice in a location (such as a LICENSE file in a -relevant directory) where a recipient would be likely to look for such a -notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - "Incompatible With Secondary Licenses" Notice - - This Source Code Form is "Incompatible - With Secondary Licenses", as defined by - the Mozilla Public License, v. 2.0. - - - -* MIT * - -Copyright © 2017 jsdnxx - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -* ISC * - -Copyright © 2017, Charmander <~@charmander.me> - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - -* BSD-3-Clause * - -Copyright ©2012 The bíogo Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the bíogo project nor the names of its authors and - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MIT * - -Copyright(c) Ernest Micklei - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* DOC * - -Copyright and Licensing Information for ACE(TM), TAO(TM), CIAO(TM), DAnCE(TM), and CoSMIC(TM) -ACE(TM), TAO(TM), CIAO(TM), DAnCE>(TM), and CoSMIC(TM) (henceforth referred to as "DOC software") are copyrighted by Douglas C. Schmidt and his research group at Washington University, University of California, Irvine, and Vanderbilt University, Copyright (c) 1993-2009, all rights reserved. Since DOC software is open-source, freely available software, you are free to use, modify, copy, and distribute--perpetually and irrevocably--the DOC software source code and object code produced from the source, as well as copy and distribute modified versions of this software. You must, however, include this copyright statement along with any code built using DOC software that you release. No copyright statement needs to be provided if you just ship binary executables of your software products. -You can use DOC software in commercial and/or binary software releases and are under no obligation to redistribute any of your source code that is built using DOC software. Note, however, that you may not misappropriate the DOC software code, such as copyrighting it yourself or claiming authorship of the DOC software code, in a way that will prevent DOC software from being distributed freely using an open-source development model. You needn't inform anyone that you're using DOC software in your software, though we encourage you to let us know so we can promote your project in the DOC software success stories. -The ACE, TAO, CIAO, DAnCE, and CoSMIC web sites are maintained by the DOC Group at the Institute for Software Integrated Systems (ISIS) and the Center for Distributed Object Computing of Washington University, St. Louis for the development of open-source software as part of the open-source software community. Submissions are provided by the submitter ``as is'' with no warranties whatsoever, including any warranty of merchantability, noninfringement of third party intellectual property, or fitness for any particular purpose. In no event shall the submitter be liable for any direct, indirect, special, exemplary, punitive, or consequential damages, including without limitation, lost profits, even if advised of the possibility of such damages. Likewise, DOC software is provided as is with no warranties of any kind, including the warranties of design, merchantability, and fitness for a particular purpose, noninfringement, or arising from a course of dealing, usage or trade practice. Washington University, UC Irvine, Vanderbilt University, their employees, and students shall have no liability with respect to the infringement of copyrights, trade secrets or any patents by DOC software or any part thereof. Moreover, in no event will Washington University, UC Irvine, or Vanderbilt University, their employees, or students be liable for any lost revenue or profits or other special, indirect and consequential damages. -DOC software is provided with no support and without any obligation on the part of Washington University, UC Irvine, Vanderbilt University, their employees, or students to assist in its use, correction, modification, or enhancement. A number of companies around the world provide commercial support for DOC software, however. DOC software is Y2K-compliant, as long as the underlying OS platform is Y2K-compliant. Likewise, DOC software is compliant with the new US daylight savings rule passed by Congress as "The Energy Policy Act of 2005," which established new daylight savings times (DST) rules for the United States that expand DST as of March 2007. Since DOC software obtains time/date and calendaring information from operating systems users will not be affected by the new DST rules as long as they upgrade their operating systems accordingly. -The names ACE(TM), TAO(TM), CIAO(TM), DAnCE(TM), CoSMIC(TM), Washington University, UC Irvine, and Vanderbilt University, may not be used to endorse or promote products or services derived from this source without express written permission from Washington University, UC Irvine, or Vanderbilt University. This license grants no permission to call products or services derived from this source ACE(TM), TAO(TM), CIAO(TM), DAnCE(TM), or CoSMIC(TM), nor does it grant permission for the name Washington University, UC Irvine, or Vanderbilt University to appear in their names. -If you have any suggestions, additions, comments, or questions, please let me know. -Douglas C. Schmidt - -* 0BSD * - -Django is licensed under the three-clause BSD license; see the file -LICENSE for details. - -Django includes code from the Python standard library, which is licensed under -the Python license, a permissive open source license. The copyright and license -is included below for compliance with Python's terms. - ----------------------------------------------------------------------- - -Copyright (c) 2001-present Python Software Foundation; All Rights Reserved - -A. HISTORY OF THE SOFTWARE -========================== - -Python was created in the early 1990s by Guido van Rossum at Stichting -Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands -as a successor of a language called ABC. Guido remains Python's -principal author, although it includes many contributions from others. - -In 1995, Guido continued his work on Python at the Corporation for -National Research Initiatives (CNRI, see http://www.cnri.reston.va.us) -in Reston, Virginia where he released several versions of the -software. - -In May 2000, Guido and the Python core development team moved to -BeOpen.com to form the BeOpen PythonLabs team. In October of the same -year, the PythonLabs team moved to Digital Creations, which became -Zope Corporation. In 2001, the Python Software Foundation (PSF, see -https://www.python.org/psf/) was formed, a non-profit organization -created specifically to own Python-related Intellectual Property. -Zope Corporation was a sponsoring member of the PSF. - -All Python releases are Open Source (see http://www.opensource.org for -the Open Source Definition). Historically, most, but not all, Python -releases have also been GPL-compatible; the table below summarizes -the various releases. - - Release Derived Year Owner GPL- - from compatible? (1) - - 0.9.0 thru 1.2 1991-1995 CWI yes - 1.3 thru 1.5.2 1.2 1995-1999 CNRI yes - 1.6 1.5.2 2000 CNRI no - 2.0 1.6 2000 BeOpen.com no - 1.6.1 1.6 2001 CNRI yes (2) - 2.1 2.0+1.6.1 2001 PSF no - 2.0.1 2.0+1.6.1 2001 PSF yes - 2.1.1 2.1+2.0.1 2001 PSF yes - 2.1.2 2.1.1 2002 PSF yes - 2.1.3 2.1.2 2002 PSF yes - 2.2 and above 2.1.1 2001-now PSF yes - -Footnotes: - -(1) GPL-compatible doesn't mean that we're distributing Python under - the GPL. All Python licenses, unlike the GPL, let you distribute - a modified version without making your changes open source. The - GPL-compatible licenses make it possible to combine Python with - other software that is released under the GPL; the others don't. - -(2) According to Richard Stallman, 1.6.1 is not GPL-compatible, - because its license has a choice of law clause. According to - CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1 - is "not incompatible" with the GPL. - -Thanks to the many outside volunteers who have worked under Guido's -direction to make these releases possible. - - -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON -=============================================================== - -Python software and documentation are licensed under the -Python Software Foundation License Version 2. - -Starting with Python 3.8.6, examples, recipes, and other code in -the documentation are dual licensed under the PSF License Version 2 -and the Zero-Clause BSD license. - -Some software incorporated into Python is under different licenses. -The licenses are listed with code falling under that license. - - -PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 --------------------------------------------- - -1. This LICENSE AGREEMENT is between the Python Software Foundation -("PSF"), and the Individual or Organization ("Licensee") accessing and -otherwise using this software ("Python") in source or binary form and -its associated documentation. - -2. Subject to the terms and conditions of this License Agreement, PSF hereby -grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, -analyze, test, perform and/or display publicly, prepare derivative works, -distribute, and otherwise use Python alone or in any derivative version, -provided, however, that PSF's License Agreement and PSF's notice of copyright, -i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Python Software Foundation; -All Rights Reserved" are retained in Python alone or in any derivative version -prepared by Licensee. - -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python or any part thereof, and wants to make -the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to Python. - -4. PSF is making Python available to Licensee on an "AS IS" -basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. Nothing in this License Agreement shall be deemed to create any -relationship of agency, partnership, or joint venture between PSF and -Licensee. This License Agreement does not grant permission to use PSF -trademarks or trade name in a trademark sense to endorse or promote -products or services of Licensee, or any third party. - -8. By copying, installing or otherwise using Python, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. - - -BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0 -------------------------------------------- - -BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 - -1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an -office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the -Individual or Organization ("Licensee") accessing and otherwise using -this software in source or binary form and its associated -documentation ("the Software"). - -2. Subject to the terms and conditions of this BeOpen Python License -Agreement, BeOpen hereby grants Licensee a non-exclusive, -royalty-free, world-wide license to reproduce, analyze, test, perform -and/or display publicly, prepare derivative works, distribute, and -otherwise use the Software alone or in any derivative version, -provided, however, that the BeOpen Python License is retained in the -Software, alone or in any derivative version prepared by Licensee. - -3. BeOpen is making the Software available to Licensee on an "AS IS" -basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE -SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS -AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY -DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -5. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -6. This License Agreement shall be governed by and interpreted in all -respects by the law of the State of California, excluding conflict of -law provisions. Nothing in this License Agreement shall be deemed to -create any relationship of agency, partnership, or joint venture -between BeOpen and Licensee. This License Agreement does not grant -permission to use BeOpen trademarks or trade names in a trademark -sense to endorse or promote products or services of Licensee, or any -third party. As an exception, the "BeOpen Python" logos available at -http://www.pythonlabs.com/logos.html may be used according to the -permissions granted on that web page. - -7. By copying, installing or otherwise using the software, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. - - -CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1 ---------------------------------------- - -1. This LICENSE AGREEMENT is between the Corporation for National -Research Initiatives, having an office at 1895 Preston White Drive, -Reston, VA 20191 ("CNRI"), and the Individual or Organization -("Licensee") accessing and otherwise using Python 1.6.1 software in -source or binary form and its associated documentation. - -2. Subject to the terms and conditions of this License Agreement, CNRI -hereby grants Licensee a nonexclusive, royalty-free, world-wide -license to reproduce, analyze, test, perform and/or display publicly, -prepare derivative works, distribute, and otherwise use Python 1.6.1 -alone or in any derivative version, provided, however, that CNRI's -License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) -1995-2001 Corporation for National Research Initiatives; All Rights -Reserved" are retained in Python 1.6.1 alone or in any derivative -version prepared by Licensee. Alternately, in lieu of CNRI's License -Agreement, Licensee may substitute the following text (omitting the -quotes): "Python 1.6.1 is made available subject to the terms and -conditions in CNRI's License Agreement. This Agreement together with -Python 1.6.1 may be located on the internet using the following -unique, persistent identifier (known as a handle): 1895.22/1013. This -Agreement may also be obtained from a proxy server on the internet -using the following URL: http://hdl.handle.net/1895.22/1013". - -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python 1.6.1 or any part thereof, and wants to make -the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to Python 1.6.1. - -4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" -basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. This License Agreement shall be governed by the federal -intellectual property law of the United States, including without -limitation the federal copyright law, and, to the extent such -U.S. federal law does not apply, by the law of the Commonwealth of -Virginia, excluding Virginia's conflict of law provisions. -Notwithstanding the foregoing, with regard to derivative works based -on Python 1.6.1 that incorporate non-separable material that was -previously distributed under the GNU General Public License (GPL), the -law of the Commonwealth of Virginia shall govern this License -Agreement only as to issues arising under or with respect to -Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this -License Agreement shall be deemed to create any relationship of -agency, partnership, or joint venture between CNRI and Licensee. This -License Agreement does not grant permission to use CNRI trademarks or -trade name in a trademark sense to endorse or promote products or -services of Licensee, or any third party. - -8. By clicking on the "ACCEPT" button where indicated, or by copying, -installing or otherwise using Python 1.6.1, Licensee agrees to be -bound by the terms and conditions of this License Agreement. - - ACCEPT - - -CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2 --------------------------------------------------- - -Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, -The Netherlands. All rights reserved. - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of Stichting Mathematisch -Centrum or CWI not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE -FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -ZERO-CLAUSE BSD LICENSE FOR CODE IN THE PYTHON DOCUMENTATION ----------------------------------------------------------------------- - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - -* BSD-2-Clause * - -Espree -Copyright JS Foundation and other contributors, https://js.foundation - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* FSFAP * - -Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty. - -* FSFULLR * - -Copyright 1996-2006 Free Software Foundation, Inc. -This file is free software; the Free Software Foundation gives unlimited permission to copy and/or distribute it, with or without modifications, as long as this notice is preserved. - -* GPL-2.0-only * - -GNU GENERAL PUBLIC LICENSE -Version 2, June 1991 -Copyright (C) 1989, 1991 Free Software Foundation, Inc. -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 , USA -Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. -Preamble -The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. -When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. -To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. -For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. -We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. -Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. -Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. -The precise terms and conditions for copying, distribution and modification follow. -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". - Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. - 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. - You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. - 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: - a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. - b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. - c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) - These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. - Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. - In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. - 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: - a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, - b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, - c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) - The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. - If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. - 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. - 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. - 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. - 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. - If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. - It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. - This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. - 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. - 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. - Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. - 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. - NO WARRANTY - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS -How to Apply These Terms to Your New Programs -If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. -To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. -< one line to give the program's name and an idea of what it does. > -Copyright (C) < yyyy > < name of author > -This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. -This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 , USA. Also add information on how to contact you by electronic and paper mail. -If the program is interactive, make it output a short notice like this when it starts in an interactive mode: -Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. -The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. -You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: -Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. -< signature of Ty Coon > , 1 April 1989 Ty Coon, President of Vice - -* GPL-2.0-or-later * - -GNU GENERAL PUBLIC LICENSE -Version 2, June 1991 -Copyright (C) 1989, 1991 Free Software Foundation, Inc. -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 , USA -Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. -Preamble -The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. -When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. -To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. -For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. -We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. -Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. -Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. -The precise terms and conditions for copying, distribution and modification follow. -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". - Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. - 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. - You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. - 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: - a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. - b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. - c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) - These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. - Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. - In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. - 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: - a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, - b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, - c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) - The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. - If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. - 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. - 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. - 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. - 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. - If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. - It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. - This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. - 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. - 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. - Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. - 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. - NO WARRANTY - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS -How to Apply These Terms to Your New Programs -If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. -To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. -< one line to give the program's name and an idea of what it does. > -Copyright (C) < yyyy > < name of author > -This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. -This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 , USA. Also add information on how to contact you by electronic and paper mail. -If the program is interactive, make it output a short notice like this when it starts in an interactive mode: -Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. -The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. -You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: -Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. -< signature of Ty Coon > , 1 April 1989 Ty Coon, President of Vice - -* GPL-3.0-or-later * - -GNU GENERAL PUBLIC LICENSE -Version 3, 29 June 2007 -Copyright © 2007 Free Software Foundation, Inc. -Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. -Preamble -The GNU General Public License is a free, copyleft license for software and other kinds of works. -The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. -When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. -To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. -For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. -Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. -For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. -Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. -Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. -The precise terms and conditions for copying, distribution and modification follow. -TERMS AND CONDITIONS - 0. Definitions. - "This License" refers to version 3 of the GNU General Public License. - "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. - "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. - To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. - A "covered work" means either the unmodified Program or a work based on the Program. - To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. - To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. - An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. - 1. Source Code. - The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. - A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. - The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. - The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. - The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. - The Corresponding Source for a work in source code form is that same work. - 2. Basic Permissions. - All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. - You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. - Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. - When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. - 4. Conveying Verbatim Copies. - You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. - You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. - 5. Conveying Modified Source Versions. - You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: - a) The work must carry prominent notices stating that you modified it, and giving a relevant date. - b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". - c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. - d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. - A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. - 6. Conveying Non-Source Forms. - You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: - a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. - b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. - c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. - d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. - e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. - A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. - A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. - "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. - If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). - The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. - Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. - 7. Additional Terms. - "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. - When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. - Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: - a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or - b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or - c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or - d) Limiting the use for publicity purposes of names of licensors or authors of the material; or - e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or - f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. - All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. - If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. - Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. - 8. Termination. - You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). - However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. - Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. - Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. - 9. Acceptance Not Required for Having Copies. - You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. - 10. Automatic Licensing of Downstream Recipients. - Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. - An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. - You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. - 11. Patents. - A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". - A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. - Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. - In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. - If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. - If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. - A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. - Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. - 12. No Surrender of Others' Freedom. - If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. - 13. Use with the GNU Affero General Public License. - Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. - 14. Revised Versions of this License. - The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. - Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. - If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. - Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. - 15. Disclaimer of Warranty. - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - 16. Limitation of Liability. - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - 17. Interpretation of Sections 15 and 16. - If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS -How to Apply These Terms to Your New Programs -If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. -To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. - -Copyright (C) -This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. -This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -You should have received a copy of the GNU General Public License along with this program. If not, see . -Also add information on how to contact you by electronic and paper mail. -If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - Copyright (C) -This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. -This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. -The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". -You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . -The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . - -* IETF * - -This repository relates to activities in the Internet Engineering Task Force (IETF). All material in this repository is considered Contributions to the IETF Standards Process, as defined in the intellectual property policies of IETF currently designated as BCP 78, BCP 79 and the IETF Trust Legal Provisions (TLP) Relating to IETF Documents. - -Any edit, commit, pull request, issue, comment or other change made to this repository constitutes Contributions to the IETF Standards Process (https://www.ietf.org/). - -You agree to comply with all applicable IETF policies and procedures, including, BCP 78, 79, the TLP, and the TLP rules regarding code components (e.g. being subject to a Simplified BSD License) in Contributions. - -* IPA * - -IPA Font License Agreement v1.0 -The Licensor provides the Licensed Program (as defined in Article 1 below) under the terms of this license agreement ("Agreement"). Any use, reproduction or distribution of the Licensed Program, or any exercise of rights under this Agreement by a Recipient (as defined in Article 1 below) constitutes the Recipient's acceptance of this Agreement. -Article 1 (Definitions) - 1. "Digital Font Program" shall mean a computer program containing, or used to render or display fonts. - 2. "Licensed Program" shall mean a Digital Font Program licensed by the Licensor under this Agreement. - 3. "Derived Program" shall mean a Digital Font Program created as a result of a modification, addition, deletion, replacement or any other adaptation to or of a part or all of the Licensed Program, and includes a case where a Digital Font Program newly created by retrieving font information from a part or all of the Licensed Program or Embedded Fonts from a Digital Document File with or without modification of the retrieved font information. - 4. "Digital Content" shall mean products provided to end users in the form of digital data, including video content, motion and/or still pictures, TV programs or other broadcasting content and products consisting of character text, pictures, photographic images, graphic symbols and/or the like. - 5. "Digital Document File" shall mean a PDF file or other Digital Content created by various software programs in which a part or all of the Licensed Program becomes embedded or contained in the file for the display of the font ("Embedded Fonts"). Embedded Fonts are used only in the display of characters in the particular Digital Document File within which they are embedded, and shall be distinguished from those in any Digital Font Program, which may be used for display of characters outside that particular Digital Document File. - 6. "Computer" shall include a server in this Agreement. - 7. "Reproduction and Other Exploitation" shall mean reproduction, transfer, distribution, lease, public transmission, presentation, exhibition, adaptation and any other exploitation. - 8. "Recipient" shall mean anyone who receives the Licensed Program under this Agreement, including one that receives the Licensed Program from a Recipient. -Article 2 (Grant of License) -The Licensor grants to the Recipient a license to use the Licensed Program in any and all countries in accordance with each of the provisions set forth in this Agreement. However, any and all rights underlying in the Licensed Program shall be held by the Licensor. In no sense is this Agreement intended to transfer any right relating to the Licensed Program held by the Licensor except as specifically set forth herein or any right relating to any trademark, trade name, or service mark to the Recipient. - 1. The Recipient may install the Licensed Program on any number of Computers and use the same in accordance with the provisions set forth in this Agreement. - 2. The Recipient may use the Licensed Program, with or without modification in printed materials or in Digital Content as an expression of character texts or the like. - 3. The Recipient may conduct Reproduction and Other Exploitation of the printed materials and Digital Content created in accordance with the preceding Paragraph, for commercial or non-commercial purposes and in any form of media including but not limited to broadcasting, communication and various recording media. - 4. If any Recipient extracts Embedded Fonts from a Digital Document File to create a Derived Program, such Derived Program shall be subject to the terms of this agreement. - 5. If any Recipient performs Reproduction or Other Exploitation of a Digital Document File in which Embedded Fonts of the Licensed Program are used only for rendering the Digital Content within such Digital Document File then such Recipient shall have no further obligations under this Agreement in relation to such actions. - 6. The Recipient may reproduce the Licensed Program as is without modification and transfer such copies, publicly transmit or otherwise redistribute the Licensed Program to a third party for commercial or non-commercial purposes ("Redistribute"), in accordance with the provisions set forth in Article 3 Paragraph 2. - 7. The Recipient may create, use, reproduce and/or Redistribute a Derived Program under the terms stated above for the Licensed Program: provided, that the Recipient shall follow the provisions set forth in Article 3 Paragraph 1 when Redistributing the Derived Program. -Article 3 (Restriction) -The license granted in the preceding Article shall be subject to the following restrictions: - 1. If a Derived Program is Redistributed pursuant to Paragraph 4 and 7 of the preceding Article, the following conditions must be met : - (1) The following must be also Redistributed together with the Derived Program, or be made available online or by means of mailing mechanisms in exchange for a cost which does not exceed the total costs of postage, storage medium and handling fees: - (a) a copy of the Derived Program; and - (b) any additional file created by the font developing program in the course of creating the Derived Program that can be used for further modification of the Derived Program, if any. - (2) It is required to also Redistribute means to enable recipients of the Derived Program to replace the Derived Program with the Licensed Program first released under this License (the "Original Program"). Such means may be to provide a difference file from the Original Program, or instructions setting out a method to replace the Derived Program with the Original Program. - (3) The Recipient must license the Derived Program under the terms and conditions of this Agreement. - (4) No one may use or include the name of the Licensed Program as a program name, font name or file name of the Derived Program. - (5) Any material to be made available online or by means of mailing a medium to satisfy the requirements of this paragraph may be provided, verbatim, by any party wishing to do so. - 2. If the Recipient Redistributes the Licensed Program pursuant to Paragraph 6 of the preceding Article, the Recipient shall meet all of the following conditions: - (1) The Recipient may not change the name of the Licensed Program. - (2) The Recipient may not alter or otherwise modify the Licensed Program. - (3) The Recipient must attach a copy of this Agreement to the Licensed Program. - 3. THIS LICENSED PROGRAM IS PROVIDED BY THE LICENSOR "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTY AS TO THE LICENSED PROGRAM OR ANY DERIVED PROGRAM, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT SHALL THE LICENSOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXTENDED, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO; PROCUREMENT OF SUBSTITUTED GOODS OR SERVICE; DAMAGES ARISING FROM SYSTEM FAILURE; LOSS OR CORRUPTION OF EXISTING DATA OR PROGRAM; LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE INSTALLATION, USE, THE REPRODUCTION OR OTHER EXPLOITATION OF THE LICENSED PROGRAM OR ANY DERIVED PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - 4. The Licensor is under no obligation to respond to any technical questions or inquiries, or provide any other user support in connection with the installation, use or the Reproduction and Other Exploitation of the Licensed Program or Derived Programs thereof. -Article 4 (Termination of Agreement) - 1. The term of this Agreement shall begin from the time of receipt of the Licensed Program by the Recipient and shall continue as long as the Recipient retains any such Licensed Program in any way. - 2. Notwithstanding the provision set forth in the preceding Paragraph, in the event of the breach of any of the provisions set forth in this Agreement by the Recipient, this Agreement shall automatically terminate without any notice. In the case of such termination, the Recipient may not use or conduct Reproduction and Other Exploitation of the Licensed Program or a Derived Program: provided that such termination shall not affect any rights of any other Recipient receiving the Licensed Program or the Derived Program from such Recipient who breached this Agreement. -Article 5 (Governing Law) - 1. IPA may publish revised and/or new versions of this License. In such an event, the Recipient may select either this Agreement or any subsequent version of the Agreement in using, conducting the Reproduction and Other Exploitation of, or Redistributing the Licensed Program or a Derived Program. Other matters not specified above shall be subject to the Copyright Law of Japan and other related laws and regulations of Japan. - 2. This Agreement shall be construed under the laws of Japan. - -* ISC * - -ISC License -Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC") -Copyright (c) 1995-2003 by Internet Software Consortium -Permission to use, copy, modify, and /or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. -THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -* ISC * - -ISC License - -Copyright (c) 2012-2016 Dave Collins - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -* ISC * - -ISC License - -Copyright (c) 2015, Paul O’Shannessy - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - -This product bundles QR Code Generator, which is available under a -"MIT" license. For details, see src/third-party/qrcodegen. - - -* ISC * - -ISC License - -Copyright (c) 2018-2020, Andrea Giammarchi, @WebReflection - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - -* ISC * - -ISC License - -Copyright (c) 2021 Alexey Raspopov, Kostiantyn Denysov, Anton Verinov - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -* ISC * - -ISC License - -Copyright (c) 2021, Andrea Giammarchi, @WebReflection - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - -* ISC * - -ISC License - -Copyright (c) npm, Inc. - -Permission to use, copy, modify, and/or distribute this software for -any purpose with or without fee is hereby granted, provided that the -above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE COPYRIGHT HOLDER DISCLAIMS -ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE -USE OR PERFORMANCE OF THIS SOFTWARE. - - -* ISC * - -ISC License (ISC) - -Copyright (c) 2015, Glen Maddern - -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -* ISC * - -ISC License (ISC) - -Copyright (c) 2015, Glen Maddern - -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -* ISC * - -ISC License (ISC) -Copyright 2018 Glen Maddern - -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -* ISC * - -ISC License (ISC) -Copyright 2018 Stefan Penner - -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -* JSON * - -JSON License -Copyright (c) 2002 JSON.org -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -The Software shall be used for Good, not Evil. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -* LGPL-2.1-only * - -GNU LESSER GENERAL PUBLIC LICENSE -Version 2.1, February 1999 -Copyright (C) 1991, 1999 Free Software Foundation, Inc. -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. -[This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] -Preamble -The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. -This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. -When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. -To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. -For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. -We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. -To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. -Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. -Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. -When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. -We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. -For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. -In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. -Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. -The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". - A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. - The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) - "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. - Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. - 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. - You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. - 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: - a) The modified work must itself be a software library. - b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. - c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. - d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. - (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) - These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. - Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. - In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. - 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. - Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. - This option is useful when you wish to copy part of the code of the Library into a program that is not a library. - 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. - If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. - 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. - However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. - When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. - If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) - Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. - 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. - You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: - a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) - b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. - c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. - d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. - e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. - For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. - It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. - 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: - a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. - b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. - 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. - 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. - 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. - 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. - If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. - It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. - This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. - 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. - 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. - Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. - 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. - NO WARRANTY - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS -How to Apply These Terms to Your New Libraries -If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). -To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. -< one line to give the library's name and an idea of what it does. > -Copyright (C) < year > < name of author > -This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. -This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. -You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. -You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: -Yoyodyne, Inc., hereby disclaims all copyright interest in -the library `Frob' (a library for tweaking knobs) written -by James Random Hacker. -< signature of Ty Coon > , 1 April 1990 -Ty Coon, President of Vice -That's all there is to it! - -* LGPL-3.0-only * - -GNU LESSER GENERAL PUBLIC LICENSE -Version 3, 29 June 2007 -Copyright (C) 2007 Free Software Foundation, Inc. -Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. -This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below. - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser General Public License, and the "GNU GPL" refers to version 3 of the GNU General Public License. - - "The Library" refers to a covered work governed by this License, other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the "Linked Version". - - The "Minimal Corresponding Source" for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work. - 1. Exception to Section 3 of the GNU GPL. - You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL. - 2. Conveying Modified Versions. - If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version: - a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or - b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy. - 3. Object Code Incorporating Material from Library Header Files. - The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following: - a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License. - b) Accompany the object code with a copy of the GNU GPL and this license document. - 4. Combined Works. - You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following: - a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License. - b) Accompany the Combined Work with a copy of the GNU GPL and this license document. - c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document. - d) Do one of the following: - 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. - 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. - e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.) - 5. Combined Libraries. - You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following: - a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License. - b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. - 6. Revised Versions of the GNU Lesser General Public License. - The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. - Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation. - If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library. - -* MIT * - -License (MIT) - -Copyright (c) Michael Ciniawsky - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -License (MIT) - -Copyright 2017 Andrey Sitnik - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -MIT License -Copyright (c) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -* MIT * - -MIT - -Copyright Joyent, Inc. and other Node contributors. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -MIT LICENSE - -Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -MIT LICENSE - -Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -MIT LICENSE - -Copyright (c) 2015-present Ant UED, https://xtech.antfin.com/ - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -MIT LICENSE - -Copyright (c) 2018-present Ant UED, https://xtech.antfin.com/ - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -MIT License - -Copyright (C) 2012-2018 by various contributors (see AUTHORS) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -MIT License - -Copyright (C) 2012-2022 by various contributors (see AUTHORS) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2010 - 2017 Brian Carlson - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2010 - 2021 Brian Carlson - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2012 James Halliday - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2012 Marko Kungla. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2012, 2013, 2014 James Halliday , 2009 Thomas Robinson <280north.com> - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2012-2018 Aseem Kishore, and [others]. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -[others]: https://github.com/json5/json5/contributors - - -* MIT * - -MIT License - -Copyright (c) 2012-2019 Thorsten Lorenz, Paul Miller (https://paulmillr.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2012-2020 Mat Ryer, Tyler Bunnell and contributors. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2013 Julian Gruber - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2013-present, Facebook, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -* MIT * - -MIT License - -Copyright (c) 2013-present, Facebook, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2013-present, Facebook, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2014 Klaus Post - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2014-2018 Suguru Motegi -Based on Async.js, Copyright Caolan McMahon - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2014-present Sebastian McKenzie and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2014-present, Facebook, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2016 4Catalyzer - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2016 Jeremy Saenz & Contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2016 Jordan Harband - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2016 json-iterator - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2016 xiaody - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2016, 2018 Linus Unnebäck - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2016-present Sultan Tarimo - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2017 Alberto Leal (github.com/dashed) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2017 Axiom Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2017 Brian M. Carlson - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2017 David Muto (pseudomuto) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2017 Evgeny Poberezkin - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2017 JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2017 Michel Weststrate - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2017 Tony Quetano - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2017 crypto-browserify - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2017 marusama - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2017 sudodoki - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* BSD-3-Clause * - -MIT License - -Copyright (c) 2018 David Brophy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -This package was forked from https://github.com/golang/go/tree/master/src/go/ast - original license: - -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* MIT * - -MIT License - -Copyright (c) 2018 David Muto (pseudomuto) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2018 Formidable Labs -Copyright (c) 2017 Evgeny Poberezkin - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2018 Olivier Poitrey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2018 Sven Sauleau - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2018 Toru Nagashima - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2018 lestrrat - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2018-present, iamkun - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2019 Alexander Reardon - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -* MIT * - -MIT License - -Copyright (c) 2019 Christian Muehlhaeuser - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2019 Functional Software, Inc. dba Sentry - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2019 Jordan Harband - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2019 Oliver Kuederle - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2019 TypeScript ESLint and other contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2019 typescript-eslint and other contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2019-present react-component - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -* MIT * - -MIT License - -Copyright (c) 2020 Charmbracelet, Inc - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2020 CockroachDB - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2020 ESLint - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2020 Evan Wallace - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2020 Jordan Harband - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2020 Masaaki Goshima - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2020 Michael Tibben - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2020 Power DevOps - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - - -* MIT * - -MIT License - -Copyright (c) 2020 lestrrat-go - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2021 Charmbracelet, Inc - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2021 Christian Muehlhaeuser - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2021 Go kit - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2021 Inspect JS - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2021 lestrrat-go - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2022 Ayman Bagabas - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2022 Erik Geiser and Christian Muehlhaeuser - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2022 Inspect JS - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2022 Oliver Tan - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2023 Cody Olsen - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) Emotion team and other contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) Facebook, Inc. and its affiliates. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) Hiroki Osame - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) Michael Jackson 2016-2018 - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) React Training - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) React Training 2015-2019 -Copyright (c) Remix Software 2020-2022 - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) React Training 2016-2018 - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) React Training LLC 2015-2019 -Copyright (c) Remix Software Inc. 2020-2021 -Copyright (c) Shopify Inc. 2022-2023 - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) Redux-Saga team and other contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) 2017 Mauro Bringolf - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -* MIT * - -MIT License - -Copyright (c) 2018 Mark Erikson - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MPL-2.0 * - -Mozilla Public License Version 2.0 - 1. Definitions - 1.1. "Contributor" means each individual or legal entity that creates, contributes to the creation of, or owns Covered Software. - 1.2. "Contributor Version" means the combination of the Contributions of others (if any) used by a Contributor and that particular Contributor's Contribution. - 1.3. "Contribution" means Covered Software of a particular Contributor. - 1.4. "Covered Software" means Source Code Form to which the initial Contributor has attached the notice in Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof. - 1.5. "Incompatible With Secondary Licenses" means - (a) that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or - (b) that the Covered Software was made available under the terms of version 1.1 or earlier of the License, but not also under the terms of a Secondary License. - 1.6. "Executable Form" means any form of the work other than Source Code Form. - 1.7. "Larger Work" means a work that combines Covered Software with other material, in a separate file or files, that is not Covered Software. - 1.8. "License" means this document. - 1.9. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently, any and all of the rights conveyed by this License. - 1.10. "Modifications" means any of the following: - (a) any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or - (b) any new file in Source Code Form that contains any Covered Software. - 1.11. "Patent Claims" of a Contributor means any patent claim(s), including without limitation, method, process, and apparatus claims, in any patent Licensable by such Contributor that would be infringed, but for the grant of the License, by the making, using, selling, offering for sale, having made, import, or transfer of either its Contributions or its Contributor Version. - 1.12. "Secondary License" means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses. - 1.13. "Source Code Form" means the form of the work preferred for making modifications. - 1.14. "You" (or "Your") means an individual or a legal entity exercising rights under this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. - 2. License Grants and Conditions - 2.1. Grants - Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license: - (a) under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and - (b) under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version. - 2.2. Effective Date - The licenses granted in Section 2.1 with respect to any Contribution become effective for each Contribution on the date the Contributor first distributes such Contribution. - 2.3. Limitations on Grant Scope - The licenses granted in this Section 2 are the only rights granted under this License. No additional rights or licenses will be implied from the distribution or licensing of Covered Software under this License. Notwithstanding Section 2.1(b) above, no patent license is granted by a Contributor: - (a) for any code that a Contributor has removed from Covered Software; or - (b) for infringements caused by: (i) Your and any other third party's modifications of Covered Software, or (ii) the combination of its Contributions with other software (except as part of its Contributor Version); or - (c) under Patent Claims infringed by Covered Software in the absence of its Contributions. - This License does not grant any rights in the trademarks, service marks, or logos of any Contributor (except as may be necessary to comply with the notice requirements in Section 3.4). - 2.4. Subsequent Licenses - No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version of this License (see Section 10.2) or under the terms of a Secondary License (if permitted under the terms of Section 3.3). - 2.5. Representation - Each Contributor represents that the Contributor believes its Contributions are its original creation(s) or it has sufficient rights to grant the rights to its Contributions conveyed by this License. - 2.6. Fair Use - This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other equivalents. - 2.7. Conditions - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1. - 3. Responsibilities - 3.1. Distribution of Source Form - All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License. You may not attempt to alter or restrict the recipients' rights in the Source Code Form. - 3.2. Distribution of Executable Form - If You distribute Covered Software in Executable Form then: - (a) such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must inform recipients of the Executable Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the recipient; and - (b) You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients' rights in the Source Code Form under this License. - 3.3. Distribution of a Larger Work - You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s). - 3.4. Notices - You may not remove or alter the substance of any license notices (including copyright notices, patent notices, disclaimers of warranty, or limitations of liability) contained within the Source Code Form of the Covered Software, except that You may alter any license notices to the extent required to remedy known factual inaccuracies. - 3.5. Application of Additional Terms - You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, You may do so only on Your own behalf, and not on behalf of any Contributor. You must make it absolutely clear that any such warranty, support, indemnity, or liability obligation is offered by You alone, and You hereby agree to indemnify every Contributor for any liability incurred by such Contributor as a result of warranty, support, indemnity or liability terms You offer. You may include additional disclaimers of warranty and limitations of liability specific to any jurisdiction. - 4. Inability to Comply Due to Statute or Regulation - If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be placed in a text file included with all distributions of the Covered Software under this License. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. - 5. Termination - 5.1. The rights granted under this License will terminate automatically if You fail to comply with any of its terms. However, if You become compliant, then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such Contributor explicitly and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor fails to notify You of the non-compliance by some reasonable means prior to 60 days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such Contributor notifies You of the non-compliance by some reasonable means, this is the first time You have received notice of non-compliance with this License from such Contributor, and You become compliant prior to 30 days after Your receipt of the notice. - 5.2. If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate. - 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or Your distributors under this License prior to termination shall survive termination. - 6. Disclaimer of Warranty - Covered Software is provided under this License on an "as is" basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the Covered Software is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the Covered Software is with You. Should any Covered Software prove defective in any respect, You (not any Contributor) assume the cost of any necessary servicing, repair, or correction. This disclaimer of warranty constitutes an essential part of this License. No use of any Covered Software is authorized under this License except under this disclaimer. - 7. Limitation of Liability - Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall any Contributor, or anyone who distributes Covered Software as permitted above, be liable to You for any direct, indirect, special, incidental, or consequential damages of any character including, without limitation, damages for lost profits, loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages. This limitation of liability shall not apply to liability for death or personal injury resulting from such party's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You. - 8. Litigation - Any litigation relating to this License may be brought only in the courts of a jurisdiction where the defendant maintains its principal place of business and such litigation shall be governed by laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this Section shall prevent a party's ability to bring cross-claims or counter-claims. - 9. Miscellaneous - This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not be used to construe this License against a Contributor. - 10. Versions of the License - 10.1. New Versions - Mozilla Foundation is the license steward. Except as provided in Section 10.3, no one other than the license steward has the right to modify or publish new versions of this License. Each version will be given a distinguishing version number. - 10.2. Effect of New Versions - You may distribute the Covered Software under the terms of the version of the License under which You originally received the Covered Software, or under the terms of any subsequent version published by the license steward. - 10.3. Modified Versions - If you create software not governed by this License, and you want to create a new license for such software, you may create and use a modified version of this License if you rename the license and remove any references to the name of the license steward (except to note that such modified license differs from this License). - 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses - If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached. Exhibit A - Source Code Form License Notice -This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. -If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice. -You may add additional accurate notices of copyright ownership. -Exhibit B - "Incompatible With Secondary Licenses" Notice -This Source Code Form is "Incompatible With Secondary Licenses", as defined by the Mozilla Public License, v. 2.0. - -* MPL-2.0 * - -Mozilla Public License Version 2.0 -================================== - -1. Definitions --------------- - -1.1. "Contributor" - means each individual or legal entity that creates, contributes to - the creation of, or owns Covered Software. - -1.2. "Contributor Version" - means the combination of the Contributions of others (if any) used - by a Contributor and that particular Contributor's Contribution. - -1.3. "Contribution" - means Covered Software of a particular Contributor. - -1.4. "Covered Software" - means Source Code Form to which the initial Contributor has attached - the notice in Exhibit A, the Executable Form of such Source Code - Form, and Modifications of such Source Code Form, in each case - including portions thereof. - -1.5. "Incompatible With Secondary Licenses" - means - - (a) that the initial Contributor has attached the notice described - in Exhibit B to the Covered Software; or - - (b) that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the - terms of a Secondary License. - -1.6. "Executable Form" - means any form of the work other than Source Code Form. - -1.7. "Larger Work" - means a work that combines Covered Software with other material, in - a separate file or files, that is not Covered Software. - -1.8. "License" - means this document. - -1.9. "Licensable" - means having the right to grant, to the maximum extent possible, - whether at the time of the initial grant or subsequently, any and - all of the rights conveyed by this License. - -1.10. "Modifications" - means any of the following: - - (a) any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered - Software; or - - (b) any new file in Source Code Form that contains any Covered - Software. - -1.11. "Patent Claims" of a Contributor - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the - License, by the making, using, selling, offering for sale, having - made, import, or transfer of either its Contributions or its - Contributor Version. - -1.12. "Secondary License" - means either the GNU General Public License, Version 2.0, the GNU - Lesser General Public License, Version 2.1, the GNU Affero General - Public License, Version 3.0, or any later versions of those - licenses. - -1.13. "Source Code Form" - means the form of the work preferred for making modifications. - -1.14. "You" (or "Your") - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that - controls, is controlled by, or is under common control with You. For - purposes of this definition, "control" means (a) the power, direct - or indirect, to cause the direction or management of such entity, - whether by contract or otherwise, or (b) ownership of more than - fifty percent (50%) of the outstanding shares or beneficial - ownership of such entity. - -2. License Grants and Conditions --------------------------------- - -2.1. Grants - -Each Contributor hereby grants You a world-wide, royalty-free, -non-exclusive license: - -(a) under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and - -(b) under Patent Claims of such Contributor to make, use, sell, offer - for sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. - -2.2. Effective Date - -The licenses granted in Section 2.1 with respect to any Contribution -become effective for each Contribution on the date the Contributor first -distributes such Contribution. - -2.3. Limitations on Grant Scope - -The licenses granted in this Section 2 are the only rights granted under -this License. No additional rights or licenses will be implied from the -distribution or licensing of Covered Software under this License. -Notwithstanding Section 2.1(b) above, no patent license is granted by a -Contributor: - -(a) for any code that a Contributor has removed from Covered Software; - or - -(b) for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - -(c) under Patent Claims infringed by Covered Software in the absence of - its Contributions. - -This License does not grant any rights in the trademarks, service marks, -or logos of any Contributor (except as may be necessary to comply with -the notice requirements in Section 3.4). - -2.4. Subsequent Licenses - -No Contributor makes additional grants as a result of Your choice to -distribute the Covered Software under a subsequent version of this -License (see Section 10.2) or under the terms of a Secondary License (if -permitted under the terms of Section 3.3). - -2.5. Representation - -Each Contributor represents that the Contributor believes its -Contributions are its original creation(s) or it has sufficient rights -to grant the rights to its Contributions conveyed by this License. - -2.6. Fair Use - -This License is not intended to limit any rights You have under -applicable copyright doctrines of fair use, fair dealing, or other -equivalents. - -2.7. Conditions - -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted -in Section 2.1. - -3. Responsibilities -------------------- - -3.1. Distribution of Source Form - -All distribution of Covered Software in Source Code Form, including any -Modifications that You create or to which You contribute, must be under -the terms of this License. You must inform recipients that the Source -Code Form of the Covered Software is governed by the terms of this -License, and how they can obtain a copy of this License. You may not -attempt to alter or restrict the recipients' rights in the Source Code -Form. - -3.2. Distribution of Executable Form - -If You distribute Covered Software in Executable Form then: - -(a) such Covered Software must also be made available in Source Code - Form, as described in Section 3.1, and You must inform recipients of - the Executable Form how they can obtain a copy of such Source Code - Form by reasonable means in a timely manner, at a charge no more - than the cost of distribution to the recipient; and - -(b) You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter - the recipients' rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - -You may create and distribute a Larger Work under terms of Your choice, -provided that You also comply with the requirements of this License for -the Covered Software. If the Larger Work is a combination of Covered -Software with a work governed by one or more Secondary Licenses, and the -Covered Software is not Incompatible With Secondary Licenses, this -License permits You to additionally distribute such Covered Software -under the terms of such Secondary License(s), so that the recipient of -the Larger Work may, at their option, further distribute the Covered -Software under the terms of either this License or such Secondary -License(s). - -3.4. Notices - -You may not remove or alter the substance of any license notices -(including copyright notices, patent notices, disclaimers of warranty, -or limitations of liability) contained within the Source Code Form of -the Covered Software, except that You may alter any license notices to -the extent required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - -You may choose to offer, and to charge a fee for, warranty, support, -indemnity or liability obligations to one or more recipients of Covered -Software. However, You may do so only on Your own behalf, and not on -behalf of any Contributor. You must make it absolutely clear that any -such warranty, support, indemnity, or liability obligation is offered by -You alone, and You hereby agree to indemnify every Contributor for any -liability incurred by such Contributor as a result of warranty, support, -indemnity or liability terms You offer. You may include additional -disclaimers of warranty and limitations of liability specific to any -jurisdiction. - -4. Inability to Comply Due to Statute or Regulation ---------------------------------------------------- - -If it is impossible for You to comply with any of the terms of this -License with respect to some or all of the Covered Software due to -statute, judicial order, or regulation then You must: (a) comply with -the terms of this License to the maximum extent possible; and (b) -describe the limitations and the code they affect. Such description must -be placed in a text file included with all distributions of the Covered -Software under this License. Except to the extent prohibited by statute -or regulation, such description must be sufficiently detailed for a -recipient of ordinary skill to be able to understand it. - -5. Termination --------------- - -5.1. The rights granted under this License will terminate automatically -if You fail to comply with any of its terms. However, if You become -compliant, then the rights granted under this License from a particular -Contributor are reinstated (a) provisionally, unless and until such -Contributor explicitly and finally terminates Your grants, and (b) on an -ongoing basis, if such Contributor fails to notify You of the -non-compliance by some reasonable means prior to 60 days after You have -come back into compliance. Moreover, Your grants from a particular -Contributor are reinstated on an ongoing basis if such Contributor -notifies You of the non-compliance by some reasonable means, this is the -first time You have received notice of non-compliance with this License -from such Contributor, and You become compliant prior to 30 days after -Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent -infringement claim (excluding declaratory judgment actions, -counter-claims, and cross-claims) alleging that a Contributor Version -directly or indirectly infringes any patent, then the rights granted to -You by any and all Contributors for the Covered Software under Section -2.1 of this License shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all -end user license agreements (excluding distributors and resellers) which -have been validly granted by You or Your distributors under this License -prior to termination shall survive termination. - -************************************************************************ -* * -* 6. Disclaimer of Warranty * -* ------------------------- * -* * -* Covered Software is provided under this License on an "as is" * -* basis, without warranty of any kind, either expressed, implied, or * -* statutory, including, without limitation, warranties that the * -* Covered Software is free of defects, merchantable, fit for a * -* particular purpose or non-infringing. The entire risk as to the * -* quality and performance of the Covered Software is with You. * -* Should any Covered Software prove defective in any respect, You * -* (not any Contributor) assume the cost of any necessary servicing, * -* repair, or correction. This disclaimer of warranty constitutes an * -* essential part of this License. No use of any Covered Software is * -* authorized under this License except under this disclaimer. * -* * -************************************************************************ - -************************************************************************ -* * -* 7. Limitation of Liability * -* -------------------------- * -* * -* Under no circumstances and under no legal theory, whether tort * -* (including negligence), contract, or otherwise, shall any * -* Contributor, or anyone who distributes Covered Software as * -* permitted above, be liable to You for any direct, indirect, * -* special, incidental, or consequential damages of any character * -* including, without limitation, damages for lost profits, loss of * -* goodwill, work stoppage, computer failure or malfunction, or any * -* and all other commercial damages or losses, even if such party * -* shall have been informed of the possibility of such damages. This * -* limitation of liability shall not apply to liability for death or * -* personal injury resulting from such party's negligence to the * -* extent applicable law prohibits such limitation. Some * -* jurisdictions do not allow the exclusion or limitation of * -* incidental or consequential damages, so this exclusion and * -* limitation may not apply to You. * -* * -************************************************************************ - -8. Litigation -------------- - -Any litigation relating to this License may be brought only in the -courts of a jurisdiction where the defendant maintains its principal -place of business and such litigation shall be governed by laws of that -jurisdiction, without reference to its conflict-of-law provisions. -Nothing in this Section shall prevent a party's ability to bring -cross-claims or counter-claims. - -9. Miscellaneous ----------------- - -This License represents the complete agreement concerning the subject -matter hereof. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the extent -necessary to make it enforceable. Any law or regulation which provides -that the language of a contract shall be construed against the drafter -shall not be used to construe this License against a Contributor. - -10. Versions of the License ---------------------------- - -10.1. New Versions - -Mozilla Foundation is the license steward. Except as provided in Section -10.3, no one other than the license steward has the right to modify or -publish new versions of this License. Each version will be given a -distinguishing version number. - -10.2. Effect of New Versions - -You may distribute the Covered Software under the terms of the version -of the License under which You originally received the Covered Software, -or under the terms of any subsequent version published by the license -steward. - -10.3. Modified Versions - -If you create software not governed by this License, and you want to -create a new license for such software, you may create and use a -modified version of this License if you rename the license and remove -any references to the name of the license steward (except to note that -such modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary -Licenses - -If You choose to distribute Source Code Form that is Incompatible With -Secondary Licenses under the terms of this version of the License, the -notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice -------------------------------------------- - - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular -file, then You may include the notice in a location (such as a LICENSE -file in a relevant directory) where a recipient would be likely to look -for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - "Incompatible With Secondary Licenses" Notice ---------------------------------------------------------- - - This Source Code Form is "Incompatible With Secondary Licenses", as - defined by the Mozilla Public License, v. 2.0. - - -* MPL-2.0 * - -Mozilla Public License, version 2.0 - -1. Definitions - -1.1. “Contributor” - - means each individual or legal entity that creates, contributes to the - creation of, or owns Covered Software. - -1.2. “Contributor Version” - - means the combination of the Contributions of others (if any) used by a - Contributor and that particular Contributor’s Contribution. - -1.3. “Contribution” - - means Covered Software of a particular Contributor. - -1.4. “Covered Software” - - means Source Code Form to which the initial Contributor has attached the - notice in Exhibit A, the Executable Form of such Source Code Form, and - Modifications of such Source Code Form, in each case including portions - thereof. - -1.5. “Incompatible With Secondary Licenses” - means - - a. that the initial Contributor has attached the notice described in - Exhibit B to the Covered Software; or - - b. that the Covered Software was made available under the terms of version - 1.1 or earlier of the License, but not also under the terms of a - Secondary License. - -1.6. “Executable Form” - - means any form of the work other than Source Code Form. - -1.7. “Larger Work” - - means a work that combines Covered Software with other material, in a separate - file or files, that is not Covered Software. - -1.8. “License” - - means this document. - -1.9. “Licensable” - - means having the right to grant, to the maximum extent possible, whether at the - time of the initial grant or subsequently, any and all of the rights conveyed by - this License. - -1.10. “Modifications” - - means any of the following: - - a. any file in Source Code Form that results from an addition to, deletion - from, or modification of the contents of Covered Software; or - - b. any new file in Source Code Form that contains any Covered Software. - -1.11. “Patent Claims” of a Contributor - - means any patent claim(s), including without limitation, method, process, - and apparatus claims, in any patent Licensable by such Contributor that - would be infringed, but for the grant of the License, by the making, - using, selling, offering for sale, having made, import, or transfer of - either its Contributions or its Contributor Version. - -1.12. “Secondary License” - - means either the GNU General Public License, Version 2.0, the GNU Lesser - General Public License, Version 2.1, the GNU Affero General Public - License, Version 3.0, or any later versions of those licenses. - -1.13. “Source Code Form” - - means the form of the work preferred for making modifications. - -1.14. “You” (or “Your”) - - means an individual or a legal entity exercising rights under this - License. For legal entities, “You” includes any entity that controls, is - controlled by, or is under common control with You. For purposes of this - definition, “control” means (a) the power, direct or indirect, to cause - the direction or management of such entity, whether by contract or - otherwise, or (b) ownership of more than fifty percent (50%) of the - outstanding shares or beneficial ownership of such entity. - - -2. License Grants and Conditions - -2.1. Grants - - Each Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - a. under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or as - part of a Larger Work; and - - b. under Patent Claims of such Contributor to make, use, sell, offer for - sale, have made, import, and otherwise transfer either its Contributions - or its Contributor Version. - -2.2. Effective Date - - The licenses granted in Section 2.1 with respect to any Contribution become - effective for each Contribution on the date the Contributor first distributes - such Contribution. - -2.3. Limitations on Grant Scope - - The licenses granted in this Section 2 are the only rights granted under this - License. No additional rights or licenses will be implied from the distribution - or licensing of Covered Software under this License. Notwithstanding Section - 2.1(b) above, no patent license is granted by a Contributor: - - a. for any code that a Contributor has removed from Covered Software; or - - b. for infringements caused by: (i) Your and any other third party’s - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - - c. under Patent Claims infringed by Covered Software in the absence of its - Contributions. - - This License does not grant any rights in the trademarks, service marks, or - logos of any Contributor (except as may be necessary to comply with the - notice requirements in Section 3.4). - -2.4. Subsequent Licenses - - No Contributor makes additional grants as a result of Your choice to - distribute the Covered Software under a subsequent version of this License - (see Section 10.2) or under the terms of a Secondary License (if permitted - under the terms of Section 3.3). - -2.5. Representation - - Each Contributor represents that the Contributor believes its Contributions - are its original creation(s) or it has sufficient rights to grant the - rights to its Contributions conveyed by this License. - -2.6. Fair Use - - This License is not intended to limit any rights You have under applicable - copyright doctrines of fair use, fair dealing, or other equivalents. - -2.7. Conditions - - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in - Section 2.1. - - -3. Responsibilities - -3.1. Distribution of Source Form - - All distribution of Covered Software in Source Code Form, including any - Modifications that You create or to which You contribute, must be under the - terms of this License. You must inform recipients that the Source Code Form - of the Covered Software is governed by the terms of this License, and how - they can obtain a copy of this License. You may not attempt to alter or - restrict the recipients’ rights in the Source Code Form. - -3.2. Distribution of Executable Form - - If You distribute Covered Software in Executable Form then: - - a. such Covered Software must also be made available in Source Code Form, - as described in Section 3.1, and You must inform recipients of the - Executable Form how they can obtain a copy of such Source Code Form by - reasonable means in a timely manner, at a charge no more than the cost - of distribution to the recipient; and - - b. You may distribute such Executable Form under the terms of this License, - or sublicense it under different terms, provided that the license for - the Executable Form does not attempt to limit or alter the recipients’ - rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - - You may create and distribute a Larger Work under terms of Your choice, - provided that You also comply with the requirements of this License for the - Covered Software. If the Larger Work is a combination of Covered Software - with a work governed by one or more Secondary Licenses, and the Covered - Software is not Incompatible With Secondary Licenses, this License permits - You to additionally distribute such Covered Software under the terms of - such Secondary License(s), so that the recipient of the Larger Work may, at - their option, further distribute the Covered Software under the terms of - either this License or such Secondary License(s). - -3.4. Notices - - You may not remove or alter the substance of any license notices (including - copyright notices, patent notices, disclaimers of warranty, or limitations - of liability) contained within the Source Code Form of the Covered - Software, except that You may alter any license notices to the extent - required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - - You may choose to offer, and to charge a fee for, warranty, support, - indemnity or liability obligations to one or more recipients of Covered - Software. However, You may do so only on Your own behalf, and not on behalf - of any Contributor. You must make it absolutely clear that any such - warranty, support, indemnity, or liability obligation is offered by You - alone, and You hereby agree to indemnify every Contributor for any - liability incurred by such Contributor as a result of warranty, support, - indemnity or liability terms You offer. You may include additional - disclaimers of warranty and limitations of liability specific to any - jurisdiction. - -4. Inability to Comply Due to Statute or Regulation - - If it is impossible for You to comply with any of the terms of this License - with respect to some or all of the Covered Software due to statute, judicial - order, or regulation then You must: (a) comply with the terms of this License - to the maximum extent possible; and (b) describe the limitations and the code - they affect. Such description must be placed in a text file included with all - distributions of the Covered Software under this License. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Termination - -5.1. The rights granted under this License will terminate automatically if You - fail to comply with any of its terms. However, if You become compliant, - then the rights granted under this License from a particular Contributor - are reinstated (a) provisionally, unless and until such Contributor - explicitly and finally terminates Your grants, and (b) on an ongoing basis, - if such Contributor fails to notify You of the non-compliance by some - reasonable means prior to 60 days after You have come back into compliance. - Moreover, Your grants from a particular Contributor are reinstated on an - ongoing basis if such Contributor notifies You of the non-compliance by - some reasonable means, this is the first time You have received notice of - non-compliance with this License from such Contributor, and You become - compliant prior to 30 days after Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent - infringement claim (excluding declaratory judgment actions, counter-claims, - and cross-claims) alleging that a Contributor Version directly or - indirectly infringes any patent, then the rights granted to You by any and - all Contributors for the Covered Software under Section 2.1 of this License - shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user - license agreements (excluding distributors and resellers) which have been - validly granted by You or Your distributors under this License prior to - termination shall survive termination. - -6. Disclaimer of Warranty - - Covered Software is provided under this License on an “as is” basis, without - warranty of any kind, either expressed, implied, or statutory, including, - without limitation, warranties that the Covered Software is free of defects, - merchantable, fit for a particular purpose or non-infringing. The entire - risk as to the quality and performance of the Covered Software is with You. - Should any Covered Software prove defective in any respect, You (not any - Contributor) assume the cost of any necessary servicing, repair, or - correction. This disclaimer of warranty constitutes an essential part of this - License. No use of any Covered Software is authorized under this License - except under this disclaimer. - -7. Limitation of Liability - - Under no circumstances and under no legal theory, whether tort (including - negligence), contract, or otherwise, shall any Contributor, or anyone who - distributes Covered Software as permitted above, be liable to You for any - direct, indirect, special, incidental, or consequential damages of any - character including, without limitation, damages for lost profits, loss of - goodwill, work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses, even if such party shall have been - informed of the possibility of such damages. This limitation of liability - shall not apply to liability for death or personal injury resulting from such - party’s negligence to the extent applicable law prohibits such limitation. - Some jurisdictions do not allow the exclusion or limitation of incidental or - consequential damages, so this exclusion and limitation may not apply to You. - -8. Litigation - - Any litigation relating to this License may be brought only in the courts of - a jurisdiction where the defendant maintains its principal place of business - and such litigation shall be governed by laws of that jurisdiction, without - reference to its conflict-of-law provisions. Nothing in this Section shall - prevent a party’s ability to bring cross-claims or counter-claims. - -9. Miscellaneous - - This License represents the complete agreement concerning the subject matter - hereof. If any provision of this License is held to be unenforceable, such - provision shall be reformed only to the extent necessary to make it - enforceable. Any law or regulation which provides that the language of a - contract shall be construed against the drafter shall not be used to construe - this License against a Contributor. - - -10. Versions of the License - -10.1. New Versions - - Mozilla Foundation is the license steward. Except as provided in Section - 10.3, no one other than the license steward has the right to modify or - publish new versions of this License. Each version will be given a - distinguishing version number. - -10.2. Effect of New Versions - - You may distribute the Covered Software under the terms of the version of - the License under which You originally received the Covered Software, or - under the terms of any subsequent version published by the license - steward. - -10.3. Modified Versions - - If you create software not governed by this License, and you want to - create a new license for such software, you may create and use a modified - version of this License if you rename the license and remove any - references to the name of the license steward (except to note that such - modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses - If You choose to distribute Source Code Form that is Incompatible With - Secondary Licenses under the terms of this version of the License, the - notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice - - This Source Code Form is subject to the - terms of the Mozilla Public License, v. - 2.0. If a copy of the MPL was not - distributed with this file, You can - obtain one at - http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular file, then -You may include the notice in a location (such as a LICENSE file in a relevant -directory) where a recipient would be likely to look for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - “Incompatible With Secondary Licenses” Notice - - This Source Code Form is “Incompatible - With Secondary Licenses”, as defined by - the Mozilla Public License, v. 2.0. - - -* MPL-2.0 * - -Mozilla Public License, version 2.0 - -1. Definitions - -1.1. “Contributor” - - means each individual or legal entity that creates, contributes to the - creation of, or owns Covered Software. - -1.2. “Contributor Version” - - means the combination of the Contributions of others (if any) used by a - Contributor and that particular Contributor’s Contribution. - -1.3. “Contribution” - - means Covered Software of a particular Contributor. - -1.4. “Covered Software” - - means Source Code Form to which the initial Contributor has attached the - notice in Exhibit A, the Executable Form of such Source Code Form, and - Modifications of such Source Code Form, in each case including portions - thereof. - -1.5. “Incompatible With Secondary Licenses” - means - - a. that the initial Contributor has attached the notice described in - Exhibit B to the Covered Software; or - - b. that the Covered Software was made available under the terms of version - 1.1 or earlier of the License, but not also under the terms of a - Secondary License. - -1.6. “Executable Form” - - means any form of the work other than Source Code Form. - -1.7. “Larger Work” - - means a work that combines Covered Software with other material, in a separate - file or files, that is not Covered Software. - -1.8. “License” - - means this document. - -1.9. “Licensable” - - means having the right to grant, to the maximum extent possible, whether at the - time of the initial grant or subsequently, any and all of the rights conveyed by - this License. - -1.10. “Modifications” - - means any of the following: - - a. any file in Source Code Form that results from an addition to, deletion - from, or modification of the contents of Covered Software; or - - b. any new file in Source Code Form that contains any Covered Software. - -1.11. “Patent Claims” of a Contributor - - means any patent claim(s), including without limitation, method, process, - and apparatus claims, in any patent Licensable by such Contributor that - would be infringed, but for the grant of the License, by the making, - using, selling, offering for sale, having made, import, or transfer of - either its Contributions or its Contributor Version. - -1.12. “Secondary License” - - means either the GNU General Public License, Version 2.0, the GNU Lesser - General Public License, Version 2.1, the GNU Affero General Public - License, Version 3.0, or any later versions of those licenses. - -1.13. “Source Code Form” - - means the form of the work preferred for making modifications. - -1.14. “You” (or “Your”) - - means an individual or a legal entity exercising rights under this - License. For legal entities, “You” includes any entity that controls, is - controlled by, or is under common control with You. For purposes of this - definition, “control” means (a) the power, direct or indirect, to cause - the direction or management of such entity, whether by contract or - otherwise, or (b) ownership of more than fifty percent (50%) of the - outstanding shares or beneficial ownership of such entity. - - -2. License Grants and Conditions - -2.1. Grants - - Each Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - a. under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or as - part of a Larger Work; and - - b. under Patent Claims of such Contributor to make, use, sell, offer for - sale, have made, import, and otherwise transfer either its Contributions - or its Contributor Version. - -2.2. Effective Date - - The licenses granted in Section 2.1 with respect to any Contribution become - effective for each Contribution on the date the Contributor first distributes - such Contribution. - -2.3. Limitations on Grant Scope - - The licenses granted in this Section 2 are the only rights granted under this - License. No additional rights or licenses will be implied from the distribution - or licensing of Covered Software under this License. Notwithstanding Section - 2.1(b) above, no patent license is granted by a Contributor: - - a. for any code that a Contributor has removed from Covered Software; or - - b. for infringements caused by: (i) Your and any other third party’s - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - - c. under Patent Claims infringed by Covered Software in the absence of its - Contributions. - - This License does not grant any rights in the trademarks, service marks, or - logos of any Contributor (except as may be necessary to comply with the - notice requirements in Section 3.4). - -2.4. Subsequent Licenses - - No Contributor makes additional grants as a result of Your choice to - distribute the Covered Software under a subsequent version of this License - (see Section 10.2) or under the terms of a Secondary License (if permitted - under the terms of Section 3.3). - -2.5. Representation - - Each Contributor represents that the Contributor believes its Contributions - are its original creation(s) or it has sufficient rights to grant the - rights to its Contributions conveyed by this License. - -2.6. Fair Use - - This License is not intended to limit any rights You have under applicable - copyright doctrines of fair use, fair dealing, or other equivalents. - -2.7. Conditions - - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in - Section 2.1. - - -3. Responsibilities - -3.1. Distribution of Source Form - - All distribution of Covered Software in Source Code Form, including any - Modifications that You create or to which You contribute, must be under the - terms of this License. You must inform recipients that the Source Code Form - of the Covered Software is governed by the terms of this License, and how - they can obtain a copy of this License. You may not attempt to alter or - restrict the recipients’ rights in the Source Code Form. - -3.2. Distribution of Executable Form - - If You distribute Covered Software in Executable Form then: - - a. such Covered Software must also be made available in Source Code Form, - as described in Section 3.1, and You must inform recipients of the - Executable Form how they can obtain a copy of such Source Code Form by - reasonable means in a timely manner, at a charge no more than the cost - of distribution to the recipient; and - - b. You may distribute such Executable Form under the terms of this License, - or sublicense it under different terms, provided that the license for - the Executable Form does not attempt to limit or alter the recipients’ - rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - - You may create and distribute a Larger Work under terms of Your choice, - provided that You also comply with the requirements of this License for the - Covered Software. If the Larger Work is a combination of Covered Software - with a work governed by one or more Secondary Licenses, and the Covered - Software is not Incompatible With Secondary Licenses, this License permits - You to additionally distribute such Covered Software under the terms of - such Secondary License(s), so that the recipient of the Larger Work may, at - their option, further distribute the Covered Software under the terms of - either this License or such Secondary License(s). - -3.4. Notices - - You may not remove or alter the substance of any license notices (including - copyright notices, patent notices, disclaimers of warranty, or limitations - of liability) contained within the Source Code Form of the Covered - Software, except that You may alter any license notices to the extent - required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - - You may choose to offer, and to charge a fee for, warranty, support, - indemnity or liability obligations to one or more recipients of Covered - Software. However, You may do so only on Your own behalf, and not on behalf - of any Contributor. You must make it absolutely clear that any such - warranty, support, indemnity, or liability obligation is offered by You - alone, and You hereby agree to indemnify every Contributor for any - liability incurred by such Contributor as a result of warranty, support, - indemnity or liability terms You offer. You may include additional - disclaimers of warranty and limitations of liability specific to any - jurisdiction. - -4. Inability to Comply Due to Statute or Regulation - - If it is impossible for You to comply with any of the terms of this License - with respect to some or all of the Covered Software due to statute, judicial - order, or regulation then You must: (a) comply with the terms of this License - to the maximum extent possible; and (b) describe the limitations and the code - they affect. Such description must be placed in a text file included with all - distributions of the Covered Software under this License. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Termination - -5.1. The rights granted under this License will terminate automatically if You - fail to comply with any of its terms. However, if You become compliant, - then the rights granted under this License from a particular Contributor - are reinstated (a) provisionally, unless and until such Contributor - explicitly and finally terminates Your grants, and (b) on an ongoing basis, - if such Contributor fails to notify You of the non-compliance by some - reasonable means prior to 60 days after You have come back into compliance. - Moreover, Your grants from a particular Contributor are reinstated on an - ongoing basis if such Contributor notifies You of the non-compliance by - some reasonable means, this is the first time You have received notice of - non-compliance with this License from such Contributor, and You become - compliant prior to 30 days after Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent - infringement claim (excluding declaratory judgment actions, counter-claims, - and cross-claims) alleging that a Contributor Version directly or - indirectly infringes any patent, then the rights granted to You by any and - all Contributors for the Covered Software under Section 2.1 of this License - shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user - license agreements (excluding distributors and resellers) which have been - validly granted by You or Your distributors under this License prior to - termination shall survive termination. - -6. Disclaimer of Warranty - - Covered Software is provided under this License on an “as is” basis, without - warranty of any kind, either expressed, implied, or statutory, including, - without limitation, warranties that the Covered Software is free of defects, - merchantable, fit for a particular purpose or non-infringing. The entire - risk as to the quality and performance of the Covered Software is with You. - Should any Covered Software prove defective in any respect, You (not any - Contributor) assume the cost of any necessary servicing, repair, or - correction. This disclaimer of warranty constitutes an essential part of this - License. No use of any Covered Software is authorized under this License - except under this disclaimer. - -7. Limitation of Liability - - Under no circumstances and under no legal theory, whether tort (including - negligence), contract, or otherwise, shall any Contributor, or anyone who - distributes Covered Software as permitted above, be liable to You for any - direct, indirect, special, incidental, or consequential damages of any - character including, without limitation, damages for lost profits, loss of - goodwill, work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses, even if such party shall have been - informed of the possibility of such damages. This limitation of liability - shall not apply to liability for death or personal injury resulting from such - party’s negligence to the extent applicable law prohibits such limitation. - Some jurisdictions do not allow the exclusion or limitation of incidental or - consequential damages, so this exclusion and limitation may not apply to You. - -8. Litigation - - Any litigation relating to this License may be brought only in the courts of - a jurisdiction where the defendant maintains its principal place of business - and such litigation shall be governed by laws of that jurisdiction, without - reference to its conflict-of-law provisions. Nothing in this Section shall - prevent a party’s ability to bring cross-claims or counter-claims. - -9. Miscellaneous - - This License represents the complete agreement concerning the subject matter - hereof. If any provision of this License is held to be unenforceable, such - provision shall be reformed only to the extent necessary to make it - enforceable. Any law or regulation which provides that the language of a - contract shall be construed against the drafter shall not be used to construe - this License against a Contributor. - - -10. Versions of the License - -10.1. New Versions - - Mozilla Foundation is the license steward. Except as provided in Section - 10.3, no one other than the license steward has the right to modify or - publish new versions of this License. Each version will be given a - distinguishing version number. - -10.2. Effect of New Versions - - You may distribute the Covered Software under the terms of the version of - the License under which You originally received the Covered Software, or - under the terms of any subsequent version published by the license - steward. - -10.3. Modified Versions - - If you create software not governed by this License, and you want to - create a new license for such software, you may create and use a modified - version of this License if you rename the license and remove any - references to the name of the license steward (except to note that such - modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses - If You choose to distribute Source Code Form that is Incompatible With - Secondary Licenses under the terms of this version of the License, the - notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice - - This Source Code Form is subject to the - terms of the Mozilla Public License, v. - 2.0. If a copy of the MPL was not - distributed with this file, You can - obtain one at - http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular file, then -You may include the notice in a location (such as a LICENSE file in a relevant -directory) where a recipient would be likely to look for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - “Incompatible With Secondary Licenses” Notice - - This Source Code Form is “Incompatible - With Secondary Licenses”, as defined by - the Mozilla Public License, v. 2.0. - - - -* NCSA * - -University of Illinois/NCSA Open Source License -Copyright (c) . All rights reserved. -Developed by: - - - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal with the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimers. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimers in the documentation and/or other materials provided with the distribution. - * Neither the names of , nor the names of its contributors may be used to endorse or promote products derived from this Software without specific prior written permission. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE. - -* MIT * - -Node.js is licensed for use as follows: - -""" -Copyright Node.js contributors. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - -This license applies to parts of Node.js originating from the -https://github.com/joyent/node repository: - -""" -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - - -* MIT * - -Node.js is licensed for use as follows: - -""" -Copyright Node.js contributors. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - -This license applies to parts of Node.js originating from the -https://github.com/joyent/node repository: - -""" -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - - - -* OFL-1.1 * - -Copyright (c) , (), -with Reserved Font Name . This Font Software is licensed under the SIL Open Font License, Version 1.1. -This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL SIL OPEN FONT LICENSE -Version 1.1 - 26 February 2007 -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. -The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. -"Reserved Font Name" refers to any names specified as such after the copyright statement(s). -"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). -"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. -"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: - 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. - 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. - 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. - 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. - 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. -TERMINATION -This license becomes null and void if any of the above conditions are not met. -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. - -* MIT * - -Original version Copyright © 2010 Fazlul Shahriar . Newer -portions Copyright © 2014 Blake Gentry . - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -Original work Copyright (c) 2012 Liam Staskawicz -Modified work Copyright (c) 2016 Vojtech Vitek - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* PostgreSQL * - -PostgreSQL Database Management System -(formerly known as Postgres, then as Postgres95) -Portions Copyright (c) 1996-2010, The PostgreSQL Global Development Group -Portions Copyright (c) 1994, The Regents of the University of California -Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies. -IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - -* Protobuf * - -Copyright 2008 Google Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Code generated by the Protocol Buffer compiler is owned by the owner -of the input file used when generating it. This code is not -standalone and requires a support library to be linked with it. This -support library is itself covered by the above license. - -* Python-2.0 * - -PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 - 1. This LICENSE AGREEMENT is between the Python Software Foundation ("PSF"), and the Individual or Organization ("Licensee") accessing and otherwise using this software ("Python") in source or binary form and its associated documentation. - 2. Subject to the terms and conditions of this License Agreement, PSF hereby grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python alone or in any derivative version, provided, however, that PSF's License Agreement and PSF's notice of copyright, i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation; All Rights Reserved" are retained in Python alone or in any derivative version prepared by Licensee. - 3. In the event Licensee prepares a derivative work that is based on or incorporates Python or any part thereof, and wants to make the derivative work available to others as provided herein, then Licensee hereby agrees to include in any such work a brief summary of the changes made to Python. - 4. PSF is making Python available to Licensee on an "AS IS" basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. - 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - 6. This License Agreement will automatically terminate upon a material breach of its terms and conditions. - 7. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between PSF and Licensee. This License Agreement does not grant permission to use PSF trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party. - 8. By copying, installing or otherwise using Python, Licensee agrees to be bound by the terms and conditions of this License Agreement. BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0 -BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 - 1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the Individual or Organization ("Licensee") accessing and otherwise using this software in source or binary form and its associated documentation ("the Software"). - 2. Subject to the terms and conditions of this BeOpen Python License Agreement, BeOpen hereby grants Licensee a non-exclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use the Software alone or in any derivative version, provided, however, that the BeOpen Python License is retained in the Software, alone or in any derivative version prepared by Licensee. - 3. BeOpen is making the Software available to Licensee on an "AS IS" basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. - 4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - 5. This License Agreement will automatically terminate upon a material breach of its terms and conditions. - 6. This License Agreement shall be governed by and interpreted in all respects by the law of the State of California, excluding conflict of law provisions. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between BeOpen and Licensee. This License Agreement does not grant permission to use BeOpen trademarks or trade names in a trademark sense to endorse or promote products or services of Licensee, or any third party. As an exception, the "BeOpen Python" logos available at http://www.pythonlabs.com/logos.html may be used according to the permissions granted on that web page. - 7. By copying, installing or otherwise using the software, Licensee agrees to be bound by the terms and conditions of this License Agreement. CNRI OPEN SOURCE LICENSE AGREEMENT (for Python 1.6b1) IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY. -BY CLICKING ON "ACCEPT" WHERE INDICATED BELOW, OR BY COPYING, INSTALLING OR OTHERWISE USING PYTHON 1.6, beta 1 SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT. - 1. This LICENSE AGREEMENT is between the Corporation for National Research Initiatives, having an office at 1895 Preston White Drive, Reston, VA 20191 ("CNRI"), and the Individual or Organization ("Licensee") accessing and otherwise using Python 1.6, beta 1 software in source or binary form and its associated documentation, as released at the www.python.org Internet site on August 4, 2000 ("Python 1.6b1"). - 2. Subject to the terms and conditions of this License Agreement, CNRI hereby grants Licensee a non-exclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 1.6b1 alone or in any derivative version, provided, however, that CNRIs License Agreement is retained in Python 1.6b1, alone or in any derivative version prepared by Licensee. - Alternately, in lieu of CNRIs License Agreement, Licensee may substitute the following text (omitting the quotes): "Python 1.6, beta 1, is made available subject to the terms and conditions in CNRIs License Agreement. This Agreement may be located on the Internet using the following unique, persistent identifier (known as a handle): 1895.22/1011. This Agreement may also be obtained from a proxy server on the Internet using the URL:http://hdl.handle.net/1895.22/1011". - 3. In the event Licensee prepares a derivative work that is based on or incorporates Python 1.6b1 or any part thereof, and wants to make the derivative work available to the public as provided herein, then Licensee hereby agrees to indicate in any such work the nature of the modifications made to Python 1.6b1. - 4. CNRI is making Python 1.6b1 available to Licensee on an "AS IS" basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6b1 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. - 5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF USING, MODIFYING OR DISTRIBUTING PYTHON 1.6b1, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - 6. This License Agreement will automatically terminate upon a material breach of its terms and conditions. - 7. This License Agreement shall be governed by and interpreted in all respects by the law of the State of Virginia, excluding conflict of law provisions. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between CNRI and Licensee. This License Agreement does not grant permission to use CNRI trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party. - 8. By clicking on the "ACCEPT" button where indicated, or by copying, installing or otherwise using Python 1.6b1, Licensee agrees to be bound by the terms and conditions of this License Agreement. ACCEPT CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2 -Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, The Netherlands. All rights reserved. -Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Stichting Mathematisch Centrum or CWI not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. -STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -* RSA-MD * - -Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved. -License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing this software or this function. -License is also granted to make and use derivative works provided that such works are identified as "derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing the derived work. -RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of any kind. -These notices must be retained in any copies of any part of this documentation and/or software. - -* BSD-2-Clause * - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Simplified BSD License - -Copyright (c) 2016, Datadog -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-3-Clause * - -Software License Agreement (BSD License) -======================================== - -Copyright (c) 2015, Yahoo! Inc. All rights reserved. ----------------------------------------------------- - -Redistribution and use of this software in source and binary forms, with or -without modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of Yahoo! Inc. nor the names of YUI's contributors may be - used to endorse or promote products derived from this software without - specific prior written permission of Yahoo! Inc. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * MIT * -Sprig -Copyright (C) 2013 Masterminds - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* BSD-3-Clause * - -Staticcheck and its related tools make use of third party projects, -either by reusing their code, or by statically linking them into -resulting binaries. These projects are: - -* The Go Programming Language - https://golang.org/ - golang.org/x/mod - https://github.com/golang/mod - golang.org/x/tools - https://github.com/golang/tools - golang.org/x/sys - https://github.com/golang/sys - golang.org/x/xerrors - https://github.com/golang/xerrors - - Copyright (c) 2009 The Go Authors. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* github.com/BurntSushi/toml - https://github.com/BurntSushi/toml - - The MIT License (MIT) - - Copyright (c) 2013 TOML authors - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - -* gogrep - https://github.com/mvdan/gogrep - - Copyright (c) 2017, Daniel Martí. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* gosmith - https://github.com/dvyukov/gosmith - - Copyright (c) 2014 Dmitry Vyukov. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * The name of Dmitry Vyukov may be used to endorse or promote - products derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* ISC * - -The ISC License - -Copyright (c) 2011-2022 Isaac Z. Schlueter, Ben Noordhuis, and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -* ISC * - -The ISC License - -Copyright (c) 2015, 2019 Elan Shanker - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -* ISC * - -The ISC License - -Copyright (c) 2015, 2019 Elan Shanker, 2021 Blaine Bublitz , Eric Schoffstall and other contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -* ISC * - -The ISC License - -Copyright (c) 2015, Contributors - -Permission to use, copy, modify, and/or distribute this software -for any purpose with or without fee is hereby granted, provided -that the above copyright notice and this permission notice -appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE -LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -* ISC * - -The ISC License - -Copyright (c) 2019 Elan Shanker, Paul Miller (https://paulmillr.com) - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -* ISC * - -The ISC License - -Copyright (c) Isaac Z. Schlueter - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -* ISC * - -The ISC License - -Copyright (c) Isaac Z. Schlueter - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - - -* ISC * - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +Copyright(c) Ernest Micklei -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +MIT License +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -* CC-BY-SA-4.0 * +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -The ISC License +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Copyright (c) Isaac Z. Schlueter and Contributors -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +* DOC * -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +Copyright and Licensing Information for ACE(TM), TAO(TM), CIAO(TM), DAnCE(TM), and CoSMIC(TM) +ACE(TM), TAO(TM), CIAO(TM), DAnCE>(TM), and CoSMIC(TM) (henceforth referred to as "DOC software") are copyrighted by Douglas C. Schmidt and his research group at Washington University, University of California, Irvine, and Vanderbilt University, Copyright (c) 1993-2009, all rights reserved. Since DOC software is open-source, freely available software, you are free to use, modify, copy, and distribute--perpetually and irrevocably--the DOC software source code and object code produced from the source, as well as copy and distribute modified versions of this software. You must, however, include this copyright statement along with any code built using DOC software that you release. No copyright statement needs to be provided if you just ship binary executables of your software products. +You can use DOC software in commercial and/or binary software releases and are under no obligation to redistribute any of your source code that is built using DOC software. Note, however, that you may not misappropriate the DOC software code, such as copyrighting it yourself or claiming authorship of the DOC software code, in a way that will prevent DOC software from being distributed freely using an open-source development model. You needn't inform anyone that you're using DOC software in your software, though we encourage you to let us know so we can promote your project in the DOC software success stories. +The ACE, TAO, CIAO, DAnCE, and CoSMIC web sites are maintained by the DOC Group at the Institute for Software Integrated Systems (ISIS) and the Center for Distributed Object Computing of Washington University, St. Louis for the development of open-source software as part of the open-source software community. Submissions are provided by the submitter ``as is'' with no warranties whatsoever, including any warranty of merchantability, noninfringement of third party intellectual property, or fitness for any particular purpose. In no event shall the submitter be liable for any direct, indirect, special, exemplary, punitive, or consequential damages, including without limitation, lost profits, even if advised of the possibility of such damages. Likewise, DOC software is provided as is with no warranties of any kind, including the warranties of design, merchantability, and fitness for a particular purpose, noninfringement, or arising from a course of dealing, usage or trade practice. Washington University, UC Irvine, Vanderbilt University, their employees, and students shall have no liability with respect to the infringement of copyrights, trade secrets or any patents by DOC software or any part thereof. Moreover, in no event will Washington University, UC Irvine, or Vanderbilt University, their employees, or students be liable for any lost revenue or profits or other special, indirect and consequential damages. +DOC software is provided with no support and without any obligation on the part of Washington University, UC Irvine, Vanderbilt University, their employees, or students to assist in its use, correction, modification, or enhancement. A number of companies around the world provide commercial support for DOC software, however. DOC software is Y2K-compliant, as long as the underlying OS platform is Y2K-compliant. Likewise, DOC software is compliant with the new US daylight savings rule passed by Congress as "The Energy Policy Act of 2005," which established new daylight savings times (DST) rules for the United States that expand DST as of March 2007. Since DOC software obtains time/date and calendaring information from operating systems users will not be affected by the new DST rules as long as they upgrade their operating systems accordingly. +The names ACE(TM), TAO(TM), CIAO(TM), DAnCE(TM), CoSMIC(TM), Washington University, UC Irvine, and Vanderbilt University, may not be used to endorse or promote products or services derived from this source without express written permission from Washington University, UC Irvine, or Vanderbilt University. This license grants no permission to call products or services derived from this source ACE(TM), TAO(TM), CIAO(TM), DAnCE(TM), or CoSMIC(TM), nor does it grant permission for the name Washington University, UC Irvine, or Vanderbilt University to appear in their names. +If you have any suggestions, additions, comments, or questions, please let me know. +Douglas C. Schmidt -## Glob Logo +* FSFAP * -Glob's logo created by Tanya Brassie , licensed -under a Creative Commons Attribution-ShareAlike 4.0 International License -https://creativecommons.org/licenses/by-sa/4.0/ +Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty. +* FSFULLR * -* ISC * +Copyright 1996-2006 Free Software Foundation, Inc. +This file is free software; the Free Software Foundation gives unlimited permission to copy and/or distribute it, with or without modifications, as long as this notice is preserved. -The ISC License +* GPL-2.0-only * -Copyright (c) Isaac Z. Schlueter and Contributors +GNU GENERAL PUBLIC LICENSE +Version 2, June 1991 +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 , USA +Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. +Preamble +The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. +When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. +To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. +For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. +We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. +Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. +Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. +The precise terms and conditions for copying, distribution and modification follow. +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". + Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. + 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. + You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. + 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: + a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. + b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. + c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) + These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. + Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. + In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. + 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: + a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, + b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, + c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) + The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. + If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. + 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. + 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. + 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. + 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. + If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. + It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. + This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. + 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. + 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. + Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. + 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. + NO WARRANTY + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS +How to Apply These Terms to Your New Programs +If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. +To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. +< one line to give the program's name and an idea of what it does. > +Copyright (C) < yyyy > < name of author > +This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. +You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 , USA. Also add information on how to contact you by electronic and paper mail. +If the program is interactive, make it output a short notice like this when it starts in an interactive mode: +Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. +The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. +You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: +Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. +< signature of Ty Coon > , 1 April 1989 Ty Coon, President of Vice -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +* GPL-3.0-only * -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +GNU GENERAL PUBLIC LICENSE +Version 3, 29 June 2007 +Copyright © 2007 Free Software Foundation, Inc. +Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. +Preamble +The GNU General Public License is a free, copyleft license for software and other kinds of works. +The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. +When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. +To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. +For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. +Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. +For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. +Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. +Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. +The precise terms and conditions for copying, distribution and modification follow. +TERMS AND CONDITIONS + 0. Definitions. + "This License" refers to version 3 of the GNU General Public License. + "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. + "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. + To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. + A "covered work" means either the unmodified Program or a work based on the Program. + To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. + To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. + An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. + 1. Source Code. + The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. + A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. + The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. + The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. + The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. + The Corresponding Source for a work in source code form is that same work. + 2. Basic Permissions. + All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. + You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. + Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. + When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. + 4. Conveying Verbatim Copies. + You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. + You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. + 5. Conveying Modified Source Versions. + You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: + a) The work must carry prominent notices stating that you modified it, and giving a relevant date. + b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". + c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. + d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. + A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. + 6. Conveying Non-Source Forms. + You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: + a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. + b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. + c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. + d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. + e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. + A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. + A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. + "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. + If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). + The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. + Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. + 7. Additional Terms. + "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. + When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. + Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: + a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or + b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or + c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or + d) Limiting the use for publicity purposes of names of licensors or authors of the material; or + e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or + f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. + All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. + If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. + Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. + 8. Termination. + You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). + However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. + Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. + Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. + 9. Acceptance Not Required for Having Copies. + You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. + 10. Automatic Licensing of Downstream Recipients. + Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. + An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. + You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. + 11. Patents. + A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". + A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. + Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. + In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. + If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. + If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. + A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. + Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. + 12. No Surrender of Others' Freedom. + If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. + 13. Use with the GNU Affero General Public License. + Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. + 14. Revised Versions of this License. + The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. + Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. + If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. + Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. + 15. Disclaimer of Warranty. + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + 16. Limitation of Liability. + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + 17. Interpretation of Sections 15 and 16. + If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS +How to Apply These Terms to Your New Programs +If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. +To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. + +Copyright (C) +This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. +You should have received a copy of the GNU General Public License along with this program. If not, see . +Also add information on how to contact you by electronic and paper mail. +If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: + Copyright (C) +This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. +This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. +The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". +You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . +The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . ----- +* GPL-3.0-or-later * -This library bundles a version of the `fs.realpath` and `fs.realpathSync` -methods from Node.js v0.10 under the terms of the Node.js MIT license. +GNU GENERAL PUBLIC LICENSE +Version 3, 29 June 2007 +Copyright © 2007 Free Software Foundation, Inc. +Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. +Preamble +The GNU General Public License is a free, copyleft license for software and other kinds of works. +The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. +When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. +To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. +For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. +Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. +For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. +Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. +Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. +The precise terms and conditions for copying, distribution and modification follow. +TERMS AND CONDITIONS + 0. Definitions. + "This License" refers to version 3 of the GNU General Public License. + "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. + "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. + To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. + A "covered work" means either the unmodified Program or a work based on the Program. + To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. + To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. + An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. + 1. Source Code. + The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. + A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. + The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. + The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. + The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. + The Corresponding Source for a work in source code form is that same work. + 2. Basic Permissions. + All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. + You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. + Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. + When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. + 4. Conveying Verbatim Copies. + You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. + You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. + 5. Conveying Modified Source Versions. + You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: + a) The work must carry prominent notices stating that you modified it, and giving a relevant date. + b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". + c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. + d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. + A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. + 6. Conveying Non-Source Forms. + You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: + a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. + b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. + c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. + d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. + e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. + A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. + A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. + "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. + If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). + The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. + Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. + 7. Additional Terms. + "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. + When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. + Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: + a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or + b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or + c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or + d) Limiting the use for publicity purposes of names of licensors or authors of the material; or + e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or + f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. + All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. + If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. + Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. + 8. Termination. + You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). + However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. + Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. + Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. + 9. Acceptance Not Required for Having Copies. + You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. + 10. Automatic Licensing of Downstream Recipients. + Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. + An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. + You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. + 11. Patents. + A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". + A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. + Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. + In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. + If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. + If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. + A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. + Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. + 12. No Surrender of Others' Freedom. + If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. + 13. Use with the GNU Affero General Public License. + Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. + 14. Revised Versions of this License. + The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. + Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. + If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. + Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. + 15. Disclaimer of Warranty. + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + 16. Limitation of Liability. + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + 17. Interpretation of Sections 15 and 16. + If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS +How to Apply These Terms to Your New Programs +If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. +To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. + +Copyright (C) +This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. +You should have received a copy of the GNU General Public License along with this program. If not, see . +Also add information on how to contact you by electronic and paper mail. +If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: + Copyright (C) +This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. +This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. +The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". +You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . +The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . -Node's license follows, also included at the header of `old.js` which contains -the licensed code: +* IETF * - Copyright Joyent, Inc. and other Node contributors. +This repository relates to activities in the Internet Engineering Task Force (IETF). All material in this repository is considered Contributions to the IETF Standards Process, as defined in the intellectual property policies of IETF currently designated as BCP 78, BCP 79 and the IETF Trust Legal Provisions (TLP) Relating to IETF Documents. - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: +Any edit, commit, pull request, issue, comment or other change made to this repository constitutes Contributions to the IETF Standards Process (https://www.ietf.org/). - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. +You agree to comply with all applicable IETF policies and procedures, including, BCP 78, 79, the TLP, and the TLP rules regarding code components (e.g. being subject to a Simplified BSD License) in Contributions. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. +* IPA * +IPA Font License Agreement v1.0 +The Licensor provides the Licensed Program (as defined in Article 1 below) under the terms of this license agreement ("Agreement"). Any use, reproduction or distribution of the Licensed Program, or any exercise of rights under this Agreement by a Recipient (as defined in Article 1 below) constitutes the Recipient's acceptance of this Agreement. +Article 1 (Definitions) + 1. "Digital Font Program" shall mean a computer program containing, or used to render or display fonts. + 2. "Licensed Program" shall mean a Digital Font Program licensed by the Licensor under this Agreement. + 3. "Derived Program" shall mean a Digital Font Program created as a result of a modification, addition, deletion, replacement or any other adaptation to or of a part or all of the Licensed Program, and includes a case where a Digital Font Program newly created by retrieving font information from a part or all of the Licensed Program or Embedded Fonts from a Digital Document File with or without modification of the retrieved font information. + 4. "Digital Content" shall mean products provided to end users in the form of digital data, including video content, motion and/or still pictures, TV programs or other broadcasting content and products consisting of character text, pictures, photographic images, graphic symbols and/or the like. + 5. "Digital Document File" shall mean a PDF file or other Digital Content created by various software programs in which a part or all of the Licensed Program becomes embedded or contained in the file for the display of the font ("Embedded Fonts"). Embedded Fonts are used only in the display of characters in the particular Digital Document File within which they are embedded, and shall be distinguished from those in any Digital Font Program, which may be used for display of characters outside that particular Digital Document File. + 6. "Computer" shall include a server in this Agreement. + 7. "Reproduction and Other Exploitation" shall mean reproduction, transfer, distribution, lease, public transmission, presentation, exhibition, adaptation and any other exploitation. + 8. "Recipient" shall mean anyone who receives the Licensed Program under this Agreement, including one that receives the Licensed Program from a Recipient. +Article 2 (Grant of License) +The Licensor grants to the Recipient a license to use the Licensed Program in any and all countries in accordance with each of the provisions set forth in this Agreement. However, any and all rights underlying in the Licensed Program shall be held by the Licensor. In no sense is this Agreement intended to transfer any right relating to the Licensed Program held by the Licensor except as specifically set forth herein or any right relating to any trademark, trade name, or service mark to the Recipient. + 1. The Recipient may install the Licensed Program on any number of Computers and use the same in accordance with the provisions set forth in this Agreement. + 2. The Recipient may use the Licensed Program, with or without modification in printed materials or in Digital Content as an expression of character texts or the like. + 3. The Recipient may conduct Reproduction and Other Exploitation of the printed materials and Digital Content created in accordance with the preceding Paragraph, for commercial or non-commercial purposes and in any form of media including but not limited to broadcasting, communication and various recording media. + 4. If any Recipient extracts Embedded Fonts from a Digital Document File to create a Derived Program, such Derived Program shall be subject to the terms of this agreement. + 5. If any Recipient performs Reproduction or Other Exploitation of a Digital Document File in which Embedded Fonts of the Licensed Program are used only for rendering the Digital Content within such Digital Document File then such Recipient shall have no further obligations under this Agreement in relation to such actions. + 6. The Recipient may reproduce the Licensed Program as is without modification and transfer such copies, publicly transmit or otherwise redistribute the Licensed Program to a third party for commercial or non-commercial purposes ("Redistribute"), in accordance with the provisions set forth in Article 3 Paragraph 2. + 7. The Recipient may create, use, reproduce and/or Redistribute a Derived Program under the terms stated above for the Licensed Program: provided, that the Recipient shall follow the provisions set forth in Article 3 Paragraph 1 when Redistributing the Derived Program. +Article 3 (Restriction) +The license granted in the preceding Article shall be subject to the following restrictions: + 1. If a Derived Program is Redistributed pursuant to Paragraph 4 and 7 of the preceding Article, the following conditions must be met : + (1) The following must be also Redistributed together with the Derived Program, or be made available online or by means of mailing mechanisms in exchange for a cost which does not exceed the total costs of postage, storage medium and handling fees: + (a) a copy of the Derived Program; and + (b) any additional file created by the font developing program in the course of creating the Derived Program that can be used for further modification of the Derived Program, if any. + (2) It is required to also Redistribute means to enable recipients of the Derived Program to replace the Derived Program with the Licensed Program first released under this License (the "Original Program"). Such means may be to provide a difference file from the Original Program, or instructions setting out a method to replace the Derived Program with the Original Program. + (3) The Recipient must license the Derived Program under the terms and conditions of this Agreement. + (4) No one may use or include the name of the Licensed Program as a program name, font name or file name of the Derived Program. + (5) Any material to be made available online or by means of mailing a medium to satisfy the requirements of this paragraph may be provided, verbatim, by any party wishing to do so. + 2. If the Recipient Redistributes the Licensed Program pursuant to Paragraph 6 of the preceding Article, the Recipient shall meet all of the following conditions: + (1) The Recipient may not change the name of the Licensed Program. + (2) The Recipient may not alter or otherwise modify the Licensed Program. + (3) The Recipient must attach a copy of this Agreement to the Licensed Program. + 3. THIS LICENSED PROGRAM IS PROVIDED BY THE LICENSOR "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTY AS TO THE LICENSED PROGRAM OR ANY DERIVED PROGRAM, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT SHALL THE LICENSOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXTENDED, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO; PROCUREMENT OF SUBSTITUTED GOODS OR SERVICE; DAMAGES ARISING FROM SYSTEM FAILURE; LOSS OR CORRUPTION OF EXISTING DATA OR PROGRAM; LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE INSTALLATION, USE, THE REPRODUCTION OR OTHER EXPLOITATION OF THE LICENSED PROGRAM OR ANY DERIVED PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + 4. The Licensor is under no obligation to respond to any technical questions or inquiries, or provide any other user support in connection with the installation, use or the Reproduction and Other Exploitation of the Licensed Program or Derived Programs thereof. +Article 4 (Termination of Agreement) + 1. The term of this Agreement shall begin from the time of receipt of the Licensed Program by the Recipient and shall continue as long as the Recipient retains any such Licensed Program in any way. + 2. Notwithstanding the provision set forth in the preceding Paragraph, in the event of the breach of any of the provisions set forth in this Agreement by the Recipient, this Agreement shall automatically terminate without any notice. In the case of such termination, the Recipient may not use or conduct Reproduction and Other Exploitation of the Licensed Program or a Derived Program: provided that such termination shall not affect any rights of any other Recipient receiving the Licensed Program or the Derived Program from such Recipient who breached this Agreement. +Article 5 (Governing Law) + 1. IPA may publish revised and/or new versions of this License. In such an event, the Recipient may select either this Agreement or any subsequent version of the Agreement in using, conducting the Reproduction and Other Exploitation of, or Redistributing the Licensed Program or a Derived Program. Other matters not specified above shall be subject to the Copyright Law of Japan and other related laws and regulations of Japan. + 2. This Agreement shall be construed under the laws of Japan. * ISC * -The ISC License - -Copyright (c) npm, Inc. and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - +ISC License +Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC") +Copyright (c) 1995-2003 by Internet Software Consortium +Permission to use, copy, modify, and /or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * ISC * -The ISC License +ISC License -Copyright npm, Inc +Copyright (c) 2012-2016 Dave Collins Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above @@ -114694,203 +64210,164 @@ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -* MIT * - -The MIT Expat Licence. - -Copyright (c) 2020 Michael Mclaughlin - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -* MIT * - -The MIT Licence (Expat). - -Copyright (c) 2018 Michael Mclaughlin - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -* MIT * - -The MIT License - -Copyright (c) 2011 Dominic Tarr - -Permission is hereby granted, free of charge, -to any person obtaining a copy of this software and -associated documentation files (the "Software"), to -deal in the Software without restriction, including -without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom -the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -The MIT License - -Copyright (c) 2013 Dominic Tarr - -Permission is hereby granted, free of charge, -to any person obtaining a copy of this software and -associated documentation files (the "Software"), to -deal in the Software without restriction, including -without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom -the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -* MIT * - -The MIT License - -Copyright (c) 2013 James Halliday (mail@substack.net) - -Permission is hereby granted, free of charge, -to any person obtaining a copy of this software and -associated documentation files (the "Software"), to -deal in the Software without restriction, including -without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom -the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -* MIT * -The MIT License +* JSON * -Copyright (c) 2013 Max Ogden +JSON License +Copyright (c) 2002 JSON.org +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +The Software shall be used for Good, not Evil. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Permission is hereby granted, free of charge, -to any person obtaining a copy of this software and -associated documentation files (the "Software"), to -deal in the Software without restriction, including -without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom -the Software is furnished to do so, -subject to the following conditions: +* LGPL-2.1-only * -The above copyright notice and this permission notice -shall be included in all copies or substantial portions of the Software. +GNU LESSER GENERAL PUBLIC LICENSE +Version 2.1, February 1999 +Copyright (C) 1991, 1999 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. +[This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] +Preamble +The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. +This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. +When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. +To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. +For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. +We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. +To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. +Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. +Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. +When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. +We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. +For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. +In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. +Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. +The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". + A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. + The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) + "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. + Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. + 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. + You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. + 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: + a) The modified work must itself be a software library. + b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. + c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. + d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. + (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) + These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. + Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. + In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. + 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. + Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. + This option is useful when you wish to copy part of the code of the Library into a program that is not a library. + 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. + If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. + 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. + However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. + When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. + If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) + Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. + 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. + You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: + a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) + b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. + c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. + d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. + e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. + For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. + It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. + 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: + a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. + b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. + 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. + 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. + 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. + 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. + If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. + It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. + This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. + 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. + 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. + Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. + 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. + NO WARRANTY + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS +How to Apply These Terms to Your New Libraries +If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). +To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. +< one line to give the library's name and an idea of what it does. > +Copyright (C) < year > < name of author > +This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. +This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. +You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. +You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: +Yoyodyne, Inc., hereby disclaims all copyright interest in +the library `Frob' (a library for tweaking knobs) written +by James Random Hacker. +< signature of Ty Coon > , 1 April 1990 +Ty Coon, President of Vice +That's all there is to it! -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* LGPL-3.0-only * -* MIT * +GNU LESSER GENERAL PUBLIC LICENSE +Version 3, 29 June 2007 +Copyright (C) 2007 Free Software Foundation, Inc. +Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. +This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below. + 0. Additional Definitions. -The MIT License + As used herein, "this License" refers to version 3 of the GNU Lesser General Public License, and the "GNU GPL" refers to version 3 of the GNU General Public License. -Copyright (c) 2013 VividCortex + "The Library" refers to a covered work governed by this License, other than an Application or a Combined Work as defined below. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + An "Application" is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + A "Combined Work" is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the "Linked Version". -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + The "Minimal Corresponding Source" for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version. + The "Corresponding Application Code" for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work. + 1. Exception to Section 3 of the GNU GPL. + You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL. + 2. Conveying Modified Versions. + If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version: + a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or + b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy. + 3. Object Code Incorporating Material from Library Header Files. + The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following: + a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License. + b) Accompany the object code with a copy of the GNU GPL and this license document. + 4. Combined Works. + You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following: + a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License. + b) Accompany the Combined Work with a copy of the GNU GPL and this license document. + c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document. + d) Do one of the following: + 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. + 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. + e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.) + 5. Combined Libraries. + You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following: + a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License. + b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. + 6. Revised Versions of the GNU Lesser General Public License. + The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. + Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation. + If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library. * MIT * -The MIT License - -Copyright (c) 2013-2014 Mick Hansen. http://mhansen.io +MIT License +Copyright (c) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -114899,131 +64376,100 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * -The MIT License +MIT LICENSE -Copyright (c) 2015 John Hiesey +Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ -Permission is hereby granted, free of charge, -to any person obtaining a copy of this software and -associated documentation files (the "Software"), to -deal in the Software without restriction, including -without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom -the Software is furnished to do so, -subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -The above copyright notice and this permission notice -shall be included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -* MIT * - -The MIT License - -Copyright (c) 2015 Rich Harris - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * MIT * -The MIT License - -Copyright (c) 2015-2016 Mick Hansen. http://mhansen.io - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +MIT LICENSE -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +Copyright (c) 2015-present Ant UED, https://xtech.antfin.com/ -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * MIT * -The MIT License +MIT LICENSE -Copyright (c) 2016 John Hiesey +Copyright (c) 2018-present Ant UED, https://xtech.antfin.com/ -Permission is hereby granted, free of charge, -to any person obtaining a copy of this software and -associated documentation files (the "Software"), to -deal in the Software without restriction, including -without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom -the Software is furnished to do so, -subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -The above copyright notice and this permission notice -shall be included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * MIT * -The MIT License +MIT License -Copyright (c) 2017 Segment.io friends@segment.com +Copyright (c) 2010 - 2017 Brian Carlson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115032,23 +64478,23 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * -The MIT License +MIT License -Copyright (c) Tobias Koppers @sokra +Copyright (c) 2012-2018 Aseem Kishore, and [others]. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115057,23 +64503,25 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +[others]: https://github.com/json5/json5/contributors * MIT * -The MIT License +MIT License -Copyright JS Foundation and other contributors +Copyright (c) 2012-2020 Mat Ryer, Tyler Bunnell and contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115082,23 +64530,23 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * -The MIT License (MIT) +MIT License -Copyright (C) 2013 Jordan Harband +Copyright (c) 2013-present, Facebook, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115107,22 +64555,22 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * -The MIT License (MIT) +MIT License -Copyright (C) 2014 Jordan Harband +Copyright (c) 2013-present, Facebook, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115131,48 +64579,47 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * -The MIT License (MIT) +MIT License -Copyright (C) 2015 Jordan Harband +Copyright (c) 2013-present, Facebook, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2010-2016 Robert Kieffer and other contributors +Copyright (c) 2014 Klaus Post Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115195,36 +64642,35 @@ SOFTWARE. * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2011 Troy Goode +Copyright (c) 2014-present Sebastian McKenzie and other contributors -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2011-2015 Michael Mitton (mmitton@gmail.com) -Portions copyright (c) 2015-2016 go-asn1-ber Authors +Copyright (c) 2014-present, Facebook, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115247,10 +64693,9 @@ SOFTWARE. * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2011-2015 Michael Mitton (mmitton@gmail.com) -Portions copyright (c) 2015-2016 go-ldap Authors +Copyright (c) 2016 Benjy Cui Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115273,9 +64718,9 @@ SOFTWARE. * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2011-2018 Jonny Strömberg, jonnystromberg.com +Copyright (c) 2016 json-iterator Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115284,121 +64729,23 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2012-2019 Paul Miller (https://paulmillr.com), Elan Shanker - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the “Software”), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2013 Fatih Arslan - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2013 Jo Liss - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2013 Jordan Wright - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2013 Mitchell Hashimoto +Copyright (c) 2016 xiaody Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115407,47 +64754,23 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2013 Stack Exchange - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2013 TOML authors +Copyright (c) 2017 Alberto Leal (github.com/dashed) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115456,23 +64779,23 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2013-2017 Petka Antonov +Copyright (c) 2017 Axiom Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115481,23 +64804,23 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2013-2018 Ben Alman , Blaine Bublitz , and Eric Schoffstall +Copyright (c) 2017 Brian M. Carlson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115520,9 +64843,9 @@ SOFTWARE. * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2013-2018 Petka Antonov +Copyright (c) 2017 JS Foundation and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115531,23 +64854,23 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2014 +Copyright (c) 2017 Tony Quetano Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115570,9 +64893,9 @@ SOFTWARE. * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2014 Arnout Kazemier +Copyright (c) 2017 marusama Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115595,9 +64918,9 @@ SOFTWARE. * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) +Copyright (c) 2017 sudodoki Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115606,23 +64929,23 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -* MIT * +* BSD-3-Clause * -The MIT License (MIT) +MIT License -Copyright (c) 2014 Brian Goff +Copyright (c) 2018 David Brophy Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115642,36 +64965,67 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +This package was forked from https://github.com/golang/go/tree/master/src/go/ast - original license: + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2014 Cenk Altı +Copyright (c) 2018 Formidable Labs +Copyright (c) 2017 Evgeny Poberezkin -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2014 Coda Hale +Copyright (c) 2018 lestrrat Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115680,23 +65034,23 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2014 Daniel Cousens +Copyright (c) 2019 Alexander Reardon Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115716,12 +65070,11 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2014 Daniel Joos +Copyright (c) 2019 Christian Muehlhaeuser Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115741,34 +65094,37 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2014 Dave Justice +Copyright (c) 2019 Oliver Kuederle -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2014 Evan Huus +Copyright (c) 2020 Charmbracelet, Inc Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115788,11 +65144,12 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2014 Evan Huus +Copyright (c) 2020 CockroachDB Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115813,12 +65170,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2014 Evan Wallace +Copyright (c) 2020 Evan Wallace Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115841,9 +65197,9 @@ SOFTWARE. * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2014 Fatih Arslan +Copyright (c) 2020 lestrrat-go Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115863,12 +65219,12 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2014 Google Inc. -Copyright (c) 2012-2013 Johannes Ewald +Copyright (c) 2021 Charmbracelet, Inc Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115891,9 +65247,9 @@ SOFTWARE. * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2014 Iced Development +Copyright (c) 2021 Christian Muehlhaeuser Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115913,11 +65269,12 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2014 Jameson Little +Copyright (c) 2021 Go kit Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115926,47 +65283,48 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2014 Jordan Harband +Copyright (c) 2021 lestrrat-go -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2014 KARASZI István +Copyright (c) 2022 Ayman Bagabas Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -115989,9 +65347,9 @@ SOFTWARE. * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2014 Kiran Abburi +Copyright (c) 2022 Erik Geiser and Christian Muehlhaeuser Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -116011,11 +65369,12 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2014 Kiran Abburi +Copyright (c) 2022 Oliver Tan Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -116036,12 +65395,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2014 Mathias Buus +Copyright (c) Facebook, Inc. and its affiliates. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -116050,46 +65408,48 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2014 Maxime Thirouin & Joakim Bengtson +Copyright (c) Hiroki Osame -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2014 Mitchell Hashimoto +Copyright (c) Michael Jackson 2016-2018 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -116098,23 +65458,23 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -* BSD-3-Clause * +* MIT * -The MIT License (MIT) +MIT License -Copyright (c) 2014 Sam Ghods +Copyright (c) React Training 2016-2018 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -116135,1230 +65495,1587 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Copyright (c) 2012 The Go Authors. All rights reserved. +* MPL-2.0 * -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +Mozilla Public License Version 2.0 + 1. Definitions + 1.1. "Contributor" means each individual or legal entity that creates, contributes to the creation of, or owns Covered Software. + 1.2. "Contributor Version" means the combination of the Contributions of others (if any) used by a Contributor and that particular Contributor's Contribution. + 1.3. "Contribution" means Covered Software of a particular Contributor. + 1.4. "Covered Software" means Source Code Form to which the initial Contributor has attached the notice in Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof. + 1.5. "Incompatible With Secondary Licenses" means + (a) that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or + (b) that the Covered Software was made available under the terms of version 1.1 or earlier of the License, but not also under the terms of a Secondary License. + 1.6. "Executable Form" means any form of the work other than Source Code Form. + 1.7. "Larger Work" means a work that combines Covered Software with other material, in a separate file or files, that is not Covered Software. + 1.8. "License" means this document. + 1.9. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently, any and all of the rights conveyed by this License. + 1.10. "Modifications" means any of the following: + (a) any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or + (b) any new file in Source Code Form that contains any Covered Software. + 1.11. "Patent Claims" of a Contributor means any patent claim(s), including without limitation, method, process, and apparatus claims, in any patent Licensable by such Contributor that would be infringed, but for the grant of the License, by the making, using, selling, offering for sale, having made, import, or transfer of either its Contributions or its Contributor Version. + 1.12. "Secondary License" means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses. + 1.13. "Source Code Form" means the form of the work preferred for making modifications. + 1.14. "You" (or "Your") means an individual or a legal entity exercising rights under this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. + 2. License Grants and Conditions + 2.1. Grants + Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license: + (a) under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and + (b) under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version. + 2.2. Effective Date + The licenses granted in Section 2.1 with respect to any Contribution become effective for each Contribution on the date the Contributor first distributes such Contribution. + 2.3. Limitations on Grant Scope + The licenses granted in this Section 2 are the only rights granted under this License. No additional rights or licenses will be implied from the distribution or licensing of Covered Software under this License. Notwithstanding Section 2.1(b) above, no patent license is granted by a Contributor: + (a) for any code that a Contributor has removed from Covered Software; or + (b) for infringements caused by: (i) Your and any other third party's modifications of Covered Software, or (ii) the combination of its Contributions with other software (except as part of its Contributor Version); or + (c) under Patent Claims infringed by Covered Software in the absence of its Contributions. + This License does not grant any rights in the trademarks, service marks, or logos of any Contributor (except as may be necessary to comply with the notice requirements in Section 3.4). + 2.4. Subsequent Licenses + No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version of this License (see Section 10.2) or under the terms of a Secondary License (if permitted under the terms of Section 3.3). + 2.5. Representation + Each Contributor represents that the Contributor believes its Contributions are its original creation(s) or it has sufficient rights to grant the rights to its Contributions conveyed by this License. + 2.6. Fair Use + This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other equivalents. + 2.7. Conditions + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1. + 3. Responsibilities + 3.1. Distribution of Source Form + All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License. You may not attempt to alter or restrict the recipients' rights in the Source Code Form. + 3.2. Distribution of Executable Form + If You distribute Covered Software in Executable Form then: + (a) such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must inform recipients of the Executable Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the recipient; and + (b) You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients' rights in the Source Code Form under this License. + 3.3. Distribution of a Larger Work + You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s). + 3.4. Notices + You may not remove or alter the substance of any license notices (including copyright notices, patent notices, disclaimers of warranty, or limitations of liability) contained within the Source Code Form of the Covered Software, except that You may alter any license notices to the extent required to remedy known factual inaccuracies. + 3.5. Application of Additional Terms + You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, You may do so only on Your own behalf, and not on behalf of any Contributor. You must make it absolutely clear that any such warranty, support, indemnity, or liability obligation is offered by You alone, and You hereby agree to indemnify every Contributor for any liability incurred by such Contributor as a result of warranty, support, indemnity or liability terms You offer. You may include additional disclaimers of warranty and limitations of liability specific to any jurisdiction. + 4. Inability to Comply Due to Statute or Regulation + If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be placed in a text file included with all distributions of the Covered Software under this License. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. + 5. Termination + 5.1. The rights granted under this License will terminate automatically if You fail to comply with any of its terms. However, if You become compliant, then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such Contributor explicitly and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor fails to notify You of the non-compliance by some reasonable means prior to 60 days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such Contributor notifies You of the non-compliance by some reasonable means, this is the first time You have received notice of non-compliance with this License from such Contributor, and You become compliant prior to 30 days after Your receipt of the notice. + 5.2. If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate. + 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or Your distributors under this License prior to termination shall survive termination. + 6. Disclaimer of Warranty + Covered Software is provided under this License on an "as is" basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the Covered Software is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the Covered Software is with You. Should any Covered Software prove defective in any respect, You (not any Contributor) assume the cost of any necessary servicing, repair, or correction. This disclaimer of warranty constitutes an essential part of this License. No use of any Covered Software is authorized under this License except under this disclaimer. + 7. Limitation of Liability + Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall any Contributor, or anyone who distributes Covered Software as permitted above, be liable to You for any direct, indirect, special, incidental, or consequential damages of any character including, without limitation, damages for lost profits, loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages. This limitation of liability shall not apply to liability for death or personal injury resulting from such party's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You. + 8. Litigation + Any litigation relating to this License may be brought only in the courts of a jurisdiction where the defendant maintains its principal place of business and such litigation shall be governed by laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this Section shall prevent a party's ability to bring cross-claims or counter-claims. + 9. Miscellaneous + This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not be used to construe this License against a Contributor. + 10. Versions of the License + 10.1. New Versions + Mozilla Foundation is the license steward. Except as provided in Section 10.3, no one other than the license steward has the right to modify or publish new versions of this License. Each version will be given a distinguishing version number. + 10.2. Effect of New Versions + You may distribute the Covered Software under the terms of the version of the License under which You originally received the Covered Software, or under the terms of any subsequent version published by the license steward. + 10.3. Modified Versions + If you create software not governed by this License, and you want to create a new license for such software, you may create and use a modified version of this License if you rename the license and remove any references to the name of the license steward (except to note that such modified license differs from this License). + 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses + If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached. Exhibit A - Source Code Form License Notice +This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. +If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice. +You may add additional accurate notices of copyright ownership. +Exhibit B - "Incompatible With Secondary Licenses" Notice +This Source Code Form is "Incompatible With Secondary Licenses", as defined by the Mozilla Public License, v. 2.0. - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. +* MPL-2.0 * -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. +2.2. Effective Date -* MIT * +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. -The MIT License (MIT) +2.3. Limitations on Grant Scope -Copyright (c) 2014 Simon Eskildsen +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +(a) for any code that a Contributor has removed from Covered Software; + or -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). -* MIT * +2.4. Subsequent Licenses -The MIT License (MIT) +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). -Copyright (c) 2014, 2015, 2016, 2017, 2018 Simon Lydell +2.5. Representation -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +2.6. Fair Use -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. +2.7. Conditions -* MIT * +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. -The MIT License (MIT) +3. Responsibilities +------------------- -Copyright (c) 2014, 2015, 2016, 2017, 2018, 2019 Simon Lydell -Copyright (c) 2019 ZHAO Jinxiang +3.1. Distribution of Source Form -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +3.2. Distribution of Executable Form -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +If You distribute Covered Software in Executable Form then: +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and -* MIT * +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. -The MIT License (MIT) +3.3. Distribution of a Larger Work -Copyright (c) 2014-2015 Devon Govett +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +3.4. Notices -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +3.5. Application of Additional Terms -This project contains parts of Node.js. -Node.js is licensed for use as follows: +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. -""" -Copyright Node.js contributors. All rights reserved. +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +5. Termination +-------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. -This license applies to parts of Node.js originating from the -https://github.com/joyent/node repository: +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. -""" -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ +8. Litigation +------------- -* MIT * +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. -The MIT License (MIT) +9. Miscellaneous +---------------- -Copyright (c) 2014-2015, 2017, Jon Schlinkert. +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +10. Versions of the License +--------------------------- -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +10.1. New Versions -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. +10.2. Effect of New Versions -* MIT * +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. -The MIT License (MIT) +10.3. Modified Versions -Copyright (c) 2014-2015, Jon Schlinkert. +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +Exhibit A - Source Code Form License Notice +------------------------------------------- + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. -* MIT * +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. -The MIT License (MIT) +You may add additional accurate notices of copyright ownership. -Copyright (c) 2014-2016 Calvin Metcalf & contributors +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +* MPL-2.0 * +Mozilla Public License, version 2.0 -* MIT * +1. Definitions -The MIT License (MIT) +1.1. “Contributor” -Copyright (c) 2014-2016, Jon Schlinkert + means each individual or legal entity that creates, contributes to the + creation of, or owns Covered Software. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +1.2. “Contributor Version” -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + means the combination of the Contributions of others (if any) used by a + Contributor and that particular Contributor’s Contribution. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +1.3. “Contribution” + means Covered Software of a particular Contributor. -* MIT * +1.4. “Covered Software” -The MIT License (MIT) + means Source Code Form to which the initial Contributor has attached the + notice in Exhibit A, the Executable Form of such Source Code Form, and + Modifications of such Source Code Form, in each case including portions + thereof. -Copyright (c) 2014-2016, Jon Schlinkert. +1.5. “Incompatible With Secondary Licenses” + means -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + a. that the initial Contributor has attached the notice described in + Exhibit B to the Covered Software; or -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + b. that the Covered Software was made available under the terms of version + 1.1 or earlier of the License, but not also under the terms of a + Secondary License. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +1.6. “Executable Form” + means any form of the work other than Source Code Form. -* MIT * +1.7. “Larger Work” -The MIT License (MIT) + means a work that combines Covered Software with other material, in a separate + file or files, that is not Covered Software. -Copyright (c) 2014-2017 Calvin Metcalf & contributors +1.8. “License” -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + means this document. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +1.9. “Licensable” -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + means having the right to grant, to the maximum extent possible, whether at the + time of the initial grant or subsequently, any and all of the rights conveyed by + this License. +1.10. “Modifications” -* MIT * + means any of the following: -The MIT License (MIT) + a. any file in Source Code Form that results from an addition to, deletion + from, or modification of the contents of Covered Software; or -Copyright (c) 2014-2017 browserify-aes contributors + b. any new file in Source Code Form that contains any Covered Software. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +1.11. “Patent Claims” of a Contributor -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + means any patent claim(s), including without limitation, method, process, + and apparatus claims, in any patent Licensable by such Contributor that + would be infringed, but for the grant of the License, by the making, + using, selling, offering for sale, having made, import, or transfer of + either its Contributions or its Contributor Version. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +1.12. “Secondary License” + means either the GNU General Public License, Version 2.0, the GNU Lesser + General Public License, Version 2.1, the GNU Affero General Public + License, Version 3.0, or any later versions of those licenses. -* MIT * +1.13. “Source Code Form” -The MIT License (MIT) + means the form of the work preferred for making modifications. -Copyright (c) 2014-2017 createECDH contributors +1.14. “You” (or “Your”) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + means an individual or a legal entity exercising rights under this + License. For legal entities, “You” includes any entity that controls, is + controlled by, or is under common control with You. For purposes of this + definition, “control” means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +2. License Grants and Conditions +2.1. Grants -* MIT * + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: -The MIT License (MIT) + a. under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or as + part of a Larger Work; and + + b. under Patent Claims of such Contributor to make, use, sell, offer for + sale, have made, import, and otherwise transfer either its Contributions + or its Contributor Version. -Copyright (c) 2014-2017, Jon Schlinkert +2.2. Effective Date -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + The licenses granted in Section 2.1 with respect to any Contribution become + effective for each Contribution on the date the Contributor first distributes + such Contribution. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +2.3. Limitations on Grant Scope -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + The licenses granted in this Section 2 are the only rights granted under this + License. No additional rights or licenses will be implied from the distribution + or licensing of Covered Software under this License. Notwithstanding Section + 2.1(b) above, no patent license is granted by a Contributor: + a. for any code that a Contributor has removed from Covered Software; or -* MIT * + b. for infringements caused by: (i) Your and any other third party’s + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or -The MIT License (MIT) + c. under Patent Claims infringed by Covered Software in the absence of its + Contributions. -Copyright (c) 2014-2017, Jon Schlinkert. + This License does not grant any rights in the trademarks, service marks, or + logos of any Contributor (except as may be necessary to comply with the + notice requirements in Section 3.4). -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +2.4. Subsequent Licenses -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + No Contributor makes additional grants as a result of Your choice to + distribute the Covered Software under a subsequent version of this License + (see Section 10.2) or under the terms of a Secondary License (if permitted + under the terms of Section 3.3). -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +2.5. Representation -* MIT * + Each Contributor represents that the Contributor believes its Contributions + are its original creation(s) or it has sufficient rights to grant the + rights to its Contributions conveyed by this License. -The MIT License (MIT) +2.6. Fair Use -Copyright (c) 2014-2017, Jon Schlinkert. + This License is not intended to limit any rights You have under applicable + copyright doctrines of fair use, fair dealing, or other equivalents. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +2.7. Conditions -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in + Section 2.1. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +3. Responsibilities -* MIT * +3.1. Distribution of Source Form -The MIT License (MIT) + All distribution of Covered Software in Source Code Form, including any + Modifications that You create or to which You contribute, must be under the + terms of this License. You must inform recipients that the Source Code Form + of the Covered Software is governed by the terms of this License, and how + they can obtain a copy of this License. You may not attempt to alter or + restrict the recipients’ rights in the Source Code Form. -Copyright (c) 2014-2018, Jon Schlinkert. +3.2. Distribution of Executable Form -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + If You distribute Covered Software in Executable Form then: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + a. such Covered Software must also be made available in Source Code Form, + as described in Section 3.1, and You must inform recipients of the + Executable Form how they can obtain a copy of such Source Code Form by + reasonable means in a timely manner, at a charge no more than the cost + of distribution to the recipient; and -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + b. You may distribute such Executable Form under the terms of this License, + or sublicense it under different terms, provided that the license for + the Executable Form does not attempt to limit or alter the recipients’ + rights in the Source Code Form under this License. +3.3. Distribution of a Larger Work -* MIT * + You may create and distribute a Larger Work under terms of Your choice, + provided that You also comply with the requirements of this License for the + Covered Software. If the Larger Work is a combination of Covered Software + with a work governed by one or more Secondary Licenses, and the Covered + Software is not Incompatible With Secondary Licenses, this License permits + You to additionally distribute such Covered Software under the terms of + such Secondary License(s), so that the recipient of the Larger Work may, at + their option, further distribute the Covered Software under the terms of + either this License or such Secondary License(s). -The MIT License (MIT) +3.4. Notices -Copyright (c) 2014-2020 Montana Flynn (https://montanaflynn.com) + You may not remove or alter the substance of any license notices (including + copyright notices, patent notices, disclaimers of warranty, or limitations + of liability) contained within the Source Code Form of the Covered + Software, except that You may alter any license notices to the extent + required to remedy known factual inaccuracies. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +3.5. Application of Additional Terms -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + You may choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of Covered + Software. However, You may do so only on Your own behalf, and not on behalf + of any Contributor. You must make it absolutely clear that any such + warranty, support, indemnity, or liability obligation is offered by You + alone, and You hereby agree to indemnify every Contributor for any + liability incurred by such Contributor as a result of warranty, support, + indemnity or liability terms You offer. You may include additional + disclaimers of warranty and limitations of liability specific to any + jurisdiction. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +4. Inability to Comply Due to Statute or Regulation + If it is impossible for You to comply with any of the terms of this License + with respect to some or all of the Covered Software due to statute, judicial + order, or regulation then You must: (a) comply with the terms of this License + to the maximum extent possible; and (b) describe the limitations and the code + they affect. Such description must be placed in a text file included with all + distributions of the Covered Software under this License. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. -* MIT * +5. Termination -The MIT License (MIT) +5.1. The rights granted under this License will terminate automatically if You + fail to comply with any of its terms. However, if You become compliant, + then the rights granted under this License from a particular Contributor + are reinstated (a) provisionally, unless and until such Contributor + explicitly and finally terminates Your grants, and (b) on an ongoing basis, + if such Contributor fails to notify You of the non-compliance by some + reasonable means prior to 60 days after You have come back into compliance. + Moreover, Your grants from a particular Contributor are reinstated on an + ongoing basis if such Contributor notifies You of the non-compliance by + some reasonable means, this is the first time You have received notice of + non-compliance with this License from such Contributor, and You become + compliant prior to 30 days after Your receipt of the notice. -Copyright (c) 2014-2020 Teambition +5.2. If You initiate litigation against any entity by asserting a patent + infringement claim (excluding declaratory judgment actions, counter-claims, + and cross-claims) alleging that a Contributor Version directly or + indirectly infringes any patent, then the rights granted to You by any and + all Contributors for the Covered Software under Section 2.1 of this License + shall terminate. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user + license agreements (excluding distributors and resellers) which have been + validly granted by You or Your distributors under this License prior to + termination shall survive termination. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +6. Disclaimer of Warranty -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + Covered Software is provided under this License on an “as is” basis, without + warranty of any kind, either expressed, implied, or statutory, including, + without limitation, warranties that the Covered Software is free of defects, + merchantable, fit for a particular purpose or non-infringing. The entire + risk as to the quality and performance of the Covered Software is with You. + Should any Covered Software prove defective in any respect, You (not any + Contributor) assume the cost of any necessary servicing, repair, or + correction. This disclaimer of warranty constitutes an essential part of this + License. No use of any Covered Software is authorized under this License + except under this disclaimer. +7. Limitation of Liability -* MIT * + Under no circumstances and under no legal theory, whether tort (including + negligence), contract, or otherwise, shall any Contributor, or anyone who + distributes Covered Software as permitted above, be liable to You for any + direct, indirect, special, incidental, or consequential damages of any + character including, without limitation, damages for lost profits, loss of + goodwill, work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses, even if such party shall have been + informed of the possibility of such damages. This limitation of liability + shall not apply to liability for death or personal injury resulting from such + party’s negligence to the extent applicable law prohibits such limitation. + Some jurisdictions do not allow the exclusion or limitation of incidental or + consequential damages, so this exclusion and limitation may not apply to You. -The MIT License (MIT) +8. Litigation -Copyright (c) 2014-present alipay.com + Any litigation relating to this License may be brought only in the courts of + a jurisdiction where the defendant maintains its principal place of business + and such litigation shall be governed by laws of that jurisdiction, without + reference to its conflict-of-law provisions. Nothing in this Section shall + prevent a party’s ability to bring cross-claims or counter-claims. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +9. Miscellaneous -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + This License represents the complete agreement concerning the subject matter + hereof. If any provision of this License is held to be unenforceable, such + provision shall be reformed only to the extent necessary to make it + enforceable. Any law or regulation which provides that the language of a + contract shall be construed against the drafter shall not be used to construe + this License against a Contributor. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +10. Versions of the License -* MIT * +10.1. New Versions -The MIT License (MIT) + Mozilla Foundation is the license steward. Except as provided in Section + 10.3, no one other than the license steward has the right to modify or + publish new versions of this License. Each version will be given a + distinguishing version number. -Copyright (c) 2014-present yiminghe +10.2. Effect of New Versions -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + You may distribute the Covered Software under the terms of the version of + the License under which You originally received the Covered Software, or + under the terms of any subsequent version published by the license + steward. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +10.3. Modified Versions -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + If you create software not governed by this License, and you want to + create a new license for such software, you may create and use a modified + version of this License if you rename the license and remove any + references to the name of the license steward (except to note that such + modified license differs from this License). +10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses + If You choose to distribute Source Code Form that is Incompatible With + Secondary Licenses under the terms of this version of the License, the + notice described in Exhibit B of this License must be attached. -* MIT * +Exhibit A - Source Code Form License Notice -The MIT License (MIT) + This Source Code Form is subject to the + terms of the Mozilla Public License, v. + 2.0. If a copy of the MPL was not + distributed with this file, You can + obtain one at + http://mozilla.org/MPL/2.0/. -Copyright (c) 2014-present yiminghe +If it is not possible or desirable to put the notice in a particular file, then +You may include the notice in a location (such as a LICENSE file in a relevant +directory) where a recipient would be likely to look for such a notice. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +You may add additional accurate notices of copyright ownership. -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +Exhibit B - “Incompatible With Secondary Licenses” Notice -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + This Source Code Form is “Incompatible + With Secondary Licenses”, as defined by + the Mozilla Public License, v. 2.0. -* MIT * +* MPL-2.0 * -The MIT License (MIT) +Mozilla Public License, version 2.0 -Copyright (c) 2014-present yiminghe -Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ +1. Definitions -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +1.1. “Contributor” -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + means each individual or legal entity that creates, contributes to the + creation of, or owns Covered Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +1.2. “Contributor Version” + means the combination of the Contributions of others (if any) used by a + Contributor and that particular Contributor’s Contribution. -* MIT * +1.3. “Contribution” -The MIT License (MIT) + means Covered Software of a particular Contributor. -Copyright (c) 2014-present, Jon Schlinkert. +1.4. “Covered Software” -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + means Source Code Form to which the initial Contributor has attached the + notice in Exhibit A, the Executable Form of such Source Code Form, and + Modifications of such Source Code Form, in each case including portions + thereof. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +1.5. “Incompatible With Secondary Licenses” + means -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + a. that the initial Contributor has attached the notice described in + Exhibit B to the Covered Software; or + b. that the Covered Software was made available under the terms of version + 1.1 or earlier of the License, but not also under the terms of a + Secondary License. -* MIT * +1.6. “Executable Form” -The MIT License (MIT) + means any form of the work other than Source Code Form. -Copyright (c) 2015 99designs +1.7. “Larger Work” -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + means a work that combines Covered Software with other material, in a separate + file or files, that is not Covered Software. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +1.8. “License” -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + means this document. +1.9. “Licensable” + means having the right to grant, to the maximum extent possible, whether at the + time of the initial grant or subsequently, any and all of the rights conveyed by + this License. -* MIT * +1.10. “Modifications” -The MIT License (MIT) + means any of the following: -Copyright (c) 2015 Andres Suarez + a. any file in Source Code Form that results from an addition to, deletion + from, or modification of the contents of Covered Software; or -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + b. any new file in Source Code Form that contains any Covered Software. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +1.11. “Patent Claims” of a Contributor -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + means any patent claim(s), including without limitation, method, process, + and apparatus claims, in any patent Licensable by such Contributor that + would be infringed, but for the grant of the License, by the making, + using, selling, offering for sale, having made, import, or transfer of + either its Contributions or its Contributor Version. +1.12. “Secondary License” -* MIT * + means either the GNU General Public License, Version 2.0, the GNU Lesser + General Public License, Version 2.1, the GNU Affero General Public + License, Version 3.0, or any later versions of those licenses. -The MIT License (MIT) +1.13. “Source Code Form” -Copyright (c) 2015 Andy Grunwald + means the form of the work preferred for making modifications. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +1.14. “You” (or “Your”) -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + means an individual or a legal entity exercising rights under this + License. For legal entities, “You” includes any entity that controls, is + controlled by, or is under common control with You. For purposes of this + definition, “control” means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +2. License Grants and Conditions +2.1. Grants -* MIT * + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: -The MIT License (MIT) + a. under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or as + part of a Larger Work; and -Copyright (c) 2015 Dan Abramov + b. under Patent Claims of such Contributor to make, use, sell, offer for + sale, have made, import, and otherwise transfer either its Contributions + or its Contributor Version. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +2.2. Effective Date -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + The licenses granted in Section 2.1 with respect to any Contribution become + effective for each Contribution on the date the Contributor first distributes + such Contribution. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +2.3. Limitations on Grant Scope + The licenses granted in this Section 2 are the only rights granted under this + License. No additional rights or licenses will be implied from the distribution + or licensing of Covered Software under this License. Notwithstanding Section + 2.1(b) above, no patent license is granted by a Contributor: + a. for any code that a Contributor has removed from Covered Software; or -* MIT * + b. for infringements caused by: (i) Your and any other third party’s + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or -The MIT License (MIT) + c. under Patent Claims infringed by Covered Software in the absence of its + Contributions. -Copyright (c) 2015 David Clark + This License does not grant any rights in the trademarks, service marks, or + logos of any Contributor (except as may be necessary to comply with the + notice requirements in Section 3.4). -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +2.4. Subsequent Licenses -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + No Contributor makes additional grants as a result of Your choice to + distribute the Covered Software under a subsequent version of this License + (see Section 10.2) or under the terms of a Secondary License (if permitted + under the terms of Section 3.3). -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +2.5. Representation + Each Contributor represents that the Contributor believes its Contributions + are its original creation(s) or it has sufficient rights to grant the + rights to its Contributions conveyed by this License. +2.6. Fair Use -* MIT * + This License is not intended to limit any rights You have under applicable + copyright doctrines of fair use, fair dealing, or other equivalents. -The MIT License (MIT) +2.7. Conditions -Copyright (c) 2015 Dustin H + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in + Section 2.1. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +3. Responsibilities -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +3.1. Distribution of Source Form + All distribution of Covered Software in Source Code Form, including any + Modifications that You create or to which You contribute, must be under the + terms of this License. You must inform recipients that the Source Code Form + of the Covered Software is governed by the terms of this License, and how + they can obtain a copy of this License. You may not attempt to alter or + restrict the recipients’ rights in the Source Code Form. +3.2. Distribution of Executable Form -* MIT * + If You distribute Covered Software in Executable Form then: -The MIT License (MIT) + a. such Covered Software must also be made available in Source Code Form, + as described in Section 3.1, and You must inform recipients of the + Executable Form how they can obtain a copy of such Source Code Form by + reasonable means in a timely manner, at a charge no more than the cost + of distribution to the recipient; and -Copyright (c) 2015 Evgeny + b. You may distribute such Executable Form under the terms of this License, + or sublicense it under different terms, provided that the license for + the Executable Form does not attempt to limit or alter the recipients’ + rights in the Source Code Form under this License. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +3.3. Distribution of a Larger Work -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + You may create and distribute a Larger Work under terms of Your choice, + provided that You also comply with the requirements of this License for the + Covered Software. If the Larger Work is a combination of Covered Software + with a work governed by one or more Secondary Licenses, and the Covered + Software is not Incompatible With Secondary Licenses, this License permits + You to additionally distribute such Covered Software under the terms of + such Secondary License(s), so that the recipient of the Larger Work may, at + their option, further distribute the Covered Software under the terms of + either this License or such Secondary License(s). -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +3.4. Notices + You may not remove or alter the substance of any license notices (including + copyright notices, patent notices, disclaimers of warranty, or limitations + of liability) contained within the Source Code Form of the Covered + Software, except that You may alter any license notices to the extent + required to remedy known factual inaccuracies. +3.5. Application of Additional Terms -* MIT * + You may choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of Covered + Software. However, You may do so only on Your own behalf, and not on behalf + of any Contributor. You must make it absolutely clear that any such + warranty, support, indemnity, or liability obligation is offered by You + alone, and You hereby agree to indemnify every Contributor for any + liability incurred by such Contributor as a result of warranty, support, + indemnity or liability terms You offer. You may include additional + disclaimers of warranty and limitations of liability specific to any + jurisdiction. -The MIT License (MIT) +4. Inability to Comply Due to Statute or Regulation -Copyright (c) 2015 Gustavo Henke and Aaron Trent + If it is impossible for You to comply with any of the terms of this License + with respect to some or all of the Covered Software due to statute, judicial + order, or regulation then You must: (a) comply with the terms of this License + to the maximum extent possible; and (b) describe the limitations and the code + they affect. Such description must be placed in a text file included with all + distributions of the Covered Software under this License. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +5. Termination -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +5.1. The rights granted under this License will terminate automatically if You + fail to comply with any of its terms. However, if You become compliant, + then the rights granted under this License from a particular Contributor + are reinstated (a) provisionally, unless and until such Contributor + explicitly and finally terminates Your grants, and (b) on an ongoing basis, + if such Contributor fails to notify You of the non-compliance by some + reasonable means prior to 60 days after You have come back into compliance. + Moreover, Your grants from a particular Contributor are reinstated on an + ongoing basis if such Contributor notifies You of the non-compliance by + some reasonable means, this is the first time You have received notice of + non-compliance with this License from such Contributor, and You become + compliant prior to 30 days after Your receipt of the notice. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +5.2. If You initiate litigation against any entity by asserting a patent + infringement claim (excluding declaratory judgment actions, counter-claims, + and cross-claims) alleging that a Contributor Version directly or + indirectly infringes any patent, then the rights granted to You by any and + all Contributors for the Covered Software under Section 2.1 of this License + shall terminate. +5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user + license agreements (excluding distributors and resellers) which have been + validly granted by You or Your distributors under this License prior to + termination shall survive termination. -* MIT * +6. Disclaimer of Warranty -The MIT License (MIT) + Covered Software is provided under this License on an “as is” basis, without + warranty of any kind, either expressed, implied, or statutory, including, + without limitation, warranties that the Covered Software is free of defects, + merchantable, fit for a particular purpose or non-infringing. The entire + risk as to the quality and performance of the Covered Software is with You. + Should any Covered Software prove defective in any respect, You (not any + Contributor) assume the cost of any necessary servicing, repair, or + correction. This disclaimer of warranty constitutes an essential part of this + License. No use of any Covered Software is authorized under this License + except under this disclaimer. -Copyright (c) 2015 Huan Du +7. Limitation of Liability -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Under no circumstances and under no legal theory, whether tort (including + negligence), contract, or otherwise, shall any Contributor, or anyone who + distributes Covered Software as permitted above, be liable to You for any + direct, indirect, special, incidental, or consequential damages of any + character including, without limitation, damages for lost profits, loss of + goodwill, work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses, even if such party shall have been + informed of the possibility of such damages. This limitation of liability + shall not apply to liability for death or personal injury resulting from such + party’s negligence to the extent applicable law prohibits such limitation. + Some jurisdictions do not allow the exclusion or limitation of incidental or + consequential damages, so this exclusion and limitation may not apply to You. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +8. Litigation -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + Any litigation relating to this License may be brought only in the courts of + a jurisdiction where the defendant maintains its principal place of business + and such litigation shall be governed by laws of that jurisdiction, without + reference to its conflict-of-law provisions. Nothing in this Section shall + prevent a party’s ability to bring cross-claims or counter-claims. +9. Miscellaneous + This License represents the complete agreement concerning the subject matter + hereof. If any provision of this License is held to be unenforceable, such + provision shall be reformed only to the extent necessary to make it + enforceable. Any law or regulation which provides that the language of a + contract shall be construed against the drafter shall not be used to construe + this License against a Contributor. -* MIT * -The MIT License (MIT) +10. Versions of the License -Copyright (c) 2015 Jason Quense +10.1. New Versions -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Mozilla Foundation is the license steward. Except as provided in Section + 10.3, no one other than the license steward has the right to modify or + publish new versions of this License. Each version will be given a + distinguishing version number. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +10.2. Effect of New Versions -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + You may distribute the Covered Software under the terms of the version of + the License under which You originally received the Covered Software, or + under the terms of any subsequent version published by the license + steward. -* MIT * +10.3. Modified Versions -The MIT License (MIT) + If you create software not governed by this License, and you want to + create a new license for such software, you may create and use a modified + version of this License if you rename the license and remove any + references to the name of the license steward (except to note that such + modified license differs from this License). -Copyright (c) 2015 Javier Blanco +10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses + If You choose to distribute Source Code Form that is Incompatible With + Secondary Licenses under the terms of this version of the License, the + notice described in Exhibit B of this License must be attached. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Exhibit A - Source Code Form License Notice -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + This Source Code Form is subject to the + terms of the Mozilla Public License, v. + 2.0. If a copy of the MPL was not + distributed with this file, You can + obtain one at + http://mozilla.org/MPL/2.0/. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +If it is not possible or desirable to put the notice in a particular file, then +You may include the notice in a location (such as a LICENSE file in a relevant +directory) where a recipient would be likely to look for such a notice. +You may add additional accurate notices of copyright ownership. -* MIT * +Exhibit B - “Incompatible With Secondary Licenses” Notice -The MIT License (MIT) + This Source Code Form is “Incompatible + With Secondary Licenses”, as defined by + the Mozilla Public License, v. 2.0. -Copyright (c) 2015 Jordan Harband -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +* NCSA * -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +University of Illinois/NCSA Open Source License +Copyright (c) . All rights reserved. +Developed by: + + + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal with the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimers. + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimers in the documentation and/or other materials provided with the distribution. + * Neither the names of , nor the names of its contributors may be used to endorse or promote products derived from this Software without specific prior written permission. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE. +* OFL-1.1 * +Copyright (c) , (), +with Reserved Font Name . This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL SIL OPEN FONT LICENSE +Version 1.1 - 26 February 2007 +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. +The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. +"Reserved Font Name" refers to any names specified as such after the copyright statement(s). +"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). +"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. +"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: + 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. + 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. + 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. + 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. + 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. +TERMINATION +This license becomes null and void if any of the above conditions are not met. +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. * MIT * -The MIT License (MIT) +Original work Copyright (c) 2012 Liam Staskawicz +Modified work Copyright (c) 2016 Vojtech Vitek -Copyright (c) 2015 Keybase +MIT License -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -* MIT * +* Protobuf * -The MIT License (MIT) +Copyright 2008 Google Inc. All rights reserved. -Copyright (c) 2015 Klaus Post +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Code generated by the Protocol Buffer compiler is owned by the owner +of the input file used when generating it. This code is not +standalone and requires a support library to be linked with it. This +support library is itself covered by the above license. +* RSA-MD * +Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved. +License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing this software or this function. +License is also granted to make and use derivative works provided that such works are identified as "derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing the derived work. +RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of any kind. +These notices must be retained in any copies of any part of this documentation and/or software. -* MIT * +* BSD-3-Clause * -The MIT License (MIT) +Simplified BSD License -Copyright (c) 2015 Mathias Buus +Copyright (c) 2016, Datadog +All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* MIT * +* BSD-3-Clause * -The MIT License (MIT) +Software License Agreement (BSD License) +======================================== -Copyright (c) 2015 Matt Andrews +Copyright (c) 2015, Yahoo! Inc. All rights reserved. +---------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Redistribution and use of this software in source and binary forms, with or +without modification, are permitted provided that the following conditions are +met: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of Yahoo! Inc. nor the names of YUI's contributors may be + used to endorse or promote products derived from this software without + specific prior written permission of Yahoo! Inc. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* MIT * +* BSD-3-Clause * -The MIT License (MIT) +Staticcheck and its related tools make use of third party projects, +either by reusing their code, or by statically linking them into +resulting binaries. These projects are: -Copyright (c) 2015 Matteo Collina +* The Go Programming Language - https://golang.org/ + golang.org/x/mod - https://github.com/golang/mod + golang.org/x/tools - https://github.com/golang/tools + golang.org/x/sys - https://github.com/golang/sys + golang.org/x/xerrors - https://github.com/golang/xerrors -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Copyright (c) 2009 The Go Authors. All rights reserved. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* MIT * +* github.com/BurntSushi/toml - https://github.com/BurntSushi/toml -The MIT License (MIT) + The MIT License (MIT) -Copyright (c) 2015 Michal Bohuslávek + Copyright (c) 2013 TOML authors -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +* gogrep - https://github.com/mvdan/gogrep -* MIT * + Copyright (c) 2017, Daniel Martí. All rights reserved. -The MIT License (MIT) + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: -Copyright (c) 2015 Microsoft + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +* gosmith - https://github.com/dvyukov/gosmith -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + Copyright (c) 2014 Dmitry Vyukov. All rights reserved. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * The name of Dmitry Vyukov may be used to endorse or promote + products derived from this software without specific prior written permission. -* MIT * + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -The MIT License (MIT) -Copyright (c) 2015 Microsoft Corporation +* ISC * -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +The ISC License -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +Copyright (c) Isaac Z. Schlueter and Contributors -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * MIT * -The MIT License (MIT) +The MIT Expat Licence. -Copyright (c) 2015 React Motion authors +Copyright (c) 2020 Michael Mclaughlin -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * MIT * -The MIT License (MIT) +The MIT Licence (Expat). -Copyright (c) 2015 Roy Riojas +Copyright (c) 2018 Michael Mclaughlin -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * MIT * -The MIT License (MIT) - -Copyright (c) 2015 Sen Yang +The MIT License -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright (c) 2011 Dominic Tarr -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Permission is hereby granted, free of charge, +to any person obtaining a copy of this software and +associated documentation files (the "Software"), to +deal in the Software without restriction, including +without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom +the Software is furnished to do so, +subject to the following conditions: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +The above copyright notice and this permission notice +shall be included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * MIT * -The MIT License (MIT) +The MIT License -Copyright (c) 2015 Tom Payne +Copyright (c) 2013 VividCortex Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -117381,9 +67098,9 @@ THE SOFTWARE. * MIT * -The MIT License (MIT) +The MIT License -Copyright (c) 2015 Yassine Elouafi +Copyright (c) 2013-2014 Mick Hansen. http://mhansen.io Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -117392,24 +67109,25 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + * MIT * -The MIT License (MIT) +The MIT License -Copyright (c) 2015 go-logfmt +Copyright (c) 2015-2016 Mick Hansen. http://mhansen.io Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -117418,24 +67136,25 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + * MIT * -The MIT License (MIT) +The MIT License -Copyright (c) 2015 lestrrat +Copyright (c) 2017 Segment.io friends@segment.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -117444,24 +67163,23 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. * MIT * -The MIT License (MIT) +The MIT License -Copyright (c) 2015, 2017, Jon Schlinkert +Copyright JS Foundation and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -117486,7 +67204,7 @@ THE SOFTWARE. The MIT License (MIT) -Copyright (c) 2015, Jon Schlinkert. +Copyright (C) 2011-2014 by Jorik Tangelder (Eight Media) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -117511,7 +67229,7 @@ THE SOFTWARE. The MIT License (MIT) -Copyright (c) 2015-2016 Nathan Woltman +Copyright (c) 2010-2016 Robert Kieffer and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -117532,12 +67250,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * MIT * The MIT License (MIT) -Copyright (c) 2015-2016, Jon Schlinkert +Copyright (c) 2011-2018 Jonny Strömberg, jonnystromberg.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -117562,7 +67279,7 @@ THE SOFTWARE. The MIT License (MIT) -Copyright (c) 2015-2016, Jon Schlinkert. +Copyright (c) 2012 Nick Williams Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -117587,33 +67304,31 @@ THE SOFTWARE. The MIT License (MIT) -Copyright (c) 2015-2017 Evgeny Poberezkin +Copyright (c) 2013 Armon Dadgar -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * MIT * The MIT License (MIT) -Copyright (c) 2015-2017 Nick Galbreath +Copyright (c) 2013 FINN.no AS Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -117634,12 +67349,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * MIT * The MIT License (MIT) -Copyright (c) 2015-2017, Jon Schlinkert +Copyright (c) 2013 Jo Liss Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -117664,31 +67378,31 @@ THE SOFTWARE. The MIT License (MIT) -Copyright (c) 2015-2017, Jon Schlinkert. +Copyright (c) 2013 Jordan Wright -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * MIT * The MIT License (MIT) -Copyright (c) 2015-2017, Jon Schlinkert. +Copyright (c) 2013 Mitchell Hashimoto Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -117713,32 +67427,7 @@ THE SOFTWARE. The MIT License (MIT) -Copyright (c) 2015-2018 Reselect Contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2015-2018, Jon Schlinkert. +Copyright (c) 2013 TOML authors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -117763,7 +67452,7 @@ THE SOFTWARE. The MIT License (MIT) -Copyright (c) 2015-2021 Evgeny Poberezkin +Copyright (c) 2013-2017 Petka Antonov Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -117772,49 +67461,23 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. * MIT * The MIT License (MIT) -Copyright (c) 2015-present Dan Abramov +Copyright (c) 2014 Arnout Kazemier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -117839,7 +67502,7 @@ SOFTWARE. The MIT License (MIT) -Copyright (c) 2015-present recharts +Copyright (c) 2014 Ben Johnson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -117860,62 +67523,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2015-present, Brian Woodward. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2015-present, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - * MIT * The MIT License (MIT) -Copyright (c) 2015–2016 Sebastian Mayr +Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -117940,7 +67552,7 @@ THE SOFTWARE. The MIT License (MIT) -Copyright (c) 2016 Adèle Delamarche +Copyright (c) 2014 Brian Goff Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -117949,23 +67561,47 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * The MIT License (MIT) -Copyright (c) 2016 Alessio Treglia +Copyright (c) 2014 Cenk Altı + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +* MIT * + +The MIT License (MIT) + +Copyright (c) 2014 Chris Hines Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -117990,7 +67626,32 @@ SOFTWARE. The MIT License (MIT) -Copyright (c) 2016 Brian Woodward +Copyright (c) 2014 Coda Hale + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +* MIT * + +The MIT License (MIT) + +Copyright (c) 2014 Evan Huus Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118010,12 +67671,11 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * MIT * The MIT License (MIT) -Copyright (c) 2016 David Frank +Copyright (c) 2014 Evan Huus Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118041,7 +67701,7 @@ SOFTWARE. The MIT License (MIT) -Copyright (c) 2016 Evan Huus +Copyright (c) 2014 Fatih Arslan Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118061,12 +67721,11 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * MIT * The MIT License (MIT) -Copyright (c) 2016 Evgeny Poberezkin +Copyright (c) 2014 Iced Development Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118086,12 +67745,11 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * MIT * The MIT License (MIT) -Copyright (c) 2016 Goran Sterjov +Copyright (c) 2014 Kiran Abburi Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118111,13 +67769,11 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - * MIT * The MIT License (MIT) -Copyright (c) 2016 Microsoft +Copyright (c) 2014 Kiran Abburi Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118138,11 +67794,36 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * MIT * The MIT License (MIT) -Copyright (c) 2016 Nik Butenko +Copyright (c) 2014 Maxime Thirouin & Joakim Bengtson + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +* MIT * + +The MIT License (MIT) + +Copyright (c) 2014 Simon Eskildsen Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118151,24 +67832,48 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +* MIT * + +The MIT License (MIT) + +Copyright (c) 2014, 2015, 2016, 2017, 2018 Simon Lydell + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. * MIT * The MIT License (MIT) -Copyright (c) 2016 Taihei Morikuni +Copyright (c) 2014-2020 Alex Saskevich Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118188,12 +67893,11 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * MIT * The MIT License (MIT) -Copyright (c) 2016 Yasuhiro Matsumoto +Copyright (c) 2014-2020 Montana Flynn (https://montanaflynn.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118218,7 +67922,20 @@ SOFTWARE. The MIT License (MIT) -Copyright (c) 2016 crypto-browserify +Copyright (c) 2014-present alipay.com + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +* MIT * + +The MIT License (MIT) + +Copyright (c) 2014-present yiminghe Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118243,7 +67960,46 @@ SOFTWARE. The MIT License (MIT) -Copyright (c) 2016 leanovate +Copyright (c) 2014-present yiminghe + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +* MIT * + +The MIT License (MIT) + +Copyright (c) 2014-present yiminghe +Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +* MIT * + +The MIT License (MIT) + +Copyright (c) 2015 Andres Suarez Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118252,23 +68008,23 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. * MIT * The MIT License (MIT) -Copyright (c) 2016 mozillazg +Copyright (c) 2015 Andy Grunwald Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118294,7 +68050,7 @@ SOFTWARE. The MIT License (MIT) -Copyright (c) 2016 recharts +Copyright (c) 2015 Dan Abramov Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118315,11 +68071,12 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * MIT * The MIT License (MIT) -Copyright (c) 2016, 2018, Jon Schlinkert. +Copyright (c) 2015 Gustavo Henke and Aaron Trent Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118344,7 +68101,7 @@ SOFTWARE. The MIT License (MIT) -Copyright (c) 2016-2017, Brian Woodward. +Copyright (c) 2015 Jason Quense Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118353,22 +68110,22 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * The MIT License (MIT) -Copyright (c) 2016-2017, Jon Schlinkert +Copyright (c) 2015 Matt Andrews Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118377,23 +68134,23 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * The MIT License (MIT) -Copyright (c) 2016-2018, Jon Schlinkert. +Copyright (c) 2015 React Motion authors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118402,23 +68159,24 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + * MIT * The MIT License (MIT) -Copyright (c) 2016-present Supasate Choochaisri +Copyright (c) 2015 Sen Yang Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118439,11 +68197,12 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * MIT * The MIT License (MIT) -Copyright (c) 2016-present react-component +Copyright (c) 2015 Tom Payne Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118455,20 +68214,20 @@ furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. * MIT * The MIT License (MIT) -Copyright (c) 2016-present, Jon Schlinkert. +Copyright (c) 2015 Yassine Elouafi Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118477,23 +68236,24 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + * MIT * The MIT License (MIT) -Copyright (c) 2017 CoderPuppy +Copyright (c) 2015 go-logfmt Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118514,11 +68274,12 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * MIT * The MIT License (MIT) -Copyright (c) 2017 Sahil Muthoo +Copyright (c) 2015 lestrrat Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118539,11 +68300,12 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * MIT * The MIT License (MIT) -Copyright (c) 2017 Yasuhiro Matsumoto +Copyright (c) 2015-2016 Nathan Woltman Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118564,11 +68326,12 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * MIT * The MIT License (MIT) -Copyright (c) 2017 crypto-browserify contributors +Copyright (c) 2015-2018 Reselect Contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118593,7 +68356,7 @@ SOFTWARE. The MIT License (MIT) -Copyright (c) 2017, Jon Schlinkert +Copyright (c) 2015-present Dan Abramov Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118602,23 +68365,23 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * The MIT License (MIT) -Copyright (c) 2018 Jed Watson +Copyright (c) 2015-present recharts Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118639,11 +68402,12 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * MIT * The MIT License (MIT) -Copyright (c) 2018 Made With MOXY Lda +Copyright (c) 2016 Adèle Delamarche Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118668,7 +68432,7 @@ THE SOFTWARE. The MIT License (MIT) -Copyright (c) 2018 React Popper authors +Copyright (c) 2016 Alessio Treglia Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118693,7 +68457,7 @@ SOFTWARE. The MIT License (MIT) -Copyright (c) 2018 Tobias Reich +Copyright (c) 2016 Denis Rul Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118702,23 +68466,22 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * The MIT License (MIT) -Copyright (c) 2019 Andres Suarez +Copyright (c) 2016 Evan Huus Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118743,70 +68506,32 @@ SOFTWARE. The MIT License (MIT) -Copyright (c) 2019 Federico Zivolo +Copyright (c) 2016 Jed Watson -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2019-present afc163 - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2019-present alipay.com - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2020 Jordan Lewis - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * The MIT License (MIT) -Copyright (c) 2022 Leon Sorokin +Copyright (c) 2016 Nik Butenko Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118815,22 +68540,24 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + * MIT * The MIT License (MIT) -Copyright (c) 2023 Vitalii Maslianok +Copyright (c) 2016 Taihei Morikuni Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118850,11 +68577,12 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * MIT * The MIT License (MIT) -Copyright (c) Denis Malinochkin +Copyright (c) 2016 Yasuhiro Matsumoto Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118879,7 +68607,7 @@ SOFTWARE. The MIT License (MIT) -Copyright (c) Feross Aboukhadijeh +Copyright (c) 2016 mozillazg Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118888,47 +68616,49 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + * MIT * The MIT License (MIT) -Copyright (c) Feross Aboukhadijeh +Copyright (c) 2016 recharts -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * The MIT License (MIT) -Copyright (c) Feross Aboukhadijeh, and other contributors. +Copyright (c) 2016-present Supasate Choochaisri Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -118937,46 +68667,48 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * The MIT License (MIT) -Copyright (c) JS Foundation and other contributors +Copyright (c) 2017 Jed Watson -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + * MIT * The MIT License (MIT) -Copyright (c) Microsoft Corporation. +Copyright (c) 2017 Sahil Muthoo Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -119001,7 +68733,7 @@ SOFTWARE. The MIT License (MIT) -Copyright (c) egoist <0x142857@gmail.com> (https://github.com/egoist) +Copyright (c) 2018 Jed Watson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -119010,47 +68742,48 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * The MIT License (MIT) -Copyright 2013 Andrey Sitnik +Copyright (c) 2018 React Popper authors -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * The MIT License (MIT) -Copyright 2014 Andrey Sitnik +Copyright (c) 2019 Federico Zivolo Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in @@ -119074,92 +68807,70 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. The MIT License (MIT) -Copyright 2014 Joyent, Inc. and other Node contributors. +Copyright (c) 2019-present afc163 -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * MIT * The MIT License (MIT) -Copyright 2015 Mark Dalgleish +Copyright (c) 2019-present alipay.com -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * MIT * The MIT License (MIT) -Copyright 2019-2022 Gilmore Davidson +Copyright (c) Feross Aboukhadijeh -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. * MIT * The MIT License (MIT) -Copyright © 2013-2017 Yasuhiro Matsumoto, +Copyright (c) Microsoft Corporation. -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the “Software”), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER @@ -119172,18 +68883,7 @@ SOFTWARE. The MIT License (MIT) -Copyright © 2015 Kiko Beats - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) +Copyright (c) egoist <0x142857@gmail.com> (https://github.com/egoist) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -119207,39 +68907,44 @@ THE SOFTWARE. * MIT * The MIT License (MIT) -===================== - -Copyright (c) 2014 LevelUP contributors ---------------------------------------- -*LevelUP contributors listed at * +Copyright © 2015 Kiko Beats -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * MIT * The MIT License (MIT) -===================== -Copyright (c) 2014 Rod Vagg ---------------------------- +Copyright © 2016 Misha Moroshko -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the “Software”), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. * MIT * The MIT License (MIT) -Copyright (c) 2012-2014 Raynos. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -119284,30 +68989,6 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -* MIT * - -The MIT License (MIT) -Copyright (c) 2020 Kent C. Dodds - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - * MIT * The MIT License (MIT) @@ -119336,7 +69017,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. The MIT License (MIT) -Copyright (c) 2015-2018 Reselect Contributors +Copyright (c) 2015 Jason Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -119357,6 +69038,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * MIT * The MIT License (MIT) @@ -119407,31 +69089,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -* MIT * - -The MIT License (MIT) - -Copyright (c) 2017 Klaus Meinhardt - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - * MIT * The MIT License (MIT) @@ -119480,17 +69137,6 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * MIT * -The MIT License (MIT) -Copyright (c) 2015 Dmitry Ivanov - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -* MIT * - The MIT License (MIT) Copyright (c) 2016 React Components Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: @@ -119610,9 +69256,6 @@ SOFTWARE. This software is released under the MIT license: -Copyright (c) 2017 Evgeny Poberezkin -Copyright (c) 2013 James Halliday - Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to @@ -119631,249 +69274,15 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -* MIT * - -This software is released under the MIT license: - -Copyright (c) James Halliday - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -This software is released under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* CC0-1.0 * - -This work is subject to the CC0 1.0 Universal (CC0 1.0) Public Domain Dedication -license. Its contents can be found at: - -https://creativecommons.org/publicdomain/zero/1.0 - -safefile.go and safefile_test.go are imported from github.com/dchest/safefile -and contain local modifications. The license from that project is included here: - -Copyright (c) 2013 Dmitry Chestnykh -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-2-Clause * - -TypeScript ESLint Parser -Copyright JS Foundation and other contributors, https://js.foundation - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-2-Clause * - -TypeScript ESTree - -Originally extracted from: - -TypeScript ESLint Parser -Copyright JS Foundation and other contributors, https://js.foundation - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* BSD-2-Clause * - -UglifyJS is released under the BSD license: - -Copyright 2012-2013 (c) Mihai Bazon - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, -OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR -TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF -THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. - - -* BSD-2-Clause * - -UglifyJS is released under the BSD license: - -Copyright 2012-2018 (c) Mihai Bazon - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, -OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR -TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF -THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. - - -* Unicode-DFS-2016 * - -UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE -Unicode Data Files include all data files under the directories http://www.unicode.org/Public/, http://www.unicode.org/reports/, http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and http://www.unicode.org/utility/trac/browser/. -Unicode Data Files do not include PDF online code charts under the directory http://www.unicode.org/Public/. -Software includes any source code published in the Unicode Standard or under the directories http://www.unicode.org/Public/, http://www.unicode.org/reports/, http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and http://www.unicode.org/utility/trac/browser/. -NOTICE TO USER: Carefully read the following legal agreement. BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE. -COPYRIGHT AND PERMISSION NOTICE -Copyright © 1991-2016 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html. -Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that either - (a) this copyright and permission notice appear with all copies of the Data Files or Software, or - (b) this copyright and permission notice appear in associated Documentation. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE. -Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder. - -* Unlicense * - -This is free and unencumbered software released into the public domain. -Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means. -In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -For more information, please refer to - -* W3C-20150513 * +* WTFPL * -This work is being provided by the copyright holders under the following license. -License -By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. -Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: - • The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. - • Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. - • Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright (c) [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." -Disclaimers -THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. -The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders. +DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE +Version 2, December 2004 +Copyright (C) 2004 Sam Hocevar +Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed. +DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + 0. You just DO WHAT THE FUCK YOU WANT TO. * X11 * @@ -119887,7 +69296,7 @@ X Window System is a trademark of X Consortium, Inc. * Zlib * -zlib License Copyright (c) +zlib License Copyright (c) 1995-2024 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. @@ -119921,41 +69330,16 @@ The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of the FreeBSD Project. -* facebook-patent-rights-2 * - -Additional Grant of Patent Rights Version 2 - -"Software" means the software distributed by Facebook, Inc. - -Facebook, Inc. ("Facebook") hereby grants to each recipient of the Software -("you") a perpetual, worldwide, royalty-free, non-exclusive, irrevocable -(subject to the termination provision below) license under any Necessary -Claims, to make, have made, use, sell, offer to sell, import, and otherwise -transfer the Software. For avoidance of doubt, no license is granted under -Facebook’s rights in any patent claims that are infringed by (i) modifications -to the Software made by you or any third party or (ii) the Software in -combination with any software or other technology. - -The license granted hereunder will terminate, automatically and without notice, -if you (or any of your subsidiaries, corporate affiliates or agents) initiate -directly or indirectly, or take a direct financial interest in, any Patent -Assertion: (i) against Facebook or any of its subsidiaries or corporate -affiliates, (ii) against any party if such Patent Assertion arises in whole or -in part from any software, technology, product or service of Facebook or any of -its subsidiaries or corporate affiliates, or (iii) against any party relating -to the Software. Notwithstanding the foregoing, if Facebook or any of its -subsidiaries or corporate affiliates files a lawsuit alleging patent -infringement against you in the first instance, and you respond by filing a -patent infringement counterclaim in that lawsuit against that party that is -unrelated to the Software, the license granted hereunder will not terminate -under section (i) of this paragraph due to such counterclaim. - -A "Necessary Claim" is a claim of a patent owned by Facebook that is -necessarily infringed by the Software standing alone. +* bsd-no-disclaimer * -A "Patent Assertion" is any lawsuit or other action alleging direct, indirect, -or contributory infringement or inducement to infringe any patent, including a -cross-claim or counterclaim. +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice and this list of conditions. +# 2. Redistributions in binary form must reproduce the above copyright +# notice and this list of conditions in the +# documentation and/or other materials provided with the distribution. * BSD-3-Clause * @@ -120139,6 +69523,60 @@ This Web site includes information about Project Gutenberg-tm, including how to [*] This paragraph, after 1.C., is included only for copyrighted works. For those, you must contact the copyright holder before any non-free use or removal of the Project Gutenberg header. +* lgpl-2.0-plus WITH wxwindows-exception-3.1 * + + wxWindows Library Licence, Version 3.1 + ====================================== + + Copyright (C) 1998-2005 Julian Smart, Robert Roebling et al + + Everyone is permitted to copy and distribute verbatim copies + of this licence document, but changing it is not allowed. + + WXWINDOWS LIBRARY LICENCE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public Licence as published by + the Free Software Foundation; either version 2 of the Licence, or (at + your option) any later version. + + This library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library + General Public Licence for more details. + + You should have received a copy of the GNU Library General Public Licence + along with this software, usually in a file named COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + Boston, MA 02111-1307 USA. + + EXCEPTION NOTICE + + 1. As a special exception, the copyright holders of this library give + permission for additional uses of the text contained in this release of + the library as licenced under the wxWindows Library Licence, applying + either version 3.1 of the Licence, or (at your option) any later version of + the Licence as published by the copyright holders of version + 3.1 of the Licence document. + + 2. The exception is that you may use, copy, link, modify and distribute + under your own terms, binary object code versions of works based + on the Library. + + 3. If you copy code from files distributed under the terms of the GNU + General Public Licence or the GNU Library General Public Licence into a + copy of this library, as this licence permits, the exception does not + apply to the code that you add in this way. To avoid misleading anyone as + to the status of such modified files, you must delete this exception + notice from such code and/or adjust the licensing conditions notice + accordingly. + + 4. If you write modifications of your own for this library, it is your + choice whether to permit this exception to apply to your modifications. + If you do not wish that, you must delete the exception notice from such + code and/or adjust the licensing conditions notice accordingly. + * openssl-ssleay * LICENSE ISSUES @@ -120270,31 +69708,3 @@ This is a catch-all license used when we find many different proprietary license No license text available -* BSD-2-Clause * - -xxHash Library -Copyright (c) 2012-2014, Yann Collet -Copyright (c) 2019, Jeff Wendling -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - diff --git a/pkg/BUILD.bazel b/pkg/BUILD.bazel index 2538c5a031a8..a7d42030e8b7 100644 --- a/pkg/BUILD.bazel +++ b/pkg/BUILD.bazel @@ -40,31 +40,23 @@ ALL_TESTS = [ "//pkg/ccl/cloudccl/cloudprivilege:cloudprivilege_test", "//pkg/ccl/cloudccl/externalconn:externalconn_test", "//pkg/ccl/cloudccl/gcp:gcp_test", - "//pkg/ccl/crosscluster/logical:logical_test", - "//pkg/ccl/crosscluster/physical:physical_test", - "//pkg/ccl/crosscluster/producer:producer_test", - "//pkg/ccl/crosscluster/replicationutils:replicationutils_test", - "//pkg/ccl/crosscluster/streamclient/randclient:randclient_test", - "//pkg/ccl/crosscluster/streamclient:streamclient_test", "//pkg/ccl/importerccl:importerccl_test", "//pkg/ccl/jobsccl/jobsprotectedtsccl:jobsprotectedtsccl_test", "//pkg/ccl/jwtauthccl:jwtauthccl_test", "//pkg/ccl/kvccl/kvfollowerreadsccl:kvfollowerreadsccl_test", "//pkg/ccl/kvccl/kvtenantccl/upgradeccl:upgradeccl_test", "//pkg/ccl/kvccl/kvtenantccl/upgradeinterlockccl:upgradeinterlockccl_test", - "//pkg/ccl/ldapccl:ldapccl_test", "//pkg/ccl/logictestccl/tests/3node-tenant-multiregion:3node-tenant-multiregion_test", "//pkg/ccl/logictestccl/tests/3node-tenant:3node-tenant_test", "//pkg/ccl/logictestccl/tests/5node:5node_test", - "//pkg/ccl/logictestccl/tests/cockroach-go-testserver-24.1:cockroach-go-testserver-24_1_test", + "//pkg/ccl/logictestccl/tests/cockroach-go-testserver-23.1:cockroach-go-testserver-23_1_test", "//pkg/ccl/logictestccl/tests/fakedist-disk:fakedist-disk_test", "//pkg/ccl/logictestccl/tests/fakedist-vec-off:fakedist-vec-off_test", "//pkg/ccl/logictestccl/tests/fakedist:fakedist_test", "//pkg/ccl/logictestccl/tests/local-legacy-schema-changer:local-legacy-schema-changer_test", - "//pkg/ccl/logictestccl/tests/local-mixed-24.1:local-mixed-24_1_test", - "//pkg/ccl/logictestccl/tests/local-mixed-24.2:local-mixed-24_2_test", + "//pkg/ccl/logictestccl/tests/local-mixed-23.1:local-mixed-23_1_test", + "//pkg/ccl/logictestccl/tests/local-mixed-23.2:local-mixed-23_2_test", "//pkg/ccl/logictestccl/tests/local-read-committed:local-read-committed_test", - "//pkg/ccl/logictestccl/tests/local-repeatable-read:local-repeatable-read_test", "//pkg/ccl/logictestccl/tests/local-vec-off:local-vec-off_test", "//pkg/ccl/logictestccl/tests/local:local_test", "//pkg/ccl/logictestccl/tests/multiregion-15node-5region-3azs:multiregion-15node-5region-3azs_test", @@ -105,6 +97,10 @@ ALL_TESTS = [ "//pkg/ccl/sqlproxyccl:sqlproxyccl_test", "//pkg/ccl/storageccl/engineccl:engineccl_test", "//pkg/ccl/storageccl:storageccl_test", + "//pkg/ccl/streamingccl/replicationutils:replicationutils_test", + "//pkg/ccl/streamingccl/streamclient:streamclient_test", + "//pkg/ccl/streamingccl/streamingest:streamingest_test", + "//pkg/ccl/streamingccl/streamproducer:streamproducer_test", "//pkg/ccl/telemetryccl:telemetryccl_test", "//pkg/ccl/testccl/authccl:authccl_test", "//pkg/ccl/testccl/sqlccl:sqlccl_test", @@ -138,6 +134,7 @@ ALL_TESTS = [ "//pkg/cmd/bazci/testfilter:testfilter_test", "//pkg/cmd/bazci:bazci_lib_disallowed_imports_test", "//pkg/cmd/cmpconn:cmpconn_test", + "//pkg/cmd/cockroach-oss:cockroach-oss_disallowed_imports_test", "//pkg/cmd/cockroach:cockroach_lib_disallowed_imports_test", "//pkg/cmd/dev:dev_lib_disallowed_imports_test", "//pkg/cmd/dev:dev_test", @@ -154,13 +151,11 @@ ALL_TESTS = [ "//pkg/cmd/roachprod-microbench/cluster:cluster_test", "//pkg/cmd/roachprod-microbench:roachprod-microbench_test", "//pkg/cmd/roachtest/clusterstats:clusterstats_test", - "//pkg/cmd/roachtest/operations:operations_test", "//pkg/cmd/roachtest/option:option_test", "//pkg/cmd/roachtest/registry:registry_test", "//pkg/cmd/roachtest/roachtestflags:roachtestflags_test", "//pkg/cmd/roachtest/roachtestutil/mixedversion:mixedversion_test", "//pkg/cmd/roachtest/roachtestutil:roachtestutil_test", - "//pkg/cmd/roachtest/spec:spec_test", "//pkg/cmd/roachtest/tests:tests_test", "//pkg/cmd/roachtest:roachtest_test", "//pkg/col/coldata:coldata_disallowed_imports_test", @@ -210,7 +205,6 @@ ALL_TESTS = [ "//pkg/kv/kvclient/rangefeed/rangefeedbuffer:rangefeedbuffer_test", "//pkg/kv/kvclient/rangefeed/rangefeedcache:rangefeedcache_test", "//pkg/kv/kvclient/rangefeed:rangefeed_test", - "//pkg/kv/kvclient:kvclient_disallowed_imports_test", "//pkg/kv/kvclient:kvclient_test", "//pkg/kv/kvnemesis:kvnemesis_test", "//pkg/kv/kvpb:kvpb_disallowed_imports_test", @@ -249,11 +243,7 @@ ALL_TESTS = [ "//pkg/kv/kvserver/kvflowcontrol/kvflowhandle:kvflowhandle_test", "//pkg/kv/kvserver/kvflowcontrol/kvflowsimulator:kvflowsimulator_test", "//pkg/kv/kvserver/kvflowcontrol/kvflowtokentracker:kvflowtokentracker_test", - "//pkg/kv/kvserver/kvflowcontrol/node_rac2:node_rac2_test", - "//pkg/kv/kvserver/kvflowcontrol/rac2:rac2_test", - "//pkg/kv/kvserver/kvflowcontrol/replica_rac2:replica_rac2_test", "//pkg/kv/kvserver/kvstorage:kvstorage_test", - "//pkg/kv/kvserver/leases:leases_test", "//pkg/kv/kvserver/liveness:liveness_test", "//pkg/kv/kvserver/lockspanset:lockspanset_test", "//pkg/kv/kvserver/logstore:logstore_test", @@ -277,7 +267,6 @@ ALL_TESTS = [ "//pkg/kv/kvserver/spanset:spanset_test", "//pkg/kv/kvserver/split:split_test", "//pkg/kv/kvserver/stateloader:stateloader_test", - "//pkg/kv/kvserver/storeliveness:storeliveness_test", "//pkg/kv/kvserver/tenantrate:tenantrate_test", "//pkg/kv/kvserver/tscache:tscache_test", "//pkg/kv/kvserver/txnrecovery:txnrecovery_test", @@ -289,8 +278,6 @@ ALL_TESTS = [ "//pkg/multitenant/tenantcapabilities/tenantcapabilitieswatcher:tenantcapabilitieswatcher_test", "//pkg/multitenant/tenantcapabilities:tenantcapabilities_test", "//pkg/multitenant/tenantcostmodel:tenantcostmodel_test", - "//pkg/obs/eventagg:eventagg_test", - "//pkg/obs/logstream:logstream_test", "//pkg/obsservice/obslib/ingest:ingest_test", "//pkg/obsservice/obslib/migrations:migrations_test", "//pkg/obsservice/obslib/process:process_test", @@ -308,9 +295,7 @@ ALL_TESTS = [ "//pkg/roachprod/cloud:cloud_test", "//pkg/roachprod/config:config_test", "//pkg/roachprod/install:install_test", - "//pkg/roachprod/opentelemetry:opentelemetry_test", "//pkg/roachprod/prometheus:prometheus_test", - "//pkg/roachprod/promhelperclient:promhelperclient_test", "//pkg/roachprod/ssh:ssh_test", "//pkg/roachprod/vm/gce:gce_test", "//pkg/roachprod/vm/local:local_test", @@ -392,7 +377,6 @@ ALL_TESTS = [ "//pkg/sql/catalog/nstree:nstree_test", "//pkg/sql/catalog/randgen:randgen_test", "//pkg/sql/catalog/redact:redact_test", - "//pkg/sql/catalog/replication:replication_test", "//pkg/sql/catalog/resolver:resolver_test", "//pkg/sql/catalog/schemadesc:schemadesc_test", "//pkg/sql/catalog/schemaexpr:schemaexpr_test", @@ -481,14 +465,14 @@ ALL_TESTS = [ "//pkg/sql/logictest/logictestbase:logictestbase_test", "//pkg/sql/logictest/tests/5node-disk:5node-disk_test", "//pkg/sql/logictest/tests/5node:5node_test", - "//pkg/sql/logictest/tests/cockroach-go-testserver-24.1:cockroach-go-testserver-24_1_test", - "//pkg/sql/logictest/tests/cockroach-go-testserver-24.2:cockroach-go-testserver-24_2_test", + "//pkg/sql/logictest/tests/cockroach-go-testserver-23.1:cockroach-go-testserver-23_1_test", + "//pkg/sql/logictest/tests/cockroach-go-testserver-23.2:cockroach-go-testserver-23_2_test", "//pkg/sql/logictest/tests/fakedist-disk:fakedist-disk_test", "//pkg/sql/logictest/tests/fakedist-vec-off:fakedist-vec-off_test", "//pkg/sql/logictest/tests/fakedist:fakedist_test", "//pkg/sql/logictest/tests/local-legacy-schema-changer:local-legacy-schema-changer_test", - "//pkg/sql/logictest/tests/local-mixed-24.1:local-mixed-24_1_test", - "//pkg/sql/logictest/tests/local-mixed-24.2:local-mixed-24_2_test", + "//pkg/sql/logictest/tests/local-mixed-23.1:local-mixed-23_1_test", + "//pkg/sql/logictest/tests/local-mixed-23.2:local-mixed-23_2_test", "//pkg/sql/logictest/tests/local-vec-off:local-vec-off_test", "//pkg/sql/logictest/tests/local:local_test", "//pkg/sql/logictest/tests/multiregion-9node-3region-3azs:multiregion-9node-3region-3azs_test", @@ -505,8 +489,8 @@ ALL_TESTS = [ "//pkg/sql/opt/exec/execbuilder/tests/fakedist-vec-off:fakedist-vec-off_test", "//pkg/sql/opt/exec/execbuilder/tests/fakedist:fakedist_test", "//pkg/sql/opt/exec/execbuilder/tests/local-legacy-schema-changer:local-legacy-schema-changer_test", - "//pkg/sql/opt/exec/execbuilder/tests/local-mixed-24.1:local-mixed-24_1_test", - "//pkg/sql/opt/exec/execbuilder/tests/local-mixed-24.2:local-mixed-24_2_test", + "//pkg/sql/opt/exec/execbuilder/tests/local-mixed-23.1:local-mixed-23_1_test", + "//pkg/sql/opt/exec/execbuilder/tests/local-mixed-23.2:local-mixed-23_2_test", "//pkg/sql/opt/exec/execbuilder/tests/local-vec-off:local-vec-off_test", "//pkg/sql/opt/exec/execbuilder/tests/local:local_test", "//pkg/sql/opt/exec/execbuilder:execbuilder_test", @@ -577,14 +561,13 @@ ALL_TESTS = [ "//pkg/sql/schemachanger/scpb:scpb_test", "//pkg/sql/schemachanger/scplan/internal/opgen:opgen_test", "//pkg/sql/schemachanger/scplan/internal/rules/current:current_test", - "//pkg/sql/schemachanger/scplan/internal/rules/release_24_1:release_24_1_test", - "//pkg/sql/schemachanger/scplan/internal/rules/release_24_2:release_24_2_test", + "//pkg/sql/schemachanger/scplan/internal/rules/release_23_1:release_23_1_test", + "//pkg/sql/schemachanger/scplan/internal/rules/release_23_2:release_23_2_test", "//pkg/sql/schemachanger/scplan/internal/scgraph:scgraph_test", "//pkg/sql/schemachanger/scplan:scplan_test", "//pkg/sql/schemachanger/screl:screl_test", "//pkg/sql/schemachanger/scrun:scrun_test", "//pkg/sql/schemachanger:schemachanger_test", - "//pkg/sql/sem/asof:asof_test", "//pkg/sql/sem/builtins/pgformat:pgformat_test", "//pkg/sql/sem/builtins:builtins_disallowed_imports_test", "//pkg/sql/sem/builtins:builtins_test", @@ -607,10 +590,9 @@ ALL_TESTS = [ "//pkg/sql/sqlitelogictest/tests/fakedist-vec-off:fakedist-vec-off_test", "//pkg/sql/sqlitelogictest/tests/fakedist:fakedist_test", "//pkg/sql/sqlitelogictest/tests/local-legacy-schema-changer:local-legacy-schema-changer_test", - "//pkg/sql/sqlitelogictest/tests/local-mixed-24.1:local-mixed-24_1_test", - "//pkg/sql/sqlitelogictest/tests/local-mixed-24.2:local-mixed-24_2_test", + "//pkg/sql/sqlitelogictest/tests/local-mixed-23.1:local-mixed-23_1_test", + "//pkg/sql/sqlitelogictest/tests/local-mixed-23.2:local-mixed-23_2_test", "//pkg/sql/sqlitelogictest/tests/local-read-committed:local-read-committed_test", - "//pkg/sql/sqlitelogictest/tests/local-repeatable-read:local-repeatable-read_test", "//pkg/sql/sqlitelogictest/tests/local-vec-off:local-vec-off_test", "//pkg/sql/sqlitelogictest/tests/local:local_test", "//pkg/sql/sqlliveness/slinstance:slinstance_test", @@ -626,7 +608,6 @@ ALL_TESTS = [ "//pkg/sql/stats:stats_test", "//pkg/sql/stmtdiagnostics:stmtdiagnostics_test", "//pkg/sql/syntheticprivilege:syntheticprivilege_test", - "//pkg/sql/tablemetadatacache:tablemetadatacache_test", "//pkg/sql/tests:tests_test", "//pkg/sql/ttl/ttlbase:ttlbase_test", "//pkg/sql/ttl/ttljob:ttljob_test", @@ -675,7 +656,6 @@ ALL_TESTS = [ "//pkg/upgrade/upgrades:upgrades_test", "//pkg/util/admission/admissionpb:admissionpb_test", "//pkg/util/admission:admission_test", - "//pkg/util/assetbundle:assetbundle_test", "//pkg/util/binfetcher:binfetcher_test", "//pkg/util/bitarray:bitarray_test", "//pkg/util/bitmap:bitmap_test", @@ -755,6 +735,7 @@ ALL_TESTS = [ "//pkg/util/syncutil/singleflight:singleflight_test", "//pkg/util/syncutil:syncutil_test", "//pkg/util/sysutil:sysutil_test", + "//pkg/util/targz:targz_test", "//pkg/util/timeofday:timeofday_test", "//pkg/util/timetz:timetz_test", "//pkg/util/timeutil/pgdate:pgdate_test", @@ -772,7 +753,6 @@ ALL_TESTS = [ "//pkg/util/ulid:ulid_test", "//pkg/util/unique:unique_test", "//pkg/util/uuid:uuid_test", - "//pkg/util/vector:vector_test", "//pkg/util/version:version_test", "//pkg/util:util_test", "//pkg/workload/bank:bank_test", @@ -784,7 +764,6 @@ ALL_TESTS = [ "//pkg/workload/movr:movr_test", "//pkg/workload/rand:rand_test", "//pkg/workload/schemachange:schemachange_test", - "//pkg/workload/sqlstats:sqlstats_test", "//pkg/workload/tpcc:tpcc_test", "//pkg/workload/tpch:tpch_test", "//pkg/workload/workloadimpl:workloadimpl_test", @@ -889,20 +868,6 @@ GO_TARGETS = [ "//pkg/ccl/cmdccl/clusterrepl:clusterrepl_lib", "//pkg/ccl/cmdccl/stub-schema-registry:stub-schema-registry", "//pkg/ccl/cmdccl/stub-schema-registry:stub-schema-registry_lib", - "//pkg/ccl/crosscluster/logical:logical", - "//pkg/ccl/crosscluster/logical:logical_test", - "//pkg/ccl/crosscluster/physical:physical", - "//pkg/ccl/crosscluster/physical:physical_test", - "//pkg/ccl/crosscluster/producer:producer", - "//pkg/ccl/crosscluster/producer:producer_test", - "//pkg/ccl/crosscluster/replicationtestutils:replicationtestutils", - "//pkg/ccl/crosscluster/replicationutils:replicationutils", - "//pkg/ccl/crosscluster/replicationutils:replicationutils_test", - "//pkg/ccl/crosscluster/streamclient/randclient:randclient", - "//pkg/ccl/crosscluster/streamclient/randclient:randclient_test", - "//pkg/ccl/crosscluster/streamclient:streamclient", - "//pkg/ccl/crosscluster/streamclient:streamclient_test", - "//pkg/ccl/crosscluster:crosscluster", "//pkg/ccl/gqpccl:gqpccl", "//pkg/ccl/gssapiccl:gssapiccl", "//pkg/ccl/importerccl:importerccl_test", @@ -918,20 +883,17 @@ GO_TARGETS = [ "//pkg/ccl/kvccl/kvtenantccl/upgradeinterlockccl:upgradeinterlockccl_test", "//pkg/ccl/kvccl/kvtenantccl:kvtenantccl", "//pkg/ccl/kvccl:kvccl", - "//pkg/ccl/ldapccl:ldapccl", - "//pkg/ccl/ldapccl:ldapccl_test", "//pkg/ccl/logictestccl/tests/3node-tenant-multiregion:3node-tenant-multiregion_test", "//pkg/ccl/logictestccl/tests/3node-tenant:3node-tenant_test", "//pkg/ccl/logictestccl/tests/5node:5node_test", - "//pkg/ccl/logictestccl/tests/cockroach-go-testserver-24.1:cockroach-go-testserver-24_1_test", + "//pkg/ccl/logictestccl/tests/cockroach-go-testserver-23.1:cockroach-go-testserver-23_1_test", "//pkg/ccl/logictestccl/tests/fakedist-disk:fakedist-disk_test", "//pkg/ccl/logictestccl/tests/fakedist-vec-off:fakedist-vec-off_test", "//pkg/ccl/logictestccl/tests/fakedist:fakedist_test", "//pkg/ccl/logictestccl/tests/local-legacy-schema-changer:local-legacy-schema-changer_test", - "//pkg/ccl/logictestccl/tests/local-mixed-24.1:local-mixed-24_1_test", - "//pkg/ccl/logictestccl/tests/local-mixed-24.2:local-mixed-24_2_test", + "//pkg/ccl/logictestccl/tests/local-mixed-23.1:local-mixed-23_1_test", + "//pkg/ccl/logictestccl/tests/local-mixed-23.2:local-mixed-23_2_test", "//pkg/ccl/logictestccl/tests/local-read-committed:local-read-committed_test", - "//pkg/ccl/logictestccl/tests/local-repeatable-read:local-repeatable-read_test", "//pkg/ccl/logictestccl/tests/local-vec-off:local-vec-off_test", "//pkg/ccl/logictestccl/tests/local:local_test", "//pkg/ccl/logictestccl/tests/multiregion-15node-5region-3azs:multiregion-15node-5region-3azs_test", @@ -999,6 +961,16 @@ GO_TARGETS = [ "//pkg/ccl/storageccl/engineccl:engineccl_test", "//pkg/ccl/storageccl:storageccl", "//pkg/ccl/storageccl:storageccl_test", + "//pkg/ccl/streamingccl/replicationtestutils:replicationtestutils", + "//pkg/ccl/streamingccl/replicationutils:replicationutils", + "//pkg/ccl/streamingccl/replicationutils:replicationutils_test", + "//pkg/ccl/streamingccl/streamclient:streamclient", + "//pkg/ccl/streamingccl/streamclient:streamclient_test", + "//pkg/ccl/streamingccl/streamingest:streamingest", + "//pkg/ccl/streamingccl/streamingest:streamingest_test", + "//pkg/ccl/streamingccl/streamproducer:streamproducer", + "//pkg/ccl/streamingccl/streamproducer:streamproducer_test", + "//pkg/ccl/streamingccl:streamingccl", "//pkg/ccl/telemetryccl:telemetryccl_test", "//pkg/ccl/testccl/authccl:authccl_test", "//pkg/ccl/testccl/sqlccl:sqlccl_test", @@ -1119,8 +1091,6 @@ GO_TARGETS = [ "//pkg/cmd/docs-issue-generation:docs-issue-generation", "//pkg/cmd/docs-issue-generation:docs-issue-generation_lib", "//pkg/cmd/docs-issue-generation:docs-issue-generation_test", - "//pkg/cmd/drt-run:drt-run", - "//pkg/cmd/drt-run:drt_run_lib", "//pkg/cmd/fuzz:fuzz", "//pkg/cmd/fuzz:fuzz_lib", "//pkg/cmd/generate-acceptance-tests:generate-acceptance-tests", @@ -1203,7 +1173,6 @@ GO_TARGETS = [ "//pkg/cmd/roachtest/grafana:grafana", "//pkg/cmd/roachtest/operation:operation", "//pkg/cmd/roachtest/operations:operations", - "//pkg/cmd/roachtest/operations:operations_test", "//pkg/cmd/roachtest/option:option", "//pkg/cmd/roachtest/option:option_test", "//pkg/cmd/roachtest/registry:registry", @@ -1213,11 +1182,9 @@ GO_TARGETS = [ "//pkg/cmd/roachtest/roachtestutil/clusterupgrade:clusterupgrade", "//pkg/cmd/roachtest/roachtestutil/mixedversion:mixedversion", "//pkg/cmd/roachtest/roachtestutil/mixedversion:mixedversion_test", - "//pkg/cmd/roachtest/roachtestutil/operations:operations", "//pkg/cmd/roachtest/roachtestutil:roachtestutil", "//pkg/cmd/roachtest/roachtestutil:roachtestutil_test", "//pkg/cmd/roachtest/spec:spec", - "//pkg/cmd/roachtest/spec:spec_test", "//pkg/cmd/roachtest/test:test", "//pkg/cmd/roachtest/tests:tests", "//pkg/cmd/roachtest/tests:tests_test", @@ -1463,19 +1430,11 @@ GO_TARGETS = [ "//pkg/kv/kvserver/kvflowcontrol/kvflowsimulator:kvflowsimulator_test", "//pkg/kv/kvserver/kvflowcontrol/kvflowtokentracker:kvflowtokentracker", "//pkg/kv/kvserver/kvflowcontrol/kvflowtokentracker:kvflowtokentracker_test", - "//pkg/kv/kvserver/kvflowcontrol/node_rac2:node_rac2", - "//pkg/kv/kvserver/kvflowcontrol/node_rac2:node_rac2_test", - "//pkg/kv/kvserver/kvflowcontrol/rac2:rac2", - "//pkg/kv/kvserver/kvflowcontrol/rac2:rac2_test", - "//pkg/kv/kvserver/kvflowcontrol/replica_rac2:replica_rac2", - "//pkg/kv/kvserver/kvflowcontrol/replica_rac2:replica_rac2_test", "//pkg/kv/kvserver/kvflowcontrol:kvflowcontrol", "//pkg/kv/kvserver/kvserverbase:kvserverbase", "//pkg/kv/kvserver/kvserverpb:kvserverpb", "//pkg/kv/kvserver/kvstorage:kvstorage", "//pkg/kv/kvserver/kvstorage:kvstorage_test", - "//pkg/kv/kvserver/leases:leases", - "//pkg/kv/kvserver/leases:leases_test", "//pkg/kv/kvserver/liveness/livenesspb:livenesspb", "//pkg/kv/kvserver/liveness:liveness", "//pkg/kv/kvserver/liveness:liveness_test", @@ -1531,9 +1490,6 @@ GO_TARGETS = [ "//pkg/kv/kvserver/split:split_test", "//pkg/kv/kvserver/stateloader:stateloader", "//pkg/kv/kvserver/stateloader:stateloader_test", - "//pkg/kv/kvserver/storeliveness/storelivenesspb:storelivenesspb", - "//pkg/kv/kvserver/storeliveness:storeliveness", - "//pkg/kv/kvserver/storeliveness:storeliveness_test", "//pkg/kv/kvserver/tenantrate:tenantrate", "//pkg/kv/kvserver/tenantrate:tenantrate_test", "//pkg/kv/kvserver/tscache:tscache", @@ -1563,10 +1519,6 @@ GO_TARGETS = [ "//pkg/multitenant/tenantcostmodel:tenantcostmodel", "//pkg/multitenant/tenantcostmodel:tenantcostmodel_test", "//pkg/multitenant:multitenant", - "//pkg/obs/eventagg:eventagg", - "//pkg/obs/eventagg:eventagg_test", - "//pkg/obs/logstream:logstream", - "//pkg/obs/logstream:logstream_test", "//pkg/obs:obs", "//pkg/obsservice/cmd/obsservice:obsservice", "//pkg/obsservice/cmd/obsservice:obsservice_lib", @@ -1599,7 +1551,6 @@ GO_TARGETS = [ "//pkg/raft/quorum:quorum_test", "//pkg/raft/raftpb:raftpb", "//pkg/raft/raftpb:raftpb_test", - "//pkg/raft/raftstoreliveness:raftstoreliveness", "//pkg/raft/rafttest:rafttest", "//pkg/raft/rafttest:rafttest_test", "//pkg/raft/tracker:tracker", @@ -1616,18 +1567,12 @@ GO_TARGETS = [ "//pkg/roachprod/config:config", "//pkg/roachprod/config:config_test", "//pkg/roachprod/errors:errors", - "//pkg/roachprod/fluentbit:fluentbit", "//pkg/roachprod/install:install", "//pkg/roachprod/install:install_test", "//pkg/roachprod/lock:lock", "//pkg/roachprod/logger:logger", - "//pkg/roachprod/opentelemetry:opentelemetry", - "//pkg/roachprod/opentelemetry:opentelemetry_test", "//pkg/roachprod/prometheus:prometheus", "//pkg/roachprod/prometheus:prometheus_test", - "//pkg/roachprod/promhelperclient:promhelperclient", - "//pkg/roachprod/promhelperclient:promhelperclient_test", - "//pkg/roachprod/roachprodutil:roachprodutil", "//pkg/roachprod/ssh:ssh", "//pkg/roachprod/ssh:ssh_test", "//pkg/roachprod/ui:ui", @@ -1817,8 +1762,6 @@ GO_TARGETS = [ "//pkg/sql/catalog/randgen:randgen_test", "//pkg/sql/catalog/redact:redact", "//pkg/sql/catalog/redact:redact_test", - "//pkg/sql/catalog/replication:replication", - "//pkg/sql/catalog/replication:replication_test", "//pkg/sql/catalog/resolver:resolver", "//pkg/sql/catalog/resolver:resolver_test", "//pkg/sql/catalog/rewrite:rewrite", @@ -1962,14 +1905,14 @@ GO_TARGETS = [ "//pkg/sql/logictest/logictestbase:logictestbase_test", "//pkg/sql/logictest/tests/5node-disk:5node-disk_test", "//pkg/sql/logictest/tests/5node:5node_test", - "//pkg/sql/logictest/tests/cockroach-go-testserver-24.1:cockroach-go-testserver-24_1_test", - "//pkg/sql/logictest/tests/cockroach-go-testserver-24.2:cockroach-go-testserver-24_2_test", + "//pkg/sql/logictest/tests/cockroach-go-testserver-23.1:cockroach-go-testserver-23_1_test", + "//pkg/sql/logictest/tests/cockroach-go-testserver-23.2:cockroach-go-testserver-23_2_test", "//pkg/sql/logictest/tests/fakedist-disk:fakedist-disk_test", "//pkg/sql/logictest/tests/fakedist-vec-off:fakedist-vec-off_test", "//pkg/sql/logictest/tests/fakedist:fakedist_test", "//pkg/sql/logictest/tests/local-legacy-schema-changer:local-legacy-schema-changer_test", - "//pkg/sql/logictest/tests/local-mixed-24.1:local-mixed-24_1_test", - "//pkg/sql/logictest/tests/local-mixed-24.2:local-mixed-24_2_test", + "//pkg/sql/logictest/tests/local-mixed-23.1:local-mixed-23_1_test", + "//pkg/sql/logictest/tests/local-mixed-23.2:local-mixed-23_2_test", "//pkg/sql/logictest/tests/local-vec-off:local-vec-off_test", "//pkg/sql/logictest/tests/local:local_test", "//pkg/sql/logictest/tests/multiregion-9node-3region-3azs:multiregion-9node-3region-3azs_test", @@ -1995,8 +1938,8 @@ GO_TARGETS = [ "//pkg/sql/opt/exec/execbuilder/tests/fakedist-vec-off:fakedist-vec-off_test", "//pkg/sql/opt/exec/execbuilder/tests/fakedist:fakedist_test", "//pkg/sql/opt/exec/execbuilder/tests/local-legacy-schema-changer:local-legacy-schema-changer_test", - "//pkg/sql/opt/exec/execbuilder/tests/local-mixed-24.1:local-mixed-24_1_test", - "//pkg/sql/opt/exec/execbuilder/tests/local-mixed-24.2:local-mixed-24_2_test", + "//pkg/sql/opt/exec/execbuilder/tests/local-mixed-23.1:local-mixed-23_1_test", + "//pkg/sql/opt/exec/execbuilder/tests/local-mixed-23.2:local-mixed-23_2_test", "//pkg/sql/opt/exec/execbuilder/tests/local-vec-off:local-vec-off_test", "//pkg/sql/opt/exec/execbuilder/tests/local:local_test", "//pkg/sql/opt/exec/execbuilder:execbuilder", @@ -2093,7 +2036,6 @@ GO_TARGETS = [ "//pkg/sql/plpgsql:plpgsql", "//pkg/sql/privilege:privilege", "//pkg/sql/privilege:privilege_test", - "//pkg/sql/protoreflect/gprototest:gprototest", "//pkg/sql/protoreflect/test:test", "//pkg/sql/protoreflect:protoreflect", "//pkg/sql/protoreflect:protoreflect_test", @@ -2168,10 +2110,10 @@ GO_TARGETS = [ "//pkg/sql/schemachanger/scplan/internal/opgen:opgen_test", "//pkg/sql/schemachanger/scplan/internal/rules/current:current", "//pkg/sql/schemachanger/scplan/internal/rules/current:current_test", - "//pkg/sql/schemachanger/scplan/internal/rules/release_24_1:release_24_1", - "//pkg/sql/schemachanger/scplan/internal/rules/release_24_1:release_24_1_test", - "//pkg/sql/schemachanger/scplan/internal/rules/release_24_2:release_24_2", - "//pkg/sql/schemachanger/scplan/internal/rules/release_24_2:release_24_2_test", + "//pkg/sql/schemachanger/scplan/internal/rules/release_23_1:release_23_1", + "//pkg/sql/schemachanger/scplan/internal/rules/release_23_1:release_23_1_test", + "//pkg/sql/schemachanger/scplan/internal/rules/release_23_2:release_23_2", + "//pkg/sql/schemachanger/scplan/internal/rules/release_23_2:release_23_2_test", "//pkg/sql/schemachanger/scplan/internal/rules:rules", "//pkg/sql/schemachanger/scplan/internal/scgraph:scgraph", "//pkg/sql/schemachanger/scplan/internal/scgraph:scgraph_test", @@ -2194,7 +2136,6 @@ GO_TARGETS = [ "//pkg/sql/scrub/scrubtestutils:scrubtestutils", "//pkg/sql/scrub:scrub", "//pkg/sql/sem/asof:asof", - "//pkg/sql/sem/asof:asof_test", "//pkg/sql/sem/builtins/builtinconstants:builtinconstants", "//pkg/sql/sem/builtins/builtinsregistry:builtinsregistry", "//pkg/sql/sem/builtins/pgcrypto:pgcrypto", @@ -2245,10 +2186,9 @@ GO_TARGETS = [ "//pkg/sql/sqlitelogictest/tests/fakedist-vec-off:fakedist-vec-off_test", "//pkg/sql/sqlitelogictest/tests/fakedist:fakedist_test", "//pkg/sql/sqlitelogictest/tests/local-legacy-schema-changer:local-legacy-schema-changer_test", - "//pkg/sql/sqlitelogictest/tests/local-mixed-24.1:local-mixed-24_1_test", - "//pkg/sql/sqlitelogictest/tests/local-mixed-24.2:local-mixed-24_2_test", + "//pkg/sql/sqlitelogictest/tests/local-mixed-23.1:local-mixed-23_1_test", + "//pkg/sql/sqlitelogictest/tests/local-mixed-23.2:local-mixed-23_2_test", "//pkg/sql/sqlitelogictest/tests/local-read-committed:local-read-committed_test", - "//pkg/sql/sqlitelogictest/tests/local-repeatable-read:local-repeatable-read_test", "//pkg/sql/sqlitelogictest/tests/local-vec-off:local-vec-off_test", "//pkg/sql/sqlitelogictest/tests/local:local_test", "//pkg/sql/sqlitelogictest:sqlitelogictest", @@ -2288,8 +2228,6 @@ GO_TARGETS = [ "//pkg/sql/syntheticprivilege:syntheticprivilege", "//pkg/sql/syntheticprivilege:syntheticprivilege_test", "//pkg/sql/syntheticprivilegecache:syntheticprivilegecache", - "//pkg/sql/tablemetadatacache:tablemetadatacache", - "//pkg/sql/tablemetadatacache:tablemetadatacache_test", "//pkg/sql/tests:tests", "//pkg/sql/tests:tests_test", "//pkg/sql/ttl/ttlbase:ttlbase", @@ -2421,10 +2359,6 @@ GO_TARGETS = [ "//pkg/util/allstacks:allstacks", "//pkg/util/arith:arith", "//pkg/util/asciitsdb:asciitsdb", - "//pkg/util/assetbundle/gen:gen", - "//pkg/util/assetbundle/gen:gen_lib", - "//pkg/util/assetbundle:assetbundle", - "//pkg/util/assetbundle:assetbundle_test", "//pkg/util/binfetcher:binfetcher", "//pkg/util/binfetcher:binfetcher_test", "//pkg/util/bitarray:bitarray", @@ -2613,6 +2547,10 @@ GO_TARGETS = [ "//pkg/util/system:system", "//pkg/util/sysutil:sysutil", "//pkg/util/sysutil:sysutil_test", + "//pkg/util/targz/gen:gen", + "//pkg/util/targz/gen:gen_lib", + "//pkg/util/targz:targz", + "//pkg/util/targz:targz_test", "//pkg/util/timeofday:timeofday", "//pkg/util/timeofday:timeofday_test", "//pkg/util/timetz:timetz", @@ -2654,8 +2592,6 @@ GO_TARGETS = [ "//pkg/util/unique:unique_test", "//pkg/util/uuid:uuid", "//pkg/util/uuid:uuid_test", - "//pkg/util/vector:vector", - "//pkg/util/vector:vector_test", "//pkg/util/version:version", "//pkg/util/version:version_test", "//pkg/util:util", @@ -2690,8 +2626,6 @@ GO_TARGETS = [ "//pkg/workload/schemachange:schemachange", "//pkg/workload/schemachange:schemachange_test", "//pkg/workload/sqlsmith:sqlsmith", - "//pkg/workload/sqlstats:sqlstats", - "//pkg/workload/sqlstats:sqlstats_test", "//pkg/workload/tpcc:tpcc", "//pkg/workload/tpcc:tpcc_test", "//pkg/workload/tpccchecks:tpccchecks", diff --git a/pkg/acceptance/adapter_test.go b/pkg/acceptance/adapter_test.go index f346308bdfd4..e484b6fedcde 100644 --- a/pkg/acceptance/adapter_test.go +++ b/pkg/acceptance/adapter_test.go @@ -15,6 +15,7 @@ import ( "strings" "testing" + "github.com/cockroachdb/cockroach/pkg/testutils/skip" "github.com/cockroachdb/cockroach/pkg/util/log" ) @@ -63,6 +64,21 @@ func TestDockerJava(t *testing.T) { }) } +func TestDockerElixir(t *testing.T) { + skip.IgnoreLint(t, "Elixir requires network to run, which can flake. When attempting to update this (#52341), the new Elixir version does not work with CRDB/TLS.") + + s := log.Scope(t) + defer s.Close(t) + + ctx := context.Background() + t.Run("Success", func(t *testing.T) { + testDockerSuccess(ctx, t, "elixir", []string{"sh", "-c", "cd /mnt/data/elixir/test_crdb && mix local.hex --force && mix deps.get && psql -c 'CREATE DATABASE IF NOT EXISTS testdb' && mix test"}) + }) + t.Run("Fail", func(t *testing.T) { + testDockerFail(ctx, t, "elixir", []string{"sh", "-c", "cd /mnt/data/elixir/test_crdb && mix local.hex --force && mix deps.get && mix thisshouldfail"}) + }) +} + func TestDockerNodeJS(t *testing.T) { s := log.Scope(t) defer s.Close(t) diff --git a/pkg/acceptance/cluster/certs.go b/pkg/acceptance/cluster/certs.go index 5359d5b99049..5b4d8b20191b 100644 --- a/pkg/acceptance/cluster/certs.go +++ b/pkg/acceptance/cluster/certs.go @@ -63,16 +63,14 @@ func GenerateCerts(ctx context.Context) func() { userScopes := []roachpb.TenantID{roachpb.SystemTenantID, roachpb.MustMakeTenantID(5)} maybePanic(security.CreateClientPair( certsDir, filepath.Join(certsDir, certnames.EmbeddedCAKey), - keyLen, 48*time.Hour, false, username.RootUserName(), userScopes, - nil /* tenantNames */, true /* generate pk8 key */)) + keyLen, 48*time.Hour, false, username.RootUserName(), userScopes, true /* generate pk8 key */)) // Test user. // Scope test user to system tenant and tenant ID 5 which is what we use by default for acceptance // tests. maybePanic(security.CreateClientPair( certsDir, filepath.Join(certsDir, certnames.EmbeddedCAKey), - keyLen, 48*time.Hour, false, username.TestUserName(), userScopes, - nil /* tenantNames */, true /* generate pk8 key */)) + keyLen, 48*time.Hour, false, username.TestUserName(), userScopes, true /* generate pk8 key */)) // Certs for starting a cockroach server. Key size is from cli/cert.go:defaultKeySize. maybePanic(security.CreateNodePair( diff --git a/pkg/acceptance/compose/flyway/docker-compose.yml b/pkg/acceptance/compose/flyway/docker-compose.yml index 71b56a00d985..f5ee31ba6f72 100644 --- a/pkg/acceptance/compose/flyway/docker-compose.yml +++ b/pkg/acceptance/compose/flyway/docker-compose.yml @@ -9,7 +9,7 @@ services: flyway: depends_on: - cockroach - image: us-east1-docker.pkg.dev/crl-docker-sync/docker-io/flyway/flyway:9.3 + image: flyway/flyway:9.3 volumes: - ./sql:/sql command: migrate -user=root -url=jdbc:postgresql://cockroach:26257/defaultdb -locations=filesystem:/sql diff --git a/pkg/acceptance/compose_test.go b/pkg/acceptance/compose_test.go index d3ec8b65067c..b7e4eff87ef8 100644 --- a/pkg/acceptance/compose_test.go +++ b/pkg/acceptance/compose_test.go @@ -44,21 +44,21 @@ func testCompose(t *testing.T, path string, exitCodeFrom string) { tmpComposeDir := t.TempDir() err := copyRunfiles(composeDir, tmpComposeDir) if err != nil { - t.Fatal(err) + t.Fatalf(err.Error()) } path = filepath.Join(tmpComposeDir, path) // If running under Bazel, export 2 environment variables that will be interpolated in docker-compose.yml files. cockroachBinary, err := filepath.Abs(*cluster.CockroachBinary) if err != nil { - t.Fatal(err) + t.Fatalf(err.Error()) } err = os.Setenv("COCKROACH_BINARY", cockroachBinary) if err != nil { - t.Fatal(err) + t.Fatalf(err.Error()) } err = os.Setenv("CERTS_DIR", cluster.AbsCertsDir()) if err != nil { - t.Fatal(err) + t.Fatalf(err.Error()) } } else { path = filepath.Join(composeDir, path) @@ -66,12 +66,12 @@ func testCompose(t *testing.T, path string, exitCodeFrom string) { uid := os.Getuid() err := os.Setenv("UID", strconv.Itoa(uid)) if err != nil { - t.Fatal(err) + t.Fatalf(err.Error()) } gid := os.Getgid() err = os.Setenv("GID", strconv.Itoa(gid)) if err != nil { - t.Fatal(err) + t.Fatalf(err.Error()) } cmd := exec.Command( "docker", diff --git a/pkg/acceptance/localcluster/cluster.go b/pkg/acceptance/localcluster/cluster.go index 6ba9056c3a54..872d2f9a9e68 100644 --- a/pkg/acceptance/localcluster/cluster.go +++ b/pkg/acceptance/localcluster/cluster.go @@ -12,7 +12,6 @@ package localcluster import ( "bytes" - "cmp" "context" gosql "database/sql" "fmt" @@ -24,7 +23,7 @@ import ( "os" "os/exec" "path/filepath" - "slices" + "sort" "strings" "sync/atomic" "text/tabwriter" @@ -238,8 +237,8 @@ func (c *Cluster) joins() []string { }) } } - slices.SortFunc(joins, func(a, b addrAndSeq) int { - return cmp.Compare(a.seq, b.seq) + sort.Slice(joins, func(i, j int) bool { + return joins[i].seq < joins[j].seq }) if len(joins) == 0 { diff --git a/pkg/acceptance/testdata/Dockerfile b/pkg/acceptance/testdata/Dockerfile index a5a9ff74e86f..03fa6c735975 100644 --- a/pkg/acceptance/testdata/Dockerfile +++ b/pkg/acceptance/testdata/Dockerfile @@ -43,9 +43,11 @@ RUN curl -fsSL https://dl.yarnpkg.com/debian/pubkey.gpg > /etc/apt/trusted.gpg.d && curl -fsSL https://packages.microsoft.com/keys/microsoft.asc > /etc/apt/trusted.gpg.d/microsoft.asc \ && echo "deb https://packages.microsoft.com/repos/microsoft-ubuntu-bionic-prod/ bionic main" > /etc/apt/sources.list.d/microsoft.list \ && apt-get install --yes --no-install-recommends gnupg \ + && curl https://packages.erlang-solutions.com/erlang-solutions_2.0_all.deb > erlang-solutions_2.0_all.deb && dpkg -i erlang-solutions_2.0_all.deb \ && apt-get update \ && apt-get install --yes --no-install-recommends \ expect \ + esl-erlang \ libc6-dev \ libcurl4 \ libpq-dev \ diff --git a/pkg/acceptance/testdata/elixir/test_crdb/.formatter.exs b/pkg/acceptance/testdata/elixir/test_crdb/.formatter.exs new file mode 100644 index 000000000000..d2cda26eddc9 --- /dev/null +++ b/pkg/acceptance/testdata/elixir/test_crdb/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/pkg/acceptance/testdata/elixir/test_crdb/.gitignore b/pkg/acceptance/testdata/elixir/test_crdb/.gitignore new file mode 100644 index 000000000000..7dc11ecb065c --- /dev/null +++ b/pkg/acceptance/testdata/elixir/test_crdb/.gitignore @@ -0,0 +1,24 @@ +# The directory Mix will write compiled artifacts to. +/_build/ + +# If you run "mix test --cover", coverage assets end up here. +/cover/ + +# The directory Mix downloads your dependencies sources to. +/deps/ + +# Where third-party dependencies like ExDoc output generated docs. +/doc/ + +# Ignore .fetch files in case you like to edit your project deps locally. +/.fetch + +# If the VM crashes, it generates a dump, let's ignore it too. +erl_crash.dump + +# Also ignore archive artifacts (built via "mix archive.build"). +*.ez + +# Ignore package tarball (built via "mix hex.build"). +debug-*.tar + diff --git a/pkg/acceptance/testdata/elixir/test_crdb/mix.exs b/pkg/acceptance/testdata/elixir/test_crdb/mix.exs new file mode 100644 index 000000000000..e3a480c0b634 --- /dev/null +++ b/pkg/acceptance/testdata/elixir/test_crdb/mix.exs @@ -0,0 +1,22 @@ +defmodule Cockroach.MixProject do + use Mix.Project + + def project do + [ + app: :debug, + version: "0.1.0", + start_permanent: Mix.env() == :prod, + deps: deps() + ] + end + + def application do + [ + extra_applications: [:logger] + ] + end + + defp deps do + [{:postgrex, "~> 0.13", hex: :postgrex_cdb, override: true}] + end +end diff --git a/pkg/acceptance/testdata/elixir/test_crdb/mix.lock b/pkg/acceptance/testdata/elixir/test_crdb/mix.lock new file mode 100644 index 000000000000..e1f3a9c0edd8 --- /dev/null +++ b/pkg/acceptance/testdata/elixir/test_crdb/mix.lock @@ -0,0 +1,6 @@ +%{ + "connection": {:hex, :connection, "1.0.4", "a1cae72211f0eef17705aaededacac3eb30e6625b04a6117c1b2db6ace7d5976", [:mix], [], "hexpm", "4a0850c9be22a43af9920a71ab17c051f5f7d45c209e40269a1938832510e4d9"}, + "db_connection": {:hex, :db_connection, "1.1.3", "89b30ca1ef0a3b469b1c779579590688561d586694a3ce8792985d4d7e575a61", [:mix], [{:connection, "~> 1.0.2", [hex: :connection, repo: "hexpm", optional: false]}, {:poolboy, "~> 1.5", [hex: :poolboy, repo: "hexpm", optional: true]}, {:sbroker, "~> 1.0", [hex: :sbroker, repo: "hexpm", optional: true]}], "hexpm", "5f0a16a58312a610d5eb0b07506280c65f5137868ad479045f2a2dc4ced80550"}, + "decimal": {:hex, :decimal, "1.8.1", "a4ef3f5f3428bdbc0d35374029ffcf4ede8533536fa79896dd450168d9acdf3c", [:mix], [], "hexpm", "3cb154b00225ac687f6cbd4acc4b7960027c757a5152b369923ead9ddbca7aec"}, + "postgrex": {:hex, :postgrex_cdb, "0.13.5", "83f818ea1b959d176c694bb60c36f42080c36a7413f0d3b05d58ef2093fe17f5", [:mix], [{:connection, "~> 1.0", [hex: :connection, repo: "hexpm", optional: false]}, {:db_connection, "~> 1.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.0", [hex: :decimal, repo: "hexpm", optional: false]}], "hexpm", "1a01ba25472ad33bafbac6f042fde2dbab93e23bdaa49ffa3722926165c1052f"}, +} diff --git a/pkg/acceptance/testdata/elixir/test_crdb/test/decimal_test.exs b/pkg/acceptance/testdata/elixir/test_crdb/test/decimal_test.exs new file mode 100644 index 000000000000..5d84bc68edc1 --- /dev/null +++ b/pkg/acceptance/testdata/elixir/test_crdb/test/decimal_test.exs @@ -0,0 +1,63 @@ +defmodule Cockroach.TestDecimal do + use ExUnit.Case + + test "handles decimal correctly" do + ssl_opts = [certfile: System.get_env("PGSSLCERT"), keyfile: System.get_env("PGSSLKEY")] + {port, _} = Integer.parse(System.get_env("PGPORT") || "26257") + {start_ok, pid} = Postgrex.start_link( + hostname: System.get_env("PGHOST") || "localhost", + username: System.get_env("PGUSER") || "root", + password: "", + database: "testdb", + port: port, + ssl: (System.get_env("PGSSLCERT") != nil && true) || false, + ssl_opts: ssl_opts + ) + assert start_ok + for dec <- [ + Decimal.new("0"), + Decimal.new("0.0"), + Decimal.new("0.00"), + Decimal.new("0.000"), + Decimal.new("0.0000"), + Decimal.new("0.00000"), + Decimal.new("0.00001"), + Decimal.new("0.000012"), + Decimal.new("0.0000012"), + Decimal.new("0.00000012"), + Decimal.new("0.00000012"), + Decimal.new(".00000012"), + Decimal.new("1"), + Decimal.new("1.0"), + Decimal.new("1.000"), + Decimal.new("1.0000"), + Decimal.new("1.00000"), + Decimal.new("1.000001"), + Decimal.new("12345"), + Decimal.new("12345.0"), + Decimal.new("12345.000"), + Decimal.new("12345.0000"), + Decimal.new("12345.00000"), + Decimal.new("12345.000001"), + Decimal.new("12340"), + Decimal.new("123400"), + Decimal.new("1234000"), + Decimal.new("12340000"), + Decimal.new("12340.00"), + Decimal.new("123400.00"), + Decimal.new("1234000.00"), + Decimal.new("12340000.00"), + Decimal.new("1.2345e-10"), + Decimal.new("1.23450e-10"), + Decimal.new("1.234500e-10"), + Decimal.new("1.2345000e-10"), + Decimal.new("1.23450000e-10"), + Decimal.new("1.234500000e-10"), + ] do + {result_ok, result} = Postgrex.query(pid, "SELECT CAST($1 AS DECIMAL)", [dec]) + assert result_ok + [[ret]] = result.rows + assert ret == dec + end + end +end diff --git a/pkg/acceptance/testdata/elixir/test_crdb/test/test_helper.exs b/pkg/acceptance/testdata/elixir/test_crdb/test/test_helper.exs new file mode 100644 index 000000000000..869559e709ea --- /dev/null +++ b/pkg/acceptance/testdata/elixir/test_crdb/test/test_helper.exs @@ -0,0 +1 @@ +ExUnit.start() diff --git a/pkg/base/config.go b/pkg/base/config.go index 0f45c0f36b8e..af09b9d80c79 100644 --- a/pkg/base/config.go +++ b/pkg/base/config.go @@ -748,14 +748,6 @@ func (cfg RaftConfig) NodeLivenessDurations() (livenessActive, livenessRenewal t return } -// StoreLivenessDurations computes durations for store liveness heartbeat -// interval and liveness interval. -func (cfg RaftConfig) StoreLivenessDurations() (livenessInterval, heartbeatInterval time.Duration) { - livenessInterval = cfg.RangeLeaseDuration - heartbeatInterval = time.Duration(float64(livenessInterval) * livenessRenewalFraction) - return -} - // SentinelGossipTTL is time-to-live for the gossip sentinel. The sentinel // informs a node whether or not it's connected to the primary gossip network // and not just a partition. As such it must expire fairly quickly and be diff --git a/pkg/base/test_server_args.go b/pkg/base/test_server_args.go index 88cd18a14106..56ac04f192af 100644 --- a/pkg/base/test_server_args.go +++ b/pkg/base/test_server_args.go @@ -621,11 +621,7 @@ type TestTenantArgs struct { // determine the tenant's HTTP port. StartingHTTPPort int - // Tracer, if set, will be used by the Server for creating Spans. - Tracer *tracing.Tracer - - // TracingDefault controls whether the tracing will be on or off by default, - // if Tracer is not set. + // TracingDefault controls whether the tracing will be on or off by default. TracingDefault tracing.TracingMode // GoroutineDumpDirName is used to initialize the same named field on the diff --git a/pkg/base/testing_knobs.go b/pkg/base/testing_knobs.go index f145195e9cc7..54b3f29d7734 100644 --- a/pkg/base/testing_knobs.go +++ b/pkg/base/testing_knobs.go @@ -59,5 +59,4 @@ type TestingKnobs struct { KeyVisualizer ModuleTestingKnobs TenantCapabilitiesTestingKnobs ModuleTestingKnobs TableStatsKnobs ModuleTestingKnobs - Insights ModuleTestingKnobs } diff --git a/pkg/bench/rttanalysis/cluster.go b/pkg/bench/rttanalysis/cluster.go index 6817869d03f9..8f30404499db 100644 --- a/pkg/bench/rttanalysis/cluster.go +++ b/pkg/bench/rttanalysis/cluster.go @@ -12,11 +12,11 @@ package rttanalysis import ( gosql "database/sql" + "sync" "testing" "github.com/cockroachdb/cockroach/pkg/base" "github.com/cockroachdb/cockroach/pkg/sql" - "github.com/cockroachdb/cockroach/pkg/util/syncutil" "github.com/cockroachdb/cockroach/pkg/util/tracing/tracingpb" ) @@ -32,7 +32,9 @@ func MakeClusterConstructor( return func(t testing.TB) *Cluster { c := &Cluster{} beforePlan := func(trace tracingpb.Recording, stmt string) { - c.stmtToKVBatchRequests.Store(stmt, &trace) + if _, ok := c.stmtToKVBatchRequests.Load(stmt); ok { + c.stmtToKVBatchRequests.Store(stmt, trace) + } } c.adminSQLConn, c.nonAdminSQLConn, c.cleanup = f(t, base.TestingKnobs{ SQLExecutor: &sql.ExecutorTestingKnobs{ @@ -45,7 +47,7 @@ func MakeClusterConstructor( // Cluster abstracts a cockroach cluster for use in rttanalysis benchmarks. type Cluster struct { - stmtToKVBatchRequests syncutil.Map[string, tracingpb.Recording] + stmtToKVBatchRequests sync.Map cleanup func() // adminSQLConn should be the default connection for tests. It specifies a @@ -66,14 +68,13 @@ func (c *Cluster) nonAdminConn() *gosql.DB { } func (c *Cluster) clearStatementTrace(stmt string) { - c.stmtToKVBatchRequests.Delete(stmt) + c.stmtToKVBatchRequests.Store(stmt, nil) } func (c *Cluster) getStatementTrace(stmt string) (tracingpb.Recording, bool) { - if out, ok := c.stmtToKVBatchRequests.Load(stmt); ok { - return *out, true - } - return tracingpb.Recording{}, false + out, _ := c.stmtToKVBatchRequests.Load(stmt) + r, ok := out.(tracingpb.Recording) + return r, ok } func (c *Cluster) close() { diff --git a/pkg/bench/rttanalysis/jobs_test.go b/pkg/bench/rttanalysis/jobs_test.go index 0f5f0d4c5ee2..e6a4aae87678 100644 --- a/pkg/bench/rttanalysis/jobs_test.go +++ b/pkg/bench/rttanalysis/jobs_test.go @@ -64,8 +64,6 @@ func init() { `INSERT INTO system.jobs(id, status, created, last_run, num_runs, job_type, claim_instance_id, claim_session_id) VALUES (3002, 'paused', now(), now(), 200, 'IMPORT', (SELECT id FROM system.sql_instances WHERE session_id IS NOT NULL ORDER BY id LIMIT 1), (SELECT session_id FROM system.sql_instances WHERE session_id IS NOT NULL ORDER BY id LIMIT 1))`, - `ANALYZE system.jobs`, - `ANALYZE system.job_info`, } cleanupQuery := "DELETE FROM system.jobs WHERE id >= 1000 AND id <= 4000; DELETE FROM system.job_info WHERE job_id >= 1000 AND job_id <= 4000" diff --git a/pkg/bench/rttanalysis/orm_queries_bench_test.go b/pkg/bench/rttanalysis/orm_queries_bench_test.go index 6267f96ee34d..e246480cc646 100644 --- a/pkg/bench/rttanalysis/orm_queries_bench_test.go +++ b/pkg/bench/rttanalysis/orm_queries_bench_test.go @@ -550,188 +550,6 @@ ORDER BY namespace, table_name, ordinal_position`, }, - { - Name: "prisma types 4", - Setup: func() string { - const count = 4 - sb := strings.Builder{} - sb.WriteString(buildNTypes(count)) - sb.WriteString("\n") - sb.WriteString(buildNTables(count)) - sb.WriteString("\n") - for i := range count { - // Indexes also appear in pg_class, so creating some here will - // make the JOIN do more work. - sb.WriteString(fmt.Sprintf("CREATE INDEX idx%d ON tab%d (b);\n", i, i)) - } - return sb.String() - }(), - Stmt: ` -SELECT - ns.nspname, t.oid, t.typname, t.typtype, t.typnotnull, t.elemtypoid -FROM - ( - SELECT - typ.oid, - typ.typnamespace, - typ.typname, - typ.typtype, - typ.typrelid, - typ.typnotnull, - typ.relkind, - elemtyp.oid AS elemtypoid, - elemtyp.typname AS elemtypname, - elemcls.relkind AS elemrelkind, - CASE WHEN elemproc.proname = 'array_recv' THEN 'a' ELSE elemtyp.typtype END AS elemtyptype - FROM - ( - SELECT - typ.oid, - typnamespace, - typname, - typrelid, - typnotnull, - relkind, - typelem AS elemoid, - CASE WHEN proc.proname = 'array_recv' THEN 'a' ELSE typ.typtype END AS typtype, - CASE - WHEN proc.proname = 'array_recv' THEN typ.typelem - WHEN typ.typtype = 'r' THEN rngsubtype - WHEN typ.typtype = 'd' THEN typ.typbasetype - END - AS elemtypoid - FROM - pg_type AS typ - LEFT JOIN pg_class AS cls ON cls.oid = typ.typrelid - LEFT JOIN pg_proc AS proc ON proc.oid = typ.typreceive - LEFT JOIN pg_range ON pg_range.rngtypid = typ.oid - ) - AS typ - LEFT JOIN pg_type AS elemtyp ON elemtyp.oid = elemtypoid - LEFT JOIN pg_class AS elemcls ON elemcls.oid = elemtyp.typrelid - LEFT JOIN pg_proc AS elemproc ON elemproc.oid = elemtyp.typreceive - ) - AS t - JOIN pg_namespace AS ns ON ns.oid = typnamespace -WHERE - typtype IN ('b':::STRING, 'r':::STRING, 'm':::STRING, 'e':::STRING, 'd':::STRING) - OR (typtype = 'c' AND relkind = 'c') - OR (typtype = 'p' AND typname IN ('record':::STRING:::NAME, 'void':::STRING:::NAME)) - OR ( - typtype = 'a' - AND ( - elemtyptype IN ('b':::STRING, 'r':::STRING, 'm':::STRING, 'e':::STRING, 'd':::STRING) - OR ( - elemtyptype = 'p' - AND elemtypname IN ('record':::STRING:::NAME, 'void':::STRING:::NAME) - ) - OR (elemtyptype = 'c' AND elemrelkind = 'c') - ) - ) -ORDER BY - CASE - WHEN typtype IN ('b':::STRING, 'e':::STRING, 'p':::STRING) THEN 0 - WHEN typtype = 'r' THEN 1 - WHEN typtype = 'm' THEN 2 - WHEN typtype = 'c' THEN 3 - WHEN typtype = 'd' AND elemtyptype != 'a' THEN 4 - WHEN typtype = 'a' THEN 5 - WHEN typtype = 'd' AND elemtyptype = 'a' THEN 6 - END; -`, - }, - - { - Name: "prisma types 16", - Setup: func() string { - const count = 16 - sb := strings.Builder{} - sb.WriteString(buildNTypes(count)) - sb.WriteString("\n") - sb.WriteString(buildNTables(count)) - sb.WriteString("\n") - for i := range count { - // Indexes also appear in pg_class, so creating some here will - // make the JOIN do more work. - sb.WriteString(fmt.Sprintf("CREATE INDEX idx%d ON tab%d (b);\n", i, i)) - } - return sb.String() - }(), - Stmt: ` -SELECT - ns.nspname, t.oid, t.typname, t.typtype, t.typnotnull, t.elemtypoid -FROM - ( - SELECT - typ.oid, - typ.typnamespace, - typ.typname, - typ.typtype, - typ.typrelid, - typ.typnotnull, - typ.relkind, - elemtyp.oid AS elemtypoid, - elemtyp.typname AS elemtypname, - elemcls.relkind AS elemrelkind, - CASE WHEN elemproc.proname = 'array_recv' THEN 'a' ELSE elemtyp.typtype END AS elemtyptype - FROM - ( - SELECT - typ.oid, - typnamespace, - typname, - typrelid, - typnotnull, - relkind, - typelem AS elemoid, - CASE WHEN proc.proname = 'array_recv' THEN 'a' ELSE typ.typtype END AS typtype, - CASE - WHEN proc.proname = 'array_recv' THEN typ.typelem - WHEN typ.typtype = 'r' THEN rngsubtype - WHEN typ.typtype = 'd' THEN typ.typbasetype - END - AS elemtypoid - FROM - pg_type AS typ - LEFT JOIN pg_class AS cls ON cls.oid = typ.typrelid - LEFT JOIN pg_proc AS proc ON proc.oid = typ.typreceive - LEFT JOIN pg_range ON pg_range.rngtypid = typ.oid - ) - AS typ - LEFT JOIN pg_type AS elemtyp ON elemtyp.oid = elemtypoid - LEFT JOIN pg_class AS elemcls ON elemcls.oid = elemtyp.typrelid - LEFT JOIN pg_proc AS elemproc ON elemproc.oid = elemtyp.typreceive - ) - AS t - JOIN pg_namespace AS ns ON ns.oid = typnamespace -WHERE - typtype IN ('b':::STRING, 'r':::STRING, 'm':::STRING, 'e':::STRING, 'd':::STRING) - OR (typtype = 'c' AND relkind = 'c') - OR (typtype = 'p' AND typname IN ('record':::STRING:::NAME, 'void':::STRING:::NAME)) - OR ( - typtype = 'a' - AND ( - elemtyptype IN ('b':::STRING, 'r':::STRING, 'm':::STRING, 'e':::STRING, 'd':::STRING) - OR ( - elemtyptype = 'p' - AND elemtypname IN ('record':::STRING:::NAME, 'void':::STRING:::NAME) - ) - OR (elemtyptype = 'c' AND elemrelkind = 'c') - ) - ) -ORDER BY - CASE - WHEN typtype IN ('b':::STRING, 'e':::STRING, 'p':::STRING) THEN 0 - WHEN typtype = 'r' THEN 1 - WHEN typtype = 'm' THEN 2 - WHEN typtype = 'c' THEN 3 - WHEN typtype = 'd' AND elemtyptype != 'a' THEN 4 - WHEN typtype = 'a' THEN 5 - WHEN typtype = 'd' AND elemtyptype = 'a' THEN 6 - END; -`, - }, - { Name: "npgsql types", Setup: buildNTables(8), @@ -1027,7 +845,7 @@ ORDER BY func buildNTables(n int) string { b := strings.Builder{} for i := 0; i < n; i++ { - b.WriteString(fmt.Sprintf("CREATE TABLE tab%d(a int primary key, b int);\n", i)) + b.WriteString(fmt.Sprintf("CREATE TABLE t%d(a int primary key, b int);\n", i)) } return b.String() } @@ -1035,7 +853,7 @@ func buildNTables(n int) string { func buildNTypes(n int) string { b := strings.Builder{} for i := 0; i < n; i++ { - b.WriteString(fmt.Sprintf("CREATE TYPE typ%d AS (a int, b int);\n", i)) + b.WriteString(fmt.Sprintf("CREATE TYPE t%d AS (a int, b int);\n", i)) } return b.String() } diff --git a/pkg/bench/rttanalysis/testdata/benchmark_expectations b/pkg/bench/rttanalysis/testdata/benchmark_expectations index 97f5194aa2b8..75f291c56fb4 100644 --- a/pkg/bench/rttanalysis/testdata/benchmark_expectations +++ b/pkg/bench/rttanalysis/testdata/benchmark_expectations @@ -24,9 +24,9 @@ exp,benchmark 8,AlterTableSplit/alter_table_split_at_1_value 11,AlterTableSplit/alter_table_split_at_2_values 14,AlterTableSplit/alter_table_split_at_3_values -8,AlterTableUnsplit/alter_table_unsplit_at_1_value -11,AlterTableUnsplit/alter_table_unsplit_at_2_values -14,AlterTableUnsplit/alter_table_unsplit_at_3_values +7,AlterTableUnsplit/alter_table_unsplit_at_1_value +9,AlterTableUnsplit/alter_table_unsplit_at_2_values +11,AlterTableUnsplit/alter_table_unsplit_at_3_values 5,Audit/select_from_an_audit_table 26,CreateRole/create_role_with_1_option 29,CreateRole/create_role_with_2_options @@ -56,26 +56,26 @@ exp,benchmark 5,GenerateObjects/generate_10_tables 16,GenerateObjects/generate_10x10_schemas_and_tables_in_existing_db 5,GenerateObjects/generate_50000_tables -10,Grant/grant_all_on_1_table -10,Grant/grant_all_on_2_tables -10,Grant/grant_all_on_3_tables +15,Grant/grant_all_on_1_table +19,Grant/grant_all_on_2_tables +23,Grant/grant_all_on_3_tables 19,GrantRole/grant_1_role 25,GrantRole/grant_2_roles 6,Jobs/cancel_job -3,Jobs/crdb_internal.system_jobs -4,Jobs/non_admin_crdb_internal.system_jobs -3-5,Jobs/jobs_page_default -3,Jobs/jobs_page_latest_50 -3,Jobs/jobs_page_type_filtered -1-3,Jobs/jobs_page_type_filtered_no_matches +8,Jobs/crdb_internal.system_jobs +8,Jobs/crdb_internal.system_jobs 8,Jobs/pause_job 6,Jobs/resume_job +8,Jobs/jobs_page_default +8,Jobs/jobs_page_latest_50 +6-9,Jobs/jobs_page_type_filtered +6-9,Jobs/jobs_page_type_filtered_no_matches 3,Jobs/show_job -3-5,Jobs/show_jobs -4,Jobs/non_admin_show_jobs +6-9,Jobs/show_jobs +6-9,Jobs/non_admin_show_jobs 3,ORMQueries/activerecord_type_introspection_query 0,ORMQueries/asyncpg_types -6,ORMQueries/column_descriptions_json_agg +0,ORMQueries/column_descriptions_json_agg 4,ORMQueries/django_column_introspection_1_table 4,ORMQueries/django_column_introspection_4_tables 4,ORMQueries/django_column_introspection_8_tables @@ -88,7 +88,7 @@ exp,benchmark 0,ORMQueries/has_sequence_privilege 0,ORMQueries/has_table_privilege 5,ORMQueries/hasura_column_descriptions -20,ORMQueries/hasura_column_descriptions_8_tables +12,ORMQueries/hasura_column_descriptions_8_tables 5,ORMQueries/hasura_column_descriptions_modified 4,ORMQueries/information_schema._pg_index_position 4,ORMQueries/introspection_description_join @@ -106,11 +106,9 @@ exp,benchmark 4,ORMQueries/pg_type 133,ORMQueries/prisma_column_descriptions 3,ORMQueries/prisma_column_descriptions_updated -5,ORMQueries/prisma_types_16 -5,ORMQueries/prisma_types_4 -10,Revoke/revoke_all_on_1_table -10,Revoke/revoke_all_on_2_tables -10,Revoke/revoke_all_on_3_tables +15,Revoke/revoke_all_on_1_table +19,Revoke/revoke_all_on_2_tables +23,Revoke/revoke_all_on_3_tables 17,RevokeRole/revoke_1_role 21,RevokeRole/revoke_2_roles 14,ShowGrants/grant_2_roles diff --git a/pkg/bench/rttanalysis/validate_benchmark_data.go b/pkg/bench/rttanalysis/validate_benchmark_data.go index 6d0145f428d9..367afc363f2d 100644 --- a/pkg/bench/rttanalysis/validate_benchmark_data.go +++ b/pkg/bench/rttanalysis/validate_benchmark_data.go @@ -11,13 +11,11 @@ package rttanalysis import ( - "cmp" "encoding/csv" "flag" "os" "os/exec" "regexp" - "slices" "sort" "strconv" "strings" @@ -223,8 +221,8 @@ func (s *resultSet) toSlice() (res []benchmarkResult) { } func resultsToExpectations(t *testing.T, results []benchmarkResult) benchmarkExpectations { - slices.SortFunc(results, func(a, b benchmarkResult) int { - return cmp.Compare(a.name, b.name) + sort.Slice(results, func(i, j int) bool { + return results[i].name < results[j].name }) var res benchmarkExpectations var cur benchmarkExpectation diff --git a/pkg/build/bazel/util/tinystringer/main.go b/pkg/build/bazel/util/tinystringer/main.go index 99b55e07df30..b0b260a2b4b9 100644 --- a/pkg/build/bazel/util/tinystringer/main.go +++ b/pkg/build/bazel/util/tinystringer/main.go @@ -11,7 +11,6 @@ package main import ( - "cmp" "errors" "flag" "fmt" @@ -20,7 +19,7 @@ import ( "go/token" "os" "path/filepath" - "slices" + "sort" "strconv" "strings" ) @@ -222,8 +221,8 @@ var %s = []%s{ seen[nameToInt[constName]] = struct{}{} } } - slices.SortFunc(inLexicographicOrder, func(a, b string) int { - return cmp.Compare(nameToPrinted[a], nameToPrinted[b]) + sort.Slice(inLexicographicOrder, func(i, j int) bool { + return nameToPrinted[inLexicographicOrder[i]] < nameToPrinted[inLexicographicOrder[j]] }) seen = make(map[int]struct{}) for _, constName := range inLexicographicOrder { diff --git a/pkg/build/info.go b/pkg/build/info.go index 69b50e1c1791..7fb99d680e41 100644 --- a/pkg/build/info.go +++ b/pkg/build/info.go @@ -107,22 +107,13 @@ func BinaryVersion() string { return binaryVersion } -// VersionForURLs is used to determine the version to use in public-facing doc URLs. -// It returns "vX.Y" for all release versions, and all prerelease versions >= "alpha.1". -// X and Y are the major and minor, respectively, of the version specified in version.txt. -// For all other prerelease versions, it returns "dev". -// N.B. new public-facing doc URLs are expected to be up beginning with the "alpha.1" prerelease. Otherwise, "dev" will -// cause the url mapper to redirect to the latest stable release. -func VersionForURLs() string { - // Prerelease versions >= "alpha.1" - if parsedVersionTxt.PreRelease() >= "alpha.1" { - return fmt.Sprintf("v%d.%d", parsedVersionTxt.Major(), parsedVersionTxt.Minor()) - } - // Production release versions - if parsedVersionTxt.PreRelease() == "" { - return fmt.Sprintf("v%d.%d", parsedVersionTxt.Major(), parsedVersionTxt.Minor()) +// BinaryVersionPrefix returns the version prefix of the current build. +func BinaryVersionPrefix() string { + v, err := version.Parse(BinaryVersion()) + if err != nil { + return "dev" } - return "dev" + return fmt.Sprintf("v%d.%d", v.Major(), v.Minor()) } // BranchReleaseSeries returns tha major and minor in version.txt, without @@ -220,5 +211,5 @@ func TestingOverrideVersion(v string) func() { // MakeIssueURL produces a URL to a CockroachDB issue. func MakeIssueURL(issue int) string { - return fmt.Sprintf("https://go.crdb.dev/issue-v/%d/%s", issue, VersionForURLs()) + return fmt.Sprintf("https://go.crdb.dev/issue-v/%d/%s", issue, BinaryVersionPrefix()) } diff --git a/pkg/build/util/util.go b/pkg/build/util/util.go index a4e813af3195..af16f2b65a2a 100644 --- a/pkg/build/util/util.go +++ b/pkg/build/util/util.go @@ -13,13 +13,12 @@ package util import ( - "cmp" "encoding/xml" "fmt" "io" "path/filepath" "regexp" - "slices" + "sort" "strings" ) @@ -184,8 +183,8 @@ func MergeTestXMLs(suitesToMerge []TestSuites, outFile io.Writer) error { for _, testCase := range cases { resultSuite.TestCases = append(resultSuite.TestCases, testCase) } - slices.SortFunc(resultSuite.TestCases, func(a, b *testCase) int { - return cmp.Compare(a.Name, b.Name) + sort.Slice(resultSuite.TestCases, func(i, j int) bool { + return resultSuite.TestCases[i].Name < resultSuite.TestCases[j].Name }) return writeToFile(&resultSuites, outFile) } diff --git a/pkg/build/version.txt b/pkg/build/version.txt index d171865162d3..2fb766ad6941 100644 --- a/pkg/build/version.txt +++ b/pkg/build/version.txt @@ -1 +1 @@ -v24.3.0-alpha.00000000 +v24.1.5 diff --git a/pkg/ccl/BUILD.bazel b/pkg/ccl/BUILD.bazel index 4bc1da49f6b6..23cbb4274d9d 100644 --- a/pkg/ccl/BUILD.bazel +++ b/pkg/ccl/BUILD.bazel @@ -12,15 +12,11 @@ go_library( "//pkg/ccl/buildccl", "//pkg/ccl/changefeedccl", "//pkg/ccl/cliccl", - "//pkg/ccl/crosscluster/logical", - "//pkg/ccl/crosscluster/physical", - "//pkg/ccl/crosscluster/producer", "//pkg/ccl/gqpccl", "//pkg/ccl/gssapiccl", "//pkg/ccl/jwtauthccl", "//pkg/ccl/kvccl", "//pkg/ccl/kvccl/kvtenantccl", - "//pkg/ccl/ldapccl", "//pkg/ccl/multiregionccl", "//pkg/ccl/multitenantccl", "//pkg/ccl/oidcccl", @@ -30,6 +26,8 @@ go_library( "//pkg/ccl/securityccl/fipsccl", "//pkg/ccl/storageccl", "//pkg/ccl/storageccl/engineccl", + "//pkg/ccl/streamingccl/streamingest", + "//pkg/ccl/streamingccl/streamproducer", "//pkg/ccl/utilccl", "//pkg/ccl/workloadccl", "//pkg/server", diff --git a/pkg/ccl/backupccl/BUILD.bazel b/pkg/ccl/backupccl/BUILD.bazel index 49941eb2a069..23833d02f886 100644 --- a/pkg/ccl/backupccl/BUILD.bazel +++ b/pkg/ccl/backupccl/BUILD.bazel @@ -27,7 +27,6 @@ go_library( "restore_progress.go", "restore_schema_change_creation.go", "restore_span_covering.go", - "revision_reader.go", "schedule_exec.go", "schedule_pts_chaining.go", "show.go", @@ -65,6 +64,7 @@ go_library( "//pkg/keys", "//pkg/kv", "//pkg/kv/bulk", + "//pkg/kv/kvclient", "//pkg/kv/kvpb", "//pkg/kv/kvserver/batcheval", "//pkg/kv/kvserver/concurrency/lock", @@ -140,7 +140,6 @@ go_library( "//pkg/util/log", "//pkg/util/log/eventpb", "//pkg/util/log/logutil", - "//pkg/util/log/severity", "//pkg/util/metamorphic", "//pkg/util/metric", "//pkg/util/mon", @@ -196,7 +195,6 @@ go_test( "restore_planning_test.go", "restore_progress_test.go", "restore_span_covering_test.go", - "revision_reader_test.go", "schedule_pts_chaining_test.go", "show_test.go", "system_schema_test.go", @@ -329,8 +327,7 @@ go_test( "//pkg/workload/bank", "//pkg/workload/histogram", "//pkg/workload/workloadsql", - "@com_github_aws_aws_sdk_go_v2//aws", - "@com_github_aws_aws_sdk_go_v2_config//:config", + "@com_github_aws_aws_sdk_go//aws/credentials", "@com_github_cockroachdb_cockroach_go_v2//crdb", "@com_github_cockroachdb_datadriven//:datadriven", "@com_github_cockroachdb_errors//:errors", @@ -345,6 +342,7 @@ go_test( "@com_github_robfig_cron_v3//:cron", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", + "@org_golang_x_exp//slices", "@org_golang_x_sync//errgroup", ], ) diff --git a/pkg/ccl/backupccl/backup_cloud_test.go b/pkg/ccl/backupccl/backup_cloud_test.go index 38e241c35d5c..40deccd1d49c 100644 --- a/pkg/ccl/backupccl/backup_cloud_test.go +++ b/pkg/ccl/backupccl/backup_cloud_test.go @@ -15,8 +15,7 @@ import ( "os" "testing" - "github.com/aws/aws-sdk-go-v2/aws" - "github.com/aws/aws-sdk-go-v2/config" + "github.com/aws/aws-sdk-go/aws/credentials" "github.com/cockroachdb/cockroach/pkg/base" "github.com/cockroachdb/cockroach/pkg/cloud" "github.com/cockroachdb/cockroach/pkg/cloud/amazon" @@ -83,23 +82,21 @@ func TestCloudBackupRestoreS3WithLegacyPut(t *testing.T) { backupAndRestore(ctx, t, tc, []string{uri.String()}, []string{uri.String()}, numAccounts, nil) } -func requiredS3CredsAndBucket(t *testing.T) (aws.Credentials, string) { +func requiredS3CredsAndBucket(t *testing.T) (credentials.Value, string) { t.Helper() - envConfig, err := config.NewEnvConfig() - require.NoError(t, err) - if !envConfig.Credentials.HasKeys() { + creds, err := credentials.NewEnvCredentials().Get() + if err != nil { skip.IgnoreLintf(t, "No AWS env keys (%v)", err) } - bucket := os.Getenv("AWS_S3_BUCKET") if bucket == "" { skip.IgnoreLint(t, "AWS_S3_BUCKET env var must be set") } - return envConfig.Credentials, bucket + return creds, bucket } func setupS3URI( - t *testing.T, db *sqlutils.SQLRunner, bucket string, prefix string, creds aws.Credentials, + t *testing.T, db *sqlutils.SQLRunner, bucket string, prefix string, creds credentials.Value, ) url.URL { t.Helper() endpoint := os.Getenv(amazon.NightlyEnvVarS3Params[amazon.AWSEndpointParam]) diff --git a/pkg/ccl/backupccl/backup_job.go b/pkg/ccl/backupccl/backup_job.go index f6ba5d1aa8ed..3bb3c1cc185b 100644 --- a/pkg/ccl/backupccl/backup_job.go +++ b/pkg/ccl/backupccl/backup_job.go @@ -259,7 +259,7 @@ func backup( numTotalSpans += len(spec.IntroducedSpans) + len(spec.Spans) } - progressLogger := jobs.NewChunkProgressLoggerForJob(job, numTotalSpans, job.FractionCompleted(), jobs.ProgressUpdateOnly) + progressLogger := jobs.NewChunkProgressLogger(job, numTotalSpans, job.FractionCompleted(), jobs.ProgressUpdateOnly) requestFinishedCh := make(chan struct{}, numTotalSpans) // enough buffer to never block var jobProgressLoop func(ctx context.Context) error @@ -275,6 +275,9 @@ func backup( // Create a channel that is large enough that it does not block. perNodeProgressCh := make(chan map[execinfrapb.ComponentID]float32, numTotalSpans) storePerNodeProgressLoop := func(ctx context.Context) error { + if !execCtx.ExecCfg().Settings.Version.IsActive(ctx, clusterversion.V23_1) { + return nil + } for { select { case prog, ok := <-perNodeProgressCh: @@ -313,9 +316,8 @@ func backup( // Signal that an ExportRequest finished to update job progress. for i := int32(0); i < progDetails.CompletedSpans; i++ { requestFinishedCh <- struct{}{} - if execCtx.ExecCfg().BackupRestoreTestingKnobs != nil && - execCtx.ExecCfg().BackupRestoreTestingKnobs.AfterBackupChunk != nil { - execCtx.ExecCfg().BackupRestoreTestingKnobs.AfterBackupChunk() + if execCtx.ExecCfg().TestingKnobs.AfterBackupChunk != nil { + execCtx.ExecCfg().TestingKnobs.AfterBackupChunk() } } @@ -354,9 +356,8 @@ func backup( log.Errorf(ctx, "unable to checkpoint backup descriptor: %+v", err) } lastCheckpoint = timeutil.Now() - if execCtx.ExecCfg().BackupRestoreTestingKnobs != nil && - execCtx.ExecCfg().BackupRestoreTestingKnobs.AfterBackupCheckpoint != nil { - execCtx.ExecCfg().BackupRestoreTestingKnobs.AfterBackupCheckpoint() + if execCtx.ExecCfg().TestingKnobs.AfterBackupCheckpoint != nil { + execCtx.ExecCfg().TestingKnobs.AfterBackupCheckpoint() } } } @@ -807,7 +808,13 @@ func (b *backupResumer) Resume(ctx context.Context, execCtx interface{}) error { mem := p.ExecCfg().RootMemoryMonitor.MakeBoundAccount() defer mem.Close(ctx) + var memSize int64 + defer func() { + if memSize != 0 { + mem.Shrink(ctx, memSize) + } + }() if backupManifest == nil || forceReadBackupManifest { backupManifest, memSize, err = b.readManifestOnResume(ctx, &mem, p.ExecCfg(), defaultStore, diff --git a/pkg/ccl/backupccl/backup_planning.go b/pkg/ccl/backupccl/backup_planning.go index 74797d2d9dda..9e71082d09cd 100644 --- a/pkg/ccl/backupccl/backup_planning.go +++ b/pkg/ccl/backupccl/backup_planning.go @@ -182,7 +182,7 @@ func backupJobDescription( ann := p.ExtendedEvalContext().Annotations return tree.AsStringWithFlags( - b, tree.FmtAlwaysQualifyNames|tree.FmtShowFullURIs, tree.FmtAnnotations(ann), + b, tree.FmtAlwaysQualifyTableNames|tree.FmtShowFullURIs, tree.FmtAnnotations(ann), ), nil } @@ -638,15 +638,6 @@ func backupPlanHook( return errors.AssertionFailedf("unexpected descriptor coverage %v", backupStmt.Coverage()) } - for _, t := range targetDescs { - if tbl, ok := t.(catalog.TableDescriptor); ok && tbl.ExternalRowData() != nil { - if tbl.ExternalRowData().TenantID.IsSet() { - return errors.UnimplementedError(errors.IssueLink{}, "backing up from a replication target is not supported") - } - return errors.UnimplementedError(errors.IssueLink{}, "backing up from external tables is not supported") - } - } - // Check BACKUP privileges. err = checkPrivilegesForBackup(ctx, backupStmt, p, targetDescs, to) if err != nil { diff --git a/pkg/ccl/backupccl/backup_processor.go b/pkg/ccl/backupccl/backup_processor.go index 57900301fda9..de51944ec240 100644 --- a/pkg/ccl/backupccl/backup_processor.go +++ b/pkg/ccl/backupccl/backup_processor.go @@ -78,6 +78,14 @@ var ( 128<<20, settings.WithPublic) + splitKeysOnTimestamps = settings.RegisterBoolSetting( + settings.ApplicationLevel, + "bulkio.backup.split_keys_on_timestamps", + "split backup data on timestamps when writing revision history", + true, + settings.WithName("bulkio.backup.split_keys_on_timestamps.enabled"), + ) + preSplitExports = settings.RegisterBoolSetting( settings.ApplicationLevel, "bulkio.backup.presplit_request_spans.enabled", @@ -132,7 +140,8 @@ const ( type backupDataProcessor struct { execinfra.ProcessorBase - spec execinfrapb.BackupDataSpec + flowCtx *execinfra.FlowCtx + spec execinfrapb.BackupDataSpec // cancelAndWaitForWorker cancels the producer goroutine and waits for it to // finish. It can be called multiple times. @@ -173,9 +182,10 @@ func newBackupDataProcessor( } ba := memMonitor.MakeBoundAccount() bp := &backupDataProcessor{ - spec: spec, - progCh: make(chan execinfrapb.RemoteProducerMetadata_BulkProcessorProgress), - memAcc: &ba, + flowCtx: flowCtx, + spec: spec, + progCh: make(chan execinfrapb.RemoteProducerMetadata_BulkProcessorProgress), + memAcc: &ba, } if err := bp.Init(ctx, bp, post, backupOutputTypes, flowCtx, processorID, nil, /* memMonitor */ execinfra.ProcStateOpts{ @@ -185,7 +195,7 @@ func newBackupDataProcessor( bp.close() if bp.agg != nil { meta := bulk.ConstructTracingAggregatorProducerMeta(ctx, - bp.FlowCtx.NodeID.SQLInstanceID(), bp.FlowCtx.ID, bp.agg) + bp.flowCtx.NodeID.SQLInstanceID(), bp.flowCtx.ID, bp.agg) return []execinfrapb.ProducerMetadata{*meta} } return nil @@ -216,11 +226,11 @@ func (bp *backupDataProcessor) Start(ctx context.Context) { } } log.Infof(ctx, "starting backup data") - if err := bp.FlowCtx.Stopper().RunAsyncTaskEx(ctx, stop.TaskOpts{ + if err := bp.flowCtx.Stopper().RunAsyncTaskEx(ctx, stop.TaskOpts{ TaskName: "backupDataProcessor.runBackupProcessor", SpanOpt: stop.ChildSpan, }, func(ctx context.Context) { - bp.backupErr = runBackupProcessor(ctx, bp.FlowCtx, &bp.spec, bp.progCh, bp.memAcc) + bp.backupErr = runBackupProcessor(ctx, bp.flowCtx, &bp.spec, bp.progCh, bp.memAcc) cancel() close(bp.progCh) }); err != nil { @@ -237,8 +247,8 @@ func (bp *backupDataProcessor) constructProgressProducerMeta( // Take a copy so that we can send the progress address to the output // processor. p := prog - p.NodeID = bp.FlowCtx.NodeID.SQLInstanceID() - p.FlowID = bp.FlowCtx.ID + p.NodeID = bp.flowCtx.NodeID.SQLInstanceID() + p.FlowID = bp.flowCtx.ID // Annotate the progress with the fraction completed by this backupDataProcessor. progDetails := backuppb.BackupManifest_Progress{} @@ -275,14 +285,12 @@ func (bp *backupDataProcessor) Next() (rowenc.EncDatumRow, *execinfrapb.Producer bp.aggTimer.Read = true bp.aggTimer.Reset(15 * time.Second) return nil, bulk.ConstructTracingAggregatorProducerMeta(bp.Ctx(), - bp.FlowCtx.NodeID.SQLInstanceID(), bp.FlowCtx.ID, bp.agg) + bp.flowCtx.NodeID.SQLInstanceID(), bp.flowCtx.ID, bp.agg) } } func (bp *backupDataProcessor) close() { - if bp.cancelAndWaitForWorker != nil { - bp.cancelAndWaitForWorker() - } + bp.cancelAndWaitForWorker() if bp.InternalClose() { bp.aggTimer.Stop() bp.memAcc.Close(bp.Ctx()) @@ -324,7 +332,7 @@ func runBackupProcessor( totalSpans := len(spec.Spans) + len(spec.IntroducedSpans) requestSpans := make([]spanAndTime, 0, totalSpans) - rangeSizedSpans := preSplitExports.Get(&flowCtx.Cfg.Settings.SV) + rangeSizedSpans := preSplitExports.Get(&flowCtx.EvalCtx.Settings.SV) splitSpans := func(spans []roachpb.Span, start, end hlc.Timestamp) error { for _, fullSpan := range spans { @@ -501,13 +509,19 @@ func runBackupProcessor( for _, span := range spans { resumed := false for len(span.span.Key) != 0 { + splitMidKey := splitKeysOnTimestamps.Get(&clusterSettings.SV) + // If we started splitting already, we must continue until we reach the end + // of split span. + if !span.firstKeyTS.IsEmpty() { + splitMidKey = true + } req := &kvpb.ExportRequest{ RequestHeader: kvpb.RequestHeaderFromSpan(span.span), ResumeKeyTS: span.firstKeyTS, StartTime: span.start, MVCCFilter: spec.MVCCFilter, TargetFileSize: batcheval.ExportRequestTargetFileSize.Get(&clusterSettings.SV), - SplitMidKey: true, + SplitMidKey: splitMidKey, IncludeMVCCValueHeader: spec.IncludeMVCCValueHeader, } diff --git a/pkg/ccl/backupccl/backup_telemetry.go b/pkg/ccl/backupccl/backup_telemetry.go index 012fdaa53d8d..c8ca324763e2 100644 --- a/pkg/ccl/backupccl/backup_telemetry.go +++ b/pkg/ccl/backupccl/backup_telemetry.go @@ -25,7 +25,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/sql/sem/tree" "github.com/cockroachdb/cockroach/pkg/util/log" "github.com/cockroachdb/cockroach/pkg/util/log/eventpb" - "github.com/cockroachdb/cockroach/pkg/util/log/severity" "github.com/cockroachdb/errors" ) @@ -75,7 +74,7 @@ func logBackupTelemetry( ctx context.Context, initialDetails jobspb.BackupDetails, jobID jobspb.JobID, ) { event := createBackupRecoveryEvent(ctx, initialDetails, jobID) - log.StructuredEvent(ctx, severity.INFO, &event) + log.StructuredEvent(ctx, &event) } func createBackupRecoveryEvent( @@ -303,7 +302,7 @@ func logCreateScheduleTelemetry( backupEvent.OnExecutionFailure = jobspb.ScheduleDetails_ErrorHandlingBehavior_name[int32(details.OnError)] backupEvent.IgnoreExistingBackup = ignoreExisting - log.StructuredEvent(ctx, severity.INFO, &backupEvent) + log.StructuredEvent(ctx, &backupEvent) } // logRestoreTelemetry publishes an eventpb.RecoveryEvent about a restore @@ -319,6 +318,7 @@ func logRestoreTelemetry( opts tree.RestoreOptions, descsByTablePattern map[tree.TablePattern]catalog.Descriptor, restoreDBs []catalog.DatabaseDescriptor, + debugPauseOn string, applicationName string, ) { var requestedTargets []descpb.Descriptor @@ -419,6 +419,7 @@ func logRestoreTelemetry( HasEncryptionPassphrase: passphrase, KMSType: kmsType, KMSCount: uint32(kmsCount), + DebugPauseOn: debugPauseOn, JobID: uint64(jobID), Options: options, ApplicationName: applicationName, @@ -436,5 +437,5 @@ func logRestoreTelemetry( } sort.Strings(event.DestinationStorageTypes) - log.StructuredEvent(ctx, severity.INFO, event) + log.StructuredEvent(ctx, event) } diff --git a/pkg/ccl/backupccl/backup_test.go b/pkg/ccl/backupccl/backup_test.go index fc71ca7b3029..673d1afe1bca 100644 --- a/pkg/ccl/backupccl/backup_test.go +++ b/pkg/ccl/backupccl/backup_test.go @@ -32,7 +32,7 @@ import ( "testing" "time" - "github.com/aws/aws-sdk-go-v2/config" + "github.com/aws/aws-sdk-go/aws/credentials" "github.com/cockroachdb/cockroach-go/v2/crdb" "github.com/cockroachdb/cockroach/pkg/base" "github.com/cockroachdb/cockroach/pkg/blobs" @@ -183,7 +183,7 @@ func TestBackupRestoreSingleNodeLocal(t *testing.T) { // Set the testing knob so we count each time we write a checkpoint. params := base.TestClusterArgs{} knobs := base.TestingKnobs{ - BackupRestore: &sql.BackupRestoreTestingKnobs{ + SQLExecutor: &sql.ExecutorTestingKnobs{ AfterBackupChunk: func() { chunks++ }, @@ -216,7 +216,7 @@ func TestBackupRestoreMultiNodeRemote(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) - const numAccounts = 100 + const numAccounts = 1000 ctx := context.Background() tc, _, _, cleanupFn := backupRestoreTestSetup(t, multiNode, numAccounts, InitManualReplication) defer cleanupFn() @@ -226,12 +226,6 @@ func TestBackupRestoreMultiNodeRemote(t *testing.T) { backupAndRestore(ctx, t, tc, []string{remoteFoo}, []string{localFoo}, numAccounts, nil) } -func getLatestFullDir(t *testing.T, sqlDB *sqlutils.SQLRunner, collection string) string { - var fullPath string - sqlDB.QueryRow(t, `SELECT * FROM [SHOW BACKUPS IN $1] LIMIT 1`, collection).Scan(&fullPath) - return fullPath -} - func findSST(t *testing.T, location string) string { sstMatcher := regexp.MustCompile(`\d+\.sst`) subDir := filepath.Join(location, "data") @@ -490,40 +484,34 @@ func TestBackupRestoreExecLocality(t *testing.T) { t.Run("pin-top", func(t *testing.T) { ensureLeaseholder(t, sqlDB) - uri := "nodelocal://0/a" - n3.Exec(t, "BACKUP DATABASE data INTO $1 WITH EXECUTION LOCALITY = $2", - uri, "tier=0") + n3.Exec(t, "BACKUP DATABASE data TO $1 WITH EXECUTION LOCALITY = $2", + "nodelocal://0/a", "tier=0") // Check that at least one tier 0 node dir has an SST in it. - subdir := getLatestFullDir(t, n3, uri) - require.True(t, findSST(t, path.Join(dir, "west0", "a", subdir)) != "" || findSST(t, path.Join(dir, "east0", "a", subdir)) != "") + require.True(t, findSST(t, path.Join(dir, "west0", "a")) != "" || findSST(t, path.Join(dir, "east0", "a")) != "") // Check that neither tier 1 node dir has an sst. - requireHasNoSSTs(t, path.Join(dir, "west1", "a", subdir), path.Join(dir, "east1", "a", subdir)) + requireHasNoSSTs(t, path.Join(dir, "west1", "a"), path.Join(dir, "east1", "a")) }) t.Run("pin-mid", func(t *testing.T) { ensureLeaseholder(t, sqlDB) - uri := "nodelocal://0/b" - n4.Exec(t, "BACKUP DATABASE data INTO $1 WITH EXECUTION LOCALITY = $2", - uri, "region=east") - subdir := getLatestFullDir(t, n4, uri) + n4.Exec(t, "BACKUP DATABASE data TO $1 WITH EXECUTION LOCALITY = $2", + "nodelocal://0/b", "region=east") + // Check that at least one east node dir has an SST in it. - require.True(t, findSST(t, path.Join(dir, "east0", "b", subdir)) != "" || findSST(t, path.Join(dir, "east1", "b", subdir)) != "") + require.True(t, findSST(t, path.Join(dir, "east0", "b")) != "" || findSST(t, path.Join(dir, "east1", "b")) != "") // Check that neither west node dir has an sst. - requireHasNoSSTs(t, path.Join(dir, "west0", "b", subdir), path.Join(dir, "west1", "b", subdir)) + requireHasNoSSTs(t, path.Join(dir, "west0", "b"), path.Join(dir, "west1", "b")) }) t.Run("pin-single", func(t *testing.T) { ensureLeaseholder(t, sqlDB) - uri := "nodelocal://0/c" - n4.Exec(t, "BACKUP DATABASE data INTO $1 WITH EXECUTION LOCALITY = $2", - uri, "tier=1,region=east") - - subdir := getLatestFullDir(t, n4, uri) + n4.Exec(t, "BACKUP DATABASE data TO $1 WITH EXECUTION LOCALITY = $2", + "nodelocal://0/c", "tier=1,region=east") // Check that at least the only node allowed has data in it. - requireHasSSTs(t, path.Join(dir, "east1", "c", subdir)) + requireHasSSTs(t, path.Join(dir, "east1", "c")) // Check that no other node has data in it. - requireHasNoSSTs(t, path.Join(dir, "east0", "c", subdir), path.Join(dir, "west0", "c", subdir), path.Join(dir, "west1", "c", subdir)) + requireHasNoSSTs(t, path.Join(dir, "east0", "c"), path.Join(dir, "west0", "c"), path.Join(dir, "west1", "c")) // TODO(dt): ideally we'd send the RESTORE stmt to a node that cannot reach // the backup files at all to show that the locality filter means a node @@ -534,7 +522,7 @@ func TestBackupRestoreExecLocality(t *testing.T) { // those nodes with access to the data files, it is still on the operator to // send the initial statement to a node with access. var id int64 - n4.QueryRow(t, "RESTORE DATABASE data FROM LATEST IN $1 WITH EXECUTION LOCALITY = $2, NEW_DB_NAME = 'restored', DETACHED", + n4.QueryRow(t, "RESTORE DATABASE data FROM $1 WITH EXECUTION LOCALITY = $2, NEW_DB_NAME = 'restored', DETACHED", "nodelocal://0/c", "tier=1,region=east").Scan(&id) n4.CheckQueryResults(t, fmt.Sprintf("SELECT status FROM [SHOW JOB WHEN COMPLETE %d]", id), [][]string{{"succeeded"}}) }) @@ -565,20 +553,9 @@ func TestBackupRestoreAppend(t *testing.T) { skip.UnderDuress(t, "test is very large") - params := base.TestClusterArgs{ - ServerArgs: base.TestServerArgs{ - Knobs: base.TestingKnobs{ - // NB: Not routing to the leaseholder first - // slows down this test by anywhere from 5x to - // 10x. - KVClient: &kvcoord.ClientTestingKnobs{RouteToLeaseholderFirst: true}, - }, - }, - } - - const numAccounts = 400 + const numAccounts = 1000 ctx := context.Background() - tc, sqlDB, tmpDir, cleanupFn := backupRestoreTestSetupWithParams(t, multiNode, numAccounts, InitManualReplication, params) + tc, sqlDB, tmpDir, cleanupFn := backupRestoreTestSetup(t, multiNode, numAccounts, InitManualReplication) defer cleanupFn() if !tc.ApplicationLayer(0).Codec().ForSystemTenant() { @@ -600,86 +577,152 @@ func TestBackupRestoreAppend(t *testing.T) { return err }) } + makeCollections := func(c1, c2, c3 string) []interface{} { + return []interface{}{ + fmt.Sprintf("%s?COCKROACH_LOCALITY=%s", c1, url.QueryEscape("default")), + fmt.Sprintf("%s?COCKROACH_LOCALITY=%s", c2, url.QueryEscape("dc=dc1")), + fmt.Sprintf("%s?COCKROACH_LOCALITY=%s", c3, url.QueryEscape("dc=dc2")), + } + } - // For testing backup *into* collection, pick collection - // shards on each node. - collections := []interface{}{ - fmt.Sprintf("nodelocal://1/?COCKROACH_LOCALITY=%s", url.QueryEscape("default")), - fmt.Sprintf("nodelocal://2/?COCKROACH_LOCALITY=%s", url.QueryEscape("dc=dc1")), - fmt.Sprintf("nodelocal://3/?COCKROACH_LOCALITY=%s", url.QueryEscape("dc=dc2")), + makeCollectionsWithSubdir := func(c1, c2, c3 string) []interface{} { + return []interface{}{ + fmt.Sprintf("%s/%s?COCKROACH_LOCALITY=%s", c1, "foo", url.QueryEscape("default")), + fmt.Sprintf("%s/%s?COCKROACH_LOCALITY=%s", c2, "foo", url.QueryEscape("dc=dc1")), + fmt.Sprintf("%s/%s?COCKROACH_LOCALITY=%s", c3, "foo", url.QueryEscape("dc=dc2")), + } } - // Test timeline - // - // tsBefore - Full backup - // ts1 - Incremental backup after UPDATE - // ts1again - Incremental backup (no changes to data.bank) - // ts2 - Full backup after UPDATE - // - Incremental backup after rename - var tsBefore, ts1, ts1again, ts2 string - sqlDB.QueryRow(t, "SELECT cluster_logical_timestamp()").Scan(&tsBefore) - sqlDB.Exec(t, "BACKUP INTO ($1, $2, $3) AS OF SYSTEM TIME "+tsBefore, collections...) - - sqlDB.Exec(t, "UPDATE data.bank SET balance = 100") - sqlDB.QueryRow(t, "SELECT cluster_logical_timestamp()").Scan(&ts1) - sqlDB.Exec(t, "BACKUP INTO LATEST IN ($1, $2, $3) AS OF SYSTEM TIME "+ts1, collections...) - - // Append to latest again, just to prove we can append to an appended one and - // that appended didn't e.g. mess up LATEST. - sqlDB.QueryRow(t, "SELECT cluster_logical_timestamp()").Scan(&ts1again) - sqlDB.Exec(t, "BACKUP INTO LATEST IN ($1, $2, $3) AS OF SYSTEM TIME "+ts1again, collections...) - - sqlDB.Exec(t, "UPDATE data.bank SET balance = 200") - sqlDB.QueryRow(t, "SELECT cluster_logical_timestamp()").Scan(&ts2) - rowsTS2 := sqlDB.QueryStr(t, "SELECT * from data.bank ORDER BY id") - - // Start a new full-backup in the collection version. - sqlDB.Exec(t, "BACKUP INTO ($1, $2, $3) AS OF SYSTEM TIME "+ts2, collections...) - - sqlDB.Exec(t, "ALTER TABLE data.bank RENAME TO data.renamed") - sqlDB.Exec(t, "BACKUP INTO LATEST IN ($1, $2, $3)", collections...) - // TODO(dt): prevent backing up different targets to same collection? + // for testing backup *into* with specified subdirectory. + const specifiedSubdir = `subdir` - sqlDB.Exec(t, "DROP DATABASE data CASCADE") - sqlDB.Exec(t, "RESTORE DATABASE data FROM LATEST IN ($1, $2, $3)", collections...) - sqlDB.ExpectErr(t, "relation \"data.bank\" does not exist", "SELECT * FROM data.bank ORDER BY id") - sqlDB.CheckQueryResults(t, "SELECT * from data.renamed ORDER BY id", rowsTS2) + var full1, full2 string - findFullBackupPaths := func(baseDir, glob string) (string, string) { - matches, err := filepath.Glob(glob) - require.NoError(t, err) - require.Equal(t, 2, len(matches)) - for i := range matches { - matches[i] = strings.TrimPrefix(filepath.Dir(matches[i]), baseDir) + for _, test := range []struct { + name string + collections []interface{} + collectionsWithSubdir []interface{} + }{ + { + "nodelocal", + // for testing backup *into* collection, pick collection shards on each + // node. + makeCollections(`nodelocal://1/`, `nodelocal://2/`, `nodelocal://3/`), + makeCollectionsWithSubdir(`nodelocal://1`, `nodelocal://2`, `nodelocal://3`), + }, + { + "userfile", + makeCollections(`userfile:///0`, `userfile:///1`, `userfile:///2`), + makeCollectionsWithSubdir(`userfile:///0`, `userfile:///1`, `userfile:///2`), + }, + } { + var tsBefore, ts1, ts1again, ts2 string + sqlDB.QueryRow(t, "SELECT cluster_logical_timestamp()").Scan(&tsBefore) + sqlDB.Exec(t, "BACKUP INTO ($1, $2, $3) AS OF SYSTEM TIME "+tsBefore, test.collections...) + + // We cannot run `BACKUP INTO subdir` when a pre-existing backup does not + // exist at that location. + sqlDB.ExpectErr(t, "A full backup cannot be written to \"/subdir\", a user defined subdirectory", + "BACKUP INTO $4 IN ($1, $2, $3) AS OF SYSTEM TIME "+tsBefore, append(test.collectionsWithSubdir, specifiedSubdir)...) + + sqlDB.Exec(t, "UPDATE data.bank SET balance = 100") + sqlDB.QueryRow(t, "SELECT cluster_logical_timestamp()").Scan(&ts1) + sqlDB.Exec(t, "BACKUP INTO LATEST IN ($1, $2, $3) AS OF SYSTEM TIME "+ts1, test.collections...) + + // Append to latest again, just to prove we can append to an appended one and + // that appended didn't e.g. mess up LATEST. + sqlDB.QueryRow(t, "SELECT cluster_logical_timestamp()").Scan(&ts1again) + sqlDB.Exec(t, "BACKUP INTO LATEST IN ($1, $2, $3) AS OF SYSTEM TIME "+ts1again, test.collections...) + sqlDB.Exec(t, "UPDATE data.bank SET balance = 200") + sqlDB.QueryRow(t, "SELECT cluster_logical_timestamp()").Scan(&ts2) + rowsTS2 := sqlDB.QueryStr(t, "SELECT * from data.bank ORDER BY id") + + // Start a new full-backup in the collection version. + sqlDB.Exec(t, "BACKUP INTO ($1, $2, $3) AS OF SYSTEM TIME "+ts2, test.collections...) + + sqlDB.Exec(t, "ALTER TABLE data.bank RENAME TO data.renamed") + sqlDB.Exec(t, "BACKUP INTO LATEST IN ($1, $2, $3)", test.collections...) + + // TODO(dt): prevent backing up different targets to same collection? + + sqlDB.Exec(t, "DROP DATABASE data CASCADE") + sqlDB.Exec(t, "RESTORE DATABASE data FROM LATEST IN ($1, $2, $3)", test.collections...) + sqlDB.ExpectErr(t, "relation \"data.bank\" does not exist", "SELECT * FROM data.bank ORDER BY id") + sqlDB.CheckQueryResults(t, "SELECT * from data.renamed ORDER BY id", rowsTS2) + + findFullBackupPaths := func(baseDir, glob string) (string, string) { + matches, err := filepath.Glob(glob) + require.NoError(t, err) + require.Equal(t, 2, len(matches)) + for i := range matches { + matches[i] = strings.TrimPrefix(filepath.Dir(matches[i]), baseDir) + } + return matches[0], matches[1] } - return matches[0], matches[1] - } - // Find the backup times in the collection and try RESTORE'ing to each, and - // within each also check if we can restore to individual times captured with - // incremental backups that were appended to that backup. - fullBackup1, fullBackup2 := findFullBackupPaths(tmpDir, path.Join(tmpDir, "*/*/*/"+backupbase.BackupManifestName)) + runRestores := func(collections []interface{}, fullBackup1, fullBackup2 string) { + sqlDB.Exec(t, "DROP DATABASE data CASCADE") + sqlDB.Exec(t, "RESTORE DATABASE data FROM $4 IN ($1, $2, $3) AS OF SYSTEM TIME "+tsBefore, + append(collections, fullBackup1)...) - sqlDB.Exec(t, "DROP DATABASE data CASCADE") - sqlDB.Exec(t, "RESTORE DATABASE data FROM $4 IN ($1, $2, $3) AS OF SYSTEM TIME "+tsBefore, - append(collections, fullBackup1)...) + sqlDB.Exec(t, "DROP DATABASE data CASCADE") + sqlDB.Exec(t, "RESTORE DATABASE data FROM $4 IN ($1, $2, $3) AS OF SYSTEM TIME "+ts1, + append(collections, fullBackup1)...) - sqlDB.Exec(t, "DROP DATABASE data CASCADE") - sqlDB.Exec(t, "RESTORE DATABASE data FROM $4 IN ($1, $2, $3) AS OF SYSTEM TIME "+ts1, - append(collections, fullBackup1)...) + sqlDB.Exec(t, "DROP DATABASE data CASCADE") + sqlDB.Exec(t, "RESTORE DATABASE data FROM $4 IN ($1, $2, $3) AS OF SYSTEM TIME "+ts1again, + append(collections, fullBackup1)...) - sqlDB.Exec(t, "DROP DATABASE data CASCADE") - sqlDB.Exec(t, "RESTORE DATABASE data FROM $4 IN ($1, $2, $3) AS OF SYSTEM TIME "+ts1again, - append(collections, fullBackup1)...) + sqlDB.Exec(t, "DROP DATABASE data CASCADE") + sqlDB.Exec(t, "RESTORE DATABASE data FROM $4 IN ($1, $2, $3) AS OF SYSTEM TIME "+ts2, append(collections, fullBackup2)...) - sqlDB.Exec(t, "DROP DATABASE data CASCADE") - sqlDB.Exec(t, "RESTORE DATABASE data FROM $4 IN ($1, $2, $3) AS OF SYSTEM TIME "+ts2, append(collections, fullBackup2)...) + if test.name != "userfile" { + // Cluster restores from userfile are not supported yet since the + // restoring cluster needs to be empty, which means it can't contain any + // userfile tables. - _, sqlDBRestore, cleanupEmptyCluster := backupRestoreTestSetupEmpty(t, multiNode, tmpDir, InitManualReplication, params) - defer cleanupEmptyCluster() - sqlDBRestore.Exec(t, "RESTORE FROM $4 IN ($1, $2, $3) AS OF SYSTEM TIME "+ts2, append(collections, fullBackup2)...) + _, sqlDBRestore, cleanupEmptyCluster := backupRestoreTestSetupEmpty(t, multiNode, tmpDir, InitManualReplication, base.TestClusterArgs{}) + defer cleanupEmptyCluster() + sqlDBRestore.Exec(t, "RESTORE FROM $4 IN ($1, $2, $3) AS OF SYSTEM TIME "+ts2, append(collections, fullBackup2)...) + } + } + + if test.name == "userfile" { + // Find the backup times in the collection and try RESTORE'ing to each, and + // within each also check if we can restore to individual times captured with + // incremental backups that were appended to that backup. + s := tc.ApplicationLayer(0) + store, err := cloud.ExternalStorageFromURI(ctx, "userfile:///0", + base.ExternalIODirConfig{}, + s.ClusterSettings(), + blobs.TestEmptyBlobClientFactory, + username.RootUserName(), + s.InternalDB().(isql.DB), + nil, /* limiters */ + cloud.NilMetrics, + ) + require.NoError(t, err) + defer store.Close() + var files []string + require.NoError(t, store.List(ctx, "/", "", func(f string) error { + ok, err := path.Match("*/*/*/"+backupbase.BackupManifestName, f) + if ok { + files = append(files, f) + } + return err + })) + full1 = strings.TrimSuffix(files[0], backupbase.BackupManifestName) + full2 = strings.TrimSuffix(files[1], backupbase.BackupManifestName) + } else { + // Find the backup times in the collection and try RESTORE'ing to each, and + // within each also check if we can restore to individual times captured with + // incremental backups that were appended to that backup. + full1, full2 = findFullBackupPaths(tmpDir, path.Join(tmpDir, "*/*/*/"+backupbase.BackupManifestName)) + } + runRestores(test.collections, full1, full2) - // TODO(dt): test restoring to other backups via AOST. + // TODO(dt): test restoring to other backups via AOST. + } } func TestBackupAndRestoreJobDescription(t *testing.T) { @@ -695,6 +738,13 @@ func TestBackupAndRestoreJobDescription(t *testing.T) { const c1, c2, c3 = `nodelocal://1/full/`, `nodelocal://2/full/`, `nodelocal://3/full/` const i1, i2, i3 = `nodelocal://1/inc/`, `nodelocal://3/inc/`, `nodelocal://3/inc/` + const localFoo1, localFoo2, localFoo3 = localFoo + "/1", localFoo + "/2", localFoo + "/3" + backups := []interface{}{ + fmt.Sprintf("%s?COCKROACH_LOCALITY=%s", localFoo1, url.QueryEscape("default")), + fmt.Sprintf("%s?COCKROACH_LOCALITY=%s", localFoo2, url.QueryEscape("dc=dc1")), + fmt.Sprintf("%s?COCKROACH_LOCALITY=%s", localFoo3, url.QueryEscape("dc=dc2")), + } + collections := []interface{}{ fmt.Sprintf("%s?COCKROACH_LOCALITY=%s", c1, url.QueryEscape("default")), fmt.Sprintf("%s?COCKROACH_LOCALITY=%s", c2, url.QueryEscape("dc=dc1")), @@ -707,6 +757,8 @@ func TestBackupAndRestoreJobDescription(t *testing.T) { fmt.Sprintf("%s?COCKROACH_LOCALITY=%s", i3, url.QueryEscape("dc=dc2")), } + sqlDB.Exec(t, "BACKUP TO ($1, $2, $3)", backups...) + sqlDB.Exec(t, "BACKUP TO ($1,$2,$3) INCREMENTAL FROM $4", append(incrementals, backups[0])...) sqlDB.Exec(t, "BACKUP INTO ($1, $2, $3)", collections...) sqlDB.Exec(t, "BACKUP INTO LATEST IN ($1, $2, $3)", collections...) sqlDB.Exec(t, "BACKUP INTO LATEST IN ($1, $2, $3) WITH incremental_location = ($4, $5, $6)", @@ -722,6 +774,12 @@ func TestBackupAndRestoreJobDescription(t *testing.T) { time.Sleep(time.Second + 2) sqlDB.Exec(t, "BACKUP INTO ($1, $2, $3) AS OF SYSTEM TIME '-1s'", collections...) + { + // Ensure old style show backup runs properly with locality aware uri + sqlDB.Exec(t, "SHOW BACKUP $1", backups[0]) + sqlDB.Exec(t, "SHOW BACKUP $1", incrementals[0]) + } + // Find the subdirectory created by the full BACKUP INTO statement. matches, err := filepath.Glob(path.Join(tmpDir, "full/*/*/*/"+backupbase.BackupManifestName)) require.NoError(t, err) @@ -735,6 +793,10 @@ func TestBackupAndRestoreJobDescription(t *testing.T) { sqlDB.CheckQueryResults( t, "SELECT description FROM crdb_internal.jobs WHERE job_type = 'BACKUP' AND status != 'failed'", [][]string{ + {fmt.Sprintf("BACKUP TO ('%s', '%s', '%s')", backups[0].(string), backups[1].(string), + backups[2].(string))}, + {fmt.Sprintf("BACKUP TO ('%s', '%s', '%s') INCREMENTAL FROM '%s'", incrementals[0], + incrementals[1], incrementals[2], backups[0])}, {fmt.Sprintf("BACKUP INTO '%s' IN ('%s', '%s', '%s')", full1, collections[0], collections[1], collections[2])}, {fmt.Sprintf("BACKUP INTO '%s' IN ('%s', '%s', '%s')", full1, @@ -750,6 +812,9 @@ func TestBackupAndRestoreJobDescription(t *testing.T) { [][]string{{fmt.Sprintf("BACKUP INTO '%s' IN ('%s', '%s', '%s')", "/subdir", collections[0], collections[1], collections[2])}}) + sqlDB.Exec(t, "DROP DATABASE data CASCADE") + sqlDB.Exec(t, "RESTORE DATABASE data FROM ($1, $2, $3)", backups...) + sqlDB.Exec(t, "DROP DATABASE data CASCADE") sqlDB.Exec(t, "RESTORE DATABASE data FROM $4 IN ($1, $2, $3)", append(collections, full1)...) @@ -765,19 +830,43 @@ func TestBackupAndRestoreJobDescription(t *testing.T) { sqlDB.Exec(t, "DROP DATABASE data CASCADE") sqlDB.Exec(t, "RESTORE DATABASE data FROM $4 IN ($1, $2, $3)", append(collections, asOf1)...) + // The flavors of BACKUP and RESTORE which automatically resolve the right + // directory to read/write data to, have URIs with the resolved path written + // to the job description. + getResolvedCollectionURIs := func(prefixes []interface{}, subdir string) []string { + resolvedCollectionURIs := make([]string, len(prefixes)) + for i, collection := range prefixes { + parsed, err := url.Parse(collection.(string)) + require.NoError(t, err) + parsed.Path = path.Join(parsed.Path, subdir) + resolvedCollectionURIs[i] = parsed.String() + } + + return resolvedCollectionURIs + } + + resolvedCollectionURIs := getResolvedCollectionURIs(collections, full1) + resolvedIncURIs := getResolvedCollectionURIs(incrementals, full1) + resolvedAsOfCollectionURIs := getResolvedCollectionURIs(collections, asOf1) + sqlDB.CheckQueryResults( t, "SELECT description FROM crdb_internal.jobs WHERE job_type='RESTORE' ORDER BY created", [][]string{ - {fmt.Sprintf("RESTORE DATABASE data FROM '%s' IN ('%s', '%s', '%s')", - full1, collections[0], collections[1], collections[2])}, - {fmt.Sprintf("RESTORE DATABASE data FROM '%s' IN ('%s', '%s', '%s') WITH OPTIONS (incremental_location = ('%s', '%s', '%s'))", - full1, collections[0], collections[1], collections[2], - incrementals[0], incrementals[1], incrementals[2])}, - {fmt.Sprintf("RESTORE DATABASE data FROM '%s' IN ('%s', '%s', '%s')", - asOf1, collections[0], collections[1], collections[2])}, + {fmt.Sprintf("RESTORE DATABASE data FROM ('%s', '%s', '%s')", + backups[0].(string), backups[1].(string), backups[2].(string))}, + {fmt.Sprintf("RESTORE DATABASE data FROM ('%s', '%s', '%s')", + resolvedCollectionURIs[0], resolvedCollectionURIs[1], + resolvedCollectionURIs[2])}, + {fmt.Sprintf("RESTORE DATABASE data FROM ('%s', '%s', '%s') WITH OPTIONS (incremental_location = ('%s', '%s', '%s'))", + resolvedCollectionURIs[0], resolvedCollectionURIs[1], resolvedCollectionURIs[2], + resolvedIncURIs[0], resolvedIncURIs[1], resolvedIncURIs[2])}, + {fmt.Sprintf("RESTORE DATABASE data FROM ('%s', '%s', '%s')", + resolvedAsOfCollectionURIs[0], resolvedAsOfCollectionURIs[1], + resolvedAsOfCollectionURIs[2])}, // and again from LATEST IN... - {fmt.Sprintf("RESTORE DATABASE data FROM '%s' IN ('%s', '%s', '%s')", - asOf1, collections[0], collections[1], collections[2])}, + {fmt.Sprintf("RESTORE DATABASE data FROM ('%s', '%s', '%s')", + resolvedAsOfCollectionURIs[0], resolvedAsOfCollectionURIs[1], + resolvedAsOfCollectionURIs[2])}, }, ) } @@ -847,7 +936,7 @@ func TestBackupRestoreNegativePrimaryKey(t *testing.T) { var unused string var exportedRows, exportedIndexEntries int - sqlDB.QueryRow(t, `BACKUP DATABASE data INTO $1`, localFoo+"/alteredPK").Scan( + sqlDB.QueryRow(t, `BACKUP DATABASE data TO $1`, localFoo+"/alteredPK").Scan( &unused, &unused, &unused, &exportedRows, &exportedIndexEntries, &unused, ) if exportedRows != numAccounts { @@ -1099,8 +1188,8 @@ func TestBackupRestoreSystemTables(t *testing.T) { // Backup and restore the tables into a new database. sqlDB.Exec(t, `CREATE DATABASE system_new`) - sqlDB.Exec(t, fmt.Sprintf(`BACKUP %s INTO '%s' AS OF SYSTEM TIME %s`, tableSpec, localFoo, backupAsOf)) - sqlDB.Exec(t, fmt.Sprintf(`RESTORE %s FROM LATEST IN '%s' WITH into_db='system_new'`, tableSpec, localFoo)) + sqlDB.Exec(t, fmt.Sprintf(`BACKUP %s TO '%s' AS OF SYSTEM TIME %s`, tableSpec, localFoo, backupAsOf)) + sqlDB.Exec(t, fmt.Sprintf(`RESTORE %s FROM '%s' WITH into_db='system_new'`, tableSpec, localFoo)) // Verify the fingerprints match. for _, table := range tables { @@ -1115,7 +1204,7 @@ func TestBackupRestoreSystemTables(t *testing.T) { // directly over the existing system tables. sqlDB.ExpectErr( t, `relation ".+" already exists`, - fmt.Sprintf(`RESTORE %s FROM LATEST IN '%s'`, tableSpec, localFoo), + fmt.Sprintf(`RESTORE %s FROM '%s'`, tableSpec, localFoo), ) } @@ -1128,8 +1217,11 @@ func TestBackupRestoreSystemJobs(t *testing.T) { conn := sqlDB.DB.(*gosql.DB) defer cleanupFn() - sanitizedCollectionDir := localFoo + "/full?AWS_SESSION_TOKEN=" - collectionDir := sanitizedCollectionDir + "moarSecretsHere" + sanitizedIncDir := localFoo + "/inc?AWS_SESSION_TOKEN=" + incDir := sanitizedIncDir + "secretCredentialsHere" + + sanitizedFullDir := localFoo + "/full?AWS_SESSION_TOKEN=" + fullDir := sanitizedFullDir + "moarSecretsHere" backupDatabaseID := sqlutils.QueryDatabaseID(t, conn, "data") backupSchemaID := sqlutils.QuerySchemaID(t, conn, "data", "public") @@ -1137,19 +1229,24 @@ func TestBackupRestoreSystemJobs(t *testing.T) { sqlDB.Exec(t, `CREATE DATABASE restoredb`) + // We create a full backup so that, below, we can test that incremental + // backups sanitize credentials in "INCREMENTAL FROM" URLs. + // // NB: We don't bother making assertions about this full backup since there // are no meaningful differences in how full and incremental backups report - // status to the system.jobs table. - sqlDB.Exec(t, `BACKUP DATABASE data INTO $1`, collectionDir) + // status to the system.jobs table. Since the incremental BACKUP syntax is a + // superset of the full BACKUP syntax, we'll cover everything by verifying the + // incremental backup below. + sqlDB.Exec(t, `BACKUP DATABASE data TO $1`, fullDir) sqlDB.Exec(t, `SET DATABASE = data`) - fullDir := getLatestFullDir(t, sqlDB, collectionDir) - - sqlDB.Exec(t, `BACKUP TABLE bank INTO LATEST IN $1`, collectionDir) + sqlDB.Exec(t, `BACKUP TABLE bank TO $1 INCREMENTAL FROM $2`, incDir, fullDir) if err := jobutils.VerifySystemJob(t, sqlDB, 1, jobspb.TypeBackup, jobs.StatusSucceeded, jobs.Record{ Username: username.RootUserName(), Description: fmt.Sprintf( - `BACKUP TABLE bank INTO '%s' IN '%s'`, fullDir, sanitizedCollectionDir+"redacted"), + `BACKUP TABLE bank TO '%s' INCREMENTAL FROM '%s'`, + sanitizedIncDir+"redacted", sanitizedFullDir+"redacted", + ), DescriptorIDs: descpb.IDs{ descpb.ID(backupDatabaseID), descpb.ID(backupSchemaID), @@ -1159,14 +1256,12 @@ func TestBackupRestoreSystemJobs(t *testing.T) { t.Fatal(err) } - sqlDB.Exec(t, `RESTORE TABLE bank FROM LATEST IN $1 WITH OPTIONS (into_db='restoredb')`, collectionDir) - + sqlDB.Exec(t, `RESTORE TABLE bank FROM $1, $2 WITH OPTIONS (into_db='restoredb')`, fullDir, incDir) if err := jobutils.VerifySystemJob(t, sqlDB, 0, jobspb.TypeRestore, jobs.StatusSucceeded, jobs.Record{ Username: username.RootUserName(), Description: fmt.Sprintf( - `RESTORE TABLE bank FROM '%s' IN '%sredacted' WITH OPTIONS (into_db = 'restoredb')`, - fullDir, - sanitizedCollectionDir, + `RESTORE TABLE bank FROM '%s', '%s' WITH OPTIONS (into_db = 'restoredb')`, + sanitizedFullDir+"redacted", sanitizedIncDir+"redacted", ), }); err != nil { t.Fatal(err) @@ -1240,18 +1335,16 @@ func TestEncryptedBackupRestoreSystemJobs(t *testing.T) { restoreDatabaseID := sqlutils.QueryDatabaseID(t, conn, "restoredb") // Take an encrypted BACKUP. - sqlDB.Exec(t, fmt.Sprintf(`BACKUP DATABASE data INTO $1 WITH %s`, encryptionOption), + sqlDB.Exec(t, fmt.Sprintf(`BACKUP DATABASE data TO $1 WITH %s`, encryptionOption), backupLoc1) - fullDir := getLatestFullDir(t, sqlDB, backupLoc1) - // Verify the BACKUP job description is sanitized. if err := jobutils.VerifySystemJob(t, sqlDB, 0, jobspb.TypeBackup, jobs.StatusSucceeded, jobs.Record{ Username: username.RootUserName(), Description: fmt.Sprintf( - `BACKUP DATABASE data INTO '%s' IN '%s' WITH OPTIONS (%s)`, - fullDir, backupLoc1, sanitizedEncryptionOption), + `BACKUP DATABASE data TO '%s' WITH OPTIONS (%s)`, + backupLoc1, sanitizedEncryptionOption), DescriptorIDs: descpb.IDs{ descpb.ID(backupDatabaseID), descpb.ID(backupSchemaID), @@ -1262,15 +1355,15 @@ func TestEncryptedBackupRestoreSystemJobs(t *testing.T) { } // Perform an encrypted RESTORE. - sqlDB.Exec(t, fmt.Sprintf(`RESTORE TABLE data.bank FROM LATEST IN $1 WITH OPTIONS ( + sqlDB.Exec(t, fmt.Sprintf(`RESTORE TABLE data.bank FROM $1 WITH OPTIONS ( into_db='restoredb', %s)`, encryptionOption), backupLoc1) // Verify the RESTORE job description is sanitized. if err := jobutils.VerifySystemJob(t, sqlDB, 0, jobspb.TypeRestore, jobs.StatusSucceeded, jobs.Record{ Username: username.RootUserName(), Description: fmt.Sprintf( - `RESTORE TABLE data.bank FROM '%s' IN '%s' WITH OPTIONS (%s, into_db = 'restoredb')`, - fullDir, backupLoc1, sanitizedEncryptionOption, + `RESTORE TABLE data.bank FROM '%s' WITH OPTIONS (%s, into_db = 'restoredb')`, + backupLoc1, sanitizedEncryptionOption, ), DescriptorIDs: descpb.IDs{ descpb.ID(restoreDatabaseID + 1), @@ -1543,61 +1636,6 @@ func TestRestoreRetryProcErr(t *testing.T) { }) } -func TestRestoreReplanOnLag(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - skip.UnderRace(t, "slow test under stress race") - - retryErrorChan := make(chan error) - defer close(retryErrorChan) - //Shorten replan frequency setting to reduce test runtime. - replanFreq := time.Millisecond * 10 - - params := base.TestClusterArgs{} - knobs := base.TestingKnobs{ - BackupRestore: &sql.BackupRestoreTestingKnobs{ - RunAfterRetryIteration: func(err error) error { - retryErrorChan <- err - return jobs.MarkAsPermanentJobError(err) - }, - RunAfterRestoreProcDrains: func() { - var timer timeutil.Timer - defer timer.Stop() - // Lag processors with double the duration of replan - // frequency such that the timer will be up before - // procCompleteCh receives a ping. - timer.Reset(replanFreq * 2) - for range timer.C { - timer.Read = true - break - } - }, - }, - JobsTestingKnobs: jobs.NewTestingKnobsWithShortIntervals(), - } - params.ServerArgs = base.TestServerArgs{Knobs: knobs} - c, sqlDB, _, cleanupFn := backupRestoreTestSetupWithParams(t, multiNode, 1, InitManualReplication, params) - defer cleanupFn() - serverutils.SetClusterSetting(t, c, "bulkio.restore.replan_flow_frequency", replanFreq) - - sqlDB.Exec(t, `CREATE DATABASE d`) - sqlDB.Exec(t, `USE d`) - sqlDB.Exec(t, `CREATE TABLE t (a INT PRIMARY KEY)`) - sqlDB.Exec(t, `INSERT INTO t (a) SELECT * FROM generate_series(1, 100)`) - - // Create BACKUP and RESTORE jobs. - sqlDB.Exec(t, `BACKUP DATABASE d INTO $1`, localFoo) - sqlDB.Exec(t, `DROP DATABASE d`) - var restoreJobID jobspb.JobID - sqlDB.QueryRow(t, `RESTORE DATABASE d FROM LATEST IN $1 WITH DETACHED`, localFoo).Scan(&restoreJobID) - - require.ErrorContains(t, <-retryErrorChan, laggingRestoreProcErr.Error()) - - sqlDB.Exec(t, `USE system`) - jobutils.WaitForJobToFail(t, sqlDB, restoreJobID) -} - // TestBackupJobRetryReset tests that the job level retry counter // resets after the backup progresses. To do so, the test does the following: // 1. Intercept the backup job before the flow begins and send a retryable error. @@ -1788,9 +1826,7 @@ func TestBackupRestoreResume(t *testing.T) { t.Fatal(err) } if backupinfo.IsGZipped(backupManifestBytes) { - backupManifestBytes, err = backupinfo.DecompressData( - ctx, mon.NewStandaloneUnlimitedAccount(), backupManifestBytes, - ) + backupManifestBytes, err = backupinfo.DecompressData(ctx, nil, backupManifestBytes) require.NoError(t, err) } var backupManifest backuppb.BackupManifest @@ -1812,8 +1848,7 @@ func TestBackupRestoreResume(t *testing.T) { // as to not intefere with each other. However, they should both be // the same to RESTORE so we arbitrarily pick this directory. restoreDir := "nodelocal://1/restore-backup-progress-directory" - sqlDB.Exec(t, `BACKUP DATABASE DATA INTO $1`, restoreDir) - fullDir := getLatestFullDir(t, sqlDB, restoreDir) + sqlDB.Exec(t, `BACKUP DATABASE DATA TO $1`, restoreDir) sqlDB.Exec(t, `CREATE DATABASE restoredb`) restoreDatabaseID := sqlutils.QueryDatabaseID(t, sqlDB.DB, "restoredb") restoreTableID, err := tc.ApplicationLayer(0).ExecutorConfig().(sql.ExecutorConfig).DescIDGenerator.GenerateUniqueDescID(ctx) @@ -1837,7 +1872,7 @@ func TestBackupRestoreResume(t *testing.T) { ID: restoreTableID, }, }, - URIs: []string{fmt.Sprintf("%s%s", restoreDir, fullDir)}, + URIs: []string{restoreDir}, }, jobspb.RestoreProgress{ Checkpoint: []jobspb.RestoreProgress_FrontierEntry{ @@ -1846,7 +1881,8 @@ func TestBackupRestoreResume(t *testing.T) { Timestamp: completedSpanTime}, }, }, - clusterversion.MinSupported.Version(), + // Required because restore checkpointing is version gated. + clusterversion.V23_1.Version(), ) // If the restore properly took the (incorrect) low-water mark into account, // the first half of the table will be missing. @@ -1961,13 +1997,13 @@ func TestBackupRestoreUserDefinedSchemas(t *testing.T) { sqlDB.Exec(t, `CREATE TABLE sc.tb2 (x sc.typ1);`) sqlDB.Exec(t, `INSERT INTO sc.tb2 VALUES ('hello');`) // Now backup the full cluster. - sqlDB.Exec(t, `BACKUP INTO 'nodelocal://1/test/'`) + sqlDB.Exec(t, `BACKUP TO 'nodelocal://1/test/'`) // Start a new server that shares the data directory. _, sqlDBRestore, cleanupRestore := backupRestoreTestSetupEmpty(t, singleNode, dataDir, InitManualReplication, base.TestClusterArgs{}) defer cleanupRestore() // Restore into the new cluster. - sqlDBRestore.Exec(t, `RESTORE FROM LATEST IN 'nodelocal://1/test/'`) + sqlDBRestore.Exec(t, `RESTORE FROM 'nodelocal://1/test/'`) // Check that we can resolve all names through the user defined schema. sqlDBRestore.CheckQueryResults(t, `SELECT * FROM d.sc.tb1`, [][]string{{"1"}}) @@ -2093,15 +2129,15 @@ table_name from [SHOW TABLES FROM restore] ORDER BY schema_name, table_name`, tc // to d.public.tb1. sqlDB.ExpectErr(t, `pq: failed to resolve targets specified in the BACKUP stmt: table "d.tb1" does not exist`, `BACKUP TABLE d.tb1 TO 'nodelocal://1/test/'`) // Backup tb1. - sqlDB.Exec(t, `BACKUP TABLE d.sc.tb1 INTO 'nodelocal://1/test/'`) + sqlDB.Exec(t, `BACKUP TABLE d.sc.tb1 TO 'nodelocal://1/test/'`) // Create a new database to restore into. This restore should restore the // schema sc into the new database. sqlDB.Exec(t, `CREATE DATABASE d2`) // We must properly qualify the table name when restoring as well. - sqlDB.ExpectErr(t, `pq: failed to resolve targets in the BACKUP location specified by the RESTORE statement, use SHOW BACKUP to find correct targets: table "d.tb1" does not exist`, `RESTORE TABLE d.tb1 FROM LATEST IN 'nodelocal://1/test/' WITH into_db = 'd2'`) + sqlDB.ExpectErr(t, `pq: failed to resolve targets in the BACKUP location specified by the RESTORE statement, use SHOW BACKUP to find correct targets: table "d.tb1" does not exist`, `RESTORE TABLE d.tb1 FROM 'nodelocal://1/test/' WITH into_db = 'd2'`) - sqlDB.Exec(t, `RESTORE TABLE d.sc.tb1 FROM LATEST IN 'nodelocal://1/test/' WITH into_db = 'd2'`) + sqlDB.Exec(t, `RESTORE TABLE d.sc.tb1 FROM 'nodelocal://1/test/' WITH into_db = 'd2'`) // Check that we can resolve all names through the user defined schema. sqlDB.CheckQueryResults(t, `SELECT * FROM d2.sc.tb1`, [][]string{{"hello"}}) @@ -2114,10 +2150,10 @@ table_name from [SHOW TABLES FROM restore] ORDER BY schema_name, table_name`, tc { // Test that we can * expand schema prefixed names. Create a new backup // with all the tables in d.sc. - sqlDB.Exec(t, `BACKUP TABLE d.sc.* INTO 'nodelocal://1/test2/'`) + sqlDB.Exec(t, `BACKUP TABLE d.sc.* TO 'nodelocal://1/test2/'`) // Create a new database to restore into. sqlDB.Exec(t, `CREATE DATABASE d3`) - sqlDB.Exec(t, `RESTORE TABLE d.sc.* FROM LATEST IN 'nodelocal://1/test2/' WITH into_db = 'd3'`) + sqlDB.Exec(t, `RESTORE TABLE d.sc.* FROM 'nodelocal://1/test2/' WITH into_db = 'd3'`) // Check that we can resolve all names through the user defined schema. sqlDB.CheckQueryResults(t, `SELECT * FROM d3.sc.tb1`, [][]string{{"hello"}}) @@ -2155,7 +2191,7 @@ table_name from [SHOW TABLES FROM restore] ORDER BY schema_name, table_name`, tc sqlDB.Exec(t, `INSERT INTO sc4.tb VALUES (4);`) { // Backup all databases. - sqlDB.Exec(t, `BACKUP DATABASE d1, d2 INTO 'nodelocal://1/test/'`) + sqlDB.Exec(t, `BACKUP DATABASE d1, d2 TO 'nodelocal://1/test/'`) // Create a new database to restore into. This restore should restore the // schemas into the new database. sqlDB.Exec(t, `CREATE DATABASE newdb`) @@ -2166,7 +2202,7 @@ table_name from [SHOW TABLES FROM restore] ORDER BY schema_name, table_name`, tc sqlDB.Exec(t, `CREATE TABLE existingschema.tb (x INT)`) sqlDB.Exec(t, `INSERT INTO existingschema.tb VALUES (0)`) - sqlDB.Exec(t, `RESTORE TABLE d1.sc1.*, d1.sc2.*, d2.sc3.*, d2.sc4.* FROM LATEST IN 'nodelocal://1/test/' WITH into_db = 'newdb'`) + sqlDB.Exec(t, `RESTORE TABLE d1.sc1.*, d1.sc2.*, d2.sc3.*, d2.sc4.* FROM 'nodelocal://1/test/' WITH into_db = 'newdb'`) // Check that we can resolve all names through the user defined schemas. sqlDB.CheckQueryResults(t, `SELECT * FROM newdb.sc1.tb`, [][]string{{"1"}}) @@ -2199,11 +2235,11 @@ table_name from [SHOW TABLES FROM restore] ORDER BY schema_name, table_name`, tc sqlDB.Exec(t, `CREATE TABLE sc.tb1 (x sc.typ1);`) sqlDB.Exec(t, `INSERT INTO sc.tb1 VALUES ('hello');`) // Take a backup. - sqlDB.Exec(t, `BACKUP TABLE d.sc.tb1 INTO 'nodelocal://1/test/'`) + sqlDB.Exec(t, `BACKUP TABLE d.sc.tb1 TO 'nodelocal://1/test/'`) // Now drop the table. sqlDB.Exec(t, `DROP TABLE d.sc.tb1`) // Restoring the table should restore into d.sc. - sqlDB.Exec(t, `RESTORE TABLE d.sc.tb1 FROM LATEST IN 'nodelocal://1/test/'`) + sqlDB.Exec(t, `RESTORE TABLE d.sc.tb1 FROM 'nodelocal://1/test/'`) sqlDB.CheckQueryResults(t, `SELECT * FROM d.sc.tb1`, [][]string{{"hello"}}) }) } @@ -2248,7 +2284,7 @@ CREATE TABLE d.t1 (x d.farewell); `) sqlDB.QueryRow(t, `SELECT cluster_logical_timestamp()`).Scan(&ts3) // Make a full backup that includes ts1, ts2 and ts3. - sqlDB.Exec(t, `BACKUP DATABASE d INTO 'nodelocal://1/rev-history-backup' WITH revision_history`) + sqlDB.Exec(t, `BACKUP DATABASE d TO 'nodelocal://1/rev-history-backup' WITH revision_history`) sqlDB.Exec(t, ` DROP TABLE d.t1; @@ -2262,7 +2298,7 @@ CREATE TABLE d.t1 (x d.farewell); `) sqlDB.QueryRow(t, `SELECT cluster_logical_timestamp()`).Scan(&ts5) // Make an incremental backup that includes ts4 and ts5. - sqlDB.Exec(t, `BACKUP DATABASE d INTO 'nodelocal://1/rev-history-backup' WITH revision_history`) + sqlDB.Exec(t, `BACKUP DATABASE d TO 'nodelocal://1/rev-history-backup' WITH revision_history`) t.Run("ts1", func(t *testing.T) { // Expect the farewell type ('bye', 'cya') to be restored - from the full @@ -2270,7 +2306,7 @@ CREATE TABLE d.t1 (x d.farewell); sqlDB.Exec(t, `DROP DATABASE d;`) sqlDB.Exec(t, fmt.Sprintf(` -RESTORE DATABASE d FROM LATEST IN 'nodelocal://1/rev-history-backup' +RESTORE DATABASE d FROM 'nodelocal://1/rev-history-backup' AS OF SYSTEM TIME %s `, ts1)) sqlDB.ExpectErr(t, `pq: type "d.public.farewell" already exists`, @@ -2289,7 +2325,7 @@ RESTORE DATABASE d FROM LATEST IN 'nodelocal://1/rev-history-backup' sqlDB.Exec(t, `DROP DATABASE d;`) sqlDB.Exec(t, fmt.Sprintf(` - RESTORE DATABASE d FROM LATEST IN 'nodelocal://1/rev-history-backup' + RESTORE DATABASE d FROM 'nodelocal://1/rev-history-backup' AS OF SYSTEM TIME %s `, ts2)) sqlDB.Exec(t, `CREATE TYPE d.farewell AS ENUM ('bye', 'cya')`) @@ -2301,7 +2337,7 @@ RESTORE DATABASE d FROM LATEST IN 'nodelocal://1/rev-history-backup' sqlDB.Exec(t, `DROP DATABASE d;`) sqlDB.Exec(t, fmt.Sprintf(` - RESTORE DATABASE d FROM LATEST IN 'nodelocal://1/rev-history-backup' + RESTORE DATABASE d FROM 'nodelocal://1/rev-history-backup' AS OF SYSTEM TIME %s `, ts3)) sqlDB.ExpectErr(t, `pq: type "d.public.farewell" already exists`, @@ -2320,7 +2356,7 @@ RESTORE DATABASE d FROM LATEST IN 'nodelocal://1/rev-history-backup' sqlDB.Exec(t, `DROP DATABASE d;`) sqlDB.Exec(t, fmt.Sprintf(` - RESTORE DATABASE d FROM LATEST IN 'nodelocal://1/rev-history-backup' + RESTORE DATABASE d FROM 'nodelocal://1/rev-history-backup' AS OF SYSTEM TIME %s `, ts4)) sqlDB.Exec(t, `CREATE TYPE d.farewell AS ENUM ('bye', 'cya')`) @@ -2332,7 +2368,7 @@ RESTORE DATABASE d FROM LATEST IN 'nodelocal://1/rev-history-backup' sqlDB.Exec(t, `DROP DATABASE d;`) sqlDB.Exec(t, fmt.Sprintf(` - RESTORE DATABASE d FROM LATEST IN 'nodelocal://1/rev-history-backup' + RESTORE DATABASE d FROM 'nodelocal://1/rev-history-backup' AS OF SYSTEM TIME %s `, ts5)) sqlDB.ExpectErr(t, `pq: type "d.public.farewell" already exists`, @@ -2364,11 +2400,11 @@ INSERT INTO d.t3 VALUES ('hi'); // Test backups of t. { // Now backup t. - sqlDB.Exec(t, `BACKUP TABLE d.t INTO 'nodelocal://1/test/'`) + sqlDB.Exec(t, `BACKUP TABLE d.t TO 'nodelocal://1/test/'`) // Create a new database to restore the table into. sqlDB.Exec(t, `CREATE DATABASE d2`) // Restore t into d2. - sqlDB.Exec(t, `RESTORE TABLE d.t FROM LATEST IN 'nodelocal://1/test/' WITH into_db = 'd2'`) + sqlDB.Exec(t, `RESTORE TABLE d.t FROM 'nodelocal://1/test/' WITH into_db = 'd2'`) // Ensure that greeting type has been restored into d2 as well. sqlDB.Exec(t, `CREATE TABLE d2.t2 (x d2.greeting, y d2._greeting)`) // Check that the table data is as expected. @@ -2379,11 +2415,11 @@ INSERT INTO d.t3 VALUES ('hi'); // checking that the base type gets included as well. { // Now backup t2. - sqlDB.Exec(t, `BACKUP TABLE d.t2 INTO 'nodelocal://1/test2/'`) + sqlDB.Exec(t, `BACKUP TABLE d.t2 TO 'nodelocal://1/test2/'`) // Create a new database to restore the table into. sqlDB.Exec(t, `CREATE DATABASE d3`) // Restore t2 into d3. - sqlDB.Exec(t, `RESTORE TABLE d.t2 FROM LATEST IN 'nodelocal://1/test2/' WITH into_db = 'd3'`) + sqlDB.Exec(t, `RESTORE TABLE d.t2 FROM 'nodelocal://1/test2/' WITH into_db = 'd3'`) // Ensure that the base type and array type have been restored into d3. sqlDB.Exec(t, `CREATE TABLE d3.t (x d3.greeting, y d3._greeting)`) // Check that the table data is as expected. @@ -2393,11 +2429,11 @@ INSERT INTO d.t3 VALUES ('hi'); // Create a backup of all the tables in d. { // Backup all of the tables. - sqlDB.Exec(t, `BACKUP d.* INTO 'nodelocal://1/test_all_tables/'`) + sqlDB.Exec(t, `BACKUP d.* TO 'nodelocal://1/test_all_tables/'`) // Create a new database to restore all of the tables into. sqlDB.Exec(t, `CREATE DATABASE d4`) // Restore all of the tables. - sqlDB.Exec(t, `RESTORE TABLE d.* FROM LATEST IN 'nodelocal://1/test_all_tables/' WITH into_db = 'd4'`) + sqlDB.Exec(t, `RESTORE TABLE d.* FROM 'nodelocal://1/test_all_tables/' WITH into_db = 'd4'`) // Check that all of the tables have expected data. sqlDB.CheckQueryResults(t, `SELECT * FROM d4.t ORDER BY x`, [][]string{{"hello"}, {"howdy"}}) sqlDB.CheckQueryResults(t, `SELECT * FROM d4.t2 ORDER BY x`, [][]string{{"{hello}"}}) @@ -2423,9 +2459,9 @@ INSERT INTO d.t2 VALUES (ARRAY['hello']); `) { // Backup and restore t. - sqlDB.Exec(t, `BACKUP TABLE d.t INTO 'nodelocal://1/test/'`) + sqlDB.Exec(t, `BACKUP TABLE d.t TO 'nodelocal://1/test/'`) sqlDB.Exec(t, `DROP TABLE d.t`) - sqlDB.Exec(t, `RESTORE TABLE d.t FROM LATEST IN 'nodelocal://1/test/'`) + sqlDB.Exec(t, `RESTORE TABLE d.t FROM 'nodelocal://1/test/'`) // Check that the table data is restored correctly and the types aren't touched. sqlDB.CheckQueryResults(t, `SELECT 'hello'::d.greeting, ARRAY['hello']::d.greeting[]`, [][]string{{"hello", "{hello}"}}) @@ -2438,9 +2474,9 @@ INSERT INTO d.t2 VALUES (ARRAY['hello']); { // Test that backing up an restoring a table with just the array type // will remap types appropriately. - sqlDB.Exec(t, `BACKUP TABLE d.t2 INTO 'nodelocal://1/test2/'`) + sqlDB.Exec(t, `BACKUP TABLE d.t2 TO 'nodelocal://1/test2/'`) sqlDB.Exec(t, `DROP TABLE d.t2`) - sqlDB.Exec(t, `RESTORE TABLE d.t2 FROM LATEST IN 'nodelocal://1/test2/'`) + sqlDB.Exec(t, `RESTORE TABLE d.t2 FROM 'nodelocal://1/test2/'`) sqlDB.CheckQueryResults(t, `SELECT 'hello'::d.greeting, ARRAY['hello']::d.greeting[]`, [][]string{{"hello", "{hello}"}}) sqlDB.CheckQueryResults(t, `SELECT * FROM d.t2 ORDER BY x`, [][]string{{"{hello}"}}) } @@ -2451,12 +2487,12 @@ INSERT INTO d.t2 VALUES (ARRAY['hello']); sqlDB.Exec(t, `CREATE TYPE d2.greeting AS ENUM ('hello', 'howdy', 'hi')`) // Now restore t into this database. It should remap d.greeting to d2.greeting. - sqlDB.Exec(t, `RESTORE TABLE d.t FROM LATEST IN 'nodelocal://1/test/' WITH into_db = 'd2'`) + sqlDB.Exec(t, `RESTORE TABLE d.t FROM 'nodelocal://1/test/' WITH into_db = 'd2'`) sqlDB.CheckQueryResults(t, `SELECT * FROM d2.t ORDER BY x`, [][]string{{"hello"}, {"howdy"}}) sqlDB.Exec(t, `INSERT INTO d2.t VALUES ('hi'::d2.greeting)`) // Restore t2 as well. - sqlDB.Exec(t, `RESTORE TABLE d.t2 FROM LATEST IN 'nodelocal://1/test2/' WITH into_db = 'd2'`) + sqlDB.Exec(t, `RESTORE TABLE d.t2 FROM 'nodelocal://1/test2/' WITH into_db = 'd2'`) sqlDB.CheckQueryResults(t, `SELECT * FROM d2.t2 ORDER BY x`, [][]string{{"{hello}"}}) sqlDB.Exec(t, `INSERT INTO d2.t2 VALUES (ARRAY['hi'::d2.greeting])`) @@ -2472,12 +2508,12 @@ INSERT INTO d.t2 VALUES (ARRAY['hello']); // Now restore t into this database. We'll attempt to remap d.greeting to // d3.greeting and fail because they aren't compatible. - sqlDB.ExpectErr(t, `could not find enum value "hi"`, `RESTORE TABLE d.t FROM LATEST IN'nodelocal://1/test/' WITH into_db = 'd3'`) + sqlDB.ExpectErr(t, `could not find enum value "hi"`, `RESTORE TABLE d.t FROM 'nodelocal://1/test/' WITH into_db = 'd3'`) // Test the same case, but with differing internal representations. sqlDB.Exec(t, `CREATE DATABASE d4`) sqlDB.Exec(t, `CREATE TYPE d4.greeting AS ENUM ('hello', 'howdy', 'hi', 'greetings')`) - sqlDB.ExpectErr(t, `has differing physical representation`, `RESTORE TABLE d.t FROM LATEST IN 'nodelocal://1/test/' WITH into_db = 'd4'`) + sqlDB.ExpectErr(t, `has differing physical representation`, `RESTORE TABLE d.t FROM 'nodelocal://1/test/' WITH into_db = 'd4'`) } { @@ -2491,14 +2527,14 @@ INSERT INTO d.t2 VALUES (ARRAY['hello']); // Create a table using these ___typ1. sqlDB.Exec(t, `CREATE TABLE d5.tb1 (x d5.typ1[])`) // Backup tb1. - sqlDB.Exec(t, `BACKUP TABLE d5.tb1 INTO 'nodelocal://1/testd5/'`) + sqlDB.Exec(t, `BACKUP TABLE d5.tb1 TO 'nodelocal://1/testd5/'`) // Create another database with a compatible type. sqlDB.Exec(t, `CREATE DATABASE d6`) sqlDB.Exec(t, `CREATE TYPE d6.typ1 AS ENUM ('v1', 'v2')`) // Restoring tb1 into d6 will remap d5.typ1 to d6.typ1 and d5.___typ1 // to d6._typ1. - sqlDB.Exec(t, `RESTORE TABLE d5.tb1 FROM LATEST IN 'nodelocal://1/testd5/' WITH into_db = 'd6'`) + sqlDB.Exec(t, `RESTORE TABLE d5.tb1 FROM 'nodelocal://1/testd5/' WITH into_db = 'd6'`) sqlDB.Exec(t, `INSERT INTO d6.tb1 VALUES (ARRAY['v1']::d6._typ1)`) } @@ -2512,7 +2548,7 @@ INSERT INTO d.t2 VALUES (ARRAY['hello']); sqlDB.Exec(t, `ALTER TYPE d7.greeting ADD VALUE 'greetings' BEFORE 'howdy'`) // We should be able to restore d.greeting using d7.greeting. - sqlDB.Exec(t, `RESTORE TABLE d.t FROM LATEST IN'nodelocal://1/test/' WITH into_db = 'd7'`) + sqlDB.Exec(t, `RESTORE TABLE d.t FROM 'nodelocal://1/test/' WITH into_db = 'd7'`) sqlDB.Exec(t, `INSERT INTO d7.t VALUES ('greetings')`) sqlDB.CheckQueryResults(t, `SELECT * FROM d7.t ORDER BY x`, [][]string{{"hello"}, {"greetings"}, {"howdy"}}) // d7.t should have a back reference from d7.greeting. @@ -2537,9 +2573,9 @@ INSERT INTO d.s.t2 VALUES (ARRAY['hello']); `) { // Backup and restore t. - sqlDB.Exec(t, `BACKUP TABLE d.s.t INTO $1`, localFoo+"/1") + sqlDB.Exec(t, `BACKUP TABLE d.s.t TO $1`, localFoo+"/1") sqlDB.Exec(t, `DROP TABLE d.s.t`) - sqlDB.Exec(t, `RESTORE TABLE d.s.t FROM LATEST IN $1`, localFoo+"/1") + sqlDB.Exec(t, `RESTORE TABLE d.s.t FROM $1`, localFoo+"/1") // Check that the table data is restored correctly and the types aren't touched. sqlDB.CheckQueryResults(t, `SELECT 'hello'::d.s.greeting, ARRAY['hello']::d.s.greeting[]`, [][]string{{"hello", "{hello}"}}) @@ -2552,9 +2588,9 @@ INSERT INTO d.s.t2 VALUES (ARRAY['hello']); { // Test that backing up and restoring a table with just the array type // will remap types appropriately. - sqlDB.Exec(t, `BACKUP TABLE d.s.t2 INTO $1`, localFoo+"/2") + sqlDB.Exec(t, `BACKUP TABLE d.s.t2 TO $1`, localFoo+"/2") sqlDB.Exec(t, `DROP TABLE d.s.t2`) - sqlDB.Exec(t, `RESTORE TABLE d.s.t2 FROM LATEST IN $1`, localFoo+"/2") + sqlDB.Exec(t, `RESTORE TABLE d.s.t2 FROM $1`, localFoo+"/2") sqlDB.CheckQueryResults(t, `SELECT 'hello'::d.s.greeting, ARRAY['hello']::d.s.greeting[]`, [][]string{{"hello", "{hello}"}}) sqlDB.CheckQueryResults(t, `SELECT * FROM d.s.t2 ORDER BY x`, [][]string{{"{hello}"}}) } @@ -2566,7 +2602,7 @@ INSERT INTO d.s.t2 VALUES (ARRAY['hello']); sqlDB.Exec(t, `CREATE TYPE d2.s.greeting AS ENUM ('hello', 'howdy', 'hi')`) // Now restore t into this database. It should remap d.greeting to d2.greeting. - sqlDB.Exec(t, `RESTORE TABLE d.s.t FROM LATEST IN $1 WITH into_db = 'd2'`, localFoo+"/1") + sqlDB.Exec(t, `RESTORE TABLE d.s.t FROM $1 WITH into_db = 'd2'`, localFoo+"/1") // d.t should be added as a back reference to greeting. sqlDB.ExpectErr(t, `pq: cannot drop type "greeting" because other objects \(.*\) still depend on it`, `DROP TYPE d2.s.greeting`) } @@ -2583,28 +2619,28 @@ INSERT INTO d.t VALUES ('hello'), ('howdy'); `) { // Start out with backing up t. - sqlDB.Exec(t, `BACKUP TABLE d.t INTO 'nodelocal://1/test/'`) + sqlDB.Exec(t, `BACKUP TABLE d.t TO 'nodelocal://1/test/'`) // Alter d.greeting. sqlDB.Exec(t, `ALTER TYPE d.greeting RENAME TO newname`) // Now backup on top of the original back containing d.greeting. - sqlDB.Exec(t, `BACKUP TABLE d.t INTO 'nodelocal://1/test/'`) + sqlDB.Exec(t, `BACKUP TABLE d.t TO 'nodelocal://1/test/'`) // We should be able to restore this backup, and see that the type's // name change is present. sqlDB.Exec(t, `CREATE DATABASE d2`) - sqlDB.Exec(t, `RESTORE TABLE d.t FROM LATEST IN 'nodelocal://1/test/' WITH into_db = 'd2'`) + sqlDB.Exec(t, `RESTORE TABLE d.t FROM 'nodelocal://1/test/' WITH into_db = 'd2'`) sqlDB.CheckQueryResults(t, `SELECT 'hello'::d2.newname`, [][]string{{"hello"}}) } { // Create a database with a type, and take a backup. sqlDB.Exec(t, `CREATE DATABASE d3`) - sqlDB.Exec(t, `BACKUP DATABASE d3 INTO 'nodelocal://1/testd3/'`) + sqlDB.Exec(t, `BACKUP DATABASE d3 TO 'nodelocal://1/testd3/'`) // Now create a new type in that database. sqlDB.Exec(t, `CREATE TYPE d3.farewell AS ENUM ('bye', 'cya')`) // Perform an incremental backup, which should pick up the new type. - sqlDB.Exec(t, `BACKUP DATABASE d3 INTO 'nodelocal://1/testd3/'`) + sqlDB.Exec(t, `BACKUP DATABASE d3 TO 'nodelocal://1/testd3/'`) // Until #51362 lands we have to manually clean up this type before the // DROP DATABASE statement otherwise we'll leave behind an orphaned desc. @@ -2612,7 +2648,7 @@ INSERT INTO d.t VALUES ('hello'), ('howdy'); // Now restore it. sqlDB.Exec(t, `DROP DATABASE d3`) - sqlDB.Exec(t, `RESTORE DATABASE d3 FROM LATEST IN 'nodelocal://1/testd3/'`) + sqlDB.Exec(t, `RESTORE DATABASE d3 FROM 'nodelocal://1/testd3/'`) // Check that we are able to use the type. sqlDB.Exec(t, `CREATE TABLE d3.t (x d3.farewell)`) @@ -2621,9 +2657,9 @@ INSERT INTO d.t VALUES ('hello'), ('howdy'); // If we drop the type and back up again, it should be gone. sqlDB.Exec(t, `DROP TYPE d3.farewell`) - sqlDB.Exec(t, `BACKUP DATABASE d3 INTO 'nodelocal://1/testd3_2/'`) + sqlDB.Exec(t, `BACKUP DATABASE d3 TO 'nodelocal://1/testd3_2/'`) sqlDB.Exec(t, `DROP DATABASE d3`) - sqlDB.Exec(t, `RESTORE DATABASE d3 FROM LATEST IN 'nodelocal://1/testd3_2/'`) + sqlDB.Exec(t, `RESTORE DATABASE d3 FROM 'nodelocal://1/testd3_2/'`) sqlDB.ExpectErr(t, `pq: type "d3.farewell" does not exist`, `CREATE TABLE d3.t (x d3.farewell)`) } }) @@ -2857,7 +2893,7 @@ func TestBackupRestoreCrossTableReferences(t *testing.T) { } } } - _ = origDB.Exec(t, `BACKUP DATABASE store, storestats INTO $1`, localFoo) + _ = origDB.Exec(t, `BACKUP DATABASE store, storestats TO $1`, localFoo) } origCustomers := origDB.QueryStr(t, `SHOW CONSTRAINTS FROM store.customers`) @@ -2873,7 +2909,7 @@ func TestBackupRestoreCrossTableReferences(t *testing.T) { db := sqlutils.MakeSQLRunner(tc.Conns[0]) db.Exec(t, createStore) - db.Exec(t, `RESTORE store.* FROM LATEST IN $1`, localFoo) + db.Exec(t, `RESTORE store.* FROM $1`, localFoo) // Restore's Validate checks all the tables point to each other correctly. db.CheckQueryResults(t, `SHOW CONSTRAINTS FROM store.customers`, origCustomers) @@ -2910,7 +2946,7 @@ func TestBackupRestoreCrossTableReferences(t *testing.T) { defer tc.Stopper().Stop(context.Background()) db := sqlutils.MakeSQLRunner(tc.Conns[0]) db.Exec(t, createStore) - db.Exec(t, `RESTORE store.customers, store.orders FROM LATEST IN $1`, localFoo) + db.Exec(t, `RESTORE store.customers, store.orders FROM $1`, localFoo) // Restore's Validate checks all the tables point to each other correctly. // FK validation on customers from orders is preserved. @@ -2932,10 +2968,10 @@ func TestBackupRestoreCrossTableReferences(t *testing.T) { // FK validation of self-FK is preserved. db.ExpectErr( t, "cannot restore table \"orders\" without referenced table .* \\(or \"skip_missing_foreign_keys\" option\\)", - `RESTORE store.orders FROM LATEST IN $1`, localFoo, + `RESTORE store.orders FROM $1`, localFoo, ) - db.Exec(t, `RESTORE store.orders FROM LATEST IN $1 WITH OPTIONS (skip_missing_foreign_keys)`, localFoo) + db.Exec(t, `RESTORE store.orders FROM $1 WITH OPTIONS (skip_missing_foreign_keys)`, localFoo) // Restore's Validate checks all the tables point to each other correctly. // FK validation is gone. @@ -2948,7 +2984,7 @@ func TestBackupRestoreCrossTableReferences(t *testing.T) { defer tc.Stopper().Stop(context.Background()) db := sqlutils.MakeSQLRunner(tc.Conns[0]) db.Exec(t, createStore) - db.Exec(t, `RESTORE store.receipts FROM LATEST IN $1 WITH OPTIONS (skip_missing_foreign_keys)`, localFoo) + db.Exec(t, `RESTORE store.receipts FROM $1 WITH OPTIONS (skip_missing_foreign_keys)`, localFoo) // Restore's Validate checks all the tables point to each other correctly. // FK validation of orders and customer is gone. @@ -2966,7 +3002,7 @@ func TestBackupRestoreCrossTableReferences(t *testing.T) { defer tc.Stopper().Stop(context.Background()) db := sqlutils.MakeSQLRunner(tc.Conns[0]) db.Exec(t, createStore) - db.Exec(t, `RESTORE store.receipts, store.customers FROM LATEST IN $1 WITH OPTIONS (skip_missing_foreign_keys)`, localFoo) + db.Exec(t, `RESTORE store.receipts, store.customers FROM $1 WITH OPTIONS (skip_missing_foreign_keys)`, localFoo) // Restore's Validate checks all the tables point to each other correctly. // FK validation of orders is gone. @@ -2998,9 +3034,9 @@ func TestBackupRestoreCrossTableReferences(t *testing.T) { db.Exec(t, createStore) db.ExpectErr( t, `cannot restore view "early_customers" without restoring referenced table`, - `RESTORE store.early_customers FROM LATEST IN $1`, localFoo, + `RESTORE store.early_customers FROM $1`, localFoo, ) - db.Exec(t, `RESTORE store.early_customers, store.customers, store.orders FROM LATEST IN $1`, localFoo) + db.Exec(t, `RESTORE store.early_customers, store.customers, store.orders FROM $1`, localFoo) db.CheckQueryResults(t, `SELECT * FROM store.early_customers`, origEarlyCustomers) // nothing depends on orders so it can be dropped. @@ -3029,7 +3065,7 @@ func TestBackupRestoreCrossTableReferences(t *testing.T) { db.ExpectErr( t, `cannot restore view "ordercounts" without restoring referenced table`, - `RESTORE DATABASE storestats FROM LATEST IN $1`, localFoo, + `RESTORE DATABASE storestats FROM $1`, localFoo, ) db.Exec(t, createStore) @@ -3037,10 +3073,10 @@ func TestBackupRestoreCrossTableReferences(t *testing.T) { db.ExpectErr( t, `cannot restore view "ordercounts" without restoring referenced table`, - `RESTORE storestats.ordercounts, store.customers FROM LATEST IN $1`, localFoo, + `RESTORE storestats.ordercounts, store.customers FROM $1`, localFoo, ) - db.Exec(t, `RESTORE store.customers, storestats.ordercounts, store.orders FROM LATEST IN $1`, localFoo) + db.Exec(t, `RESTORE store.customers, storestats.ordercounts, store.orders FROM $1`, localFoo) // we want to observe just the view-related errors, not fk errors below. db.Exec(t, `ALTER TABLE store.orders DROP CONSTRAINT orders_customerid_fkey`) @@ -3064,7 +3100,7 @@ func TestBackupRestoreCrossTableReferences(t *testing.T) { db.CheckQueryResults(t, `SELECT * FROM storestats.ordercounts ORDER BY id`, origOrderCounts) db.Exec(t, `CREATE DATABASE otherstore`) - db.Exec(t, `RESTORE store.* FROM LATEST IN $1 WITH into_db = 'otherstore'`, localFoo) + db.Exec(t, `RESTORE store.* FROM $1 WITH into_db = 'otherstore'`, localFoo) // we want to observe just the view-related errors, not fk errors below. db.Exec(t, `ALTER TABLE otherstore.orders DROP CONSTRAINT orders_customerid_fkey`) db.Exec(t, `DROP TABLE otherstore.receipts`) @@ -3088,20 +3124,20 @@ func TestBackupRestoreCrossTableReferences(t *testing.T) { // Test cases where, after filtering out views that can't be restored, there are no other tables to restore - db.Exec(t, `RESTORE DATABASE storestats from latest in $1 WITH OPTIONS (skip_missing_views)`, localFoo) - db.Exec(t, `RESTORE storestats.ordercounts from latest in $1 WITH OPTIONS (skip_missing_views)`, localFoo) + db.Exec(t, `RESTORE DATABASE storestats from $1 WITH OPTIONS (skip_missing_views)`, localFoo) + db.Exec(t, `RESTORE storestats.ordercounts from $1 WITH OPTIONS (skip_missing_views)`, localFoo) // Ensure that the views were not restored since they are missing the tables they reference. db.CheckQueryResults(t, `USE storestats; SHOW TABLES;`, [][]string{}) // Need to specify into_db otherwise the restore gives error: // a database named "store" needs to exist to restore schema "public". - db.Exec(t, `RESTORE store.early_customers, store.referencing_early_customers from latest in $1 WITH OPTIONS (skip_missing_views, into_db='storestats')`, localFoo) + db.Exec(t, `RESTORE store.early_customers, store.referencing_early_customers from $1 WITH OPTIONS (skip_missing_views, into_db='storestats')`, localFoo) // Ensure that the views were not restored since they are missing the tables they reference. db.CheckQueryResults(t, `SHOW TABLES;`, [][]string{}) // Test that views with valid dependencies are restored - db.Exec(t, `RESTORE DATABASE store from latest in $1 WITH OPTIONS (skip_missing_views)`, localFoo) + db.Exec(t, `RESTORE DATABASE store from $1 WITH OPTIONS (skip_missing_views)`, localFoo) db.CheckQueryResults(t, `SELECT * FROM store.early_customers`, origEarlyCustomers) db.CheckQueryResults(t, `SELECT * FROM store.referencing_early_customers`, origEarlyCustomers) // TODO(lucy, jordan): DROP DATABASE CASCADE doesn't work in the mixed 19.1/ @@ -3116,7 +3152,7 @@ func TestBackupRestoreCrossTableReferences(t *testing.T) { // db.Exec(t, createStore) // storestats.ordercounts depends also on store.orders, so it can't be restored db.Exec(t, `CREATE DATABASE store2`) - db.Exec(t, `RESTORE storestats.ordercounts, store.customers from latest in $1 WITH OPTIONS (skip_missing_views, into_db='store2')`, localFoo) + db.Exec(t, `RESTORE storestats.ordercounts, store.customers from $1 WITH OPTIONS (skip_missing_views, into_db='store2')`, localFoo) db.CheckQueryResults(t, `SHOW CONSTRAINTS FROM store2.customers`, origCustomers) db.ExpectErr(t, `relation "storestats.ordercounts" does not exist`, `SELECT * FROM storestats.ordercounts`) }) @@ -3145,12 +3181,6 @@ func checksumBankPayload(t *testing.T, sqlDB *sqlutils.SQLRunner) uint32 { func TestBackupRestoreIncremental(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) - // TODO(kev-cao,msbutler): rewrite this test to stop using the wonky old - // subdirectory format and just create one full backup off one chain and - // restore from each backup using the inc backup end times. - // - // NB: because of rounding problems, using the end time in the AOST query is - // not guaranteed to work. We need to fix this. const numAccounts = 10 const numBackups = 4 @@ -3377,8 +3407,6 @@ func TestBackupRestoreWithConcurrentWrites(t *testing.T) { const rows = 10 const numBackgroundTasks = multiNode - skip.UnderRace(t, "test is too slow under race") - ctx := context.Background() tc, sqlDB, _, cleanupFn := backupRestoreTestSetup(t, multiNode, rows, InitManualReplication) defer cleanupFn() @@ -3413,12 +3441,12 @@ func TestBackupRestoreWithConcurrentWrites(t *testing.T) { <-bgActivity // Backup DB while concurrent writes continue. - sqlDB.Exec(t, `BACKUP DATABASE data INTO $1`, localFoo) + sqlDB.Exec(t, `BACKUP DATABASE data TO $1`, localFoo) // Drop the table and restore from backup and check our invariant. atomic.StoreInt32(&allowErrors, 1) sqlDB.Exec(t, `DROP TABLE data.bank`) - sqlDB.Exec(t, `RESTORE data.* FROM LATEST IN $1`, localFoo) + sqlDB.Exec(t, `RESTORE data.* FROM $1`, localFoo) atomic.StoreInt32(&allowErrors, 0) bad := sqlDB.QueryStr(t, `SELECT id, balance, payload FROM data.bank WHERE id != balance`) @@ -3448,14 +3476,14 @@ func TestConcurrentBackupRestores(t *testing.T) { for j := 0; j < numIterations; j++ { dbName := fmt.Sprintf("%s_%d", table, j) backupDir := fmt.Sprintf("nodelocal://1/%s", dbName) - backupQ := fmt.Sprintf(`BACKUP data.%s INTO $1`, table) + backupQ := fmt.Sprintf(`BACKUP data.%s TO $1`, table) if _, err := sqlDB.DB.ExecContext(gCtx, backupQ, backupDir); err != nil { return err } if _, err := sqlDB.DB.ExecContext(gCtx, fmt.Sprintf(`CREATE DATABASE %s`, dbName)); err != nil { return err } - restoreQ := fmt.Sprintf(`RESTORE data.%s FROM LATEST IN $1 WITH OPTIONS (into_db='%s')`, table, dbName) + restoreQ := fmt.Sprintf(`RESTORE data.%s FROM $1 WITH OPTIONS (into_db='%s')`, table, dbName) if _, err := sqlDB.DB.ExecContext(gCtx, restoreQ, backupDir); err != nil { return err } @@ -3497,7 +3525,7 @@ func TestBackupTenantsWithRevisionHistory(t *testing.T) { _, err = sqlDB.DB.ExecContext(ctx, `BACKUP TENANT 10 TO 'nodelocal://1/foo' WITH revision_history`) require.Contains(t, fmt.Sprint(err), msg) - _, err = sqlDB.DB.ExecContext(ctx, `BACKUP INTO 'nodelocal://1/bar' WITH revision_history, include_all_virtual_clusters`) + _, err = sqlDB.DB.ExecContext(ctx, `BACKUP TO 'nodelocal://1/bar' WITH revision_history, include_all_virtual_clusters`) require.Contains(t, fmt.Sprint(err), msg) } @@ -3990,15 +4018,15 @@ func TestRestoreAsOfSystemTimeGCBounds(t *testing.T) { postGC := eval.TimestampToDecimalDatum(s.Clock().Now()).String() lateFullTableBackup := dir + "/tbl-after-gc" - sqlDB.Exec(t, `BACKUP data.bank INTO $1 WITH revision_history`, lateFullTableBackup) + sqlDB.Exec(t, `BACKUP data.bank TO $1 WITH revision_history`, lateFullTableBackup) sqlDB.Exec(t, `DROP TABLE data.bank`) sqlDB.ExpectErr( t, `BACKUP for requested time only has revision history from`, - fmt.Sprintf(`RESTORE data.bank FROM LATEST IN $1 AS OF SYSTEM TIME %s`, preGC), + fmt.Sprintf(`RESTORE data.bank FROM $1 AS OF SYSTEM TIME %s`, preGC), lateFullTableBackup, ) sqlDB.Exec( - t, fmt.Sprintf(`RESTORE data.bank FROM LATEST IN $1 AS OF SYSTEM TIME %s`, postGC), lateFullTableBackup, + t, fmt.Sprintf(`RESTORE data.bank FROM $1 AS OF SYSTEM TIME %s`, postGC), lateFullTableBackup, ) t.Run("restore-pre-gc-aost", func(t *testing.T) { @@ -4008,19 +4036,19 @@ func TestRestoreAsOfSystemTimeGCBounds(t *testing.T) { sqlDB.Exec(t, "CREATE DATABASE db") sqlDB.Exec(t, "CREATE TABLE db.a (k int, v string)") - sqlDB.Exec(t, `BACKUP DATABASE db INTO $1 WITH revision_history`, backupPath) + sqlDB.Exec(t, `BACKUP DATABASE db TO $1 WITH revision_history`, backupPath) sqlDB.Exec(t, "DROP TABLE db.a") sqlDB.ExpectErr( t, `pq: failed to resolve targets in the BACKUP location specified by the RESTORE statement, use SHOW BACKUP to find correct targets: table "db.a" does not exist, or invalid RESTORE timestamp: supplied backups do not cover requested time`, - fmt.Sprintf(`RESTORE TABLE db.a FROM LATEST IN $1 AS OF SYSTEM TIME %s`, preGC), + fmt.Sprintf(`RESTORE TABLE db.a FROM $1 AS OF SYSTEM TIME %s`, preGC), backupPath, ) sqlDB.Exec(t, "DROP DATABASE db") sqlDB.ExpectErr( t, `pq: failed to resolve targets in the BACKUP location specified by the RESTORE statement, use SHOW BACKUP to find correct targets: database "db" does not exist, or invalid RESTORE timestamp: supplied backups do not cover requested time`, - fmt.Sprintf(`RESTORE DATABASE db FROM LATEST IN $1 AS OF SYSTEM TIME %s`, preGC), + fmt.Sprintf(`RESTORE DATABASE db FROM $1 AS OF SYSTEM TIME %s`, preGC), backupPath, ) }) @@ -4033,13 +4061,13 @@ func TestAsOfSystemTimeOnRestoredData(t *testing.T) { const numAccounts = 10 _, sqlDB, _, cleanupFn := backupRestoreTestSetup(t, singleNode, numAccounts, InitManualReplication) defer cleanupFn() - sqlDB.Exec(t, `BACKUP data.* INTO $1`, localFoo) + sqlDB.Exec(t, `BACKUP data.* To $1`, localFoo) sqlDB.Exec(t, `DROP TABLE data.bank`) var beforeTs string sqlDB.QueryRow(t, `SELECT cluster_logical_timestamp()`).Scan(&beforeTs) - sqlDB.Exec(t, `RESTORE data.* FROM LATEST IN $1`, localFoo) + sqlDB.Exec(t, `RESTORE data.* FROM $1`, localFoo) var afterTs string sqlDB.QueryRow(t, `SELECT cluster_logical_timestamp()`).Scan(&afterTs) @@ -4075,9 +4103,7 @@ func TestBackupRestoreChecksum(t *testing.T) { t.Fatalf("%+v", err) } if backupinfo.IsGZipped(backupManifestBytes) { - backupManifestBytes, err = backupinfo.DecompressData( - context.Background(), mon.NewStandaloneUnlimitedAccount(), backupManifestBytes, - ) + backupManifestBytes, err = backupinfo.DecompressData(context.Background(), nil, backupManifestBytes) require.NoError(t, err) } if err := protoutil.Unmarshal(backupManifestBytes, &backupManifest); err != nil { @@ -4273,10 +4299,9 @@ func getAWSKMSURI(t *testing.T, regionEnvVariable, keyIDEnvVariable string) (str // If environment credentials are not present, we want to // skip all AWS KMS tests, including auth-implicit, even though // it is not used in auth-implicit. - envConfig, err := config.NewEnvConfig() - require.NoError(t, err) - if !envConfig.Credentials.HasKeys() { - skip.IgnoreLint(t, "No AWS credentials") + _, err := credentials.NewEnvCredentials().Get() + if err != nil { + skip.IgnoreLint(t, "Test only works with AWS credentials") } q := make(url.Values) @@ -4355,18 +4380,20 @@ func TestEncryptedBackup(t *testing.T) { // Full cluster-backup to capture all possible metadata. backupLoc1 := localFoo + "/x?COCKROACH_LOCALITY=default" backupLoc2 := localFoo + "/x2?COCKROACH_LOCALITY=" + url.QueryEscape("dc=dc1") + backupLoc1inc := localFoo + "/inc1/x?COCKROACH_LOCALITY=default" + backupLoc2inc := localFoo + "/inc1/x2?COCKROACH_LOCALITY=" + url.QueryEscape("dc=dc1") plainBackupLoc1 := localFoo + "/cleartext?COCKROACH_LOCALITY=default" plainBackupLoc2 := localFoo + "/cleartext?COCKROACH_LOCALITY=" + url.QueryEscape("dc=dc1") - sqlDB.Exec(t, `BACKUP INTO ($1, $2)`, plainBackupLoc1, plainBackupLoc2) + sqlDB.Exec(t, `BACKUP TO ($1, $2)`, plainBackupLoc1, plainBackupLoc2) - sqlDB.Exec(t, fmt.Sprintf(`BACKUP INTO ($1, $2) WITH %s`, encryptionOption), backupLoc1, + sqlDB.Exec(t, fmt.Sprintf(`BACKUP TO ($1, $2) WITH %s`, encryptionOption), backupLoc1, backupLoc2) // Add the actual content with our sentinel too. sqlDB.Exec(t, `UPDATE neverappears.neverappears SET other = 'neverappears'`) - sqlDB.Exec(t, fmt.Sprintf(`BACKUP INTO LATEST IN ($1, $2) WITH %s`, - encryptionOption), backupLoc1, backupLoc2) + sqlDB.Exec(t, fmt.Sprintf(`BACKUP TO ($1, $2) INCREMENTAL FROM $3 WITH %s`, + encryptionOption), backupLoc1inc, backupLoc2inc, backupLoc1) t.Run("check-stats-encrypted", func(t *testing.T) { checkBackupStatsEncrypted(t, rawDir) @@ -4378,7 +4405,11 @@ func TestEncryptedBackup(t *testing.T) { sqlDB.Exec(t, `DROP DATABASE neverappears CASCADE`) - sqlDB.Exec(t, fmt.Sprintf(`SHOW BACKUP FROM LATEST IN ($1, $2) WITH %s`, encryptionOption), backupLoc1, backupLoc2) + sqlDB.Exec(t, fmt.Sprintf(`SHOW BACKUP $1 WITH %s`, encryptionOption), backupLoc1) + + sqlDB.Exec(t, fmt.Sprintf(`SHOW BACKUP $1 WITH %s, encryption_info_dir = '%s'`, + encryptionOption, backupLoc1), + backupLoc1inc) var expectedShowError string if tc.useKMS { @@ -4387,15 +4418,18 @@ func TestEncryptedBackup(t *testing.T) { expectedShowError = `failed to decrypt — maybe incorrect key: cipher: message authentication failed` } sqlDB.ExpectErr(t, expectedShowError, - fmt.Sprintf(`SHOW BACKUP FROM LATEST IN $1 WITH %s`, incorrectEncryptionOption), backupLoc1) + fmt.Sprintf(`SHOW BACKUP $1 WITH %s`, incorrectEncryptionOption), backupLoc1) sqlDB.ExpectErr(t, `file appears encrypted -- try specifying one of "encryption_passphrase" or "kms"`, - `SHOW BACKUP FROM LATEST IN $1`, backupLoc1) + `SHOW BACKUP $1`, backupLoc1) sqlDB.ExpectErr(t, `could not find or read encryption information`, - fmt.Sprintf(`SHOW BACKUP FROM LATEST IN $1 WITH %s`, encryptionOption), plainBackupLoc1) + fmt.Sprintf(`SHOW BACKUP $1 WITH %s`, encryptionOption), plainBackupLoc1) - sqlDB.Exec(t, fmt.Sprintf(`RESTORE DATABASE neverappears FROM LATEST IN ($1, $2) WITH %s`, - encryptionOption), backupLoc1, backupLoc2) + sqlDB.ExpectErr(t, `If you are running SHOW BACKUP exclusively on an incremental backup`, + fmt.Sprintf(`SHOW BACKUP $1 WITH %s`, encryptionOption), backupLoc1inc) + + sqlDB.Exec(t, fmt.Sprintf(`RESTORE DATABASE neverappears FROM ($1, $2), ($3, $4) WITH %s`, + encryptionOption), backupLoc1, backupLoc2, backupLoc1inc, backupLoc2inc) sqlDB.CheckQueryResults(t, `SHOW EXPERIMENTAL_FINGERPRINTS FROM TABLE neverappears.neverappears`, before) }) @@ -4908,11 +4942,12 @@ func TestPointInTimeRecovery(t *testing.T) { defer cleanupFn() fullBackupDir := localFoo + "/full" - sqlDB.Exec(t, `BACKUP data.* INTO $1`, fullBackupDir) + sqlDB.Exec(t, `BACKUP data.* TO $1`, fullBackupDir) sqlDB.Exec(t, `UPDATE data.bank SET balance = 2`) - sqlDB.Exec(t, `BACKUP data.* INTO LATEST IN $1`, fullBackupDir) + incBackupDir := localFoo + "/inc" + sqlDB.Exec(t, `BACKUP data.* TO $1 INCREMENTAL FROM $2`, incBackupDir, fullBackupDir) var beforeBadThingTs string sqlDB.Exec(t, `UPDATE data.bank SET balance = 3`) @@ -4934,11 +4969,11 @@ func TestPointInTimeRecovery(t *testing.T) { sqlDB = sqlutils.MakeSQLRunner(sqlDB.DB) recoveryDir := localFoo + "/new-backup" sqlDB.Exec(t, - fmt.Sprintf(`BACKUP data.* INTO $1 AS OF SYSTEM TIME '%s'`, beforeBadThingTs), + fmt.Sprintf(`BACKUP data.* TO $1 AS OF SYSTEM TIME '%s'`, beforeBadThingTs), recoveryDir, ) sqlDB.Exec(t, `CREATE DATABASE newbackup`) - sqlDB.Exec(t, `RESTORE data.* FROM LATEST IN $1 WITH into_db=newbackup`, recoveryDir) + sqlDB.Exec(t, `RESTORE data.* FROM $1 WITH into_db=newbackup`, recoveryDir) // Some manual reconciliation of the data in data.bank and // newbackup.bank could be done here by the operator. @@ -4954,13 +4989,16 @@ func TestPointInTimeRecovery(t *testing.T) { // using that. Everything else works the same as above. t.Run("recovery=inc-backup", func(t *testing.T) { sqlDB = sqlutils.MakeSQLRunner(sqlDB.DB) + recoveryDir := localFoo + "/inc-backup" sqlDB.Exec(t, - fmt.Sprintf(`BACKUP data.* INTO LATEST IN $1 AS OF SYSTEM TIME '%s'`, beforeBadThingTs), - fullBackupDir) + fmt.Sprintf(`BACKUP data.* TO $1 AS OF SYSTEM TIME '%s' INCREMENTAL FROM $2, $3`, beforeBadThingTs), + recoveryDir, fullBackupDir, incBackupDir, + ) sqlDB.Exec(t, `CREATE DATABASE incbackup`) sqlDB.Exec(t, - `RESTORE data.* FROM LATEST IN $1 WITH into_db=incbackup`, - fullBackupDir) + `RESTORE data.* FROM $1, $2, $3 WITH into_db=incbackup`, + fullBackupDir, incBackupDir, recoveryDir, + ) // Some manual reconciliation of the data in data.bank and // incbackup.bank could be done here by the operator. @@ -5024,13 +5062,14 @@ func TestBackupRestoreIncrementalAddTable(t *testing.T) { defer cleanupFn() sqlDB.Exec(t, `CREATE DATABASE data2`) sqlDB.Exec(t, `CREATE TABLE data.t (s string PRIMARY KEY)`) - full := localFoo + "/full" + full, inc := localFoo+"/full", localFoo+"/inc" + sqlDB.Exec(t, `INSERT INTO data.t VALUES ('before')`) - sqlDB.Exec(t, `BACKUP data.*, data2.* INTO $1`, full) + sqlDB.Exec(t, `BACKUP data.*, data2.* TO $1`, full) sqlDB.Exec(t, `UPDATE data.t SET s = 'after'`) sqlDB.Exec(t, `CREATE TABLE data2.t2 (i int)`) - sqlDB.Exec(t, "BACKUP data.*, data2.* INTO $1", full) + sqlDB.Exec(t, "BACKUP data.*, data2.* TO $1 INCREMENTAL FROM $2", inc, full) } func TestBackupRestoreIncrementalAddTableMissing(t *testing.T) { @@ -5042,16 +5081,16 @@ func TestBackupRestoreIncrementalAddTableMissing(t *testing.T) { defer cleanupFn() sqlDB.Exec(t, `CREATE DATABASE data2`) sqlDB.Exec(t, `CREATE TABLE data.t (s string PRIMARY KEY)`) - full := localFoo + "/full" + full, inc := localFoo+"/full", localFoo+"/inc" sqlDB.Exec(t, `INSERT INTO data.t VALUES ('before')`) - sqlDB.Exec(t, `BACKUP data.* INTO $1`, full) + sqlDB.Exec(t, `BACKUP data.* TO $1`, full) sqlDB.Exec(t, `UPDATE data.t SET s = 'after'`) sqlDB.Exec(t, `CREATE TABLE data2.t2 (i int)`) sqlDB.ExpectErr( t, "previous backup does not contain table", - "BACKUP data.*, data2.* INTO LATEST IN $1", full, + "BACKUP data.*, data2.* TO $1 INCREMENTAL FROM $2", inc, full, ) } @@ -5063,14 +5102,14 @@ func TestBackupRestoreIncrementalTruncateTable(t *testing.T) { _, sqlDB, _, cleanupFn := backupRestoreTestSetup(t, singleNode, numAccounts, InitManualReplication) defer cleanupFn() sqlDB.Exec(t, `CREATE TABLE data.t (s string PRIMARY KEY)`) - full := localFoo + "/full" + full, inc := localFoo+"/full", localFoo+"/inc" sqlDB.Exec(t, `INSERT INTO data.t VALUES ('before')`) - sqlDB.Exec(t, `BACKUP DATABASE data INTO $1`, full) + sqlDB.Exec(t, `BACKUP DATABASE data TO $1`, full) sqlDB.Exec(t, `UPDATE data.t SET s = 'after'`) sqlDB.Exec(t, `TRUNCATE data.t`) - sqlDB.Exec(t, "BACKUP DATABASE data INTO $1", full) + sqlDB.Exec(t, "BACKUP DATABASE data TO $1 INCREMENTAL FROM $2", inc, full) } func TestBackupRestoreIncrementalDropTable(t *testing.T) { @@ -5081,14 +5120,14 @@ func TestBackupRestoreIncrementalDropTable(t *testing.T) { _, sqlDB, _, cleanupFn := backupRestoreTestSetup(t, singleNode, numAccounts, InitManualReplication) defer cleanupFn() sqlDB.Exec(t, `CREATE TABLE data.t (s string PRIMARY KEY)`) - full := localFoo + "/full" + full, inc := localFoo+"/full", localFoo+"/inc" sqlDB.Exec(t, `INSERT INTO data.t VALUES ('before')`) sqlDB.Exec(t, `BACKUP DATABASE data TO $1`, full) sqlDB.Exec(t, `UPDATE data.t SET s = 'after'`) sqlDB.Exec(t, `DROP TABLE data.t`) - sqlDB.Exec(t, "BACKUP DATABASE data INTO $1", full) + sqlDB.Exec(t, "BACKUP DATABASE data TO $1 INCREMENTAL FROM $2", inc, full) sqlDB.Exec(t, `DROP DATABASE data`) // Restoring to backup before DROP restores t. @@ -5097,7 +5136,7 @@ func TestBackupRestoreIncrementalDropTable(t *testing.T) { sqlDB.Exec(t, `DROP DATABASE data`) // Restoring to backup after DROP does not restore t. - sqlDB.Exec(t, `RESTORE DATABASE data FROM LATEST IN $1`, full) + sqlDB.Exec(t, `RESTORE DATABASE data FROM $1, $2`, full, inc) sqlDB.ExpectErr(t, "relation \"data.t\" does not exist", `SELECT 1 FROM data.t LIMIT 0`) } @@ -5151,18 +5190,18 @@ func TestDetachedBackup(t *testing.T) { // running backup under transaction requires DETACHED. var jobID jobspb.JobID err := crdb.ExecuteTx(ctx, db, nil /* txopts */, func(tx *gosql.Tx) error { - return tx.QueryRow(`BACKUP DATABASE data INTO $1`, localFoo).Scan(&jobID) + return tx.QueryRow(`BACKUP DATABASE data TO $1`, localFoo).Scan(&jobID) }) require.True(t, testutils.IsError(err, "BACKUP cannot be used inside a multi-statement transaction without DETACHED option")) // Okay to run DETACHED backup, even w/out explicit transaction. - sqlDB.QueryRow(t, `BACKUP DATABASE data INTO $1 WITH DETACHED`, localFoo).Scan(&jobID) + sqlDB.QueryRow(t, `BACKUP DATABASE data TO $1 WITH DETACHED`, localFoo).Scan(&jobID) waitForSuccessfulJob(t, tc, jobID) // Backup again, under explicit transaction. err = crdb.ExecuteTx(ctx, db, nil /* txopts */, func(tx *gosql.Tx) error { - return tx.QueryRow(`BACKUP DATABASE data INTO $1 WITH DETACHED`, localFoo+"/1").Scan(&jobID) + return tx.QueryRow(`BACKUP DATABASE data TO $1 WITH DETACHED`, localFoo+"/1").Scan(&jobID) }) require.NoError(t, err) waitForSuccessfulJob(t, tc, jobID) @@ -5174,7 +5213,7 @@ func TestDetachedBackup(t *testing.T) { tx, err := db.Begin() require.NoError(t, err) err = crdb.Execute(func() error { - return tx.QueryRow(`BACKUP DATABASE data INTO $1 WITH DETACHED`, localFoo+"/2").Scan(&jobID) + return tx.QueryRow(`BACKUP DATABASE data TO $1 WITH DETACHED`, localFoo+"/2").Scan(&jobID) }) require.NoError(t, err) require.NoError(t, tx.Rollback()) @@ -5182,7 +5221,7 @@ func TestDetachedBackup(t *testing.T) { // Ensure that we can backup again to the same location as the backup that was // rolledback. - sqlDB.Exec(t, `BACKUP DATABASE data INTO $1`, localFoo+"/2") + sqlDB.Exec(t, `BACKUP DATABASE data TO $1`, localFoo+"/2") } func TestDetachedRestore(t *testing.T) { @@ -5719,12 +5758,10 @@ func TestBackupRestoreShowJob(t *testing.T) { _, sqlDB, _, cleanupFn := backupRestoreTestSetup(t, singleNode, numAccounts, InitManualReplication) defer cleanupFn() - sqlDB.Exec(t, `BACKUP DATABASE data INTO $1 WITH revision_history`, localFoo) - - fullDir := getLatestFullDir(t, sqlDB, localFoo) + sqlDB.Exec(t, `BACKUP DATABASE data TO $1 WITH revision_history`, localFoo) sqlDB.Exec(t, `CREATE DATABASE "data 2"`) - sqlDB.Exec(t, `RESTORE data.bank FROM LATEST IN $1 WITH skip_missing_foreign_keys, into_db = $2`, localFoo, "data 2") + sqlDB.Exec(t, `RESTORE data.bank FROM $1 WITH skip_missing_foreign_keys, into_db = $2`, localFoo, "data 2") // The "updating privileges" clause in the SELECT statement is for excluding jobs // run by an unrelated startup migration. // TODO (lucy): Update this if/when we decide to change how these jobs queued by @@ -5732,8 +5769,8 @@ func TestBackupRestoreShowJob(t *testing.T) { sqlDB.CheckQueryResults( t, "SELECT description FROM crdb_internal.jobs WHERE job_type = 'BACKUP' OR job_type = 'RESTORE' ORDER BY description", [][]string{ - {fmt.Sprintf("BACKUP DATABASE data INTO '%s' IN 'nodelocal://1/foo' WITH OPTIONS (revision_history = true)", fullDir)}, - {fmt.Sprintf("RESTORE TABLE data.bank FROM '%s' IN 'nodelocal://1/foo' WITH OPTIONS (into_db = 'data 2', skip_missing_foreign_keys)", fullDir)}, + {"BACKUP DATABASE data TO 'nodelocal://1/foo' WITH OPTIONS (revision_history = true)"}, + {"RESTORE TABLE data.bank FROM 'nodelocal://1/foo' WITH OPTIONS (into_db = 'data 2', skip_missing_foreign_keys)"}, }, ) } @@ -5752,9 +5789,9 @@ func TestBackupCreatedStats(t *testing.T) { injectStats(t, sqlDB, "data.bank", "id") injectStats(t, sqlDB, "data.foo", "a") - sqlDB.Exec(t, `BACKUP data.bank, data.foo INTO $1 WITH revision_history`, localFoo) + sqlDB.Exec(t, `BACKUP data.bank, data.foo TO $1 WITH revision_history`, localFoo) sqlDB.Exec(t, `CREATE DATABASE "data 2"`) - sqlDB.Exec(t, `RESTORE data.bank, data.foo FROM LATEST IN $1 WITH skip_missing_foreign_keys, into_db = $2`, + sqlDB.Exec(t, `RESTORE data.bank, data.foo FROM $1 WITH skip_missing_foreign_keys, into_db = $2`, localFoo, "data 2") sqlDB.CheckQueryResults(t, getStatsQuery(`"data 2".bank`), @@ -5773,9 +5810,9 @@ func TestBackupRestoreEmptyDB(t *testing.T) { defer cleanupFn() sqlDB.Exec(t, `CREATE DATABASE empty`) - sqlDB.Exec(t, `BACKUP DATABASE empty INTO $1`, localFoo) + sqlDB.Exec(t, `BACKUP DATABASE empty TO $1`, localFoo) sqlDB.Exec(t, `DROP DATABASE empty`) - sqlDB.Exec(t, `RESTORE DATABASE empty FROM LATEST IN $1`, localFoo) + sqlDB.Exec(t, `RESTORE DATABASE empty FROM $1`, localFoo) sqlDB.CheckQueryResults(t, `USE empty; SHOW TABLES;`, [][]string{}) } @@ -5793,12 +5830,12 @@ func TestBackupRestoreSubsetCreatedStats(t *testing.T) { bankStats := injectStats(t, sqlDB, "data.bank", "id") injectStats(t, sqlDB, "data.foo", "a") - sqlDB.Exec(t, `BACKUP data.bank, data.foo INTO $1 WITH revision_history`, localFoo) + sqlDB.Exec(t, `BACKUP data.bank, data.foo TO $1 WITH revision_history`, localFoo) // Clear the stats. sqlDB.Exec(t, `DELETE FROM system.table_statistics WHERE true`) sqlDB.Exec(t, `CREATE DATABASE "data 2"`) sqlDB.Exec(t, `CREATE TABLE "data 2".foo (a INT)`) - sqlDB.Exec(t, `RESTORE data.bank FROM LATEST IN $1 WITH skip_missing_foreign_keys, into_db = $2`, + sqlDB.Exec(t, `RESTORE data.bank FROM $1 WITH skip_missing_foreign_keys, into_db = $2`, localFoo, "data 2") // Ensure that bank's stats have been restored, but foo's have not. @@ -5833,10 +5870,10 @@ func TestBackupHandlesDroppedTypeStatsCollection(t *testing.T) { // job. This would result in a `descriptor not found` error. // Ensure a full backup completes successfully. - sqlDB.Exec(t, `BACKUP foo INTO $1`, dest) + sqlDB.Exec(t, `BACKUP foo TO $1`, dest) // Ensure an incremental backup completes successfully. - sqlDB.Exec(t, `BACKUP foo INTO LATEST IN $1`, dest) + sqlDB.Exec(t, `BACKUP foo TO $1`, dest) } type fakeResumer struct { @@ -5869,12 +5906,12 @@ func TestBatchedInsertStats(t *testing.T) { unblockCh := make(chan struct{}) doneCh := make(chan struct{}) - defer jobs.TestingRegisterConstructor(jobspb.TypeRestore, func(job *jobs.Job, _ *cluster.Settings) jobs.Resumer { + jobs.RegisterConstructor(jobspb.TypeRestore, func(job *jobs.Job, _ *cluster.Settings) jobs.Resumer { return &fakeResumer{ unblockCh: unblockCh, doneCh: doneCh, } - }, jobs.UsesTenantCostControl)() + }, jobs.UsesTenantCostControl) params := base.TestServerArgs{Knobs: base.TestingKnobs{ JobsTestingKnobs: jobs.NewTestingKnobsWithShortIntervals(), }} @@ -6023,6 +6060,8 @@ func TestBackupCreatedStatsFromIncrementalBackup(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) + const incremental1Foo = "nodelocal://1/incremental1foo" + const incremental2Foo = "nodelocal://1/incremental2foo" const numAccounts = 1 _, sqlDB, _, cleanupFn := backupRestoreTestSetup(t, singleNode, numAccounts, InitManualReplication) defer cleanupFn() @@ -6032,22 +6071,22 @@ func TestBackupCreatedStatsFromIncrementalBackup(t *testing.T) { // Create the 1st backup, with stats estimating 50 rows. injectStatsWithRowCount(t, sqlDB, "data.bank", "id", 50 /* rowCount */) - sqlDB.Exec(t, `BACKUP data.bank INTO $1 WITH revision_history`, localFoo) + sqlDB.Exec(t, `BACKUP data.bank TO $1 WITH revision_history`, localFoo) // Create the 2nd backup, with stats estimating 100 rows. injectStatsWithRowCount(t, sqlDB, "data.bank", "id", 100 /* rowCount */) statsBackup2 := sqlDB.QueryStr(t, getStatsQuery("data.bank")) sqlDB.QueryRow(t, `SELECT cluster_logical_timestamp()`).Scan(&beforeTs) // Save time to restore to this point. - sqlDB.Exec(t, `BACKUP data.bank INTO LATEST IN $1 WITH revision_history`, localFoo) + sqlDB.Exec(t, `BACKUP data.bank TO $1 INCREMENTAL FROM $2 WITH revision_history`, incremental1Foo, localFoo) // Create the 3rd backup, with stats estimating 500 rows. injectStatsWithRowCount(t, sqlDB, "data.bank", "id", 500 /* rowCount */) - sqlDB.Exec(t, `BACKUP data.bank INTO LATEST IN $1 WITH revision_history`, localFoo) + sqlDB.Exec(t, `BACKUP data.bank TO $1 INCREMENTAL FROM $2, $3 WITH revision_history`, incremental2Foo, localFoo, incremental1Foo) // Restore the 2nd backup. sqlDB.Exec(t, `CREATE DATABASE "data 2"`) - sqlDB.Exec(t, fmt.Sprintf(`RESTORE data.bank FROM LATEST IN "%s" AS OF SYSTEM TIME %s WITH skip_missing_foreign_keys, into_db = "%s"`, - localFoo, beforeTs, "data 2")) + sqlDB.Exec(t, fmt.Sprintf(`RESTORE data.bank FROM "%s", "%s", "%s" AS OF SYSTEM TIME %s WITH skip_missing_foreign_keys, into_db = "%s"`, + localFoo, incremental1Foo, incremental2Foo, beforeTs, "data 2")) // Expect the stats look as they did in the second backup. sqlDB.CheckQueryResults(t, getStatsQuery(`"data 2".bank`), statsBackup2) @@ -6718,15 +6757,15 @@ func TestBackupRestoreInsideTenant(t *testing.T) { httpAddr, httpServerCleanup := makeInsecureHTTPServer(t) defer httpServerCleanup() - tenant10.Exec(t, `BACKUP INTO $1`, httpAddr) + tenant10.Exec(t, `BACKUP TO $1`, httpAddr) t.Run("cluster-restore", func(t *testing.T) { t.Run("into-same-tenant-id", func(t *testing.T) { - tenant10C2.Exec(t, `RESTORE FROM LATEST IN $1`, httpAddr) + tenant10C2.Exec(t, `RESTORE FROM $1`, httpAddr) tenant10C2.CheckQueryResults(t, `SELECT * FROM foo.bar`, tenant10.QueryStr(t, `SELECT * FROM foo.bar`)) }) t.Run("into-different-tenant-id", func(t *testing.T) { - tenant11C2.Exec(t, `RESTORE FROM LATEST IN $1`, httpAddr) + tenant11C2.Exec(t, `RESTORE FROM $1`, httpAddr) tenant11C2.CheckQueryResults(t, `SELECT * FROM foo.bar`, tenant10.QueryStr(t, `SELECT * FROM foo.bar`)) }) t.Run("into-system-tenant-id", func(t *testing.T) { @@ -6738,17 +6777,17 @@ func TestBackupRestoreInsideTenant(t *testing.T) { t.Run("database-restore", func(t *testing.T) { t.Run("into-same-tenant-id", func(t *testing.T) { tenant10.Exec(t, `CREATE DATABASE foo2`) - tenant10.Exec(t, `RESTORE foo.bar FROM LATEST IN $1 WITH into_db='foo2'`, httpAddr) + tenant10.Exec(t, `RESTORE foo.bar FROM $1 WITH into_db='foo2'`, httpAddr) tenant10.CheckQueryResults(t, `SELECT * FROM foo2.bar`, tenant10.QueryStr(t, `SELECT * FROM foo.bar`)) }) t.Run("into-different-tenant-id", func(t *testing.T) { tenant11.Exec(t, `CREATE DATABASE foo`) - tenant11.Exec(t, `RESTORE foo.bar FROM LATEST IN $1`, httpAddr) + tenant11.Exec(t, `RESTORE foo.bar FROM $1`, httpAddr) tenant11.CheckQueryResults(t, `SELECT * FROM foo.bar`, tenant10.QueryStr(t, `SELECT * FROM foo.bar`)) }) t.Run("into-system-tenant-id", func(t *testing.T) { systemDB.Exec(t, `CREATE DATABASE foo2`) - systemDB.Exec(t, `RESTORE foo.bar FROM LATEST IN $1 WITH into_db='foo2'`, httpAddr) + systemDB.Exec(t, `RESTORE foo.bar FROM $1 WITH into_db='foo2'`, httpAddr) systemDB.CheckQueryResults(t, `SELECT * FROM foo2.bar`, tenant10.QueryStr(t, `SELECT * FROM foo.bar`)) }) }) @@ -6759,7 +6798,7 @@ func TestBackupRestoreInsideTenant(t *testing.T) { httpAddr, httpServerCleanup := makeInsecureHTTPServer(t) defer httpServerCleanup() - systemDB.Exec(t, `BACKUP INTO $1 WITH include_all_virtual_clusters`, httpAddr) + systemDB.Exec(t, `BACKUP TO $1 WITH include_all_virtual_clusters`, httpAddr) tenant20C2, cleanupT20C2 := makeTenant(srv2, 20) defer cleanupT20C2() @@ -6778,13 +6817,13 @@ func TestBackupRestoreInsideTenant(t *testing.T) { }) defer cleanupEmptyCluster() - emptySystemDB.Exec(t, `BACKUP INTO $1`, httpAddrEmpty) - tenant20C2.Exec(t, `RESTORE FROM LATEST IN $1`, httpAddrEmpty) + emptySystemDB.Exec(t, `BACKUP TO $1`, httpAddrEmpty) + tenant20C2.Exec(t, `RESTORE FROM $1`, httpAddrEmpty) }) t.Run("database-restore-into-tenant", func(t *testing.T) { tenant10.Exec(t, `CREATE DATABASE data`) - tenant10.Exec(t, `RESTORE data.bank FROM LATEST IN $1`, httpAddr) + tenant10.Exec(t, `RESTORE data.bank FROM $1`, httpAddr) systemDB.CheckQueryResults(t, `SELECT * FROM data.bank`, tenant10.QueryStr(t, `SELECT * FROM data.bank`)) }) @@ -6812,7 +6851,7 @@ func TestBackupRestoreTenantSettings(t *testing.T) { systemDB.Exec(t, `ALTER TENANT ALL SET CLUSTER SETTING sql.notices.enabled = false`) backup2HttpAddr, backup2Cleanup := makeInsecureHTTPServer(t) defer backup2Cleanup() - systemDB.Exec(t, `BACKUP INTO $1`, backup2HttpAddr) + systemDB.Exec(t, `BACKUP TO $1`, backup2HttpAddr) _, systemDB2, cleanupDB2 := backupRestoreTestSetupEmpty(t, singleNode, dir, InitManualReplication, base.TestClusterArgs{ ServerArgs: base.TestServerArgs{ @@ -6821,7 +6860,7 @@ func TestBackupRestoreTenantSettings(t *testing.T) { }) defer cleanupDB2() t.Run("cluster-restore-into-cluster-with-tenant-settings-succeeds", func(t *testing.T) { - systemDB2.Exec(t, `RESTORE FROM LATEST IN $1`, backup2HttpAddr) + systemDB2.Exec(t, `RESTORE FROM $1`, backup2HttpAddr) systemDB2.CheckQueryResults(t, `SELECT * FROM system.tenant_settings`, systemDB.QueryStr(t, `SELECT * FROM system.tenant_settings`)) }) } @@ -6892,36 +6931,36 @@ func TestBackupRestoreInsideMultiPodTenant(t *testing.T) { httpAddr, httpServerCleanup := makeInsecureHTTPServer(t) defer httpServerCleanup() - tenant10[0].Exec(t, `BACKUP INTO $1`, httpAddr) + tenant10[0].Exec(t, `BACKUP TO $1`, httpAddr) t.Run("cluster-restore", func(t *testing.T) { t.Run("into-same-tenant-id", func(t *testing.T) { - tenant10C2[0].Exec(t, `RESTORE FROM LATEST IN $1`, httpAddr) + tenant10C2[0].Exec(t, `RESTORE FROM $1`, httpAddr) tenant10C2[0].CheckQueryResults(t, `SELECT * FROM foo.bar`, tenant10[0].QueryStr(t, `SELECT * FROM foo.bar`)) }) t.Run("into-different-tenant-id", func(t *testing.T) { - tenant11C2.Exec(t, `RESTORE FROM LATEST IN $1`, httpAddr) + tenant11C2.Exec(t, `RESTORE FROM $1`, httpAddr) tenant11C2.CheckQueryResults(t, `SELECT * FROM foo.bar`, tenant10[0].QueryStr(t, `SELECT * FROM foo.bar`)) }) t.Run("into-system-tenant-id", func(t *testing.T) { - systemDB2.Exec(t, `RESTORE FROM LATEST IN $1`, httpAddr) + systemDB2.Exec(t, `RESTORE FROM $1`, httpAddr) }) }) t.Run("database-restore", func(t *testing.T) { t.Run("into-same-tenant-id", func(t *testing.T) { tenant10[0].Exec(t, `CREATE DATABASE foo2`) - tenant10[0].Exec(t, `RESTORE foo.bar FROM LATEST IN $1 WITH into_db='foo2'`, httpAddr) + tenant10[0].Exec(t, `RESTORE foo.bar FROM $1 WITH into_db='foo2'`, httpAddr) tenant10[0].CheckQueryResults(t, `SELECT * FROM foo2.bar`, tenant10[0].QueryStr(t, `SELECT * FROM foo.bar`)) }) t.Run("into-different-tenant-id", func(t *testing.T) { tenant11[0].Exec(t, `CREATE DATABASE foo`) - tenant11[0].Exec(t, `RESTORE foo.bar FROM LATEST IN $1`, httpAddr) + tenant11[0].Exec(t, `RESTORE foo.bar FROM $1`, httpAddr) tenant11[0].CheckQueryResults(t, `SELECT * FROM foo.bar`, tenant10[0].QueryStr(t, `SELECT * FROM foo.bar`)) }) t.Run("into-system-tenant-id", func(t *testing.T) { systemDB.Exec(t, `CREATE DATABASE foo2`) - systemDB.Exec(t, `RESTORE foo.bar FROM LATEST IN $1 WITH into_db='foo2'`, httpAddr) + systemDB.Exec(t, `RESTORE foo.bar FROM $1 WITH into_db='foo2'`, httpAddr) systemDB.CheckQueryResults(t, `SELECT * FROM foo2.bar`, tenant10[0].QueryStr(t, `SELECT * FROM foo.bar`)) }) }) @@ -6932,7 +6971,7 @@ func TestBackupRestoreInsideMultiPodTenant(t *testing.T) { httpAddr, httpServerCleanup := makeInsecureHTTPServer(t) defer httpServerCleanup() - systemDB.Exec(t, `BACKUP INTO $1 WITH include_all_virtual_clusters`, httpAddr) + systemDB.Exec(t, `BACKUP TO $1 WITH include_all_virtual_clusters`, httpAddr) tenant20C2, cleanupT20C2 := makeTenant(srv2, 20, false) defer cleanupT20C2() @@ -6951,13 +6990,13 @@ func TestBackupRestoreInsideMultiPodTenant(t *testing.T) { }) defer cleanupEmptyCluster() - emptySystemDB.Exec(t, `BACKUP INTO $1`, httpAddrEmpty) - tenant20C2.Exec(t, `RESTORE FROM LATEST IN $1`, httpAddrEmpty) + emptySystemDB.Exec(t, `BACKUP TO $1`, httpAddrEmpty) + tenant20C2.Exec(t, `RESTORE FROM $1`, httpAddrEmpty) }) t.Run("database-restore-into-tenant", func(t *testing.T) { tenant10[0].Exec(t, `CREATE DATABASE data`) - tenant10[0].Exec(t, `RESTORE data.bank FROM LATEST IN $1`, httpAddr) + tenant10[0].Exec(t, `RESTORE data.bank FROM $1`, httpAddr) systemDB.CheckQueryResults(t, `SELECT * FROM data.bank`, tenant10[0].QueryStr(t, `SELECT * FROM data.bank`)) }) }) @@ -7176,7 +7215,7 @@ func TestBackupRestoreTenant(t *testing.T) { restoreDB.CheckQueryResults(t, `SELECT ru_refill_rate, instance_id, next_instance_id, current_share_sum FROM system.tenant_usage WHERE tenant_id = 10`, - [][]string{{`10000`, `0`, `0`, `0`}}, + [][]string{{`100`, `0`, `0`, `0`}}, ) ten10Stopper := stop.NewStopper() @@ -8467,7 +8506,7 @@ func TestIncorrectAccessOfFilesInBackupMetadata(t *testing.T) { manifestPath := matches[0] manifestData, err := os.ReadFile(manifestPath) require.NoError(t, err) - manifestData, err = backupinfo.DecompressData(context.Background(), mon.NewStandaloneUnlimitedAccount(), manifestData) + manifestData, err = backupinfo.DecompressData(context.Background(), nil, manifestData) require.NoError(t, err) var backupManifest backuppb.BackupManifest require.NoError(t, protoutil.Unmarshal(manifestData, &backupManifest)) @@ -8513,7 +8552,7 @@ func TestRestoringAcrossVersions(t *testing.T) { manifestPath := filepath.Join(rawDir, "cross_version", backupbase.BackupMetadataName) manifestData, err := os.ReadFile(manifestPath) require.NoError(t, err) - manifestData, err = backupinfo.DecompressData(context.Background(), mon.NewStandaloneUnlimitedAccount(), manifestData) + manifestData, err = backupinfo.DecompressData(context.Background(), nil, manifestData) require.NoError(t, err) var backupManifest backuppb.BackupManifest require.NoError(t, protoutil.Unmarshal(manifestData, &backupManifest)) @@ -9097,6 +9136,103 @@ DROP INDEX idx_3; sqlDB.Exec(t, `BACKUP test.t TO 'nodelocal://1/backup_test' WITH revision_history`) } +func waitForStatus(t *testing.T, db *sqlutils.SQLRunner, jobID int64, status jobs.Status) error { + return testutils.SucceedsSoonError(func() error { + var jobStatus string + db.QueryRow(t, `SELECT status FROM system.jobs WHERE id = $1`, jobID).Scan(&jobStatus) + + if status != jobs.Status(jobStatus) { + return errors.Newf("expected jobID %d to have status %, got %s", jobID, status, jobStatus) + } + return nil + }) +} + +// Test to verify that RESTORE jobs self pause on error when given the +// DEBUG_PAUSE_ON = 'error' option. +func TestRestorePauseOnError(t *testing.T) { + defer leaktest.AfterTest(t)() + defer log.ScopeWithoutShowLogs(t).Close(t) + + defer jobs.TestingSetProgressThresholds()() + + skip.WithIssue(t, 121336) + + baseDir := "testdata" + args := base.TestServerArgs{ + ExternalIODir: baseDir, + Knobs: base.TestingKnobs{JobsTestingKnobs: jobs.NewTestingKnobsWithShortIntervals()}} + params := base.TestClusterArgs{ServerArgs: args} + tc, sqlDB, _, cleanupFn := backupRestoreTestSetupWithParams(t, singleNode, 1, + InitManualReplication, params) + defer cleanupFn() + + var forceFailure bool + for i := range tc.Servers { + jobRegistry := tc.ApplicationLayer(i).JobRegistry() + + jobRegistry.(*jobs.Registry).TestingWrapResumerConstructor( + jobspb.TypeRestore, + func(raw jobs.Resumer) jobs.Resumer { + r := raw.(*restoreResumer) + r.testingKnobs.beforePublishingDescriptors = func() error { + if forceFailure { + return errors.New("testing injected failure") + } + return nil + } + return r + }) + } + + sqlDB.Exec(t, `CREATE DATABASE r1`) + sqlDB.Exec(t, `CREATE TABLE r1.foo (id INT)`) + sqlDB.Exec(t, `BACKUP DATABASE r1 TO 'nodelocal://1/eventlogging'`) + sqlDB.Exec(t, `DROP DATABASE r1`) + + restoreQuery := `RESTORE DATABASE r1 FROM 'nodelocal://1/eventlogging' WITH DEBUG_PAUSE_ON = 'error'` + findJobQuery := `SELECT job_id FROM [SHOW JOBS] WHERE description LIKE '%RESTORE DATABASE%' ORDER BY created DESC` + + // Verify that a RESTORE job will self pause on an error, but can be resumed + // after the source of error is fixed. + { + var jobID int64 + forceFailure = true + + sqlDB.QueryRow(t, restoreQuery) + + sqlDB.QueryRow(t, findJobQuery).Scan(&jobID) + if err := waitForStatus(t, sqlDB, jobID, jobs.StatusPaused); err != nil { + t.Fatal(err) + } + + forceFailure = false + sqlDB.Exec(t, "RESUME JOB $1", jobID) + + if err := waitForStatus(t, sqlDB, jobID, jobs.StatusSucceeded); err != nil { + t.Fatal(err) + } + } + + // Verify that a RESTORE job will self pause on an error and can be canceled. + { + var jobID int64 + forceFailure = true + sqlDB.Exec(t, `DROP DATABASE r1`) + sqlDB.QueryRow(t, restoreQuery) + sqlDB.QueryRow(t, findJobQuery).Scan(&jobID) + if err := waitForStatus(t, sqlDB, jobID, jobs.StatusPaused); err != nil { + t.Fatal(err) + } + + sqlDB.Exec(t, "CANCEL JOB $1", jobID) + + if err := waitForStatus(t, sqlDB, jobID, jobs.StatusCanceled); err != nil { + t.Fatal(err) + } + } +} + // TestDroppedDescriptorRevisionAndSystemDBIDClash is a regression test for a // discrepancy in the descriptor resolution logic during restore planning and // execution. @@ -10206,7 +10342,7 @@ func TestBackupNoOverwriteCheckpoint(t *testing.T) { // Set the testing knob so we count each time we write a checkpoint. params := base.TestClusterArgs{} knobs := base.TestingKnobs{ - BackupRestore: &sql.BackupRestoreTestingKnobs{ + SQLExecutor: &sql.ExecutorTestingKnobs{ AfterBackupCheckpoint: func() { numCheckpointsWritten++ }, @@ -10618,9 +10754,7 @@ func TestBackupDoNotIncludeViewSpans(t *testing.T) { t.Fatalf("%+v", err) } if backupinfo.IsGZipped(backupManifestBytes) { - backupManifestBytes, err = backupinfo.DecompressData( - context.Background(), mon.NewStandaloneUnlimitedAccount(), backupManifestBytes, - ) + backupManifestBytes, err = backupinfo.DecompressData(context.Background(), nil, backupManifestBytes) require.NoError(t, err) } if err := protoutil.Unmarshal(backupManifestBytes, &backupManifest); err != nil { diff --git a/pkg/ccl/backupccl/backupinfo/BUILD.bazel b/pkg/ccl/backupccl/backupinfo/BUILD.bazel index d19f1ad4db17..7601abc6dfd1 100644 --- a/pkg/ccl/backupccl/backupinfo/BUILD.bazel +++ b/pkg/ccl/backupccl/backupinfo/BUILD.bazel @@ -90,7 +90,6 @@ go_test( "//pkg/util/ioctx", "//pkg/util/leaktest", "//pkg/util/log", - "//pkg/util/mon", "//pkg/util/protoutil", "//pkg/util/randutil", "@com_github_stretchr_testify//require", diff --git a/pkg/ccl/backupccl/backupinfo/backup_metadata_test.go b/pkg/ccl/backupccl/backupinfo/backup_metadata_test.go index c0e8b51dcb75..437c32bc1f11 100644 --- a/pkg/ccl/backupccl/backupinfo/backup_metadata_test.go +++ b/pkg/ccl/backupccl/backupinfo/backup_metadata_test.go @@ -33,7 +33,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/ioctx" "github.com/cockroachdb/cockroach/pkg/util/leaktest" "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/cockroach/pkg/util/mon" "github.com/cockroachdb/cockroach/pkg/util/protoutil" "github.com/stretchr/testify/require" ) @@ -315,7 +314,7 @@ func testingReadBackupManifest( return nil, err } if backupinfo.IsGZipped(bytes) { - descBytes, err := backupinfo.DecompressData(ctx, mon.NewStandaloneUnlimitedAccount(), bytes) + descBytes, err := backupinfo.DecompressData(ctx, nil, bytes) if err != nil { return nil, err } diff --git a/pkg/ccl/backupccl/backupinfo/manifest_handling.go b/pkg/ccl/backupccl/backupinfo/manifest_handling.go index de3508a231d9..7c369d210667 100644 --- a/pkg/ccl/backupccl/backupinfo/manifest_handling.go +++ b/pkg/ccl/backupccl/backupinfo/manifest_handling.go @@ -421,52 +421,64 @@ func readManifest( func readBackupPartitionDescriptor( ctx context.Context, + mem *mon.BoundAccount, exportStore cloud.ExternalStorage, filename string, encryption *jobspb.BackupEncryptionOptions, kmsEnv cloud.KMSEnv, -) (backuppb.BackupPartitionDescriptor, error) { +) (backuppb.BackupPartitionDescriptor, int64, error) { ctx, sp := tracing.ChildSpan(ctx, "backupinfo.readBackupPartitionDescriptor") defer sp.Finish() r, _, err := exportStore.ReadFile(ctx, filename, cloud.ReadOptions{NoFileSize: true}) if err != nil { - return backuppb.BackupPartitionDescriptor{}, err + return backuppb.BackupPartitionDescriptor{}, 0, err } defer r.Close(ctx) - descBytes, err := ioctx.ReadAll(ctx, r) + descBytes, err := mon.ReadAll(ctx, r, mem) if err != nil { - return backuppb.BackupPartitionDescriptor{}, err + return backuppb.BackupPartitionDescriptor{}, 0, err } - - memAcc := mon.NewStandaloneUnlimitedAccount() + defer func() { + mem.Shrink(ctx, int64(cap(descBytes))) + }() if encryption != nil { encryptionKey, err := backupencryption.GetEncryptionKey(ctx, encryption, kmsEnv) if err != nil { - return backuppb.BackupPartitionDescriptor{}, err + return backuppb.BackupPartitionDescriptor{}, 0, err } - plaintextData, err := storageccl.DecryptFile(ctx, descBytes, encryptionKey, memAcc) + plaintextData, err := storageccl.DecryptFile(ctx, descBytes, encryptionKey, mem) if err != nil { - return backuppb.BackupPartitionDescriptor{}, err + return backuppb.BackupPartitionDescriptor{}, 0, err } + mem.Shrink(ctx, int64(cap(descBytes))) descBytes = plaintextData } if IsGZipped(descBytes) { - decompressedData, err := DecompressData(ctx, memAcc, descBytes) + decompressedData, err := DecompressData(ctx, mem, descBytes) if err != nil { - return backuppb.BackupPartitionDescriptor{}, errors.Wrap( + return backuppb.BackupPartitionDescriptor{}, 0, errors.Wrap( err, "decompressing backup partition descriptor") } + mem.Shrink(ctx, int64(cap(descBytes))) descBytes = decompressedData } + memSize := int64(len(descBytes)) + + if err := mem.Grow(ctx, memSize); err != nil { + return backuppb.BackupPartitionDescriptor{}, 0, err + } + var backupManifest backuppb.BackupPartitionDescriptor if err := protoutil.Unmarshal(descBytes, &backupManifest); err != nil { - return backuppb.BackupPartitionDescriptor{}, err + mem.Shrink(ctx, memSize) + return backuppb.BackupPartitionDescriptor{}, 0, err } - return backupManifest, err + + return backupManifest, memSize, err } // readTableStatistics reads and unmarshals a StatsTable from filename in @@ -495,7 +507,7 @@ func readTableStatistics( if err != nil { return nil, err } - statsBytes, err = storageccl.DecryptFile(ctx, statsBytes, encryptionKey, mon.NewStandaloneUnlimitedAccount()) + statsBytes, err = storageccl.DecryptFile(ctx, statsBytes, encryptionKey, nil /* mm */) if err != nil { return nil, err } @@ -855,9 +867,8 @@ func GetLocalityInfo( // tempdir), implying that it is possible for files that the manifest // claims are stored in two different localities, are actually stored in // the same place. - if desc, err := readBackupPartitionDescriptor( - ctx, store, filename, encryption, kmsEnv, - ); err == nil { + if desc, _, err := readBackupPartitionDescriptor(ctx, nil /*mem*/, store, filename, + encryption, kmsEnv); err == nil { if desc.BackupID != mainBackupManifest.ID { return info, errors.Errorf( "expected backup part to have backup ID %s, found %s", diff --git a/pkg/ccl/backupccl/backuppb/backup.proto b/pkg/ccl/backupccl/backuppb/backup.proto index 240d0a0861a2..35d5525711f7 100644 --- a/pkg/ccl/backupccl/backuppb/backup.proto +++ b/pkg/ccl/backupccl/backuppb/backup.proto @@ -55,8 +55,6 @@ message BackupManifest { // ApproximatePhysicalSize is the approximate size of the physical bytes in // compressed SST form. uint64 approximate_physical_size = 11; - - bool has_range_keys = 12; } message DescriptorRevision { diff --git a/pkg/ccl/backupccl/backuprand/backup_rand_test.go b/pkg/ccl/backupccl/backuprand/backup_rand_test.go index bc58d4f2278b..68d01d4d98b0 100644 --- a/pkg/ccl/backupccl/backuprand/backup_rand_test.go +++ b/pkg/ccl/backupccl/backuprand/backup_rand_test.go @@ -166,7 +166,9 @@ database_name = 'rand' AND schema_name = 'public'`) withOnlineRestore := func() string { onlineRestoreExtension := "" if rng.Intn(2) != 0 { - onlineRestoreExtension = ", experimental deferred copy" + // TODO(msbutler): once this test is deflaked, add back the online restore + // variant of this test. + onlineRestoreExtension = "" } return onlineRestoreExtension } diff --git a/pkg/ccl/backupccl/backupresolver/targets.go b/pkg/ccl/backupccl/backupresolver/targets.go index 2569e683ddf4..579718cd7f47 100644 --- a/pkg/ccl/backupccl/backupresolver/targets.go +++ b/pkg/ccl/backupccl/backupresolver/targets.go @@ -289,6 +289,12 @@ func NewDescriptorResolver(descs []catalog.Descriptor) (*DescriptorResolver, err objMap = make(map[string]descpb.ID) } descName := desc.GetName() + // Handle special case of system.namespace table which used to be named + // system.namespace2. + if desc.GetID() == keys.NamespaceTableID && + desc.GetPostDeserializationChanges().Contains(catalog.UpgradedNamespaceName) { + descName = catconstants.PreMigrationNamespaceTableName + } if _, ok := objMap[descName]; ok { return errors.Errorf("duplicate %s name: %q.%q.%q used for ID %d and %d", kind, parentDesc.GetName(), scName, descName, desc.GetID(), objMap[descName]) diff --git a/pkg/ccl/backupccl/backuptestutils/testutils.go b/pkg/ccl/backupccl/backuptestutils/testutils.go index 9e3b4a725341..7d3e05cd3b73 100644 --- a/pkg/ccl/backupccl/backuptestutils/testutils.go +++ b/pkg/ccl/backupccl/backuptestutils/testutils.go @@ -62,11 +62,10 @@ type bankWorkloadArgs struct { } type backupTestOptions struct { - bankArgs *bankWorkloadArgs - dataDir string - testClusterArgs base.TestClusterArgs - initFunc func(*testcluster.TestCluster) - skipInvalidDescriptorCheck bool + bankArgs *bankWorkloadArgs + dataDir string + testClusterArgs base.TestClusterArgs + initFunc func(*testcluster.TestCluster) } func WithParams(p base.TestClusterArgs) BackupTestArg { @@ -95,12 +94,6 @@ func WithTempDir(dir string) BackupTestArg { } } -func WithSkipInvalidDescriptorCheck() BackupTestArg { - return func(o *backupTestOptions) { - o.skipInvalidDescriptorCheck = true - } -} - func StartBackupRestoreTestCluster( t testing.TB, clusterSize int, args ...BackupTestArg, ) (*testcluster.TestCluster, *sqlutils.SQLRunner, string, func()) { @@ -165,9 +158,7 @@ func StartBackupRestoreTestCluster( } return tc, sqlDB, opts.dataDir, func() { - if !opts.skipInvalidDescriptorCheck { - CheckForInvalidDescriptors(t, tc.Conns[0]) - } + CheckForInvalidDescriptors(t, tc.Conns[0]) tc.Stopper().Stop(ctx) // cleans up in memory storage's auxiliary dirs dirCleanupFunc() } diff --git a/pkg/ccl/backupccl/backuputils/memory_backed_quota_pool.go b/pkg/ccl/backupccl/backuputils/memory_backed_quota_pool.go index ecc184444d38..a76218b686c4 100644 --- a/pkg/ccl/backupccl/backuputils/memory_backed_quota_pool.go +++ b/pkg/ccl/backupccl/backuputils/memory_backed_quota_pool.go @@ -43,7 +43,7 @@ func NewMemoryBackedQuotaPool( } if m != nil { - q.mon = mon.NewMonitorInheritWithLimit(name, limit, m, false /* longLiving */) + q.mon = mon.NewMonitorInheritWithLimit(name, limit, m) q.mon.StartNoReserved(ctx, m) mem := q.mon.MakeBoundAccount() q.mem = &mem diff --git a/pkg/ccl/backupccl/datadriven_test.go b/pkg/ccl/backupccl/datadriven_test.go index 121445ab5cc2..0c761e0cf74f 100644 --- a/pkg/ccl/backupccl/datadriven_test.go +++ b/pkg/ccl/backupccl/datadriven_test.go @@ -82,8 +82,8 @@ var localityCfgs = map[string]roachpb.Locality{ } var clusterVersionKeys = map[string]clusterversion.Key{ - "latest": clusterversion.Latest, - "previous-release": clusterversion.PreviousRelease, + "23_2_Start": clusterversion.V23_2Start, + "23_2": clusterversion.V23_2, } type sqlDBKey struct { @@ -177,8 +177,9 @@ func (d *datadrivenTestState) addCluster(t *testing.T, cfg clusterCfg) error { if !ok { t.Fatalf("clusterVersion %s does not exist in data driven global map", cfg.beforeVersion) } + beforeKey-- params.ServerArgs.Knobs.Server = &server.TestingKnobs{ - ClusterVersionOverride: beforeKey.Version(), + BinaryVersionOverride: beforeKey.Version(), DisableAutomaticVersionUpgrade: make(chan struct{}), } } @@ -212,11 +213,6 @@ func (d *datadrivenTestState) addCluster(t *testing.T, cfg clusterCfg) error { opts := []backuptestutils.BackupTestArg{ backuptestutils.WithParams(params), backuptestutils.WithTempDir(cfg.iodir), - // We can skip the check for invalid descriptors because we do it in - // datadrivenTestState.cleanup explicitly, and having it in the cleanup - // function returned by StartBackupRestoreTestCluster fails anyway since - // we stop the first node before executing cleanupFns. - backuptestutils.WithSkipInvalidDescriptorCheck(), } if cfg.iodir == "" { opts = append(opts, backuptestutils.WithBank(cfg.splits)) @@ -566,11 +562,11 @@ func runTestDataDriven(t *testing.T, testFilePathFromWorkspace string) { if d.HasArg("splits") { d.ScanArgs(t, "splits", &splits) } - if d.HasArg("before-version") { - d.ScanArgs(t, "before-version", &beforeVersion) + if d.HasArg("beforeVersion") { + d.ScanArgs(t, "beforeVersion", &beforeVersion) if !d.HasArg("disable-tenant") { // TODO(msbutler): figure out why test tenants don't mix with version testing - t.Fatal("tests that use before-version must use disable-tenant") + t.Fatal("tests that use beforeVersion must use disable-tenant") } } if d.HasArg("testingKnobCfg") { diff --git a/pkg/ccl/backupccl/file_sst_sink.go b/pkg/ccl/backupccl/file_sst_sink.go index f68276d9cde3..6f287fd1a9d7 100644 --- a/pkg/ccl/backupccl/file_sst_sink.go +++ b/pkg/ccl/backupccl/file_sst_sink.go @@ -207,13 +207,8 @@ func (s *fileSSTSink) open(ctx context.Context) error { // Value blocks are disabled since such SSTs can be huge (e.g. 750MB in the // mixed_version_backup.go roachtest), which can cause OOMs due to value // block buffering. - s.sst = storage.MakeIngestionSSTWriterWithOverrides( - ctx, s.dest.Settings(), storage.NoopFinishAbortWritable(s.out), - storage.WithValueBlocksDisabled, - storage.WithCompressionFromClusterSetting( - ctx, s.dest.Settings(), storage.CompressionAlgorithmBackupStorage, - ), - ) + s.sst = storage.MakeIngestionSSTWriterWithValueBlockOverride( + ctx, s.dest.Settings(), storage.NoopFinishAbortWritable(s.out), true) return nil } @@ -272,7 +267,6 @@ func (s *fileSSTSink) write(ctx context.Context, resp exportedSpan) (roachpb.Key if err != nil { return nil, err } - hasRangeKeys := maxRange != nil // extend determines if the new span should be added to the last span. This // will occur if the previous span ended mid row, or if the new span is a @@ -284,8 +278,8 @@ func (s *fileSSTSink) write(ctx context.Context, resp exportedSpan) (roachpb.Key } else if len(s.flushedFiles) > 0 { last := s.flushedFiles[len(s.flushedFiles)-1] extend = last.Span.EndKey.Equal(span.Key) && - last.EndTime == resp.metadata.EndTime && - last.StartTime == resp.metadata.StartTime && + last.EndTime.EqOrdering(resp.metadata.EndTime) && + last.StartTime.EqOrdering(resp.metadata.StartTime) && last.EntryCounts.DataSize < fileSpanByteLimit } @@ -306,13 +300,11 @@ func (s *fileSSTSink) write(ctx context.Context, resp exportedSpan) (roachpb.Key s.flushedFiles[l].Span.EndKey = span.EndKey s.flushedFiles[l].EntryCounts.Add(resp.metadata.EntryCounts) s.flushedFiles[l].ApproximatePhysicalSize += resp.metadata.ApproximatePhysicalSize - s.flushedFiles[l].HasRangeKeys = s.flushedFiles[l].HasRangeKeys || hasRangeKeys s.stats.spanGrows++ } else { f := resp.metadata f.Path = s.outName f.Span.EndKey = span.EndKey - f.HasRangeKeys = hasRangeKeys s.flushedFiles = append(s.flushedFiles, f) } @@ -455,8 +447,6 @@ func (s *fileSSTSink) copyPointKeys(ctx context.Context, dataSST []byte) (roachp return iter.UnsafeKey().Key.Clone(), nil } -// copyRangeKeys copies all range keys from the dataSST into the buffer and -// returns the max range key observed. func (s *fileSSTSink) copyRangeKeys(dataSST []byte) (roachpb.Key, error) { iterOpts := storage.IterOptions{ KeyTypes: storage.IterKeyTypeRangesOnly, diff --git a/pkg/ccl/backupccl/generative_split_and_scatter_processor.go b/pkg/ccl/backupccl/generative_split_and_scatter_processor.go index c4d7ffd25a29..fd10009ecc9d 100644 --- a/pkg/ccl/backupccl/generative_split_and_scatter_processor.go +++ b/pkg/ccl/backupccl/generative_split_and_scatter_processor.go @@ -59,7 +59,8 @@ var generativeSplitAndScatterOutputTypes = []*types.T{ type generativeSplitAndScatterProcessor struct { execinfra.ProcessorBase - spec execinfrapb.GenerativeSplitAndScatterSpec + flowCtx *execinfra.FlowCtx + spec execinfrapb.GenerativeSplitAndScatterSpec // chunkSplitAndScatterers contain the splitAndScatterers for the group of // split and scatter workers that's responsible for splitting and scattering @@ -300,6 +301,7 @@ func newGenerativeSplitAndScatterProcessor( } ssp := &generativeSplitAndScatterProcessor{ + flowCtx: flowCtx, spec: spec, chunkSplitAndScatterers: chunkSplitAndScatterers, chunkEntrySplitAndScatterers: chunkEntrySplitAndScatterers, @@ -336,11 +338,11 @@ func (gssp *generativeSplitAndScatterProcessor) Start(ctx context.Context) { cancel() <-workerDone } - if err := gssp.FlowCtx.Stopper().RunAsyncTaskEx(scatterCtx, stop.TaskOpts{ + if err := gssp.flowCtx.Stopper().RunAsyncTaskEx(scatterCtx, stop.TaskOpts{ TaskName: "generativeSplitAndScatter-worker", SpanOpt: stop.ChildSpan, }, func(ctx context.Context) { - gssp.scatterErr = runGenerativeSplitAndScatter(scatterCtx, gssp.FlowCtx, &gssp.spec, gssp.chunkSplitAndScatterers, gssp.chunkEntrySplitAndScatterers, gssp.doneScatterCh, + gssp.scatterErr = runGenerativeSplitAndScatter(scatterCtx, gssp.flowCtx, &gssp.spec, gssp.chunkSplitAndScatterers, gssp.chunkEntrySplitAndScatterers, gssp.doneScatterCh, &gssp.routingDatumCache) cancel() close(gssp.doneScatterCh) @@ -403,9 +405,7 @@ func (gssp *generativeSplitAndScatterProcessor) ConsumerClosed() { // runs into an error and stops consuming scattered entries to make sure we // don't leak goroutines. func (gssp *generativeSplitAndScatterProcessor) close() { - if gssp.cancelScatterAndWaitForWorker != nil { - gssp.cancelScatterAndWaitForWorker() - } + gssp.cancelScatterAndWaitForWorker() gssp.InternalClose() } @@ -414,13 +414,11 @@ func makeBackupMetadata( ) ([]backuppb.BackupManifest, backupinfo.LayerToBackupManifestFileIterFactory, error) { execCfg := flowCtx.Cfg.ExecutorConfig.(*sql.ExecutorConfig) - memAcc := flowCtx.EvalCtx.Planner.Mon().MakeBoundAccount() - defer memAcc.Close(ctx) kmsEnv := backupencryption.MakeBackupKMSEnv(execCfg.Settings, &execCfg.ExternalIODirConfig, execCfg.InternalDB, spec.User()) - backupManifests, _, err := backupinfo.LoadBackupManifestsAtTime(ctx, &memAcc, spec.URIs, + backupManifests, _, err := backupinfo.LoadBackupManifestsAtTime(ctx, nil, spec.URIs, spec.User(), execCfg.DistSQLSrv.ExternalStorageFromURI, spec.Encryption, &kmsEnv, spec.EndTime) if err != nil { return nil, nil, err @@ -543,99 +541,83 @@ func runGenerativeSplitAndScatter( }) importSpanChunksCh := make(chan scatteredChunk, chunkSplitAndScatterWorkers*2) - g.GoCtx(func(ctx context.Context) error { - defer close(importSpanChunksCh) - // This group of goroutines processes the chunks from restoreEntryChunksCh. - // For each chunk, a split is created at the start key of the next chunk. The - // current chunk is then scattered, and the chunk with its destination is - // passed to importSpanChunksCh. - g2 := ctxgroup.WithContext(ctx) - for worker := 0; worker < chunkSplitAndScatterWorkers; worker++ { - worker := worker - g2.GoCtx(func(ctx context.Context) error { - hash := fnv.New32a() - - // Chunks' leaseholders should be randomly placed throughout the - // cluster. - for importSpanChunk := range restoreEntryChunksCh { - scatterKey := importSpanChunk.entries[0].Span.Key - if !importSpanChunk.splitKey.Equal(roachpb.Key{}) { - // Split at the start of the next chunk, to partition off a - // prefix of the space to scatter. - if err := chunkSplitAndScatterers[worker].split(ctx, flowCtx.Codec(), importSpanChunk.splitKey); err != nil { - return err - } - } - chunkDestination, err := chunkSplitAndScatterers[worker].scatter(ctx, flowCtx.Codec(), scatterKey) - if err != nil { + + // This group of goroutines processes the chunks from restoreEntryChunksCh. + // For each chunk, a split is created at the start key of the next chunk. The + // current chunk is then scattered, and the chunk with its destination is + // passed to importSpanChunksCh. + g2 := ctxgroup.WithContext(ctx) + for worker := 0; worker < chunkSplitAndScatterWorkers; worker++ { + worker := worker + g2.GoCtx(func(ctx context.Context) error { + hash := fnv.New32a() + + // Chunks' leaseholders should be randomly placed throughout the + // cluster. + for importSpanChunk := range restoreEntryChunksCh { + scatterKey := importSpanChunk.entries[0].Span.Key + if !importSpanChunk.splitKey.Equal(roachpb.Key{}) { + // Split at the start of the next chunk, to partition off a + // prefix of the space to scatter. + if err := chunkSplitAndScatterers[worker].split(ctx, flowCtx.Codec(), importSpanChunk.splitKey); err != nil { return err } - if chunkDestination == 0 { - // If scatter failed to find a node for range ingestion, route the - // range to a random node that has already been scattered to so far. - // The random node is chosen by hashing the scatter key. - if nodeID, ok := flowCtx.NodeID.OptionalNodeID(); ok { - cachedNodeIDs := cache.cachedNodeIDs() - if len(cachedNodeIDs) > 0 { - hash.Reset() - if _, err := hash.Write(scatterKey); err != nil { - log.Warningf(ctx, "scatter returned node 0. Route span starting at %s to current node %v because of hash error: %v", - scatterKey, nodeID, err) - } else { - hashedKey := int(hash.Sum32()) - nodeID = cachedNodeIDs[hashedKey%len(cachedNodeIDs)] - } - - log.Warningf(ctx, "scatter returned node 0. "+ - "Random route span starting at %s node %v", scatterKey, nodeID) + } + chunkDestination, err := chunkSplitAndScatterers[worker].scatter(ctx, flowCtx.Codec(), scatterKey) + if err != nil { + return err + } + if chunkDestination == 0 { + // If scatter failed to find a node for range ingestion, route the + // range to a random node that has already been scattered to so far. + // The random node is chosen by hashing the scatter key. + if nodeID, ok := flowCtx.NodeID.OptionalNodeID(); ok { + cachedNodeIDs := cache.cachedNodeIDs() + if len(cachedNodeIDs) > 0 { + hash.Reset() + if _, err := hash.Write(scatterKey); err != nil { + log.Warningf(ctx, "scatter returned node 0. Route span starting at %s to current node %v because of hash error: %v", + scatterKey, nodeID, err) } else { - log.Warningf(ctx, "scatter returned node 0. "+ - "Route span starting at %s to current node %v", scatterKey, nodeID) + hashedKey := int(hash.Sum32()) + nodeID = cachedNodeIDs[hashedKey%len(cachedNodeIDs)] } - chunkDestination = nodeID - } else { - // TODO(rui): OptionalNodeID only returns a node if the sql server runs - // in the same process as the kv server (e.g., not serverless). Figure - // out how to handle this error in serverless restore. - log.Warningf(ctx, "scatter returned node 0. "+ - "Route span starting at %s to default stream", scatterKey) - } - } - if _, ok := flowCtx.NodeID.OptionalNodeID(); !ok { - // If a seperate process tenant is running restore, the nodeID - // returned by scatter does not map identically to a sqlInstanceID; - // thus, the processor must randomly choose a sqlInstanceID to route - // the chunk to. - // - // TODO(msbutler): it is unfortunate that all logic after scatter - // operates on a NodeID object. The logic should use SQLInstanceID's - // as these chunks are routed to DistSQL processors running on sql - // servers. - if len(spec.SQLInstanceIDs) > 0 { - chunkDestination = roachpb.NodeID(spec.SQLInstanceIDs[rand.Intn(len(spec.SQLInstanceIDs))]) + log.Warningf(ctx, "scatter returned node 0. "+ + "Random route span starting at %s node %v", scatterKey, nodeID) } else { - chunkDestination = roachpb.NodeID(0) + log.Warningf(ctx, "scatter returned node 0. "+ + "Route span starting at %s to current node %v", scatterKey, nodeID) } + chunkDestination = nodeID + } else { + // TODO(rui): OptionalNodeID only returns a node if the sql server runs + // in the same process as the kv server (e.g., not serverless). Figure + // out how to handle this error in serverless restore. + log.Warningf(ctx, "scatter returned node 0. "+ + "Route span starting at %s to default stream", scatterKey) } + } - sc := scatteredChunk{ - destination: chunkDestination, - entries: importSpanChunk.entries, - } + sc := scatteredChunk{ + destination: chunkDestination, + entries: importSpanChunk.entries, + } - select { - case <-ctx.Done(): - return errors.Wrap(ctx.Err(), "sending scattered chunk") - case importSpanChunksCh <- sc: - } + select { + case <-ctx.Done(): + return errors.Wrap(ctx.Err(), "sending scattered chunk") + case importSpanChunksCh <- sc: } - return nil - }) - } + } + return nil + }) + } - // This goroutine waits for the chunkSplitAndScatter workers to finish so that - // it can close importSpanChunksCh. + // This goroutine waits for the chunkSplitAndScatter workers to finish so that + // it can close importSpanChunksCh. + g.GoCtx(func(ctx context.Context) error { + defer close(importSpanChunksCh) return errors.Wrap(g2.Wait(), "waiting for chunkSplitAndScatter workers") }) diff --git a/pkg/ccl/backupccl/generative_split_and_scatter_processor_test.go b/pkg/ccl/backupccl/generative_split_and_scatter_processor_test.go index 456a2bc158f1..be21e4c4b482 100644 --- a/pkg/ccl/backupccl/generative_split_and_scatter_processor_test.go +++ b/pkg/ccl/backupccl/generative_split_and_scatter_processor_test.go @@ -29,7 +29,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/leaktest" "github.com/cockroachdb/cockroach/pkg/util/log" "github.com/cockroachdb/cockroach/pkg/util/protoutil" - "github.com/cockroachdb/errors" "github.com/stretchr/testify/require" ) @@ -230,34 +229,23 @@ func TestRunGenerativeSplitAndScatterRandomizedDestOnFailScatter(t *testing.T) { // and can break if it changes. require.GreaterOrEqual(t, cnt, 2) } - - // Also test that errors from split mid-chunk are returned (this deadlocked at - // one point). - spec.ChunkSize = 2 - require.Error(t, runGenerativeSplitAndScatter(ctx, &flowCtx, &spec, - []splitAndScatterer{&scatterAlwaysFailsSplitScatterer{}}, - []splitAndScatterer{&scatterAlwaysFailsSplitScatterer{err: errors.New("injected")}}, - make(chan entryNode, 1000), - &cache, - )) } // scatterAlwaysFailsSplitScatterer always fails the scatter and returns 0 as // the chunk destination. type scatterAlwaysFailsSplitScatterer struct { - err error } func (t *scatterAlwaysFailsSplitScatterer) split( ctx context.Context, codec keys.SQLCodec, splitKey roachpb.Key, ) error { - return t.err + return nil } func (t *scatterAlwaysFailsSplitScatterer) scatter( ctx context.Context, codec keys.SQLCodec, scatterKey roachpb.Key, ) (roachpb.NodeID, error) { - return 0, t.err + return 0, nil } func makeTestingGenerativeSplitAndScatterSpec( diff --git a/pkg/ccl/backupccl/key_rewriter.go b/pkg/ccl/backupccl/key_rewriter.go index 996896a967b2..91114cbc8d47 100644 --- a/pkg/ccl/backupccl/key_rewriter.go +++ b/pkg/ccl/backupccl/key_rewriter.go @@ -10,7 +10,6 @@ package backupccl import ( "bytes" - "slices" "sort" "github.com/cockroachdb/cockroach/pkg/keys" @@ -180,8 +179,8 @@ func makeKeyRewriter( } } } - slices.SortFunc(prefixes.rewrites, func(a, b prefixRewrite) int { - return bytes.Compare(a.OldPrefix, b.OldPrefix) + sort.Slice(prefixes.rewrites, func(i, j int) bool { + return bytes.Compare(prefixes.rewrites[i].OldPrefix, prefixes.rewrites[j].OldPrefix) < 0 }) fromSystemTenant := isFromSystemTenant(tenants) @@ -199,8 +198,8 @@ func makeKeyRewriter( OldPrefix: from, NewPrefix: to, noop: bytes.Equal(from, to), }) } - slices.SortFunc(tenantPrefixes.rewrites, func(a, b prefixRewrite) int { - return bytes.Compare(a.OldPrefix, b.OldPrefix) + sort.Slice(tenantPrefixes.rewrites, func(i, j int) bool { + return bytes.Compare(tenantPrefixes.rewrites[i].OldPrefix, tenantPrefixes.rewrites[j].OldPrefix) < 0 }) return &KeyRewriter{ codec: codec, @@ -221,12 +220,8 @@ func MakeKeyRewriterPrefixIgnoringInterleaved(tableID descpb.ID, indexID descpb. // RewriteTenant rewrites a tenant key. func (kr *KeyRewriter) RewriteTenant(key []byte) ([]byte, bool, error) { - return kr.rewriteTenant(key, false) -} - -func (kr *KeyRewriter) rewriteTenant(key []byte, forSpan bool) ([]byte, bool, error) { k, ok := kr.tenants.rewriteKey(key) - if ok && !forSpan { + if ok { // Skip keys from ephemeral cluster status tables so that the restored // cluster does not observe stale leases/liveness until it expires. noTenantPrefix, _, err := keys.DecodeTenantPrefix(key) @@ -251,12 +246,6 @@ func (kr *KeyRewriter) rewriteTenant(key []byte, forSpan bool) ([]byte, bool, er // more details. func (kr *KeyRewriter) RewriteKey( key []byte, walltimeForImportElision int64, -) ([]byte, bool, error) { - return kr.rewriteKey(key, walltimeForImportElision, false) -} - -func (kr *KeyRewriter) rewriteKey( - key []byte, walltimeForImportElision int64, forSpan bool, ) ([]byte, bool, error) { // If we are reading a system tenant backup and this is a tenant key then it // is part of a backup *of* that tenant, so we only restore it if we have a @@ -264,7 +253,7 @@ func (kr *KeyRewriter) rewriteKey( // We also enable rekeying if we are restoring a tenant from a replication stream // in which case we are restoring as a system tenant. if kr.fromSystemTenant && bytes.HasPrefix(key, keys.TenantPrefix) { - return kr.rewriteTenant(key, forSpan) + return kr.RewriteTenant(key) } // At this point we know we're not restoring a tenant, however the keys we're @@ -276,7 +265,7 @@ func (kr *KeyRewriter) rewriteKey( return nil, false, err } - rekeyed, ok, err := kr.checkAndRewriteTableKey(noTenantPrefix, walltimeForImportElision, forSpan) + rekeyed, ok, err := kr.checkAndRewriteTableKey(noTenantPrefix, walltimeForImportElision) if err != nil || !ok { return nil, false, err } @@ -328,19 +317,17 @@ func (kr *KeyRewriter) rewriteKey( // filtering occurs. Filtering is necessary during restore because the restoring // cluster should not contain keys from an in-progress import. func (kr *KeyRewriter) checkAndRewriteTableKey( - key []byte, walltimeForImportElision int64, forSpan bool, + key []byte, walltimeForImportElision int64, ) ([]byte, bool, error) { // Fetch the original table ID for descriptor lookup. Ignore errors because // they will be caught later on if tableID isn't in descs or kr doesn't // perform a rewrite. _, tableID, _ := keys.SystemSQLCodec.DecodeTablePrefix(key) - if !forSpan { - // Skip keys from ephemeral cluster status tables so that the restored cluster - // does not observe stale leases/liveness until it expires. - if tableID == keys.SQLInstancesTableID || tableID == keys.SqllivenessID || tableID == keys.LeaseTableID { - return nil, false, nil - } + // Skip keys from ephemeral cluster status tables so that the restored cluster + // does not observe stale leases/liveness until it expires. + if tableID == keys.SQLInstancesTableID || tableID == keys.SqllivenessID || tableID == keys.LeaseTableID { + return nil, false, nil } desc := kr.descs[descpb.ID(tableID)] @@ -364,26 +351,3 @@ func (kr *KeyRewriter) checkAndRewriteTableKey( } return key, true, nil } - -func (kr *KeyRewriter) RewriteSpan(span roachpb.Span) (roachpb.Span, error) { - var ( - ok bool - err error - ) - span.Key, ok, err = kr.rewriteKey(span.Key, 0, true) - if err != nil { - return roachpb.Span{}, errors.Wrapf(err, "span start key %s was not rewritten", span.Key) - } - if !ok { - return roachpb.Span{}, errors.Newf("rewriting span start key %s failed", span.Key) - } - - span.EndKey, ok, err = kr.rewriteKey(span.EndKey, 0, true) - if err != nil { - return roachpb.Span{}, errors.Wrapf(err, "rewriting span end key %s failed", span.EndKey) - } - if !ok { - return roachpb.Span{}, errors.Newf("span end key %s was not rewritten", span.EndKey) - } - return span, nil -} diff --git a/pkg/ccl/backupccl/restore_data_processor.go b/pkg/ccl/backupccl/restore_data_processor.go index abc972db7dbb..d24e576372ab 100644 --- a/pkg/ccl/backupccl/restore_data_processor.go +++ b/pkg/ccl/backupccl/restore_data_processor.go @@ -19,7 +19,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/ccl/backupccl/backuputils" "github.com/cockroachdb/cockroach/pkg/ccl/storageccl" "github.com/cockroachdb/cockroach/pkg/cloud" - "github.com/cockroachdb/cockroach/pkg/clusterversion" "github.com/cockroachdb/cockroach/pkg/keys" "github.com/cockroachdb/cockroach/pkg/kv/bulk" "github.com/cockroachdb/cockroach/pkg/kv/kvpb" @@ -53,8 +52,9 @@ var restoreDataOutputTypes = []*types.T{} type restoreDataProcessor struct { execinfra.ProcessorBase - spec execinfrapb.RestoreDataSpec - input execinfra.RowSource + flowCtx *execinfra.FlowCtx + spec execinfrapb.RestoreDataSpec + input execinfra.RowSource // numWorkers is the number of workers this processor should use. This // number is determined by the cluster setting and the amount of memory @@ -148,9 +148,10 @@ func newRestoreDataProcessor( input execinfra.RowSource, ) (execinfra.Processor, error) { rd := &restoreDataProcessor{ - input: input, - spec: spec, - progCh: make(chan backuppb.RestoreProgress, maxConcurrentRestoreWorkers), + flowCtx: flowCtx, + input: input, + spec: spec, + progCh: make(chan backuppb.RestoreProgress, maxConcurrentRestoreWorkers), } rd.qp = backuputils.NewMemoryBackedQuotaPool(ctx, flowCtx.Cfg.BackupMonitor, "restore-mon", 0) @@ -159,17 +160,12 @@ func newRestoreDataProcessor( InputsToDrain: []execinfra.RowSource{input}, TrailingMetaCallback: func() []execinfrapb.ProducerMetadata { rd.ConsumerClosed() - meta := &execinfrapb.ProducerMetadata{} if rd.agg != nil { - meta = bulkutil.ConstructTracingAggregatorProducerMeta(ctx, - rd.FlowCtx.NodeID.SQLInstanceID(), rd.FlowCtx.ID, rd.agg) + meta := bulkutil.ConstructTracingAggregatorProducerMeta(ctx, + rd.flowCtx.NodeID.SQLInstanceID(), rd.flowCtx.ID, rd.agg) + return []execinfrapb.ProducerMetadata{*meta} } - if clusterversion.V24_3.Version().LessEq(rd.spec.ResumeClusterVersion) { - // Only send the completion message if the restore job started on a - // 24.3 cluster or later. - meta.BulkProcessorProgress = &execinfrapb.RemoteProducerMetadata_BulkProcessorProgress{Drained: true} - } - return []execinfrapb.ProducerMetadata{*meta} + return nil }, }); err != nil { return nil, err @@ -200,7 +196,7 @@ func (rd *restoreDataProcessor) Start(ctx context.Context) { // maximum number of workers is based on the cluster setting. If the cluster // setting is updated, the job should be PAUSEd and RESUMEd for the new // setting to take effect. - numWorkers, err := reserveRestoreWorkerMemory(ctx, rd.FlowCtx.Cfg.Settings, rd.qp) + numWorkers, err := reserveRestoreWorkerMemory(ctx, rd.flowCtx.Cfg.Settings, rd.qp) if err != nil { log.Warningf(ctx, "cannot reserve restore worker memory: %v", err) rd.MoveToDraining(err) @@ -358,7 +354,7 @@ func (rd *restoreDataProcessor) openSSTs( file := entry.Files[idx] log.VEventf(ctx, 2, "import file %s which starts at %s", file.Path, entry.Span.Key) - dir, err := rd.FlowCtx.Cfg.ExternalStorage(ctx, file.Dir) + dir, err := rd.flowCtx.Cfg.ExternalStorage(ctx, file.Dir) if err != nil { return mergedSST{}, nil, err } @@ -451,7 +447,8 @@ func (rd *restoreDataProcessor) runRestoreWorkers( func (rd *restoreDataProcessor) processRestoreSpanEntry( ctx context.Context, kr *KeyRewriter, sst mergedSST, ) (kvpb.BulkOpSummary, error) { - db := rd.FlowCtx.Cfg.DB + db := rd.flowCtx.Cfg.DB + evalCtx := rd.EvalCtx var summary kvpb.BulkOpSummary entry := sst.entry @@ -497,15 +494,15 @@ func (rd *restoreDataProcessor) processRestoreSpanEntry( batcher, err = bulk.MakeSSTBatcher(ctx, "restore", db.KV(), - rd.FlowCtx.Cfg.Settings, + evalCtx.Settings, disallowShadowingBelow, writeAtBatchTS, false, /* scatterSplitRanges */ // TODO(rui): we can change this to the processor's bound account, but // currently there seems to be some accounting errors that will cause // tests to fail. - rd.FlowCtx.Cfg.BackupMonitor.MakeConcurrentBoundAccount(), - rd.FlowCtx.Cfg.BulkSenderLimiter, + rd.flowCtx.Cfg.BackupMonitor.MakeConcurrentBoundAccount(), + rd.flowCtx.Cfg.BulkSenderLimiter, ) if err != nil { return summary, err @@ -602,7 +599,7 @@ func (rd *restoreDataProcessor) processRestoreSpanEntry( return summary, err } - if restoreKnobs, ok := rd.FlowCtx.TestingKnobs().BackupRestoreTestingKnobs.(*sql.BackupRestoreTestingKnobs); ok { + if restoreKnobs, ok := rd.flowCtx.TestingKnobs().BackupRestoreTestingKnobs.(*sql.BackupRestoreTestingKnobs); ok { if restoreKnobs.RunAfterProcessingRestoreSpanEntry != nil { if err := restoreKnobs.RunAfterProcessingRestoreSpanEntry(ctx, &entry); err != nil { return summary, err @@ -659,7 +656,7 @@ func (rd *restoreDataProcessor) Next() (rowenc.EncDatumRow, *execinfrapb.Produce rd.aggTimer.Read = true rd.aggTimer.Reset(15 * time.Second) return nil, bulkutil.ConstructTracingAggregatorProducerMeta(rd.Ctx(), - rd.FlowCtx.NodeID.SQLInstanceID(), rd.FlowCtx.ID, rd.agg) + rd.flowCtx.NodeID.SQLInstanceID(), rd.flowCtx.ID, rd.agg) case meta := <-rd.metaCh: return nil, meta case <-rd.Ctx().Done(): @@ -673,9 +670,7 @@ func (rd *restoreDataProcessor) ConsumerClosed() { if rd.Closed { return } - if rd.cancelWorkersAndWait != nil { - rd.cancelWorkersAndWait() - } + rd.cancelWorkersAndWait() rd.qp.Close(rd.Ctx()) rd.aggTimer.Stop() diff --git a/pkg/ccl/backupccl/restore_data_processor_test.go b/pkg/ccl/backupccl/restore_data_processor_test.go index 719a460b4d63..9f652f297d32 100644 --- a/pkg/ccl/backupccl/restore_data_processor_test.go +++ b/pkg/ccl/backupccl/restore_data_processor_test.go @@ -259,6 +259,7 @@ func runTestIngest(t *testing.T, init func(*cluster.Settings)) { init(s.ClusterSettings()) + evalCtx := eval.Context{Settings: s.ClusterSettings(), Tracer: s.AmbientCtx().Tracer} flowCtx := execinfra.FlowCtx{ Cfg: &execinfra.ServerConfig{ DB: s.InternalDB().(descs.DB), @@ -404,15 +405,8 @@ func runTestIngest(t *testing.T, init func(*cluster.Settings)) { } expectedKVs := slurpSSTablesLatestKey(t, filepath.Join(dir, "foo"), slurp, srcPrefix, newPrefix) - mockRestoreDataProcessor := &restoreDataProcessor{ - ProcessorBase: execinfra.ProcessorBase{ - ProcessorBaseNoHelper: execinfra.ProcessorBaseNoHelper{ - FlowCtx: &flowCtx, - }, - }, - spec: mockRestoreDataSpec, - qp: backuputils.NewMemoryBackedQuotaPool(ctx, nil /* m */, "restore-mon", 0 /* limit */), - } + mockRestoreDataProcessor, err := newTestingRestoreDataProcessor(ctx, &evalCtx, &flowCtx, mockRestoreDataSpec) + require.NoError(t, err) sst, res, err := mockRestoreDataProcessor.openSSTs(ctx, restoreSpanEntry, nil) require.NoError(t, err) require.Equal(t, resumeEntry{done: true, idx: len(restoreSpanEntry.Files)}, *res) @@ -451,3 +445,22 @@ func runTestIngest(t *testing.T, init func(*cluster.Settings)) { }) } } + +func newTestingRestoreDataProcessor( + ctx context.Context, + evalCtx *eval.Context, + flowCtx *execinfra.FlowCtx, + spec execinfrapb.RestoreDataSpec, +) (*restoreDataProcessor, error) { + rd := &restoreDataProcessor{ + ProcessorBase: execinfra.ProcessorBase{ + ProcessorBaseNoHelper: execinfra.ProcessorBaseNoHelper{ + EvalCtx: evalCtx, + }, + }, + flowCtx: flowCtx, + spec: spec, + qp: backuputils.NewMemoryBackedQuotaPool(ctx, nil, "restore-mon", 0), + } + return rd, nil +} diff --git a/pkg/ccl/backupccl/restore_job.go b/pkg/ccl/backupccl/restore_job.go index 6a55711ac67f..4554ae5261e3 100644 --- a/pkg/ccl/backupccl/restore_job.go +++ b/pkg/ccl/backupccl/restore_job.go @@ -10,11 +10,10 @@ package backupccl import ( "bytes" - "cmp" "context" "fmt" "math" - "slices" + "sort" "strings" "time" @@ -93,16 +92,6 @@ var restoreStatsInsertionConcurrency = settings.RegisterIntSetting( settings.PositiveInt, ) -var replanFrequency = settings.RegisterDurationSetting( - settings.ApplicationLevel, - "bulkio.restore.replan_flow_frequency", - "frequency at which RESTORE checks the number of lagging nodes to see if the job should be replanned", - time.Minute*10, - settings.PositiveDuration, -) - -var laggingRestoreProcErr = errors.New("try re-planning due to lagging restore processors") - // rewriteBackupSpanKey rewrites a backup span start key for the purposes of // splitting up the target key-space to send out the actual work of restoring. // @@ -228,13 +217,6 @@ func restoreWithRetry( log.Infof(restoreCtx, "restored frontier has advanced since last retry, resetting retry counter") } previousPersistedSpans = currentPersistedSpans - - testingKnobs := execCtx.ExecCfg().BackupRestoreTestingKnobs - if testingKnobs != nil && testingKnobs.RunAfterRetryIteration != nil { - if err := testingKnobs.RunAfterRetryIteration(err); err != nil { - return roachpb.RowCount{}, err - } - } } // We have exhausted retries, but we have not seen a "PermanentBulkJobError" so @@ -317,9 +299,7 @@ func restore( return emptyRowCount, err } - ver := job.Payload().CreationClusterVersion - // TODO(radu,msbutler,stevendanna): we might be able to remove this now? - on231 := ver.Major > 23 || (ver.Major == 23 && ver.Minor >= 1) + on231 := clusterversion.V23_1.Version().LessEq(job.Payload().CreationClusterVersion) restoreCheckpoint := job.Progress().Details.(*jobspb.Progress_Restore).Restore.Checkpoint requiredSpans := dataToRestore.getSpans() progressTracker, err := makeProgressTracker( @@ -430,7 +410,7 @@ func restore( // Only update the job progress on the main data bundle. This should account // for the bulk of the data to restore. Other data (e.g. zone configs in // cluster restores) may be restored first. - progressLogger := jobs.NewChunkProgressLoggerForJob(job, numImportSpans, job.FractionCompleted(), progressTracker.updateJobCallback) + progressLogger := jobs.NewChunkProgressLogger(job, numImportSpans, job.FractionCompleted(), progressTracker.updateJobCallback) jobProgressLoop := func(ctx context.Context) error { ctx, progressSpan := tracing.ChildSpan(ctx, "progress-loop") @@ -467,37 +447,6 @@ func restore( tasks = append(tasks, generativeCheckpointLoop) } - procCompleteCh := make(chan struct{}) - // countCompletedProcLoop is responsible for counting the number of completed - // processors. The goroutine returns a retryable error such that the job can - // replan if there are too many lagging nodes. - countCompletedProcLoop := func(ctx context.Context) error { - var timer timeutil.Timer - defer timer.Stop() - - for { - select { - case <-ctx.Done(): - return ctx.Err() - case _, ok := <-procCompleteCh: - if !ok { - return nil - } - timer.Reset(replanFrequency.Get(&execCtx.ExecCfg().Settings.SV)) - case <-timer.C: - timer.Read = true - // Replan the restore job if it has been 10 minutes since the last - // processor completed working. - return errors.Mark(laggingRestoreProcErr, retryableRestoreProcError) - } - } - } - - resumeClusterVersion := execCtx.ExecCfg().Settings.Version.ActiveVersion(restoreCtx).Version - if clusterversion.V24_3.Version().LessEq(resumeClusterVersion) && !details.ExperimentalOnline { - tasks = append(tasks, countCompletedProcLoop) - } - // tracingAggLoop is responsible for draining the channel on which processors // in the DistSQL flow will send back their tracing aggregator stats. These // stats will be persisted to the job_info table whenever the job is told to @@ -544,18 +493,17 @@ func restore( return errors.Wrap(err, "sending remote AddSSTable requests") } md := restoreJobMetadata{ - jobID: job.ID(), - dataToRestore: dataToRestore, - restoreTime: endTime, - encryption: encryption, - kmsEnv: kmsEnv, - uris: details.URIs, - backupLocalityInfo: backupLocalityInfo, - spanFilter: filter, - numImportSpans: numImportSpans, - execLocality: details.ExecutionLocality, - exclusiveEndKeys: fsc.isExclusive(), - resumeClusterVersion: resumeClusterVersion, + jobID: job.ID(), + dataToRestore: dataToRestore, + restoreTime: endTime, + encryption: encryption, + kmsEnv: kmsEnv, + uris: details.URIs, + backupLocalityInfo: backupLocalityInfo, + spanFilter: filter, + numImportSpans: numImportSpans, + execLocality: details.ExecutionLocality, + exclusiveEndKeys: fsc.isExclusive(), } return errors.Wrap(distRestore( ctx, @@ -563,7 +511,6 @@ func restore( md, progCh, tracingAggCh, - procCompleteCh, ), "running distributed restore") } tasks = append(tasks, runRestore) @@ -596,9 +543,6 @@ func restore( // can't be restored because the necessary tables are missing are omitted; if // skip_missing_foreign_keys was set, we should have aborted the RESTORE and // returned an error prior to this. -// -// The caller is responsible for shrinking `mem` by the returned size once it's -// done with the returned manifests (unless an error is returned). // TODO(anzoteh96): this method returns two things: backup manifests // and the descriptors of the relevant manifests. Ideally, this should // be broken down into two methods. @@ -609,23 +553,12 @@ func loadBackupSQLDescs( details jobspb.RestoreDetails, encryption *jobspb.BackupEncryptionOptions, kmsEnv cloud.KMSEnv, -) ( - _ []backuppb.BackupManifest, - _ backuppb.BackupManifest, - _ []catalog.Descriptor, - memSize int64, - retErr error, -) { +) ([]backuppb.BackupManifest, backuppb.BackupManifest, []catalog.Descriptor, int64, error) { backupManifests, sz, err := backupinfo.LoadBackupManifestsAtTime(ctx, mem, details.URIs, p.User(), p.ExecCfg().DistSQLSrv.ExternalStorageFromURI, encryption, kmsEnv, details.EndTime) if err != nil { return nil, backuppb.BackupManifest{}, nil, 0, err } - defer func() { - if retErr != nil { - mem.Shrink(ctx, sz) - } - }() layerToBackupManifestFileIterFactory, err := backupinfo.GetBackupManifestIterFactories(ctx, p.ExecCfg().DistSQLSrv.ExternalStorage, backupManifests, encryption, kmsEnv) @@ -659,6 +592,7 @@ func loadBackupSQLDescs( } activeVersion := p.ExecCfg().Settings.Version.ActiveVersion(ctx) if err := maybeUpgradeDescriptors(activeVersion, sqlDescs, true /* skipFKsWithNoMatchingTable */); err != nil { + mem.Shrink(ctx, sz) return nil, backuppb.BackupManifest{}, nil, 0, err } @@ -882,6 +816,21 @@ func spansForAllRestoreTableIndexes( }) return false }) + + if forOnlineRestore { + spans, _ = roachpb.MergeSpans(&spans) + tableIDMap := make(map[uint32]struct{}, len(spans)) + for _, sp := range spans { + _, tableID, err := codec.DecodeTablePrefix(sp.Key) + if err != nil { + return nil, err + } + if _, exists := tableIDMap[tableID]; exists { + return nil, errors.Newf("restore target contains two distinct spans with table id %d. Online restore cannot handle this as it may make an empty file span", tableID) + } + tableIDMap[tableID] = struct{}{} + } + } return spans, nil } @@ -1355,7 +1304,7 @@ func createImportingDescriptors( // to the new tables being restored. for _, table := range mutableTables { // Collect all types used by this table. - dbDesc, err := descsCol.ByIDWithoutLeased(txn.KV()).WithoutDropped().Get().Database(ctx, table.GetParentID()) + dbDesc, err := descsCol.ByID(txn.KV()).WithoutDropped().Get().Database(ctx, table.GetParentID()) if err != nil { return err } @@ -1401,7 +1350,7 @@ func createImportingDescriptors( if details.DescriptorCoverage != tree.AllDescriptors { for _, table := range tableDescs { if lc := table.GetLocalityConfig(); lc != nil { - desc, err := descsCol.ByIDWithoutLeased(txn.KV()).WithoutDropped().Get().Database(ctx, table.ParentID) + desc, err := descsCol.ByID(txn.KV()).WithoutDropped().Get().Database(ctx, table.ParentID) if err != nil { return err } @@ -1753,11 +1702,19 @@ func remapPublicSchemas( // Resume is part of the jobs.Resumer interface. func (r *restoreResumer) Resume(ctx context.Context, execCtx interface{}) error { - p := execCtx.(sql.JobExecContext) if err := r.doResume(ctx, execCtx); err != nil { - // Need to return the pause "error" as the main error here - return errors.CombineErrors(p.ExecCfg().JobRegistry.CheckPausepoint("restore.after_restore_failure"), err) + details := r.job.Details().(jobspb.RestoreDetails) + if details.DebugPauseOn == "error" { + const errorFmt = "job failed with error (%v) but is being paused due to the %s=%s setting" + log.Warningf(ctx, errorFmt, err, restoreOptDebugPauseOn, details.DebugPauseOn) + + return jobs.MarkPauseRequestError(errors.Wrapf(err, + "pausing job due to the %s=%s setting", + restoreOptDebugPauseOn, details.DebugPauseOn)) + } + return err } + return nil } @@ -1777,6 +1734,9 @@ func (r *restoreResumer) doResume(ctx context.Context, execCtx interface{}) erro return r.doDownloadFiles(ctx, p) } + mem := p.ExecCfg().RootMemoryMonitor.MakeBoundAccount() + defer mem.Close(ctx) + if err := p.ExecCfg().JobRegistry.CheckPausepoint("restore.before_load_descriptors_from_backup"); err != nil { return err } @@ -1787,11 +1747,7 @@ func (r *restoreResumer) doResume(ctx context.Context, execCtx interface{}) erro p.ExecCfg().InternalDB, p.User(), ) - mem := p.ExecCfg().RootMemoryMonitor.MakeBoundAccount() - defer mem.Close(ctx) - // Note that we ignore memSize because the memory account is closed in a - // defer anyway. - backupManifests, latestBackupManifest, sqlDescs, _, err := loadBackupSQLDescs( + backupManifests, latestBackupManifest, sqlDescs, memSize, err := loadBackupSQLDescs( ctx, &mem, p, details, details.Encryption, &kmsEnv, ) if err != nil { @@ -1800,6 +1756,9 @@ func (r *restoreResumer) doResume(ctx context.Context, execCtx interface{}) erro if err := r.validateJobIsResumable(ctx, p.ExecCfg(), backupManifests); err != nil { return err } + defer func() { + mem.Shrink(ctx, memSize) + }() backupCodec, err := backupinfo.MakeBackupCodec(backupManifests) if err != nil { return err @@ -3007,12 +2966,12 @@ func setGCTTLForDroppingTable( log.VInfof(ctx, 2, "lowering TTL for table %q (%d)", tableToDrop.GetName(), tableToDrop.GetID()) // We get a mutable descriptor here because we are going to construct a // synthetic descriptor collection in which they are online. - dbDesc, err := descsCol.ByIDWithoutLeased(txn.KV()).Get().Database(ctx, tableToDrop.GetParentID()) + dbDesc, err := descsCol.ByID(txn.KV()).Get().Database(ctx, tableToDrop.GetParentID()) if err != nil { return err } - schemaDesc, err := descsCol.ByIDWithoutLeased(txn.KV()).Get().Schema(ctx, tableToDrop.GetParentSchemaID()) + schemaDesc, err := descsCol.ByID(txn.KV()).Get().Schema(ctx, tableToDrop.GetParentSchemaID()) if err != nil { return err } @@ -3079,7 +3038,7 @@ func (r *restoreResumer) removeExistingTypeBackReferences( return typ, nil } - dbDesc, err := descsCol.ByIDWithoutLeased(txn).WithoutDropped().Get().Database(ctx, tbl.GetParentID()) + dbDesc, err := descsCol.ByID(txn).WithoutDropped().Get().Database(ctx, tbl.GetParentID()) if err != nil { return err } @@ -3260,8 +3219,8 @@ func (r *restoreResumer) restoreSystemTables( // Sort the system tables to be restored based on the order specified in the // configuration. - slices.SortStableFunc(systemTablesToRestore, func(a, b systemTableNameWithConfig) int { - return cmp.Compare(a.config.restoreInOrder, b.config.restoreInOrder) + sort.SliceStable(systemTablesToRestore, func(i, j int) bool { + return systemTablesToRestore[i].config.restoreInOrder < systemTablesToRestore[j].config.restoreInOrder }) // Copy the data from the temporary system DB to the real system table. diff --git a/pkg/ccl/backupccl/restore_old_versions_test.go b/pkg/ccl/backupccl/restore_old_versions_test.go index 83b4cbd78dce..86803b846b31 100644 --- a/pkg/ccl/backupccl/restore_old_versions_test.go +++ b/pkg/ccl/backupccl/restore_old_versions_test.go @@ -63,7 +63,6 @@ func TestRestoreOldVersions(t *testing.T) { systemPrivilegesDirs = testdataBase + "/system-privileges-restore" systemDatabaseRoleSettingsDirs = testdataBase + "/system-database-role-settings-restore" systemExternalConnectionsDirs = testdataBase + "/system-external-connections-restore" - systemTenantSettingsDirs = testdataBase + "/system-tenant-settings-version-override" ) t.Run("cluster-restore", func(t *testing.T) { @@ -124,17 +123,6 @@ func TestRestoreOldVersions(t *testing.T) { t.Run(dir.Name(), fullClusterRestoreSystemExternalConnectionsWithoutIDs(exportDir)) } }) - - t.Run("full cluster restore all-tenants version override is ignored", func(t *testing.T) { - dirs, err := os.ReadDir(systemTenantSettingsDirs) - require.NoError(t, err) - for _, dir := range dirs { - require.True(t, dir.IsDir()) - exportDir, err := filepath.Abs(filepath.Join(systemTenantSettingsDirs, dir.Name())) - require.NoError(t, err) - t.Run(dir.Name(), fullClusterRestoreSystemTenantSettingsSkipVersionOverride(exportDir)) - } - }) } func restoreOldVersionClusterTest(exportDir string) func(t *testing.T) { @@ -464,43 +452,3 @@ func fullClusterRestoreSystemExternalConnectionsWithoutIDs(exportDir string) fun }) } } - -func fullClusterRestoreSystemTenantSettingsSkipVersionOverride( - exportDir string, -) func(t *testing.T) { - return func(t *testing.T) { - tmpDir, tempDirCleanupFn := testutils.TempDir(t) - defer tempDirCleanupFn() - - _, sqlDB, cleanup := backupRestoreTestSetupEmpty(t, singleNode, tmpDir, - InitManualReplication, base.TestClusterArgs{ - ServerArgs: base.TestServerArgs{ - // This test exercises the restore behaviour on the system - // tenant, so we disable non-system tenants. - DefaultTestTenant: base.TestIsSpecificToStorageLayerAndNeedsASystemTenant, - Knobs: base.TestingKnobs{ - JobsTestingKnobs: jobs.NewTestingKnobsWithShortIntervals(), - }, - }}) - defer cleanup() - err := os.Symlink(exportDir, filepath.Join(tmpDir, "foo")) - require.NoError(t, err) - - // The restore queries are run with `UNSAFE_RESTORE_INCOMPATIBLE_VERSION` - // option to ensure the restore is successful on development branches. This - // is because, while the backups were generated on release branches and have - // versions such as 22.2 in their manifest, the development branch will have - // a MinSupportedVersion offset by the clusterversion.DevOffset described in - // `pkg/clusterversion/cockroach_versions.go`. This will mean that the - // manifest version is always less than the MinSupportedVersion which will - // in turn fail the restore unless we pass in the specified option to elide - // the compatibility check. - sqlDB.Exec(t, fmt.Sprintf("RESTORE FROM LATEST IN '%s' WITH UNSAFE_RESTORE_INCOMPATIBLE_VERSION", localFoo)) - - // No 'version' key for tenant_id = 0 in system.tenant_settings. - sqlDB.CheckQueryResults(t, "SELECT * FROM system.tenant_settings", [][]string{ - {"2", "cluster.organization", "Cockroach Labs - Production Testing", "2024-06-24 20:11:21.433048 +0000 +0000", "s", "NULL"}, - {"2", "enterprise.license", "", "2024-06-24 20:11:21.441043 +0000 +0000", "s", "NULL"}, - }) - } -} diff --git a/pkg/ccl/backupccl/restore_online.go b/pkg/ccl/backupccl/restore_online.go index 8e8e0ba50aac..6d9d1e1e0451 100644 --- a/pkg/ccl/backupccl/restore_online.go +++ b/pkg/ccl/backupccl/restore_online.go @@ -16,7 +16,6 @@ import ( "time" "github.com/cockroachdb/cockroach/pkg/ccl/backupccl/backuppb" - "github.com/cockroachdb/cockroach/pkg/clusterversion" "github.com/cockroachdb/cockroach/pkg/jobs" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" "github.com/cockroachdb/cockroach/pkg/kv/kvpb" @@ -47,106 +46,11 @@ import ( var onlineRestoreLinkWorkers = settings.RegisterByteSizeSetting( settings.ApplicationLevel, "backup.restore.online_worker_count", - "workers to use for online restore link phase", - 32, + "workers to use for online restore worker phase", + 8, settings.PositiveInt, ) -// splitAndScatter runs through all entries produced by genSpans splitting and -// scattering the key-space designated by the passed rewriter such that if all -// files in the entries in those spans were ingested the amount ingested between -// splits would be about targetRangeSize. -func splitAndScatter( - ctx context.Context, - execCtx sql.JobExecContext, - genSpans func(ctx context.Context, spanCh chan execinfrapb.RestoreSpanEntry) error, - kr KeyRewriter, - fromSystemTenant bool, - targetRangeSize int64, -) error { - ctx, sp := tracing.ChildSpan(ctx, "backupccl.spitAndScatter") - defer sp.Finish() - - log.Infof(ctx, "splitting and scattering spans") - - workers := int(onlineRestoreLinkWorkers.Get(&execCtx.ExecCfg().Settings.SV)) - toScatter := make(chan execinfrapb.RestoreSpanEntry, 1) - toSplit := make(chan execinfrapb.RestoreSpanEntry, workers) - - // scatterer splits at the start and end of each entry sent to toScatter and - // then scatters the span between those two splits before putting the entry on - // the toSplit channel to be further split, closing that channel when done. - scatterer := func(ctx context.Context) error { - defer close(toSplit) - - var lastSplit roachpb.Key - for entry := range toScatter { - sp, err := rewriteSpan(&kr, entry.Span.Clone(), entry.ElidedPrefix) - if err != nil { - return err - } - - // Split at start of the first chunk if it isn't the RHS of last chunk - // which was just split in the previous iteration. - if !lastSplit.Equal(sp.Key) { - if err := sendSplitAt(ctx, execCtx, sp.Key); err != nil { - log.Warningf(ctx, "failed to split during experimental restore: %v", err) - } - } - // Split at the end of the chunk so that anything which happens to the - // right of this chunk's span, including splitting other chunks, does not - // interact with this span's scatter, ingests or additional splits. - if err := sendSplitAt(ctx, execCtx, sp.EndKey); err != nil { - log.Warningf(ctx, "failed to split during experimental restore: %v", err) - } - lastSplit = append(lastSplit[:0], sp.EndKey...) - - // Scatter the chunk's span now that it is is split at both sides. - if err := sendAdminScatter(ctx, execCtx, sp.Key); err != nil { - log.Warningf(ctx, "failed to scatter during experimental restore: %v", err) - } - - toSplit <- entry - } - return nil - } - - // splitter iterates the files in the entries sent to toSplit and splits at - // the start of each file that would cause the sum of file data size since the - // last split to exceed the targetRangeSize. - splitter := func(ctx context.Context) error { - for entry := range toSplit { - var rangeSize int64 - - for _, file := range entry.Files { - // If this file does not fit in the range, split before it. - if rangeSize+file.BackupFileEntryCounts.DataSize > targetRangeSize { - fileStart := file.BackupFileEntrySpan.Intersect(entry.Span).Key - start, ok, err := kr.RewriteKey(fileStart.Clone(), 0) - if !ok || err != nil { - return errors.Wrapf(err, "span start key %s was not rewritten", fileStart) - } - if err := sendSplitAt(ctx, execCtx, start); err != nil { - log.Warningf(ctx, "failed to split during experimental restore: %v", err) - } - rangeSize = 0 - } - rangeSize += file.BackupFileEntryCounts.DataSize - } - } - return nil - } - - grp := ctxgroup.WithContext(ctx) - grp.GoCtx(func(ctx context.Context) error { return genSpans(ctx, toScatter) }) - grp.GoCtx(scatterer) - for i := 0; i < workers; i++ { - grp.GoCtx(splitter) - } - - return grp.Wait() -} - // sendAddRemoteSSTs is a stubbed out, very simplistic version of restore used // to test out ingesting "remote" SSTs. It will be replaced with a real distsql // plan and processors in the future. @@ -162,13 +66,22 @@ func sendAddRemoteSSTs( tracingAggCh chan *execinfrapb.TracingAggregatorEvents, genSpan func(ctx context.Context, spanCh chan execinfrapb.RestoreSpanEntry) error, ) (approxRows int64, approxDataSize int64, err error) { + defer close(requestFinishedCh) defer close(tracingAggCh) if encryption != nil { return 0, 0, errors.AssertionFailedf("encryption not supported with online restore") } + if len(uris) > 1 { + return 0, 0, errors.AssertionFailedf("online restore can only restore data from a full backup") + } - const targetRangeSize = 440 << 20 + restoreSpanEntriesCh := make(chan execinfrapb.RestoreSpanEntry, 1) + + grp := ctxgroup.WithContext(ctx) + grp.GoCtx(func(ctx context.Context) error { + return genSpan(ctx, restoreSpanEntriesCh) + }) kr, err := MakeKeyRewriterFromRekeys(execCtx.ExecCfg().Codec, dataToRestore.getRekeys(), dataToRestore.getTenantRekeys(), false /* restoreTenantFromStream */) @@ -178,30 +91,15 @@ func sendAddRemoteSSTs( fromSystemTenant := isFromSystemTenant(dataToRestore.getTenantRekeys()) - if err := execCtx.ExecCfg().JobRegistry.CheckPausepoint("restore.before_split"); err != nil { - return 0, 0, err - } - - if err := job.NoTxn().RunningStatus(ctx, "Splitting and distributing spans"); err != nil { - return 0, 0, err + restoreWorkers := int(onlineRestoreLinkWorkers.Get(&execCtx.ExecCfg().Settings.SV)) + for i := 0; i < restoreWorkers; i++ { + grp.GoCtx(sendAddRemoteSSTWorker(execCtx, restoreSpanEntriesCh, requestFinishedCh, *kr, fromSystemTenant, &approxRows, &approxDataSize)) } - if err := splitAndScatter(ctx, execCtx, genSpan, *kr, fromSystemTenant, targetRangeSize); err != nil { - return 0, 0, errors.Wrap(err, "failed to split and scatter spans") - } - - if err := execCtx.ExecCfg().JobRegistry.CheckPausepoint("restore.before_link"); err != nil { - return 0, 0, err - } - - if err := job.NoTxn().RunningStatus(ctx, ""); err != nil { - return 0, 0, err + if err := grp.Wait(); err != nil { + return 0, 0, errors.Wrap(err, "failed to generate and send remote file spans") } - - approxRows, approxDataSize, err = linkExternalFiles( - ctx, execCtx, genSpan, *kr, fromSystemTenant, requestFinishedCh, - ) - return approxRows, approxDataSize, errors.Wrap(err, "failed to ingest into remote files") + return approxRows, approxDataSize, nil } func assertCommonPrefix(span roachpb.Span, elidedPrefixType execinfrapb.ElidePrefix) error { @@ -224,43 +122,22 @@ func assertCommonPrefix(span roachpb.Span, elidedPrefixType execinfrapb.ElidePre func rewriteSpan( kr *KeyRewriter, span roachpb.Span, elidedPrefixType execinfrapb.ElidePrefix, ) (roachpb.Span, error) { - if err := assertCommonPrefix(span, elidedPrefixType); err != nil { - return roachpb.Span{}, err + var ( + ok bool + err error + ) + if err = assertCommonPrefix(span, elidedPrefixType); err != nil { + return span, err } - return kr.RewriteSpan(span) -} - -// linkExternalFiles runs through all entries produced by genSpans and links in -// all files in the entries rewritten using the passed rewriter. It assumes that -// the target spans have already been split and scattered. -func linkExternalFiles( - ctx context.Context, - execCtx sql.JobExecContext, - genSpans func(ctx context.Context, spanCh chan execinfrapb.RestoreSpanEntry) error, - kr KeyRewriter, - fromSystemTenant bool, - requestFinishedCh chan<- struct{}, -) (approxRows int64, approxDataSize int64, err error) { - ctx, sp := tracing.ChildSpan(ctx, "backupccl.linkExternalFiles") - defer sp.Finish() - defer close(requestFinishedCh) - - log.Infof(ctx, "ingesting remote files") - - workers := int(onlineRestoreLinkWorkers.Get(&execCtx.ExecCfg().Settings.SV)) - - grp := ctxgroup.WithContext(ctx) - ch := make(chan execinfrapb.RestoreSpanEntry, workers) - grp.GoCtx(func(ctx context.Context) error { return genSpans(ctx, ch) }) - for i := 0; i < workers; i++ { - grp.GoCtx(sendAddRemoteSSTWorker( - execCtx, ch, requestFinishedCh, kr, fromSystemTenant, &approxRows, &approxDataSize, - )) + span.Key, ok, err = kr.RewriteKey(span.Key, 0) + if !ok || err != nil { + return span, errors.Wrapf(err, "span start key %s was not rewritten", span.Key) } - if err := grp.Wait(); err != nil { - return 0, 0, err + span.EndKey, ok, err = kr.RewriteKey(span.EndKey, 0) + if !ok || err != nil { + return span, errors.Wrapf(err, "span end key %s was not rewritten ", span.Key) } - return approxRows, approxDataSize, nil + return span, nil } func sendAddRemoteSSTWorker( @@ -273,22 +150,38 @@ func sendAddRemoteSSTWorker( approxDataSize *int64, ) func(context.Context) error { return func(ctx context.Context) error { - for entry := range restoreSpanEntriesCh { - log.VInfof(ctx, 1, "starting restore of backed up span %s containing %d files", entry.Span, len(entry.Files)) + var toAdd []execinfrapb.RestoreFileSpec + var batchSize int64 + var err error + const targetBatchSize = 440 << 20 - if err := assertCommonPrefix(entry.Span, entry.ElidedPrefix); err != nil { - return err + flush := func(splitAt roachpb.Key, elidedPrefixType execinfrapb.ElidePrefix) error { + if len(toAdd) == 0 { + return nil } - var currentLayer int32 - for _, file := range entry.Files { - if file.Layer < currentLayer { - return errors.AssertionFailedf("files not sorted by layer") + if len(splitAt) > 0 { + if err := sendSplitAt(ctx, execCtx, splitAt); err != nil { + log.Warningf(ctx, "failed to split during experimental restore: %v", err) } - currentLayer = file.Layer - if file.HasRangeKeys { - return errors.Newf("online restore of range keys not supported") + } + + for _, file := range toAdd { + if err := sendRemoteAddSSTable(ctx, execCtx, file, elidedPrefixType, fromSystemTenant); err != nil { + return err } + } + toAdd = nil + batchSize = 0 + return nil + } + + for entry := range restoreSpanEntriesCh { + firstSplitDone := false + if err := assertCommonPrefix(entry.Span, entry.ElidedPrefix); err != nil { + return err + } + for _, file := range entry.Files { if err := assertCommonPrefix(file.BackupFileEntrySpan, entry.ElidedPrefix); err != nil { return err } @@ -301,19 +194,55 @@ func sendAddRemoteSSTWorker( entry.Span, ) } - - restoringSubspan, err := rewriteSpan(&kr, restoringSubspan.Clone(), entry.ElidedPrefix) + if !file.BackupFileEntrySpan.Equal(restoringSubspan) { + return errors.AssertionFailedf("file span %s at path %s is not contained in restore span %s", file.BackupFileEntrySpan, file.Path, entry.Span) + } + // Clone the key because rewriteSpan could modify the keys in place, but + // we reuse backup files across restore span entries. + restoringSubspan, err = rewriteSpan(&kr, restoringSubspan.Clone(), entry.ElidedPrefix) if err != nil { return err } - - log.VInfof(ctx, 1, "restoring span %s of file %s (file span: %s)", restoringSubspan, file.Path, file.BackupFileEntrySpan) + log.Infof(ctx, "experimental restore: sending span %s of file %s (file span: %s) as part of restore span (old key space) %s", + restoringSubspan, file.Path, file.BackupFileEntrySpan, entry.Span) file.BackupFileEntrySpan = restoringSubspan - if err := sendRemoteAddSSTable(ctx, execCtx, file, entry.ElidedPrefix, fromSystemTenant); err != nil { - return err + if !firstSplitDone { + if err := sendSplitAt(ctx, execCtx, restoringSubspan.Key); err != nil { + log.Warningf(ctx, "failed to split during experimental restore: %v", err) + } + if err := sendAdminScatter(ctx, execCtx, restoringSubspan.Key); err != nil { + log.Warningf(ctx, "failed to scatter during experimental restore: %v", err) + } + firstSplitDone = true } - } + // If we've queued up a batch size of files, split before the next one + // then flush the ones we queued. We do this accumulate-into-batch, then + // split, then flush so that when we split we are splitting an empty + // span rather than one we have added to, since we add with estimated + // stats and splitting a span with estimated stats is slow. + if batchSize+file.BackupFileEntryCounts.DataSize > targetBatchSize { + log.Infof(ctx, "flushing %s batch of %d SSTs due to size limit. split at %s in span (old keyspace) %s", sz(batchSize), len(toAdd), file.BackupFileEntrySpan.Key, entry.Span) + if err := flush(file.BackupFileEntrySpan.Key, entry.ElidedPrefix); err != nil { + return err + } + } + + // Add this file to the batch to flush after we put a split to its RHS. + toAdd = append(toAdd, file) + batchSize += file.BackupFileEntryCounts.DataSize + } + // TODO(msbutler): think hard about if this restore span entry is a safe + // key to split on. Note that it only is safe with + // https://github.com/cockroachdb/cockroach/pull/114464 + log.Infof(ctx, "flushing %s batch of %d SSTs at end of restore span entry %s", sz(batchSize), len(toAdd), entry.Span) + rewrittenFlushKey, ok, err := kr.RewriteKey(entry.Span.EndKey.Clone(), 0) + if !ok || err != nil { + return errors.Newf("flush key %s could not be rewritten", entry.Span.EndKey) + } + if err := flush(rewrittenFlushKey, entry.ElidedPrefix); err != nil { + return err + } var rows, dataSize int64 for _, file := range entry.Files { rows += file.BackupFileEntryCounts.Rows @@ -416,19 +345,19 @@ func checkManifestsForOnlineCompat(ctx context.Context, manifests []backuppb.Bac if len(manifests) < 1 { return errors.AssertionFailedf("expected at least 1 backup manifest") } - - if len(manifests) > 1 && !clusterversion.V24_1.Version().Less(manifests[0].ClusterVersion) { - return errors.Newf("the backup must be on a cluster version greater than %s to run online restore with an incremental backup", clusterversion.V24_1.String()) + // TODO(online-restore): Remove once we support layer ordering. + if len(manifests) > 1 { + return pgerror.Newf(pgcode.FeatureNotSupported, "experimental online restore: restoring from an incremental backup not supported") } // TODO(online-restore): Remove once we support layer ordering and have tested some reasonable number of layers. - const layerLimit = 3 + const layerLimit = 16 if len(manifests) > layerLimit { return pgerror.Newf(pgcode.FeatureNotSupported, "experimental online restore: too many incremental layers %d (from backup) > %d (limit)", len(manifests), layerLimit) } for _, manifest := range manifests { - if !manifest.RevisionStartTime.IsEmpty() || manifest.MVCCFilter == backuppb.MVCCFilter_All { + if !manifest.RevisionStartTime.IsEmpty() || !manifest.StartTime.IsEmpty() || manifest.MVCCFilter == backuppb.MVCCFilter_All { return pgerror.Newf(pgcode.FeatureNotSupported, "experimental online restore: restoring from a revision history backup not supported") } } @@ -495,9 +424,6 @@ func (r *restoreResumer) maybeCalculateTotalDownloadSpans( } total += remainingForSpan } - - log.Infof(ctx, "total download size (across all stores) to complete restore: %s", sz(total)) - if total == 0 { return total, nil } @@ -551,7 +477,7 @@ func sendDownloadSpan(ctx context.Context, execCtx sql.JobExecContext, spans roa ctx, sp := tracing.ChildSpan(ctx, "backupccl.sendDownloadSpan") defer sp.Finish() - log.VInfof(ctx, 1, "sending download request for %d spans", len(spans)) + log.Infof(ctx, "sending download request for %d spans", len(spans)) resp, err := execCtx.ExecCfg().TenantStatusServer.DownloadSpan(ctx, &serverpb.DownloadSpanRequest{ Spans: spans, ViaBackingFileDownload: useCopy, @@ -559,11 +485,9 @@ func sendDownloadSpan(ctx context.Context, execCtx sql.JobExecContext, spans roa if err != nil { return err } - log.VInfof(ctx, 1, "finished sending download requests for %d spans, %d errors", len(spans), len(resp.Errors)) - for n, encoded := range resp.Errors { - err := errors.DecodeError(ctx, encoded) - return errors.Wrapf(err, - "failed to download spans on %d nodes; n%d err", len(resp.Errors), n) + log.Infof(ctx, "finished sending download requests for %d spans, %d errors", len(spans), len(resp.ErrorsByNodeID)) + for n, err := range resp.ErrorsByNodeID { + return errors.Newf("failed to download spans on %d nodes; n%d returned %v", len(resp.ErrorsByNodeID), n, err) } return nil } @@ -578,25 +502,13 @@ func (r *restoreResumer) maybeWriteDownloadJob( if !details.ExperimentalOnline { return nil } - rekey := mainRestoreData.getRekeys() - rekey = append(rekey, preRestoreData.getRekeys()...) - tenantRekey := mainRestoreData.getTenantRekeys() - tenantRekey = append(tenantRekey, preRestoreData.getTenantRekeys()...) - kr, err := MakeKeyRewriterFromRekeys(execConfig.Codec, rekey, tenantRekey, + kr, err := MakeKeyRewriterFromRekeys(execConfig.Codec, mainRestoreData.getRekeys(), mainRestoreData.getTenantRekeys(), false /* restoreTenantFromStream */) if err != nil { return errors.Wrap(err, "creating key rewriter from rekeys") } downloadSpans := mainRestoreData.getSpans() - - // Intentionally download preRestoreData after the main data. During a cluster - // restore, preRestore data are linked to a temp system db that are then - // copied over to the real system db. This temp system db is then deleted and - // should never be queried. We still want to download this data, however, to - // protect against external storage deletions of these linked in ssts, but at - // lower priority to the main data. - downloadSpans = append(downloadSpans, preRestoreData.getSpans()...) for i := range downloadSpans { var err error downloadSpans[i], err = rewriteSpan(kr, downloadSpans[i].Clone(), execinfrapb.ElidePrefix_None) @@ -675,7 +587,7 @@ func (r *restoreResumer) waitForDownloadToComplete( } fractionComplete := float32(total-remaining) / float32(total) - log.VInfof(ctx, 1, "restore download phase, %s downloaded, %s remaining of %s total (%.2f complete)", + log.Infof(ctx, "restore download phase, %s downloaded, %s remaining of %s total (%.2f complete)", sz(total-remaining), sz(remaining), sz(total), fractionComplete, ) @@ -735,9 +647,6 @@ func (r *restoreResumer) doDownloadFiles(ctx context.Context, execCtx sql.JobExe }) if err := grp.Wait(); err != nil { - if errors.HasType(err, &kvpb.InsufficientSpaceError{}) { - return jobs.MarkPauseRequestError(errors.UnwrapAll(err)) - } return errors.Wrap(err, "failed to generate and send download spans") } return r.cleanupAfterDownload(ctx, details) diff --git a/pkg/ccl/backupccl/restore_online_test.go b/pkg/ccl/backupccl/restore_online_test.go index f4633d5bace8..de614154bbbd 100644 --- a/pkg/ccl/backupccl/restore_online_test.go +++ b/pkg/ccl/backupccl/restore_online_test.go @@ -22,7 +22,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/roachpb" "github.com/cockroachdb/cockroach/pkg/security/securitytest" "github.com/cockroachdb/cockroach/pkg/sql" - "github.com/cockroachdb/cockroach/pkg/testutils" "github.com/cockroachdb/cockroach/pkg/testutils/fingerprintutils" "github.com/cockroachdb/cockroach/pkg/testutils/jobutils" "github.com/cockroachdb/cockroach/pkg/testutils/serverutils" @@ -51,46 +50,37 @@ func TestOnlineRestoreBasic(t *testing.T) { } tc, sqlDB, dir, cleanupFn := backupRestoreTestSetupWithParams(t, singleNode, numAccounts, InitManualReplication, params) defer cleanupFn() - - rtc, rSQLDB, cleanupFnRestored := backupRestoreTestSetupEmpty(t, 1, dir, InitManualReplication, params) - defer cleanupFnRestored() - externalStorage := "nodelocal://1/backup" createStmt := `SELECT create_statement FROM [SHOW CREATE TABLE data.bank]` createStmtRes := sqlDB.QueryStr(t, createStmt) - testutils.RunTrueAndFalse(t, "incremental", func(t *testing.T, incremental bool) { - sqlDB.Exec(t, fmt.Sprintf("BACKUP DATABASE data INTO '%s'", externalStorage)) - - if incremental { - sqlDB.Exec(t, "UPDATE data.bank SET balance = balance+123 where true;") - sqlDB.Exec(t, fmt.Sprintf("BACKUP DATABASE data INTO LATEST IN '%s'", externalStorage)) - } - - var preRestoreTs float64 - sqlDB.QueryRow(t, `SELECT cluster_logical_timestamp()`).Scan(&preRestoreTs) - - bankOnlineRestore(t, rSQLDB, numAccounts, externalStorage) + sqlDB.Exec(t, fmt.Sprintf("BACKUP INTO '%s'", externalStorage)) - fpSrc, err := fingerprintutils.FingerprintDatabase(ctx, tc.Conns[0], "data", fingerprintutils.Stripped()) - require.NoError(t, err) - fpDst, err := fingerprintutils.FingerprintDatabase(ctx, rtc.Conns[0], "data", fingerprintutils.Stripped()) - require.NoError(t, err) - require.NoError(t, fingerprintutils.CompareDatabaseFingerprints(fpSrc, fpDst)) + rtc, rSQLDB, cleanupFnRestored := backupRestoreTestSetupEmpty(t, 1, dir, InitManualReplication, params) + defer cleanupFnRestored() + var preRestoreTs float64 + sqlDB.QueryRow(t, `SELECT cluster_logical_timestamp()`).Scan(&preRestoreTs) - assertMVCCOnlineRestore(t, rSQLDB, preRestoreTs) - assertOnlineRestoreWithRekeying(t, sqlDB, rSQLDB) + bankOnlineRestore(t, rSQLDB, numAccounts, externalStorage) - waitForLatestDownloadJobToSucceed(t, rSQLDB) + fpSrc, err := fingerprintutils.FingerprintDatabase(ctx, tc.Conns[0], "data", fingerprintutils.Stripped()) + require.NoError(t, err) + fpDst, err := fingerprintutils.FingerprintDatabase(ctx, rtc.Conns[0], "data", fingerprintutils.Stripped()) + require.NoError(t, err) + require.NoError(t, fingerprintutils.CompareDatabaseFingerprints(fpSrc, fpDst)) - rSQLDB.CheckQueryResults(t, createStmt, createStmtRes) - sqlDB.CheckQueryResults(t, jobutils.GetExternalBytesForConnectedTenant, [][]string{{"0"}}) + assertMVCCOnlineRestore(t, rSQLDB, preRestoreTs) + assertOnlineRestoreWithRekeying(t, sqlDB, rSQLDB) - rSQLDB.Exec(t, "DROP DATABASE data CASCADE") - }) + // Wait for the download job to complete. + var downloadJobID jobspb.JobID + rSQLDB.QueryRow(t, `SELECT job_id FROM [SHOW JOBS] WHERE description LIKE '%Background Data Download%'`).Scan(&downloadJobID) + jobutils.WaitForJobToSucceed(t, rSQLDB, downloadJobID) + rSQLDB.CheckQueryResults(t, createStmt, createStmtRes) } + func TestOnlineRestorePartitioned(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -104,12 +94,12 @@ func TestOnlineRestorePartitioned(t *testing.T) { ) defer cleanupFn() - sqlDB.Exec(t, `BACKUP DATABASE data TO ('nodelocal://1/a?COCKROACH_LOCALITY=default', - 'nodelocal://1/b?COCKROACH_LOCALITY=dc%3Ddc2', + sqlDB.Exec(t, `BACKUP DATABASE data TO ('nodelocal://1/a?COCKROACH_LOCALITY=default', + 'nodelocal://1/b?COCKROACH_LOCALITY=dc%3Ddc2', 'nodelocal://1/c?COCKROACH_LOCALITY=dc%3Ddc3')`) - j := sqlDB.QueryStr(t, `RESTORE DATABASE data FROM ('nodelocal://1/a?COCKROACH_LOCALITY=default', - 'nodelocal://1/b?COCKROACH_LOCALITY=dc%3Ddc2', + j := sqlDB.QueryStr(t, `RESTORE DATABASE data FROM ('nodelocal://1/a?COCKROACH_LOCALITY=default', + 'nodelocal://1/b?COCKROACH_LOCALITY=dc%3Ddc2', 'nodelocal://1/c?COCKROACH_LOCALITY=dc%3Ddc3') WITH new_db_name='d2', EXPERIMENTAL DEFERRED COPY`) srv.Servers[0].JobRegistry().(*jobs.Registry).TestingNudgeAdoptionQueue() @@ -191,6 +181,7 @@ func TestOnlineRestoreStatementResult(t *testing.T) { func TestOnlineRestoreWaitForDownload(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) + defer nodelocal.ReplaceNodeLocalForTesting(t.TempDir())() const numAccounts = 1000 @@ -206,21 +197,20 @@ func TestOnlineRestoreWaitForDownload(t *testing.T) { sqlDB.Exec(t, fmt.Sprintf("BACKUP INTO '%s'", externalStorage)) sqlDB.Exec(t, fmt.Sprintf("RESTORE DATABASE data FROM LATEST IN '%s' WITH EXPERIMENTAL DEFERRED COPY, new_db_name=data2", externalStorage)) - waitForLatestDownloadJobToSucceed(t, sqlDB) - sqlDB.CheckQueryResults(t, jobutils.GetExternalBytesForConnectedTenant, [][]string{{"0"}}) -} - -func waitForLatestDownloadJobToSucceed(t *testing.T, sqlDB *sqlutils.SQLRunner) { + // Wait for the download job to complete. var downloadJobID jobspb.JobID - sqlDB.QueryRow(t, - `SELECT job_id FROM [SHOW JOBS] WHERE description LIKE '%Background Data Download%' ORDER BY created DESC LIMIT 1`, - ).Scan(&downloadJobID) + sqlDB.QueryRow(t, `SELECT job_id FROM [SHOW JOBS] WHERE description LIKE '%Background Data Download%' ORDER BY created DESC LIMIT 1`).Scan(&downloadJobID) jobutils.WaitForJobToSucceed(t, sqlDB, downloadJobID) + sqlDB.CheckQueryResults(t, `SELECT * FROM crdb_internal.tenant_span_stats( + ARRAY(SELECT(crdb_internal.table_span('data2.bank'::regclass::oid::int)[1], crdb_internal.table_span('data2.bank'::regclass::oid::int)[2])) + ) WHERE (stats->>'external_file_bytes')::int > 0`, [][]string{}) } // TestOnlineRestoreTenant runs an online restore of a tenant and ensures the // restore is not MVCC compliant. +// +// NB: With prefix synthesis, we temporarliy do not support online restore of tenants. func TestOnlineRestoreTenant(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -256,67 +246,52 @@ func TestOnlineRestoreTenant(t *testing.T) { tenant10 := sqlutils.MakeSQLRunner(conn10) tenant10.Exec(t, `CREATE DATABASE foo; CREATE TABLE foo.bar(i int primary key); INSERT INTO foo.bar VALUES (110), (210)`) - testutils.RunTrueAndFalse(t, "incremental", func(t *testing.T, incremental bool) { + systemDB.Exec(t, fmt.Sprintf(`BACKUP TENANT 10 INTO '%s'`, externalStorage)) - restoreTC, rSQLDB, cleanupFnRestored := backupRestoreTestSetupEmpty(t, 1, dir, InitManualReplication, params) - defer cleanupFnRestored() - - systemDB.Exec(t, fmt.Sprintf(`BACKUP TENANT 10 INTO '%s'`, externalStorage)) - - if incremental { - tenant10.Exec(t, "INSERT INTO foo.bar VALUES (111), (211)") - systemDB.Exec(t, fmt.Sprintf(`BACKUP TENANT 10 INTO LATEST IN '%s'`, externalStorage)) - } + restoreTC, rSQLDB, cleanupFnRestored := backupRestoreTestSetupEmpty(t, 1, dir, InitManualReplication, params) + defer cleanupFnRestored() - var preRestoreTs float64 - tenant10.QueryRow(t, `SELECT cluster_logical_timestamp()`).Scan(&preRestoreTs) - - belowID := uint64(2) - aboveID := uint64(20) - - // Restore the tenant twice: once below and once above the old ID, to show - // that we can rewrite it in either direction. - rSQLDB.Exec(t, fmt.Sprintf("RESTORE TENANT 10 FROM LATEST IN '%s' WITH EXPERIMENTAL DEFERRED COPY, TENANT_NAME = 'below', TENANT = '%d'", externalStorage, belowID)) - rSQLDB.Exec(t, fmt.Sprintf("RESTORE TENANT 10 FROM LATEST IN '%s' WITH EXPERIMENTAL DEFERRED COPY, TENANT_NAME = 'above', TENANT = '%d'", externalStorage, aboveID)) - rSQLDB.Exec(t, "ALTER TENANT below STOP SERVICE") - rSQLDB.Exec(t, "ALTER TENANT above STOP SERVICE") - rSQLDB.CheckQueryResults(t, "SELECT fingerprint FROM [SHOW EXPERIMENTAL_FINGERPRINTS FROM TENANT below]", - rSQLDB.QueryStr(t, `SELECT fingerprint FROM [SHOW EXPERIMENTAL_FINGERPRINTS FROM TENANT above]`)) - - secondaryStopper := stop.NewStopper() - _, cBelow := serverutils.StartTenant( - t, restoreTC.Server(0), base.TestTenantArgs{ - TenantName: "below", - TenantID: roachpb.MustMakeTenantID(belowID), - Stopper: secondaryStopper, - }) - _, cAbove := serverutils.StartTenant( - t, restoreTC.Server(0), base.TestTenantArgs{ - TenantName: "above", - TenantID: roachpb.MustMakeTenantID(aboveID), - Stopper: secondaryStopper, - }) - - defer func() { - cBelow.Close() - cAbove.Close() - secondaryStopper.Stop(context.Background()) - }() - dbBelow, dbAbove := sqlutils.MakeSQLRunner(cBelow), sqlutils.MakeSQLRunner(cAbove) - dbBelow.CheckQueryResults(t, `select * from foo.bar`, tenant10.QueryStr(t, `select * from foo.bar`)) - dbAbove.CheckQueryResults(t, `select * from foo.bar`, tenant10.QueryStr(t, `select * from foo.bar`)) - - // Ensure the restore of a tenant was not mvcc - var maxRestoreMVCCTimestamp float64 - dbBelow.QueryRow(t, "SELECT max(crdb_internal_mvcc_timestamp) FROM foo.bar").Scan(&maxRestoreMVCCTimestamp) - require.Greater(t, preRestoreTs, maxRestoreMVCCTimestamp) - dbAbove.QueryRow(t, "SELECT max(crdb_internal_mvcc_timestamp) FROM foo.bar").Scan(&maxRestoreMVCCTimestamp) - require.Greater(t, preRestoreTs, maxRestoreMVCCTimestamp) - - dbAbove.CheckQueryResults(t, jobutils.GetExternalBytesForConnectedTenant, [][]string{{"0"}}) - dbBelow.CheckQueryResults(t, jobutils.GetExternalBytesForConnectedTenant, [][]string{{"0"}}) - rSQLDB.CheckQueryResults(t, jobutils.GetExternalBytesTenantKeySpace, [][]string{{"0"}}) - }) + var preRestoreTs float64 + tenant10.QueryRow(t, `SELECT cluster_logical_timestamp()`).Scan(&preRestoreTs) + + // Restore the tenant twice: once below and once above the old ID, to show + // that we can rewrite it in either direction. + rSQLDB.Exec(t, fmt.Sprintf("RESTORE TENANT 10 FROM LATEST IN '%s' WITH EXPERIMENTAL DEFERRED COPY, TENANT_NAME = 'below', TENANT = '2'", externalStorage)) + rSQLDB.Exec(t, fmt.Sprintf("RESTORE TENANT 10 FROM LATEST IN '%s' WITH EXPERIMENTAL DEFERRED COPY, TENANT_NAME = 'above', TENANT = '20'", externalStorage)) + rSQLDB.Exec(t, "ALTER TENANT below STOP SERVICE") + rSQLDB.Exec(t, "ALTER TENANT above STOP SERVICE") + rSQLDB.CheckQueryResults(t, "SELECT fingerprint FROM [SHOW EXPERIMENTAL_FINGERPRINTS FROM TENANT below]", + rSQLDB.QueryStr(t, `SELECT fingerprint FROM [SHOW EXPERIMENTAL_FINGERPRINTS FROM TENANT above]`)) + + secondaryStopper := stop.NewStopper() + _, cBelow := serverutils.StartTenant( + t, restoreTC.Server(0), base.TestTenantArgs{ + TenantName: "below", + TenantID: roachpb.MustMakeTenantID(2), + Stopper: secondaryStopper, + }) + _, cAbove := serverutils.StartTenant( + t, restoreTC.Server(0), base.TestTenantArgs{ + TenantName: "above", + TenantID: roachpb.MustMakeTenantID(20), + Stopper: secondaryStopper, + }) + + defer func() { + cBelow.Close() + cAbove.Close() + secondaryStopper.Stop(context.Background()) + }() + dbBelow, dbAbove := sqlutils.MakeSQLRunner(cBelow), sqlutils.MakeSQLRunner(cAbove) + dbBelow.CheckQueryResults(t, `select * from foo.bar`, tenant10.QueryStr(t, `select * from foo.bar`)) + dbAbove.CheckQueryResults(t, `select * from foo.bar`, tenant10.QueryStr(t, `select * from foo.bar`)) + + // Ensure the restore of a tenant was not mvcc + var maxRestoreMVCCTimestamp float64 + dbBelow.QueryRow(t, "SELECT max(crdb_internal_mvcc_timestamp) FROM foo.bar").Scan(&maxRestoreMVCCTimestamp) + require.Greater(t, preRestoreTs, maxRestoreMVCCTimestamp) + dbAbove.QueryRow(t, "SELECT max(crdb_internal_mvcc_timestamp) FROM foo.bar").Scan(&maxRestoreMVCCTimestamp) + require.Greater(t, preRestoreTs, maxRestoreMVCCTimestamp) } func TestOnlineRestoreErrors(t *testing.T) { @@ -339,8 +314,16 @@ func TestOnlineRestoreErrors(t *testing.T) { var ( fullBackup = "nodelocal://1/full-backup" fullBackupWithRevs = "nodelocal://1/full-backup-with-revs" + incrementalBackup = "nodelocal://1/incremental-backup" incrementalBackupWithRevs = "nodelocal://1/incremental-backup-with-revs" ) + + t.Run("incremental backups are unsupported", func(t *testing.T) { + sqlDB.Exec(t, fmt.Sprintf("BACKUP INTO '%s'", incrementalBackup)) + sqlDB.Exec(t, fmt.Sprintf("BACKUP INTO LATEST IN '%s'", incrementalBackup)) + rSQLDB.ExpectErr(t, "incremental backup not supported", + fmt.Sprintf("RESTORE TABLE data.bank FROM LATEST IN '%s' WITH EXPERIMENTAL DEFERRED COPY", incrementalBackup)) + }) t.Run("full backups with revision history are unsupported", func(t *testing.T) { var systemTime string sqlDB.QueryRow(t, "SELECT cluster_logical_timestamp()").Scan(&systemTime) @@ -351,7 +334,7 @@ func TestOnlineRestoreErrors(t *testing.T) { t.Run("incremental backups with revision history are unsupported", func(t *testing.T) { sqlDB.Exec(t, fmt.Sprintf("BACKUP INTO '%s' WITH revision_history", incrementalBackupWithRevs)) sqlDB.Exec(t, fmt.Sprintf("BACKUP INTO LATEST IN '%s' WITH revision_history", incrementalBackupWithRevs)) - rSQLDB.ExpectErr(t, "revision history backup not supported", + rSQLDB.ExpectErr(t, "incremental backup not supported", fmt.Sprintf("RESTORE TABLE data.bank FROM LATEST IN '%s' WITH EXPERIMENTAL DEFERRED COPY", incrementalBackupWithRevs)) }) t.Run("external storage locations that don't support early boot are unsupported", func(t *testing.T) { @@ -371,7 +354,7 @@ func bankOnlineRestore( t *testing.T, sqlDB *sqlutils.SQLRunner, numAccounts int, externalStorage string, ) { // Create a table in the default database to force table id rewriting. - sqlDB.Exec(t, "CREATE TABLE IF NOT EXISTS foo (i INT PRIMARY KEY, s STRING);") + sqlDB.Exec(t, "CREATE TABLE foo (i INT PRIMARY KEY, s STRING);") sqlDB.Exec(t, "CREATE DATABASE data") sqlDB.Exec(t, fmt.Sprintf("RESTORE TABLE data.bank FROM LATEST IN '%s' WITH EXPERIMENTAL DEFERRED COPY", externalStorage)) @@ -393,9 +376,8 @@ func assertMVCCOnlineRestore(t *testing.T, sqlDB *sqlutils.SQLRunner, preRestore // Check that we can write on top of OR data var maxRestoreMVCCTimestamp float64 sqlDB.QueryRow(t, "SELECT max(crdb_internal_mvcc_timestamp) FROM data.bank").Scan(&maxRestoreMVCCTimestamp) - - // The where true conditional avoids the need to set sql_updates to true. - sqlDB.Exec(t, "UPDATE data.bank SET balance = balance+1 where true;") + sqlDB.Exec(t, "SET sql_safe_updates = false;") + sqlDB.Exec(t, "UPDATE data.bank SET balance = balance+1;") var updateMVCCTimestamp float64 sqlDB.QueryRow(t, "SELECT min(crdb_internal_mvcc_timestamp) FROM data.bank").Scan(&updateMVCCTimestamp) diff --git a/pkg/ccl/backupccl/restore_planning.go b/pkg/ccl/backupccl/restore_planning.go index f5f70225da52..216f35bba5de 100644 --- a/pkg/ccl/backupccl/restore_planning.go +++ b/pkg/ccl/backupccl/restore_planning.go @@ -79,6 +79,7 @@ const ( restoreOptSkipMissingSequenceOwners = "skip_missing_sequence_owners" restoreOptSkipMissingViews = "skip_missing_views" restoreOptSkipLocalitiesCheck = "skip_localities_check" + restoreOptDebugPauseOn = "debug_pause_on" restoreOptAsTenant = "virtual_cluster_name" restoreOptForceTenantID = "virtual_cluster" @@ -87,6 +88,10 @@ const ( restoreTempSystemDB = "crdb_temp_system" ) +var allowedDebugPauseOnValues = map[string]struct{}{ + "error": {}, +} + // featureRestoreEnabled is used to enable and disable the RESTORE feature. var featureRestoreEnabled = settings.RegisterBoolSetting( settings.ApplicationLevel, @@ -317,7 +322,7 @@ func remapSchemas( } else { // If we found an existing schema, then we need to remap all references // to this schema to the existing one. - desc, err := col.ByIDWithoutLeased(txn.KV()).Get().Schema(ctx, id) + desc, err := col.ByID(txn.KV()).Get().Schema(ctx, id) if err != nil { return false, err } @@ -406,7 +411,7 @@ func remapTables( } // Check privileges. - parentDB, err := col.ByIDWithoutLeased(txn.KV()).Get().Database(ctx, parentID) + parentDB, err := col.ByID(txn.KV()).Get().Database(ctx, parentID) if err != nil { return false, errors.Wrapf(err, "failed to lookup parent DB %d", errors.Safe(parentID)) @@ -490,7 +495,7 @@ func remapTypes( targetDB, typ.Name) } // Check privileges on the parent DB. - parentDB, err := col.ByIDWithoutLeased(txn.KV()).Get().Database(ctx, parentID) + parentDB, err := col.ByID(txn.KV()).Get().Database(ctx, parentID) if err != nil { return false, errors.Wrapf(err, "failed to lookup parent DB %d", errors.Safe(parentID)) @@ -900,7 +905,7 @@ func getDatabaseIDAndDesc( return dbID, nil, errors.Errorf("a database named %q needs to exist", targetDB) } // Check privileges on the parent DB. - dbDesc, err = col.ByIDWithoutLeased(txn).Get().Database(ctx, dbID) + dbDesc, err = col.ByID(txn).Get().Database(ctx, dbID) if err != nil { return 0, nil, errors.Wrapf(err, "failed to lookup parent DB %d", errors.Safe(dbID)) @@ -1074,6 +1079,7 @@ func resolveOptionsForRestoreJobDescription( SkipMissingUDFs: opts.SkipMissingUDFs, Detached: opts.Detached, SkipLocalitiesCheck: opts.SkipLocalitiesCheck, + DebugPauseOn: opts.DebugPauseOn, AsTenant: opts.AsTenant, ForceTenantID: opts.ForceTenantID, SchemaOnly: opts.SchemaOnly, @@ -1129,14 +1135,12 @@ func restoreJobDescription( intoDB string, newDBName string, kmsURIs []string, - resolvedSubdir string, ) (string, error) { r := &tree.Restore{ DescriptorCoverage: restore.DescriptorCoverage, AsOf: restore.AsOf, Targets: restore.Targets, From: make([]tree.StringOrPlaceholderOptList, len(restore.From)), - Subdir: tree.NewDString("/" + strings.TrimPrefix(resolvedSubdir, "/")), } var options tree.RestoreOptions @@ -1160,7 +1164,7 @@ func restoreJobDescription( ann := p.ExtendedEvalContext().Annotations return tree.AsStringWithFlags( - r, tree.FmtAlwaysQualifyNames|tree.FmtShowFullURIs, tree.FmtAnnotations(ann), + r, tree.FmtAlwaysQualifyTableNames|tree.FmtShowFullURIs, tree.FmtAnnotations(ann), ), nil } @@ -1185,6 +1189,7 @@ func restoreTypeCheck( restoreStmt.Options.NewDBName, restoreStmt.Options.ForceTenantID, restoreStmt.Options.AsTenant, + restoreStmt.Options.DebugPauseOn, restoreStmt.Options.ExecutionLocality, }, ); err != nil { @@ -1226,6 +1231,11 @@ func restorePlanHook( return nil, nil, nil, false, err } + if restoreStmt.Options.RemoveRegions && !p.ExecCfg().Settings.Version.IsActive(ctx, clusterversion.V23_2) { + return nil, nil, nil, false, + errors.Newf("to set the remove_regions option, cluster version must be >= %s", clusterversion.V23_2.String()) + } + if !restoreStmt.Options.SchemaOnly && restoreStmt.Options.VerifyData { return nil, nil, nil, false, errors.New("to set the verify_backup_table_data option, the schema_only option must be set") @@ -1655,11 +1665,11 @@ func checkBackupManifestVersionCompatability( // the `ClusterVersion` field exists. return errors.WithHint(errors.Newf("the backup is from a version older than our "+ "minimum restorable version %s", minimumRestoreableVersion), - "refer to our documentation about restoring across versions: https://www.cockroachlabs.com/docs/stable/restoring-backups-across-versions.html") + "refer to our documentation about restoring across versions: https://www.cockroachlabs.com/docs/v22.2/restoring-backups-across-versions.html") } return errors.WithHint(errors.Newf("backup from version %s is older than the "+ "minimum restorable version %s", v, minimumRestoreableVersion), - "refer to our documentation about restoring across versions: https://www.cockroachlabs.com/docs/stable/restoring-backups-across-versions.html") + "refer to our documentation about restoring across versions: https://www.cockroachlabs.com/docs/v22.2/restoring-backups-across-versions.html") } } @@ -1991,6 +2001,19 @@ func doRestorePlan( } } + var debugPauseOn string + if restoreStmt.Options.DebugPauseOn != nil { + var err error + debugPauseOn, err = exprEval.String(ctx, restoreStmt.Options.DebugPauseOn) + if err != nil { + return err + } + + if _, ok := allowedDebugPauseOnValues[debugPauseOn]; len(debugPauseOn) > 0 && !ok { + return errors.Newf("%s cannot be set with the value %s", restoreOptDebugPauseOn, debugPauseOn) + } + } + var asOfInterval int64 if !endTime.IsEmpty() { asOfInterval = endTime.WallTime - p.ExtendedEvalContext().StmtTimestamp.UnixNano() @@ -2039,6 +2062,12 @@ func doRestorePlan( if err != nil { return err } + var fromDescription [][]string + if len(from) == 1 { + fromDescription = [][]string{fullyResolvedBaseDirectory} + } else { + fromDescription = from + } if restoreStmt.Options.ExperimentalOnline { if err := checkBackupElidedPrefixForOnlineCompat(ctx, mainBackupManifests, descriptorRewrites); err != nil { @@ -2050,13 +2079,12 @@ func doRestorePlan( ctx, p, restoreStmt, - from, - incFrom, + fromDescription, + fullyResolvedIncrementalsDirectory, restoreStmt.Options, intoDB, newDBName, - kms, - fullyResolvedSubdir) + kms) if err != nil { return err } @@ -2122,6 +2150,7 @@ func doRestorePlan( DescriptorCoverage: restoreStmt.DescriptorCoverage, Encryption: encryption, DatabaseModifiers: databaseModifiers, + DebugPauseOn: debugPauseOn, // A RESTORE SYSTEM USERS planned on a 22.1 node will use the // RestoreSystemUsers field in the job details to identify this flavour of @@ -2165,7 +2194,7 @@ func doRestorePlan( } resultsCh <- tree.Datums{tree.NewDInt(tree.DInt(jobID))} collectRestoreTelemetry(ctx, jobID, restoreDetails, intoDB, newDBName, subdir, restoreStmt, - descsByTablePattern, restoreDBs, asOfInterval, p.SessionData().ApplicationName) + descsByTablePattern, restoreDBs, asOfInterval, debugPauseOn, p.SessionData().ApplicationName) return nil } @@ -2212,7 +2241,7 @@ func doRestorePlan( // execution. p.InternalSQLTxn().Descriptors().ReleaseAll(ctx) collectRestoreTelemetry(ctx, sj.ID(), restoreDetails, intoDB, newDBName, subdir, restoreStmt, - descsByTablePattern, restoreDBs, asOfInterval, p.SessionData().ApplicationName) + descsByTablePattern, restoreDBs, asOfInterval, debugPauseOn, p.SessionData().ApplicationName) if err := sj.Start(ctx); err != nil { return err } @@ -2233,6 +2262,7 @@ func collectRestoreTelemetry( descsByTablePattern map[tree.TablePattern]catalog.Descriptor, restoreDBs []catalog.DatabaseDescriptor, asOfInterval int64, + debugPauseOn string, applicationName string, ) { telemetry.Count("restore.total.started") @@ -2246,7 +2276,7 @@ func collectRestoreTelemetry( } logRestoreTelemetry(ctx, jobID, details, intoDB, newDBName, subdir, asOfInterval, restoreStmt.Options, - descsByTablePattern, restoreDBs, applicationName) + descsByTablePattern, restoreDBs, debugPauseOn, applicationName) } // checkForConflictingDescriptors checks for user-created descriptors that would @@ -2517,7 +2547,7 @@ func restoreCreateDefaultPrimaryRegionEnums( regionLabels = append(regionLabels, tree.EnumValue(regionName)) } regionEnum, err := sql.CreateEnumTypeDesc( - p.SessionData(), + p.RunParams(ctx), regionConfig.RegionEnumID(), regionLabels, db, @@ -2530,6 +2560,7 @@ func restoreCreateDefaultPrimaryRegionEnums( } regionEnum.ArrayTypeID = regionEnumArrayID regionArrayEnum, err := sql.CreateUserDefinedArrayTypeDesc( + p.RunParams(ctx), regionEnum, db, sc.GetID(), diff --git a/pkg/ccl/backupccl/restore_planning_test.go b/pkg/ccl/backupccl/restore_planning_test.go index 0ba57494e9d8..b74320a8d1a4 100644 --- a/pkg/ccl/backupccl/restore_planning_test.go +++ b/pkg/ccl/backupccl/restore_planning_test.go @@ -11,7 +11,6 @@ package backupccl import ( "context" "reflect" - "slices" "strings" "testing" @@ -36,6 +35,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/log" "github.com/cockroachdb/errors" "github.com/stretchr/testify/require" + "golang.org/x/exp/slices" ) // TestRestoreResolveOptionsForJobDescription tests that @@ -54,6 +54,7 @@ func TestRestoreResolveOptionsForJobDescription(t *testing.T) { SkipMissingUDFs: true, Detached: true, SkipLocalitiesCheck: true, + DebugPauseOn: tree.NewDString("test expr"), AsTenant: tree.NewDString("test expr"), ForceTenantID: tree.NewDInt(42), SchemaOnly: true, diff --git a/pkg/ccl/backupccl/restore_processor_planning.go b/pkg/ccl/backupccl/restore_processor_planning.go index 65f810990a8d..6feae54de9f9 100644 --- a/pkg/ccl/backupccl/restore_processor_planning.go +++ b/pkg/ccl/backupccl/restore_processor_planning.go @@ -12,7 +12,7 @@ import ( "bytes" "context" "math" - "slices" + "sort" "github.com/cockroachdb/cockroach/pkg/base" "github.com/cockroachdb/cockroach/pkg/cloud" @@ -34,18 +34,17 @@ import ( ) type restoreJobMetadata struct { - jobID jobspb.JobID - dataToRestore restorationData - restoreTime hlc.Timestamp - encryption *jobspb.BackupEncryptionOptions - kmsEnv cloud.KMSEnv - uris []string - backupLocalityInfo []jobspb.RestoreDetails_BackupLocalityInfo - spanFilter spanCoveringFilter - numImportSpans int - execLocality roachpb.Locality - exclusiveEndKeys bool - resumeClusterVersion roachpb.Version + jobID jobspb.JobID + dataToRestore restorationData + restoreTime hlc.Timestamp + encryption *jobspb.BackupEncryptionOptions + kmsEnv cloud.KMSEnv + uris []string + backupLocalityInfo []jobspb.RestoreDetails_BackupLocalityInfo + spanFilter spanCoveringFilter + numImportSpans int + execLocality roachpb.Locality + exclusiveEndKeys bool } // distRestore plans a 2 stage distSQL flow for a distributed restore. It @@ -63,11 +62,9 @@ func distRestore( md restoreJobMetadata, progCh chan *execinfrapb.RemoteProducerMetadata_BulkProcessorProgress, tracingAggCh chan *execinfrapb.TracingAggregatorEvents, - procCompleteCh chan struct{}, ) error { defer close(progCh) defer close(tracingAggCh) - defer close(procCompleteCh) var noTxn *kv.Txn if md.encryption != nil && md.encryption.Mode == jobspb.EncryptionMode_KMS { @@ -113,18 +110,18 @@ func distRestore( p := planCtx.NewPhysicalPlan() restoreDataSpec := execinfrapb.RestoreDataSpec{ - JobID: int64(md.jobID), - RestoreTime: md.restoreTime, - Encryption: fileEncryption, - TableRekeys: md.dataToRestore.getRekeys(), - TenantRekeys: md.dataToRestore.getTenantRekeys(), - PKIDs: md.dataToRestore.getPKIDs(), - ValidateOnly: md.dataToRestore.isValidateOnly(), - ResumeClusterVersion: md.resumeClusterVersion, + JobID: int64(md.jobID), + RestoreTime: md.restoreTime, + Encryption: fileEncryption, + TableRekeys: md.dataToRestore.getRekeys(), + TenantRekeys: md.dataToRestore.getTenantRekeys(), + PKIDs: md.dataToRestore.getPKIDs(), + ValidateOnly: md.dataToRestore.isValidateOnly(), } - // Plan SplitAndScatter on the coordinator node. + // Plan SplitAndScatter in a round-robin fashion. splitAndScatterStageID := p.NewStageOnNodes(sqlInstanceIDs) + splitAndScatterProcs := make(map[base.SQLInstanceID]physicalplan.ProcessorIdx) defaultStream := int32(0) rangeRouterSpec := execinfrapb.OutputRouterSpec_RangeRouterSpec{ @@ -151,8 +148,8 @@ func distRestore( rangeRouterSpec.Spans = append(rangeRouterSpec.Spans, span) } // The router expects the spans to be sorted. - slices.SortFunc(rangeRouterSpec.Spans, func(a, b execinfrapb.OutputRouterSpec_RangeRouterSpec_Span) int { - return bytes.Compare(a.Start, b.Start) + sort.Slice(rangeRouterSpec.Spans, func(i, j int) bool { + return bytes.Compare(rangeRouterSpec.Spans[i].Start, rangeRouterSpec.Spans[j].Start) == -1 }) // TODO(pbardea): This not super principled. I just wanted something that @@ -167,6 +164,8 @@ func distRestore( chunkSize = 1 } + id := execCtx.ExecCfg().NodeInfo.NodeID.SQLInstanceID() + spec := &execinfrapb.GenerativeSplitAndScatterSpec{ TableRekeys: md.dataToRestore.getRekeys(), TenantRekeys: md.dataToRestore.getTenantRekeys(), @@ -192,8 +191,8 @@ func distRestore( spec.CheckpointedSpans = persistFrontier(md.spanFilter.checkpointFrontier, 0) } - splitAndScatterProc := physicalplan.Processor{ - SQLInstanceID: execCtx.ExecCfg().NodeInfo.NodeID.SQLInstanceID(), + proc := physicalplan.Processor{ + SQLInstanceID: id, Spec: execinfrapb.ProcessorSpec{ Core: execinfrapb.ProcessorCoreUnion{GenerativeSplitAndScatter: spec}, Post: execinfrapb.PostProcessSpec{}, @@ -207,7 +206,8 @@ func distRestore( ResultTypes: splitAndScatterOutputTypes, }, } - splitAndScatterProcIdx := p.AddProcessor(splitAndScatterProc) + pIdx := p.AddProcessor(proc) + splitAndScatterProcs[id] = pIdx // Plan RestoreData. restoreDataStageID := p.NewStageOnNodes(sqlInstanceIDs) @@ -231,17 +231,21 @@ func distRestore( p.ResultRouters = append(p.ResultRouters, pIdx) } - for slot, destSQLInstanceID := range sqlInstanceIDs { - // Streams were added to the range router in the same order that the - // nodes appeared in `nodes`. Make sure that the `slot`s here are - // ordered the same way. - destProc := restoreDataProcs[destSQLInstanceID] - p.Streams = append(p.Streams, physicalplan.Stream{ - SourceProcessor: splitAndScatterProcIdx, - SourceRouterSlot: slot, - DestProcessor: destProc, - DestInput: 0, - }) + for _, srcProc := range splitAndScatterProcs { + slot := 0 + for _, destSQLInstanceID := range sqlInstanceIDs { + // Streams were added to the range router in the same order that the + // nodes appeared in `nodes`. Make sure that the `slot`s here are + // ordered the same way. + destProc := restoreDataProcs[destSQLInstanceID] + p.Streams = append(p.Streams, physicalplan.Stream{ + SourceProcessor: srcProc, + SourceRouterSlot: slot, + DestProcessor: destProc, + DestInput: 0, + }) + slot++ + } } sql.FinalizePlan(ctx, planCtx, p) @@ -259,35 +263,13 @@ func distRestore( g := ctxgroup.WithContext(ctx) g.GoCtx(func(ctx context.Context) error { metaFn := func(_ context.Context, meta *execinfrapb.ProducerMetadata) error { - sendAggEventFn := func() { - if meta.AggregatorEvents != nil { - tracingAggCh <- meta.AggregatorEvents - } + if meta.BulkProcessorProgress != nil { + // Send the progress up a level to be written to the manifest. + progCh <- meta.BulkProcessorProgress } - defer sendAggEventFn() - if meta.BulkProcessorProgress != nil { - if meta.BulkProcessorProgress.Drained { - testingKnobs := execCtx.ExecCfg().BackupRestoreTestingKnobs - if testingKnobs != nil && testingKnobs.RunAfterRestoreProcDrains != nil { - testingKnobs.RunAfterRestoreProcDrains() - } - // procCompleteCh will not have any listeners if the restore job - // needs to replan due to lagging nodes. In that case, do not - // send to the channel. - select { - case procCompleteCh <- struct{}{}: - case <-ctx.Done(): - return ctx.Err() - } - } else { - // Send the progress up a level to be written to the manifest. - select { - case progCh <- meta.BulkProcessorProgress: - case <-ctx.Done(): - return ctx.Err() - } - } + if meta.AggregatorEvents != nil { + tracingAggCh <- meta.AggregatorEvents } return nil } diff --git a/pkg/ccl/backupccl/restore_span_covering.go b/pkg/ccl/backupccl/restore_span_covering.go index 8216cb6d4804..e6ed43aa4899 100644 --- a/pkg/ccl/backupccl/restore_span_covering.go +++ b/pkg/ccl/backupccl/restore_span_covering.go @@ -346,8 +346,6 @@ func generateAndSendImportSpans( BackupFileEntryCounts: f.EntryCounts, BackingFileSize: f.BackingFileSize, ApproximatePhysicalSize: f.ApproximatePhysicalSize, - Layer: int32(layer), - HasRangeKeys: f.HasRangeKeys, } if dir, ok := backupLocalityMap[layer][f.LocalityKV]; ok { fileSpec.Dir = dir diff --git a/pkg/ccl/backupccl/system_schema.go b/pkg/ccl/backupccl/system_schema.go index 1099c526f8fb..de12bfcac15b 100644 --- a/pkg/ccl/backupccl/system_schema.go +++ b/pkg/ccl/backupccl/system_schema.go @@ -109,6 +109,7 @@ const roleIDSequenceRestoreOrder = 1 func defaultSystemTableRestoreFunc( ctx context.Context, _ customRestoreFuncDeps, txn isql.Txn, systemTableName, tempTableName string, ) error { + deleteQuery := fmt.Sprintf("DELETE FROM system.%s WHERE true", systemTableName) opName := systemTableName + "-data-deletion" log.Eventf(ctx, "clearing data from system table %s with query %q", @@ -141,7 +142,7 @@ func tenantSettingsTableRestoreFunc( systemTableName, tempTableName string, ) error { if deps.codec.ForSystemTenant() { - return systemTenantSettingsTableRestoreFunc(ctx, deps, txn, systemTableName, tempTableName) + return defaultSystemTableRestoreFunc(ctx, deps, txn, systemTableName, tempTableName) } if count, err := queryTableRowCount(ctx, txn, tempTableName); err == nil && count > 0 { @@ -535,41 +536,6 @@ func tableHasNotNullColumn( return hasNotNullColumn, nil } -// systemTenantSettingsTableRestoreFunc implements custom logic when -// restoring the `system.tenant_settings` table on the system -// tenant. Specifically, it does not restore a row for the `version` -// setting that applies to all-tenants (tenant_id = 0). See issue -// #125702 for more details. -// -// TODO(multitenant): revert back to using the default restore func -// for system.tenant_settings when the MinSupportedVersion is 24.2+. -func systemTenantSettingsTableRestoreFunc( - ctx context.Context, - deps customRestoreFuncDeps, - txn isql.Txn, - systemTableName, tempTableName string, -) error { - deleteQuery := fmt.Sprintf("DELETE FROM system.%s WHERE true", systemTableName) - opName := systemTableName + "-data-deletion" - log.Eventf(ctx, "clearing data from system table %s with query %q", - systemTableName, deleteQuery) - - _, err := txn.Exec(ctx, opName, txn.KV(), deleteQuery) - if err != nil { - return errors.Wrapf(err, "deleting data from system.%s", systemTableName) - } - - restoreQuery := fmt.Sprintf( - "INSERT INTO system.%s (SELECT * FROM %s WHERE NOT (tenant_id = 0 AND name = 'version'));", - systemTableName, tempTableName) - opName = systemTableName + "-data-insert" - if _, err := txn.Exec(ctx, opName, txn.KV(), restoreQuery); err != nil { - return errors.Wrapf(err, "inserting data to system.%s", systemTableName) - } - - return nil -} - // When restoring the settings table, we want to make sure to not override the // version. func settingsRestoreFunc( @@ -578,6 +544,7 @@ func settingsRestoreFunc( txn isql.Txn, systemTableName, tempTableName string, ) error { + deleteQuery := fmt.Sprintf("DELETE FROM system.%s WHERE name <> 'version'", systemTableName) opName := systemTableName + "-data-deletion" log.Eventf(ctx, "clearing data from system table %s with query %q", @@ -847,9 +814,6 @@ var systemTableBackupConfiguration = map[string]systemBackupConfiguration{ systemschema.TransactionExecInsightsTable.GetName(): { shouldIncludeInClusterBackup: optOutOfClusterBackup, }, - systemschema.TableMetadata.GetName(): { - shouldIncludeInClusterBackup: optOutOfClusterBackup, - }, } func rekeySystemTable( diff --git a/pkg/ccl/backupccl/targets.go b/pkg/ccl/backupccl/targets.go index 4efc9af7d3a9..d615a7368ab6 100644 --- a/pkg/ccl/backupccl/targets.go +++ b/pkg/ccl/backupccl/targets.go @@ -11,7 +11,7 @@ package backupccl import ( "context" "fmt" - "slices" + "sort" "strings" "github.com/cockroachdb/cockroach/pkg/ccl/backupccl/backupinfo" @@ -19,6 +19,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/ccl/backupccl/backupresolver" "github.com/cockroachdb/cockroach/pkg/keys" "github.com/cockroachdb/cockroach/pkg/kv" + "github.com/cockroachdb/cockroach/pkg/kv/kvclient" "github.com/cockroachdb/cockroach/pkg/multitenant/mtinfopb" "github.com/cockroachdb/cockroach/pkg/sql" "github.com/cockroachdb/cockroach/pkg/sql/catalog" @@ -171,8 +172,8 @@ func getRelevantDescChanges( } } - slices.SortFunc(interestingChanges, func(a, b backuppb.BackupManifest_DescriptorRevision) int { - return a.Time.Compare(b.Time) + sort.Slice(interestingChanges, func(i, j int) bool { + return interestingChanges[i].Time.Less(interestingChanges[j].Time) }) return interestingChanges, nil @@ -192,10 +193,10 @@ func getAllDescChanges( endKey := startKey.PrefixEnd() g := ctxgroup.WithContext(ctx) - allRevs := make(chan []VersionedValues) + allRevs := make(chan []kvclient.VersionedValues) g.GoCtx(func(ctx context.Context) error { defer close(allRevs) - return GetAllRevisions(ctx, db, startKey, endKey, startTime, endTime, allRevs) + return kvclient.GetAllRevisions(ctx, db, startKey, endKey, startTime, endTime, allRevs) }) var res []backuppb.BackupManifest_DescriptorRevision @@ -493,7 +494,7 @@ func checkMultiRegionCompatible( // For REGION BY TABLE IN tables, allow the restore if the // database has the region. regionEnumID := database.GetRegionConfig().RegionEnumID - typeDesc, err := col.ByIDWithoutLeased(txn).Get().Type(ctx, regionEnumID) + typeDesc, err := col.ByID(txn).Get().Type(ctx, regionEnumID) if err != nil { return err } diff --git a/pkg/ccl/backupccl/tenant_backup_nemesis_test.go b/pkg/ccl/backupccl/tenant_backup_nemesis_test.go index 75e2c38c1f20..d226a96c8db7 100644 --- a/pkg/ccl/backupccl/tenant_backup_nemesis_test.go +++ b/pkg/ccl/backupccl/tenant_backup_nemesis_test.go @@ -181,8 +181,7 @@ func TestTenantBackupNemesis(t *testing.T) { return err } defer cleanupGoDB() - pgURL.Path = bankData.Meta().Name - reg := histogram.NewRegistry(20*time.Second, bankData.Meta().Name) + reg := histogram.NewRegistry(20*time.Second, "bank") ops, err := bankData.(workload.Opser).Ops(ctx, []string{pgURL.String()}, reg) if err != nil { return err @@ -597,7 +596,7 @@ func (r *randomBackupNemesis) runNemesis(ctx context.Context) error { } func (r *randomBackupNemesis) makeRandomBankTable(prefix string) (string, error) { - tableName := fmt.Sprintf("%s_%s", prefix, uuid.MakeV4().String()) + tableName := fmt.Sprintf("%s_%s", prefix, uuid.FastMakeV4().String()) if _, err := r.tenantDB.Exec(fmt.Sprintf(`CREATE TABLE "%s" (id INT PRIMARY KEY, n INT, s STRING)`, tableName)); err != nil { return "", err } diff --git a/pkg/ccl/backupccl/testdata/backup-restore/multiregion b/pkg/ccl/backupccl/testdata/backup-restore/multiregion index 70c47fbc6df2..87f448c71f61 100644 --- a/pkg/ccl/backupccl/testdata/backup-restore/multiregion +++ b/pkg/ccl/backupccl/testdata/backup-restore/multiregion @@ -72,10 +72,6 @@ exec-sql RESTORE FROM LATEST IN 'nodelocal://1/full_cluster_backup/' WITH skip_localities_check; ---- -exec-sql -INSERT INTO d.t VALUES (4); ----- - exec-sql SET enable_multiregion_placement_policy='true'; ALTER DATABASE d SURVIVE ZONE FAILURE; @@ -91,10 +87,6 @@ exec-sql RESTORE DATABASE d FROM LATEST IN 'nodelocal://1/database_backup/' WITH skip_localities_check, new_db_name='d_new'; ---- -exec-sql -INSERT INTO d_new.t VALUES (4); ----- - exec-sql SET enable_multiregion_placement_policy='true'; ALTER DATABASE d_new SURVIVE ZONE FAILURE; diff --git a/pkg/ccl/backupccl/testdata/backup-restore/multiregion-mismatch-table-locality b/pkg/ccl/backupccl/testdata/backup-restore/multiregion-mismatch-table-locality deleted file mode 100644 index 805ddae88752..000000000000 --- a/pkg/ccl/backupccl/testdata/backup-restore/multiregion-mismatch-table-locality +++ /dev/null @@ -1,101 +0,0 @@ -# disabled to run within tenant for simplicity. -new-cluster name=s1 allow-implicit-access disable-tenant localities=us-east-1 ----- - -exec-sql -CREATE DATABASE d PRIMARY REGION "us-east-1"; -CREATE TABLE d.t (x INT); -INSERT INTO d.t VALUES (1), (2), (3); ----- - -query-sql -SELECT region FROM [SHOW REGIONS FROM DATABASE d] ORDER BY 1; ----- -us-east-1 - -query-sql -SHOW DATABASES; ----- -d root us-east-1 {us-east-1} zone -data root {} -defaultdb root {} -postgres root {} -system node {} - -# make our table regional by row -exec-sql -ALTER TABLE d.t SET LOCALITY REGIONAL BY ROW; ----- -NOTICE: LOCALITY changes will be finalized asynchronously; further schema changes on this table may be restricted until the job completes - -query-sql -SELECT crdb_region FROM d.t; ----- -us-east-1 -us-east-1 -us-east-1 - -exec-sql -USE defaultdb ----- - -# backup db, table, and cluster with regional by row table -exec-sql -BACKUP DATABASE d INTO 'nodelocal://1/rbr_database_backup/'; ----- - -exec-sql -BACKUP TABLE d.t INTO 'nodelocal://1/rbr_table_backup/'; ----- - -exec-sql -BACKUP INTO 'nodelocal://1/rbr_cluster_backup/'; ----- - - -new-cluster name=s2 share-io-dir=s1 allow-implicit-access localities=us-west-1 ----- - -exec-sql -RESTORE FROM LATEST IN 'nodelocal://1/rbr_cluster_backup/' with skip_localities_check; ----- - - -query-sql -SHOW DATABASES; ----- -d root us-east-1 {us-east-1} zone -data root {} -defaultdb root {} -postgres root {} -system node {} - - -query-sql -SELECT count(*) FROM d.t; ----- -3 - -# Note that inserting into a rbr table requires connecting to the mr db -exec-sql -INSERT INTO d.t VALUES (4) ----- -pq: default_to_database_primary_region(): current database defaultdb is not multi-region enabled - -exec-sql -USE d; ----- - -exec-sql -INSERT INTO d.t VALUES (4) ----- - -exec-sql -CREATE DATABASE d3; ----- - -# Restoring an rbr table into a non-mr database should fail. -exec-sql -RESTORE TABLE d.t FROM LATEST IN 'nodelocal://1/rbr_table_backup/' with skip_localities_check, into_db='d3'; ----- -pq: cannot restore descriptor for multi-region table t into non-multi-region database d3 diff --git a/pkg/ccl/backupccl/testdata/backup-restore/plpgsql_procedures b/pkg/ccl/backupccl/testdata/backup-restore/plpgsql_procedures index b93d4305cb27..a0ace7194aac 100644 --- a/pkg/ccl/backupccl/testdata/backup-restore/plpgsql_procedures +++ b/pkg/ccl/backupccl/testdata/backup-restore/plpgsql_procedures @@ -92,15 +92,14 @@ db1 sc2 p2 function false query-sql SELECT create_statement FROM [SHOW CREATE PROCEDURE sc1.p1] ---- -CREATE PROCEDURE sc1.p1(a sc1.enum1) +CREATE PROCEDURE sc1.p1(a db1.sc1.enum1) LANGUAGE plpgsql - SECURITY INVOKER AS $$ DECLARE - foobar sc1.enum1; + foobar db1.sc1.enum1; BEGIN SELECT a FROM db1.sc1.tbl1; - SELECT 'Good':::sc1.enum1; + SELECT 'Good':::db1.sc1.enum1; SELECT nextval('sc1.sq1'::REGCLASS); END; $$ @@ -133,15 +132,14 @@ USE db1_new query-sql SELECT create_statement FROM [SHOW CREATE PROCEDURE sc1.p1] ---- -CREATE PROCEDURE sc1.p1(a sc1.enum1) +CREATE PROCEDURE sc1.p1(a db1_new.sc1.enum1) LANGUAGE plpgsql - SECURITY INVOKER AS $$ DECLARE - foobar sc1.enum1; + foobar db1_new.sc1.enum1; BEGIN SELECT a FROM db1_new.sc1.tbl1; - SELECT 'Good':::sc1.enum1; + SELECT 'Good':::db1_new.sc1.enum1; SELECT nextval('sc1.sq1'::REGCLASS); END; $$ @@ -300,15 +298,14 @@ db1 sc2 p2 function true query-sql SELECT create_statement FROM [SHOW CREATE PROCEDURE sc1.p1] ---- -CREATE PROCEDURE sc1.p1(a sc1.enum1) +CREATE PROCEDURE sc1.p1(a db1.sc1.enum1) LANGUAGE plpgsql - SECURITY INVOKER AS $$ DECLARE - foobar sc1.enum1; + foobar db1.sc1.enum1; BEGIN SELECT a FROM db1.sc1.tbl1; - SELECT 'Good':::sc1.enum1; + SELECT 'Good':::db1.sc1.enum1; SELECT nextval('sc1.sq1'::REGCLASS); END; $$ @@ -342,15 +339,14 @@ USE db1 query-sql SELECT create_statement FROM [SHOW CREATE PROCEDURE sc1.p1] ---- -CREATE PROCEDURE sc1.p1(a sc1.enum1) +CREATE PROCEDURE sc1.p1(a db1.sc1.enum1) LANGUAGE plpgsql - SECURITY INVOKER AS $$ DECLARE - foobar sc1.enum1; + foobar db1.sc1.enum1; BEGIN SELECT a FROM db1.sc1.tbl1; - SELECT 'Good':::sc1.enum1; + SELECT 'Good':::db1.sc1.enum1; SELECT nextval('sc1.sq1'::REGCLASS); END; $$ diff --git a/pkg/ccl/backupccl/testdata/backup-restore/plpgsql_user_defined_functions b/pkg/ccl/backupccl/testdata/backup-restore/plpgsql_user_defined_functions index 76f689693562..909d0358bb41 100644 --- a/pkg/ccl/backupccl/testdata/backup-restore/plpgsql_user_defined_functions +++ b/pkg/ccl/backupccl/testdata/backup-restore/plpgsql_user_defined_functions @@ -109,20 +109,19 @@ db1 sc2 f2 function false query-sql SELECT create_statement FROM [SHOW CREATE FUNCTION sc1.f1] ---- -CREATE FUNCTION sc1.f1(a sc1.enum1) +CREATE FUNCTION sc1.f1(a db1.sc1.enum1) RETURNS INT8 VOLATILE NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE plpgsql - SECURITY INVOKER AS $$ DECLARE x INT8 := 0; - foobar sc1.enum1; + foobar db1.sc1.enum1; BEGIN SELECT a FROM db1.sc1.tbl1; - SELECT 'Good':::sc1.enum1; + SELECT 'Good':::db1.sc1.enum1; RETURN nextval('sc1.sq1'::REGCLASS); END; $$ @@ -141,14 +140,13 @@ CREATE FUNCTION sc2.f2() NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE plpgsql - SECURITY INVOKER AS $$ DECLARE x INT8; BEGIN SELECT a FROM db1.sc2.tbl2 LIMIT 1 INTO x; - SELECT sc1.f1('Good':::sc1.enum1); - CALL public.p_nested('Good':::sc1.enum1); + SELECT sc1.f1('Good':::db1.sc1.enum1); + CALL public.p_nested('Good':::db1.sc1.enum1); RETURN x; END; $$ @@ -172,20 +170,19 @@ USE db1_new query-sql SELECT create_statement FROM [SHOW CREATE FUNCTION sc1.f1] ---- -CREATE FUNCTION sc1.f1(a sc1.enum1) +CREATE FUNCTION sc1.f1(a db1_new.sc1.enum1) RETURNS INT8 VOLATILE NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE plpgsql - SECURITY INVOKER AS $$ DECLARE x INT8 := 0; - foobar sc1.enum1; + foobar db1_new.sc1.enum1; BEGIN SELECT a FROM db1_new.sc1.tbl1; - SELECT 'Good':::sc1.enum1; + SELECT 'Good':::db1_new.sc1.enum1; RETURN nextval('sc1.sq1'::REGCLASS); END; $$ @@ -199,14 +196,13 @@ CREATE FUNCTION sc2.f2() NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE plpgsql - SECURITY INVOKER AS $$ DECLARE x INT8; BEGIN SELECT a FROM db1_new.sc2.tbl2 LIMIT 1 INTO x; - SELECT sc1.f1('Good':::sc1.enum1); - CALL public.p_nested('Good':::sc1.enum1); + SELECT sc1.f1('Good':::db1_new.sc1.enum1); + CALL public.p_nested('Good':::db1_new.sc1.enum1); RETURN x; END; $$ @@ -364,20 +360,19 @@ db1 sc2 f2 function true query-sql SELECT create_statement FROM [SHOW CREATE FUNCTION sc1.f1] ---- -CREATE FUNCTION sc1.f1(a sc1.enum1) +CREATE FUNCTION sc1.f1(a db1.sc1.enum1) RETURNS INT8 VOLATILE NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE plpgsql - SECURITY INVOKER AS $$ DECLARE x INT8; - foobar sc1.enum1; + foobar db1.sc1.enum1; BEGIN SELECT a FROM db1.sc1.tbl1; - SELECT 'Good':::sc1.enum1; + SELECT 'Good':::db1.sc1.enum1; SELECT nextval('sc1.sq1'::REGCLASS) INTO x; RETURN x; END; @@ -408,20 +403,19 @@ USE db1 query-sql SELECT create_statement FROM [SHOW CREATE FUNCTION sc1.f1] ---- -CREATE FUNCTION sc1.f1(a sc1.enum1) +CREATE FUNCTION sc1.f1(a db1.sc1.enum1) RETURNS INT8 VOLATILE NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE plpgsql - SECURITY INVOKER AS $$ DECLARE x INT8; - foobar sc1.enum1; + foobar db1.sc1.enum1; BEGIN SELECT a FROM db1.sc1.tbl1; - SELECT 'Good':::sc1.enum1; + SELECT 'Good':::db1.sc1.enum1; SELECT nextval('sc1.sq1'::REGCLASS) INTO x; RETURN x; END; @@ -579,9 +573,9 @@ SELECT f() ---- pq: unknown function: f() -# Test that backing up and restoring a cluster with a function does not grant -# EXECUTE privileges on the public role for functions where that privilege has -# been revoked. +# Test that backing up and restoring a cluster with a function on 23.2 does not +# grant EXECUTE privileges on the public role for functions where that privilege +# has been revoked. new-cluster name=s4 ---- diff --git a/pkg/ccl/backupccl/testdata/backup-restore/procedures b/pkg/ccl/backupccl/testdata/backup-restore/procedures index efc0ac268267..f29acc5a1534 100644 --- a/pkg/ccl/backupccl/testdata/backup-restore/procedures +++ b/pkg/ccl/backupccl/testdata/backup-restore/procedures @@ -86,12 +86,11 @@ db1 sc2 p2 function false query-sql SELECT create_statement FROM [SHOW CREATE PROCEDURE sc1.p1] ---- -CREATE PROCEDURE sc1.p1(a sc1.enum1) +CREATE PROCEDURE sc1.p1(a db1.sc1.enum1) LANGUAGE SQL - SECURITY INVOKER AS $$ SELECT a FROM db1.sc1.tbl1; - SELECT 'Good':::sc1.enum1; + SELECT 'Good':::db1.sc1.enum1; SELECT nextval('sc1.sq1'::REGCLASS); $$ @@ -123,12 +122,11 @@ USE db1_new query-sql SELECT create_statement FROM [SHOW CREATE PROCEDURE sc1.p1] ---- -CREATE PROCEDURE sc1.p1(a sc1.enum1) +CREATE PROCEDURE sc1.p1(a db1_new.sc1.enum1) LANGUAGE SQL - SECURITY INVOKER AS $$ SELECT a FROM db1_new.sc1.tbl1; - SELECT 'Good':::sc1.enum1; + SELECT 'Good':::db1_new.sc1.enum1; SELECT nextval('sc1.sq1'::REGCLASS); $$ @@ -280,12 +278,11 @@ db1 sc2 p2 function true query-sql SELECT create_statement FROM [SHOW CREATE PROCEDURE sc1.p1] ---- -CREATE PROCEDURE sc1.p1(a sc1.enum1) +CREATE PROCEDURE sc1.p1(a db1.sc1.enum1) LANGUAGE SQL - SECURITY INVOKER AS $$ SELECT a FROM db1.sc1.tbl1; - SELECT 'Good':::sc1.enum1; + SELECT 'Good':::db1.sc1.enum1; SELECT nextval('sc1.sq1'::REGCLASS); $$ @@ -318,12 +315,11 @@ USE db1 query-sql SELECT create_statement FROM [SHOW CREATE PROCEDURE sc1.p1] ---- -CREATE PROCEDURE sc1.p1(a sc1.enum1) +CREATE PROCEDURE sc1.p1(a db1.sc1.enum1) LANGUAGE SQL - SECURITY INVOKER AS $$ SELECT a FROM db1.sc1.tbl1; - SELECT 'Good':::sc1.enum1; + SELECT 'Good':::db1.sc1.enum1; SELECT nextval('sc1.sq1'::REGCLASS); $$ diff --git a/pkg/ccl/backupccl/testdata/backup-restore/rangekeys b/pkg/ccl/backupccl/testdata/backup-restore/rangekeys index 55b6e6beffed..9cf3a2ac3a2e 100644 --- a/pkg/ccl/backupccl/testdata/backup-restore/rangekeys +++ b/pkg/ccl/backupccl/testdata/backup-restore/rangekeys @@ -3,9 +3,6 @@ # disabled to run within tenants because the kv request cmd only works on system tenants -reset test-nodelocal ----- - new-cluster name=s1 disable-tenant ---- @@ -37,7 +34,6 @@ exec-sql RESTORE DATABASE orig FROM LATEST IN 'nodelocal://1/test-root/' with new_db_name='orig1'; ---- - query-sql SELECT count(*) from orig1.foo; ---- @@ -76,11 +72,6 @@ exec-sql RESTORE DATABASE orig FROM LATEST IN 'nodelocal://1/test-root/' with new_db_name='orig1'; ---- -exec-sql expect-error-regex=(failed to ingest into remote files: online restore of range keys not supported) -RESTORE DATABASE orig FROM LATEST IN 'nodelocal://1/test-root/' with new_db_name='orig2', experimental deferred copy; ----- -regex matches error - query-sql SELECT count(*) from orig1.foo ---- diff --git a/pkg/ccl/backupccl/testdata/backup-restore/restore-mixed-version b/pkg/ccl/backupccl/testdata/backup-restore/restore-mixed-version index ba91adc51dbc..569c2c5c98aa 100644 --- a/pkg/ccl/backupccl/testdata/backup-restore/restore-mixed-version +++ b/pkg/ccl/backupccl/testdata/backup-restore/restore-mixed-version @@ -1,4 +1,4 @@ -new-cluster name=s1 before-version=previous-release disable-tenant +new-cluster name=s1 beforeVersion=23_2_Start disable-tenant ---- exec-sql @@ -15,7 +15,7 @@ BACKUP INTO 'nodelocal://1/full_cluster_backup/'; # This is a cluster where the cluster version is behind the binary version. Such # a condition only occurs when the user has upgraded the node to a new major # version but has not yet finalized the upgrade. -new-cluster name=s2 before-version=previous-release share-io-dir=s1 disable-tenant +new-cluster name=s2 beforeVersion=23_2_Start share-io-dir=s1 disable-tenant ---- exec-sql expect-error-regex=(pq: cluster restore not supported during major version upgrade: restore started at cluster version .* but binary version is.*) diff --git a/pkg/ccl/backupccl/testdata/backup-restore/restore-regionless-mixed-version b/pkg/ccl/backupccl/testdata/backup-restore/restore-regionless-mixed-version index b98a7442020e..23e77ee76523 100644 --- a/pkg/ccl/backupccl/testdata/backup-restore/restore-regionless-mixed-version +++ b/pkg/ccl/backupccl/testdata/backup-restore/restore-regionless-mixed-version @@ -1,4 +1,4 @@ -new-cluster name=s1 before-version=previous-release disable-tenant localities=us-east-1,us-west-1,eu-central-1 +new-cluster name=s1 beforeVersion=23_2_Start disable-tenant localities=us-east-1,us-west-1,eu-central-1 ---- exec-sql @@ -28,17 +28,17 @@ exec-sql BACKUP INTO 'nodelocal://1/cluster_backup/'; ---- -new-cluster name=s2 before-version=previous-release share-io-dir=s1 disable-tenant +new-cluster name=s2 beforeVersion=23_2_Start share-io-dir=s1 disable-tenant ---- -# restore fails when cluster is in mixed version state while upgrading -exec-sql expect-error-regex=(cluster restore not supported during major version upgrade) +# restore fails when cluster is in mixed version state while upgrading to 23.2 +exec-sql expect-error-regex=(cluster version must be >= *) RESTORE FROM LATEST IN 'nodelocal://1/cluster_backup/' WITH remove_regions; ---- regex matches error # upgrade cluster -upgrade-cluster version=latest +upgrade-cluster version=23_2 ---- exec-sql diff --git a/pkg/ccl/backupccl/testdata/backup-restore/user-defined-functions b/pkg/ccl/backupccl/testdata/backup-restore/user-defined-functions index 4adaeb06527b..e6f8b5fdb9ab 100644 --- a/pkg/ccl/backupccl/testdata/backup-restore/user-defined-functions +++ b/pkg/ccl/backupccl/testdata/backup-restore/user-defined-functions @@ -85,16 +85,15 @@ db1 sc2 f2 function false query-sql SELECT create_statement FROM [SHOW CREATE FUNCTION sc1.f1] ---- -CREATE FUNCTION sc1.f1(a sc1.enum1) +CREATE FUNCTION sc1.f1(a db1.sc1.enum1) RETURNS INT8 VOLATILE NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE SQL - SECURITY INVOKER AS $$ SELECT a FROM db1.sc1.tbl1; - SELECT 'Good':::sc1.enum1; + SELECT 'Good':::db1.sc1.enum1; SELECT nextval('sc1.sq1'::REGCLASS); $$ @@ -122,16 +121,15 @@ USE db1_new query-sql SELECT create_statement FROM [SHOW CREATE FUNCTION sc1.f1] ---- -CREATE FUNCTION sc1.f1(a sc1.enum1) +CREATE FUNCTION sc1.f1(a db1_new.sc1.enum1) RETURNS INT8 VOLATILE NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE SQL - SECURITY INVOKER AS $$ SELECT a FROM db1_new.sc1.tbl1; - SELECT 'Good':::sc1.enum1; + SELECT 'Good':::db1_new.sc1.enum1; SELECT nextval('sc1.sq1'::REGCLASS); $$ @@ -271,16 +269,15 @@ db1 sc2 f2 function true query-sql SELECT create_statement FROM [SHOW CREATE FUNCTION sc1.f1] ---- -CREATE FUNCTION sc1.f1(a sc1.enum1) +CREATE FUNCTION sc1.f1(a db1.sc1.enum1) RETURNS INT8 VOLATILE NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE SQL - SECURITY INVOKER AS $$ SELECT a FROM db1.sc1.tbl1; - SELECT 'Good':::sc1.enum1; + SELECT 'Good':::db1.sc1.enum1; SELECT nextval('sc1.sq1'::REGCLASS); $$ @@ -309,16 +306,15 @@ USE db1 query-sql SELECT create_statement FROM [SHOW CREATE FUNCTION sc1.f1] ---- -CREATE FUNCTION sc1.f1(a sc1.enum1) +CREATE FUNCTION sc1.f1(a db1.sc1.enum1) RETURNS INT8 VOLATILE NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE SQL - SECURITY INVOKER AS $$ SELECT a FROM db1.sc1.tbl1; - SELECT 'Good':::sc1.enum1; + SELECT 'Good':::db1.sc1.enum1; SELECT nextval('sc1.sq1'::REGCLASS); $$ @@ -468,9 +464,9 @@ SELECT f() ---- pq: unknown function: f() -# Test that backing up and restoring a cluster with a function does not grant -# EXECUTE privileges on the public role for functions where that privilege has -# been revoked. +# Test that backing up and restoring a cluster with a function on 23.2 does not +# grant EXECUTE privileges on the public role for functions where that privilege +# has been revoked. new-cluster name=s4 ---- diff --git a/pkg/ccl/backupccl/testdata/backup-restore/user-defined-types b/pkg/ccl/backupccl/testdata/backup-restore/user-defined-types index 2803f772f262..a143178eaad8 100644 --- a/pkg/ccl/backupccl/testdata/backup-restore/user-defined-types +++ b/pkg/ccl/backupccl/testdata/backup-restore/user-defined-types @@ -224,7 +224,7 @@ howdy hello false exec-sql INSERT INTO d.expr VALUES ('hi') ---- -pq: failed to satisfy CHECK constraint (x < 'hi':::public.greeting) +pq: failed to satisfy CHECK constraint (x < 'hi':::d.public.greeting) # We should be able to use the restored types to create new tables. exec-sql diff --git a/pkg/ccl/backupccl/testdata/backup-restore/views b/pkg/ccl/backupccl/testdata/backup-restore/views index d97b0ed487d6..b6bb3ab60f2e 100644 --- a/pkg/ccl/backupccl/testdata/backup-restore/views +++ b/pkg/ccl/backupccl/testdata/backup-restore/views @@ -41,7 +41,7 @@ SHOW CREATE VIEW sc1.v1; sc1.v1 CREATE VIEW sc1.v1 ( a, enum1 -) AS SELECT a, 'Good':::sc1.enum1 FROM db1.sc1.tbl1 +) AS SELECT a, 'Good':::db1.sc1.enum1 FROM db1.sc1.tbl1 exec-sql BACKUP DATABASE db1 INTO 'nodelocal://1/test/' @@ -65,4 +65,4 @@ SHOW CREATE VIEW db1_new.sc1.v1; db1_new.sc1.v1 CREATE VIEW sc1.v1 ( a, enum1 -) AS SELECT a, 'Good':::sc1.enum1 FROM db1_new.sc1.tbl1 +) AS SELECT a, 'Good':::db1_new.sc1.enum1 FROM db1_new.sc1.tbl1 diff --git a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/BACKUP-LOCK-980384198322323457 b/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/BACKUP-LOCK-980384198322323457 deleted file mode 100644 index 19104f172a34..000000000000 --- a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/BACKUP-LOCK-980384198322323457 +++ /dev/null @@ -1 +0,0 @@ -lock \ No newline at end of file diff --git a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/BACKUP-STATISTICS b/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/BACKUP-STATISTICS deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/BACKUP_MANIFEST b/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/BACKUP_MANIFEST deleted file mode 100644 index 447d35c1fe6e..000000000000 Binary files a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/BACKUP_MANIFEST and /dev/null differ diff --git a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/BACKUP_MANIFEST-CHECKSUM b/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/BACKUP_MANIFEST-CHECKSUM deleted file mode 100644 index 351b7f2036ec..000000000000 --- a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/BACKUP_MANIFEST-CHECKSUM +++ /dev/null @@ -1 +0,0 @@ -?)x \ No newline at end of file diff --git a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/BACKUP_METADATA b/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/BACKUP_METADATA deleted file mode 100644 index ba18224eaaa1..000000000000 Binary files a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/BACKUP_METADATA and /dev/null differ diff --git a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/BACKUP_METADATA-CHECKSUM b/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/BACKUP_METADATA-CHECKSUM deleted file mode 100644 index 0d5d0a279651..000000000000 --- a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/BACKUP_METADATA-CHECKSUM +++ /dev/null @@ -1 +0,0 @@ -"e \ No newline at end of file diff --git a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198582697985.sst b/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198582697985.sst deleted file mode 100644 index 899b818e63ca..000000000000 Binary files a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198582697985.sst and /dev/null differ diff --git a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198583681025.sst b/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198583681025.sst deleted file mode 100644 index 6a2ea96e69bc..000000000000 Binary files a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198583681025.sst and /dev/null differ diff --git a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198584008705.sst b/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198584008705.sst deleted file mode 100644 index e04cae6a1a3e..000000000000 Binary files a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198584008705.sst and /dev/null differ diff --git a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198585090049.sst b/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198585090049.sst deleted file mode 100644 index b12eda40dc5d..000000000000 Binary files a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198585090049.sst and /dev/null differ diff --git a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198586662913.sst b/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198586662913.sst deleted file mode 100644 index f4f67f00d28a..000000000000 Binary files a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198586662913.sst and /dev/null differ diff --git a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198592528385.sst b/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198592528385.sst deleted file mode 100644 index 3d0e681e5214..000000000000 Binary files a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198592528385.sst and /dev/null differ diff --git a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198595739649.sst b/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198595739649.sst deleted file mode 100644 index 505ee35b6b6f..000000000000 Binary files a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198595739649.sst and /dev/null differ diff --git a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198609797121.sst b/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198609797121.sst deleted file mode 100644 index de8640423223..000000000000 Binary files a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198609797121.sst and /dev/null differ diff --git a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198609862657.sst b/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198609862657.sst deleted file mode 100644 index 82b682868836..000000000000 Binary files a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/data/980384198609862657.sst and /dev/null differ diff --git a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/descriptorslist.sst b/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/descriptorslist.sst deleted file mode 100644 index 8e91ba3736f1..000000000000 Binary files a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/descriptorslist.sst and /dev/null differ diff --git a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/filelist.sst b/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/filelist.sst deleted file mode 100644 index 24747f1fef4e..000000000000 Binary files a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/2024/06/24-201153.63/filelist.sst and /dev/null differ diff --git a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/metadata/latest/LATEST-13cdcfcdcbd2cfc9d2cdcbdfcdcfc5cecec5caccd1c6cecbc6c6cacdccc6dfd4cfcfcfcfdfaaabbcdf92c2d4c8d1c9cecec8cac7cbc6cffffe b/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/metadata/latest/LATEST-13cdcfcdcbd2cfc9d2cdcbdfcdcfc5cecec5caccd1c6cecbc6c6cacdccc6dfd4cfcfcfcfdfaaabbcdf92c2d4c8d1c9cecec8cac7cbc6cffffe deleted file mode 100644 index 3333bc5367a3..000000000000 --- a/pkg/ccl/backupccl/testdata/restore_old_versions/system-tenant-settings-version-override/24.1.1/metadata/latest/LATEST-13cdcfcdcbd2cfc9d2cdcbdfcdcfc5cecec5caccd1c6cecbc6c6cacdccc6dfd4cfcfcfcfdfaaabbcdf92c2d4c8d1c9cecec8cac7cbc6cffffe +++ /dev/null @@ -1 +0,0 @@ -/2024/06/24-201153.63 \ No newline at end of file diff --git a/pkg/ccl/backupccl/utils_test.go b/pkg/ccl/backupccl/utils_test.go index bb0eb6eb1b0d..6c1353be30bd 100644 --- a/pkg/ccl/backupccl/utils_test.go +++ b/pkg/ccl/backupccl/utils_test.go @@ -45,7 +45,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/hlc" "github.com/cockroachdb/cockroach/pkg/util/log" "github.com/cockroachdb/cockroach/pkg/util/log/eventpb" - "github.com/cockroachdb/cockroach/pkg/util/mon" "github.com/cockroachdb/cockroach/pkg/util/protoutil" "github.com/cockroachdb/cockroach/pkg/util/randutil" "github.com/cockroachdb/errors" @@ -234,7 +233,7 @@ func getSpansFromManifest(ctx context.Context, t *testing.T, backupPath string) backupManifestBytes, err := os.ReadFile(backupPath + "/" + backupbase.BackupManifestName) require.NoError(t, err) var backupManifest backuppb.BackupManifest - decompressedBytes, err := backupinfo.DecompressData(ctx, mon.NewStandaloneUnlimitedAccount(), backupManifestBytes) + decompressedBytes, err := backupinfo.DecompressData(ctx, nil, backupManifestBytes) require.NoError(t, err) require.NoError(t, protoutil.Unmarshal(decompressedBytes, &backupManifest)) spans := make([]roachpb.Span, 0, len(backupManifest.Files)) diff --git a/pkg/ccl/ccl_init.go b/pkg/ccl/ccl_init.go index c4201d3924c0..e82c34365de0 100644 --- a/pkg/ccl/ccl_init.go +++ b/pkg/ccl/ccl_init.go @@ -18,15 +18,11 @@ import ( _ "github.com/cockroachdb/cockroach/pkg/ccl/buildccl" _ "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl" _ "github.com/cockroachdb/cockroach/pkg/ccl/cliccl" - _ "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/logical" - _ "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/physical" - _ "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/producer" _ "github.com/cockroachdb/cockroach/pkg/ccl/gqpccl" _ "github.com/cockroachdb/cockroach/pkg/ccl/gssapiccl" _ "github.com/cockroachdb/cockroach/pkg/ccl/jwtauthccl" _ "github.com/cockroachdb/cockroach/pkg/ccl/kvccl" _ "github.com/cockroachdb/cockroach/pkg/ccl/kvccl/kvtenantccl" - _ "github.com/cockroachdb/cockroach/pkg/ccl/ldapccl" _ "github.com/cockroachdb/cockroach/pkg/ccl/multiregionccl" _ "github.com/cockroachdb/cockroach/pkg/ccl/multitenantccl" _ "github.com/cockroachdb/cockroach/pkg/ccl/oidcccl" @@ -36,6 +32,8 @@ import ( _ "github.com/cockroachdb/cockroach/pkg/ccl/securityccl/fipsccl" _ "github.com/cockroachdb/cockroach/pkg/ccl/storageccl" _ "github.com/cockroachdb/cockroach/pkg/ccl/storageccl/engineccl" + _ "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamingest" + _ "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamproducer" "github.com/cockroachdb/cockroach/pkg/ccl/utilccl" _ "github.com/cockroachdb/cockroach/pkg/ccl/workloadccl" "github.com/cockroachdb/cockroach/pkg/server" diff --git a/pkg/ccl/changefeedccl/BUILD.bazel b/pkg/ccl/changefeedccl/BUILD.bazel index 118726d3518f..2ebca0850fa9 100644 --- a/pkg/ccl/changefeedccl/BUILD.bazel +++ b/pkg/ccl/changefeedccl/BUILD.bazel @@ -145,7 +145,6 @@ go_library( "//pkg/util/log", "//pkg/util/log/eventpb", "//pkg/util/log/logcrash", - "//pkg/util/log/severity", "//pkg/util/metamorphic", "//pkg/util/metric", "//pkg/util/metric/aggmetric", @@ -163,7 +162,6 @@ go_library( "//pkg/util/tracing", "//pkg/util/uuid", "@com_github_apache_pulsar_client_go//pulsar", - "@com_github_aws_aws_msk_iam_sasl_signer_go//signer", "@com_github_cockroachdb_apd_v3//:apd", "@com_github_cockroachdb_errors//:errors", "@com_github_cockroachdb_logtags//:logtags", @@ -172,7 +170,6 @@ go_library( "@com_github_gogo_protobuf//types", "@com_github_google_btree//:btree", "@com_github_ibm_sarama//:sarama", - "@com_github_klauspost_compress//gzip", "@com_github_klauspost_compress//zstd", "@com_github_klauspost_pgzip//:pgzip", "@com_github_lib_pq//:pq", @@ -212,7 +209,6 @@ go_test( "changefeed_processors_test.go", "changefeed_test.go", "csv_test.go", - "encoder_json_test.go", "encoder_test.go", "event_processing_test.go", "fetch_table_bytes_test.go", @@ -274,7 +270,6 @@ go_test( "//pkg/kv/kvserver/kvserverbase", "//pkg/kv/kvserver/protectedts", "//pkg/kv/kvserver/protectedts/ptpb", - "//pkg/kv/kvserver/rangefeed", "//pkg/roachpb", "//pkg/scheduledjobs", "//pkg/scheduledjobs/schedulebase", @@ -341,12 +336,10 @@ go_test( "//pkg/util/randident", "//pkg/util/randutil", "//pkg/util/retry", - "//pkg/util/shuffle", "//pkg/util/span", "//pkg/util/syncutil", "//pkg/util/timeutil", "//pkg/util/timeutil/pgdate", - "//pkg/util/tracing", "//pkg/util/uuid", "//pkg/workload/bank", "//pkg/workload/ledger", @@ -376,6 +369,7 @@ go_test( "@org_golang_google_api//option", "@org_golang_google_grpc//:go_default_library", "@org_golang_google_grpc//credentials/insecure", + "@org_golang_x_exp//slices", "@org_golang_x_text//collate", ], ) diff --git a/pkg/ccl/changefeedccl/alter_changefeed_test.go b/pkg/ccl/changefeedccl/alter_changefeed_test.go index 3d4ee2b8f0bc..fc33d753f787 100644 --- a/pkg/ccl/changefeedccl/alter_changefeed_test.go +++ b/pkg/ccl/changefeedccl/alter_changefeed_test.go @@ -240,8 +240,6 @@ func TestAlterChangefeedAddTargetFamily(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) - require.NoError(t, log.SetVModule("helpers_test=1")) - testFn := func(t *testing.T, s TestServer, f cdctest.TestFeedFactory) { sqlDB := sqlutils.MakeSQLRunner(s.DB) sqlDB.Exec(t, `CREATE TABLE foo (a INT PRIMARY KEY, b STRING, FAMILY onlya (a), FAMILY onlyb (b))`) diff --git a/pkg/ccl/changefeedccl/avro.go b/pkg/ccl/changefeedccl/avro.go index 1195111a1ad8..2dfd5816526b 100644 --- a/pkg/ccl/changefeedccl/avro.go +++ b/pkg/ccl/changefeedccl/avro.go @@ -169,7 +169,6 @@ type avroMetadata map[string]interface{} type avroEnvelopeOpts struct { beforeField, afterField, recordField bool updatedField, resolvedField bool - mvccTimestampField bool } // avroEnvelopeRecord is an `avroRecord` that wraps a changed SQL row and some @@ -624,12 +623,6 @@ func typeToAvroSchema(typ *types.T) (*avroSchemaField, error) { return tree.ParseDTSVector(x.(string)) }, ) - // case types.PGVectorFamily: - // - // We could have easily supported PGVector type via stringification, but it - // would probably be quite inefficient; thus, in order to not back ourselves - // into a corner with compatibility, we choose to return an error instead - // for now. case types.EnumFamily: setNullable( avroSchemaString, @@ -955,14 +948,6 @@ func envelopeToAvroSchema( } schema.Fields = append(schema.Fields, updatedField) } - if opts.mvccTimestampField { - mvccTimestampField := &avroSchemaField{ - SchemaType: []avroSchemaType{avroSchemaNull, avroSchemaString}, - Name: `mvcc_timestamp`, - Default: nil, - } - schema.Fields = append(schema.Fields, mvccTimestampField) - } if opts.resolvedField { resolvedField := &avroSchemaField{ SchemaType: []avroSchemaType{avroSchemaNull, avroSchemaString}, @@ -1046,20 +1031,6 @@ func (r *avroEnvelopeRecord) BinaryFromRow( native[`updated`] = goavro.Union(avroUnionKey(avroSchemaString), ts.AsOfSystemTime()) } } - - if r.opts.mvccTimestampField { - native[`mvcc_timestamp`] = nil - if u, ok := meta[`mvcc_timestamp`]; ok { - delete(meta, `mvcc_timestamp`) - ts, ok := u.(hlc.Timestamp) - if !ok { - return nil, changefeedbase.WithTerminalError( - errors.Errorf(`unknown metadata timestamp type: %T`, u)) - } - native[`mvcc_timestamp`] = goavro.Union(avroUnionKey(avroSchemaString), ts.AsOfSystemTime()) - } - } - if r.opts.resolvedField { native[`resolved`] = nil if u, ok := meta[`resolved`]; ok { diff --git a/pkg/ccl/changefeedccl/avro_test.go b/pkg/ccl/changefeedccl/avro_test.go index c852b653b97f..716931b4dc5b 100644 --- a/pkg/ccl/changefeedccl/avro_test.go +++ b/pkg/ccl/changefeedccl/avro_test.go @@ -56,7 +56,9 @@ var testTypeResolver = tree.MakeTestingMapTypeResolver(testTypes) const primary = descpb.FamilyID(0) func makeTestSemaCtx() tree.SemaContext { - return tree.MakeSemaContext(testTypeResolver) + testSemaCtx := tree.MakeSemaContext() + testSemaCtx.TypeResolver = testTypeResolver + return testSemaCtx } func parseTableDesc(createTableStmt string) (catalog.TableDescriptor, error) { @@ -320,9 +322,6 @@ func TestAvroSchema(t *testing.T) { case types.AnyFamily, types.OidFamily, types.TupleFamily: // These aren't expected to be needed for changefeeds. return true - case types.PGVectorFamily: - // We don't support PGVector in Avro yet. - return true case types.ArrayFamily: if !randgen.IsAllowedForArray(typ.ArrayContents()) { return true @@ -385,7 +384,6 @@ func TestAvroSchema(t *testing.T) { tests = append(tests, randTypeTest) } - ctx := context.Background() evalCtx := eval.NewTestingEvalContext(cluster.MakeTestingClusterSettings()) for _, test := range tests { t.Run(test.name, func(t *testing.T) { @@ -415,17 +413,15 @@ func TestAvroSchema(t *testing.T) { require.NoError(t, err) roundtripped, err := roundtrippedSchema.rowFromTextual(serialized) require.NoError(t, err) - cmp, err := encDatums[1].Datum.Compare(ctx, evalCtx, roundtripped[1].Datum) - require.NoError(t, err) - require.Equal(t, 0, cmp, `%s != %s`, encDatums[1].Datum, roundtripped[1].Datum) + require.Equal(t, 0, encDatums[1].Datum.Compare(evalCtx, roundtripped[1].Datum), + `%s != %s`, encDatums[1].Datum, roundtripped[1].Datum) serialized, err = origSchema.BinaryFromRow(nil, row.ForEachColumn()) require.NoError(t, err) roundtripped, err = roundtrippedSchema.RowFromBinary(serialized) require.NoError(t, err) - cmp, err = encDatums[1].Datum.Compare(ctx, evalCtx, roundtripped[1].Datum) - require.NoError(t, err) - require.Equal(t, 0, cmp, `%s != %s`, encDatums[1].Datum, roundtripped[1].Datum) + require.Equal(t, 0, encDatums[1].Datum.Compare(evalCtx, roundtripped[1].Datum), + `%s != %s`, encDatums[1].Datum, roundtripped[1].Datum) } }) } diff --git a/pkg/ccl/changefeedccl/cdceval/doc.go b/pkg/ccl/changefeedccl/cdceval/doc.go index a070ac0566d2..bd89795c41fb 100644 --- a/pkg/ccl/changefeedccl/cdceval/doc.go +++ b/pkg/ccl/changefeedccl/cdceval/doc.go @@ -115,7 +115,7 @@ functions along with the number of arguments and the return type of the overload SELECT p.proname, p.pronargs, t.typname FROM pg_proc p, pg_type t WHERE p.provolatile='s' and p.prorettype = t.oid and - p.prokind='f' and p.proretset=false + p.proiswindow=false and p.proisagg=false and p.proretset=false ORDER BY proname proname | pronargs | typname diff --git a/pkg/ccl/changefeedccl/cdceval/expr_eval.go b/pkg/ccl/changefeedccl/cdceval/expr_eval.go index ebf2dd0c5643..6324e60bbfba 100644 --- a/pkg/ccl/changefeedccl/cdceval/expr_eval.go +++ b/pkg/ccl/changefeedccl/cdceval/expr_eval.go @@ -278,13 +278,13 @@ func (e *familyEvaluator) planAndRun(ctx context.Context) (err error) { return err } -// preparePlan creates a plan for CDC expression. If no error is returned, the -// caller must call e.performCleanup(). func (e *familyEvaluator) preparePlan( ctx context.Context, ) (plan sql.CDCExpressionPlan, prevCol catalog.Column, err error) { - // Perform cleanup of the previous plan if there is one. - e.performCleanup() + if e.cleanup != nil { + e.cleanup() + e.cleanup = nil + } err = withPlanner(ctx, e.execCfg, e.statementTS, e.user, e.currDesc.SchemaTS, e.sessionData, func(ctx context.Context, execCtx sql.JobExecContext, cleanup func()) error { @@ -310,7 +310,6 @@ func (e *familyEvaluator) preparePlan( return err }) if err != nil { - e.performCleanup() return sql.CDCExpressionPlan{}, nil, err } return plan, prevCol, nil @@ -481,16 +480,7 @@ func (e *familyEvaluator) setupContextForRow( return nil } -func (e *familyEvaluator) performCleanup() { - if e.cleanup != nil { - e.cleanup() - e.cleanup = nil - } -} - func (e *familyEvaluator) closeErr() error { - defer e.performCleanup() - if e.errCh != nil { // Must be deferred since planGroup go routine might write. defer func() { @@ -505,6 +495,9 @@ func (e *familyEvaluator) closeErr() error { return e.planGroup.Wait() } + if e.cleanup != nil { + e.cleanup() + } return nil } diff --git a/pkg/ccl/changefeedccl/cdceval/functions_test.go b/pkg/ccl/changefeedccl/cdceval/functions_test.go index c3842d57c818..89dd32038c8c 100644 --- a/pkg/ccl/changefeedccl/cdceval/functions_test.go +++ b/pkg/ccl/changefeedccl/cdceval/functions_test.go @@ -53,7 +53,7 @@ func TestEvaluatesCDCFunctionOverloads(t *testing.T) { ctx := context.Background() execCfg := s.ExecutorConfig().(sql.ExecutorConfig) - semaCtx := tree.MakeSemaContext(nil /* resolver */) + semaCtx := tree.MakeSemaContext() defer configSemaForCDC(&semaCtx, hlc.Timestamp{})() t.Run("time", func(t *testing.T) { diff --git a/pkg/ccl/changefeedccl/cdceval/validation_test.go b/pkg/ccl/changefeedccl/cdceval/validation_test.go index 843d4d2f0079..ccbe4ad06eb7 100644 --- a/pkg/ccl/changefeedccl/cdceval/validation_test.go +++ b/pkg/ccl/changefeedccl/cdceval/validation_test.go @@ -97,8 +97,8 @@ func TestNormalizeAndValidate(t *testing.T) { name: "UDTs fully qualified", desc: fooDesc, stmt: "SELECT *, 'inactive':::status FROM foo AS bar WHERE status = 'open':::status", - expectStmt: "SELECT *, 'inactive':::public.status " + - "FROM foo AS bar WHERE status = 'open':::public.status", + expectStmt: "SELECT *, 'inactive':::defaultdb.public.status " + + "FROM foo AS bar WHERE status = 'open':::defaultdb.public.status", splitColFams: false, }, { diff --git a/pkg/ccl/changefeedccl/cdcevent/BUILD.bazel b/pkg/ccl/changefeedccl/cdcevent/BUILD.bazel index 6a02e1530c4f..b17f1cdd7567 100644 --- a/pkg/ccl/changefeedccl/cdcevent/BUILD.bazel +++ b/pkg/ccl/changefeedccl/cdcevent/BUILD.bazel @@ -32,14 +32,12 @@ go_library( "//pkg/sql/rowenc", "//pkg/sql/sem/eval", "//pkg/sql/sem/tree", - "//pkg/sql/sessiondatapb", "//pkg/sql/types", "//pkg/util", "//pkg/util/cache", "//pkg/util/encoding", "//pkg/util/hlc", "//pkg/util/iterutil", - "//pkg/util/json", "//pkg/util/log", "//pkg/util/protoutil", "@com_github_cockroachdb_errors//:errors", diff --git a/pkg/ccl/changefeedccl/cdcevent/event.go b/pkg/ccl/changefeedccl/cdcevent/event.go index 2fac24279127..f3a5d787186a 100644 --- a/pkg/ccl/changefeedccl/cdcevent/event.go +++ b/pkg/ccl/changefeedccl/cdcevent/event.go @@ -12,7 +12,6 @@ import ( "context" "fmt" "strings" - "time" "github.com/cockroachdb/cockroach/pkg/build" "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl/changefeedbase" @@ -26,12 +25,10 @@ import ( "github.com/cockroachdb/cockroach/pkg/sql/rowenc" "github.com/cockroachdb/cockroach/pkg/sql/sem/eval" "github.com/cockroachdb/cockroach/pkg/sql/sem/tree" - "github.com/cockroachdb/cockroach/pkg/sql/sessiondatapb" "github.com/cockroachdb/cockroach/pkg/sql/types" "github.com/cockroachdb/cockroach/pkg/util/cache" "github.com/cockroachdb/cockroach/pkg/util/hlc" "github.com/cockroachdb/cockroach/pkg/util/iterutil" - "github.com/cockroachdb/cockroach/pkg/util/json" "github.com/cockroachdb/cockroach/pkg/util/log" "github.com/cockroachdb/cockroach/pkg/util/protoutil" "github.com/cockroachdb/errors" @@ -123,19 +120,6 @@ func (r Row) DatumNamed(n string) (Iterator, error) { return iter{r: r, cols: []int{idx}}, nil } -// DatumsNamed returns the datums with the specified column names, in the form of an Iterator. -func (r Row) DatumsNamed(names []string) (Iterator, error) { - cols := make([]int, 0, len(names)) - for _, n := range names { - idx, ok := r.EventDescriptor.colsByName[n] - if !ok { - return nil, errors.AssertionFailedf("No column with name %s in this row", n) - } - cols = append(cols, idx) - } - return iter{r: r, cols: cols}, nil -} - // IsDeleted returns true if event corresponds to a deletion event. func (r Row) IsDeleted() bool { return r.deleted @@ -176,26 +160,6 @@ func (r Row) DebugString() string { return sb.String() } -func (r Row) ToJSON() (*tree.DJSON, error) { - builder := json.NewObjectBuilder(len(r.cols)) - err := r.ForAllColumns().Datum(func(d tree.Datum, col ResultColumn) error { - val, err := tree.AsJSON( - d, - sessiondatapb.DataConversionConfig{}, - time.UTC, - ) - if err != nil { - return err - } - builder.Add(col.Name, val) - return nil - }) - if err != nil { - return nil, err - } - return tree.NewDJSON(builder.Build()), nil -} - // forEachColumn is a helper which invokes fn for reach column in the ordColumn list. func (r Row) forEachDatum(fn DatumFn, colIndexes []int) error { for _, colIdx := range colIndexes { @@ -236,7 +200,6 @@ func (r Row) forEachColumn(fn ColumnFn, colIndexes []int) error { // such column expected to be found. type ResultColumn struct { colinfo.ResultColumn - Computed bool ord int sqlString string } @@ -302,7 +265,6 @@ func NewEventDescriptor( TableID: desc.GetID(), PGAttributeNum: uint32(col.GetPGAttributeNum()), }, - Computed: col.IsComputed(), ord: ord, sqlString: col.ColumnDesc().SQLStringNotHumanReadable(), } @@ -495,13 +457,6 @@ func NewEventDecoder( return nil, err } - return NewEventDecoderWithCache(ctx, rfCache, includeVirtual, keyOnly), nil -} - -// NewEventDecoderWithCache returns key value decoder. -func NewEventDecoderWithCache( - ctx context.Context, rfCache *rowFetcherCache, includeVirtual bool, keyOnly bool, -) Decoder { eventDescriptorCache := cache.NewUnorderedCache(DefaultCacheConfig) getEventDescriptor := func( desc catalog.TableDescriptor, @@ -514,7 +469,7 @@ func NewEventDecoderWithCache( return &eventDecoder{ getEventDescriptor: getEventDescriptor, rfCache: rfCache, - } + }, nil } // RowType is the type of the row being decoded. diff --git a/pkg/ccl/changefeedccl/cdcevent/event_test.go b/pkg/ccl/changefeedccl/cdcevent/event_test.go index ab82a3012872..475b72fef45c 100644 --- a/pkg/ccl/changefeedccl/cdcevent/event_test.go +++ b/pkg/ccl/changefeedccl/cdcevent/event_test.go @@ -47,10 +47,10 @@ func TestEventDescriptor(t *testing.T) { sqlDB.Exec(t, `CREATE TYPE status AS ENUM ('open', 'closed', 'inactive')`) sqlDB.Exec(t, ` CREATE TABLE foo ( - a INT, - b STRING, + a INT, + b STRING, c STRING, - d STRING AS (concat(b, c)) VIRTUAL, + d STRING AS (concat(b, c)) VIRTUAL, e status, PRIMARY KEY (b, a), FAMILY main (a, b, e), @@ -153,10 +153,10 @@ func TestEventDecoder(t *testing.T) { sqlDB.Exec(t, `CREATE TYPE status AS ENUM ('open', 'closed', 'inactive')`) sqlDB.Exec(t, ` CREATE TABLE foo ( - a INT, - b STRING, + a INT, + b STRING, c STRING, - d STRING AS (concat(b, c)) VIRTUAL, + d STRING AS (concat(b, c)) VIRTUAL, e status DEFAULT 'inactive', PRIMARY KEY (b, a), FAMILY main (a, b, e), @@ -460,26 +460,26 @@ func TestEventColumnOrderingWithSchemaChanges(t *testing.T) { testName: "main/main_cols", familyName: "main", actions: []string{ - "INSERT INTO foo (i,j,a,b) VALUES (0,1,'2002-05-02','b0')", - "ALTER TABLE foo ALTER COLUMN a SET DATA TYPE DATE USING a::DATE", - "INSERT INTO foo (i,j,a,b) VALUES (1,2,'2021-01-01','b1')", + "INSERT INTO foo (i,j,a,b) VALUES (0,1,'a0','b0')", + "ALTER TABLE foo ALTER COLUMN a SET DATA TYPE VARCHAR(16)", + "INSERT INTO foo (i,j,a,b) VALUES (1,2,'a1','b1')", }, expectMainFamily: []decodeExpectation{ { keyValues: []string{"1", "0"}, - allValues: []string{"0", "1", "2002-05-02", "b0"}, + allValues: []string{"0", "1", "a0", "b0"}, }, { keyValues: []string{"1", "0"}, - allValues: []string{"0", "1", "2002-05-02", "b0"}, + allValues: []string{"0", "1", "a0", "b0"}, }, { keyValues: []string{"1", "0"}, - allValues: []string{"0", "1", "2002-05-02", "b0"}, + allValues: []string{"0", "1", "a0", "b0"}, }, { keyValues: []string{"2", "1"}, - allValues: []string{"1", "2", "2021-01-01", "b1"}, + allValues: []string{"1", "2", "a1", "b1"}, }, }, }, @@ -487,9 +487,9 @@ func TestEventColumnOrderingWithSchemaChanges(t *testing.T) { testName: "ec/ec_cols", familyName: "ec", actions: []string{ - "INSERT INTO foo (i,j,e,c) VALUES (2,3,'e2','2024-08-02')", - "ALTER TABLE foo ALTER COLUMN c SET DATA TYPE DATE USING c::DATE", - "INSERT INTO foo (i,j,e,c) VALUES (3,4,'e3','2024-05-21')", + "INSERT INTO foo (i,j,e,c) VALUES (2,3,'e2','c2')", + "ALTER TABLE foo ALTER COLUMN c SET DATA TYPE VARCHAR(16)", + "INSERT INTO foo (i,j,e,c) VALUES (3,4,'e3','c3')", }, expectMainFamily: []decodeExpectation{ { @@ -502,19 +502,19 @@ func TestEventColumnOrderingWithSchemaChanges(t *testing.T) { expectECFamily: []decodeExpectation{ { keyValues: []string{"3", "2"}, - allValues: []string{"2024-08-02", "e2"}, + allValues: []string{"c2", "e2"}, }, { keyValues: []string{"3", "2"}, - allValues: []string{"2024-08-02", "e2"}, + allValues: []string{"c2", "e2"}, }, { keyValues: []string{"3", "2"}, - allValues: []string{"2024-08-02", "e2"}, + allValues: []string{"c2", "e2"}, }, { keyValues: []string{"4", "3"}, - allValues: []string{"2024-05-21", "e3"}, + allValues: []string{"c3", "e3"}, }, }, }, @@ -522,9 +522,9 @@ func TestEventColumnOrderingWithSchemaChanges(t *testing.T) { testName: "ec/ec_cols_with_virtual", familyName: "ec", actions: []string{ - "INSERT INTO foo (i,j,e,c) VALUES (4,5,'e4','2012-11-06')", - "ALTER TABLE foo ALTER COLUMN c SET DATA TYPE DATE USING c::DATE", - "INSERT INTO foo (i,j,e,c) VALUES (5,6,'e5','2014-05-06')", + "INSERT INTO foo (i,j,e,c) VALUES (4,5,'e4','c4')", + "ALTER TABLE foo ALTER COLUMN c SET DATA TYPE VARCHAR(16)", + "INSERT INTO foo (i,j,e,c) VALUES (5,6,'e5','c5')", }, includeVirtual: true, expectMainFamily: []decodeExpectation{ @@ -538,20 +538,20 @@ func TestEventColumnOrderingWithSchemaChanges(t *testing.T) { expectECFamily: []decodeExpectation{ { keyValues: []string{"5", "4"}, - allValues: []string{"2012-11-06", "NULL", "e4"}, + allValues: []string{"c4", "NULL", "e4"}, }, { keyValues: []string{"5", "4"}, - allValues: []string{"2012-11-06", "NULL", "e4"}, + allValues: []string{"c4", "NULL", "e4"}, refreshDescriptor: true, }, { keyValues: []string{"5", "4"}, - allValues: []string{"2012-11-06", "NULL", "e4"}, + allValues: []string{"c4", "NULL", "e4"}, }, { keyValues: []string{"6", "5"}, - allValues: []string{"2014-05-06", "NULL", "e5"}, + allValues: []string{"c5", "NULL", "e5"}, }, }, }, @@ -564,7 +564,7 @@ func TestEventColumnOrderingWithSchemaChanges(t *testing.T) { a STRING, b STRING, c STRING, - d STRING AS (concat(e, '.')) VIRTUAL, + d STRING AS (concat(e, c)) VIRTUAL, e STRING, PRIMARY KEY(j,i), FAMILY main (i,j,a,b), @@ -619,8 +619,8 @@ func TestEventColumnOrderingWithSchemaChanges(t *testing.T) { require.NoError(t, err) require.True(t, updatedRow.IsInitialized()) - require.Equal(t, expect.keyValues, slurpDatums(t, updatedRow.ForEachKeyColumn()), "row %d", i) - require.Equal(t, expect.allValues, slurpDatums(t, updatedRow.ForEachColumn()), "row %d", i) + require.Equal(t, expect.keyValues, slurpDatums(t, updatedRow.ForEachKeyColumn())) + require.Equal(t, expect.allValues, slurpDatums(t, updatedRow.ForEachColumn())) } sqlDB.Exec(t, `DROP TABLE foo`) }) @@ -682,7 +682,6 @@ func expectResultColumns( TableID: desc.GetID(), PGAttributeNum: uint32(col.GetPGAttributeNum()), }, - Computed: col.IsComputed(), ord: colNamesSet[colName], sqlString: col.ColumnDesc().SQLStringNotHumanReadable(), }) @@ -781,8 +780,8 @@ func BenchmarkEventDecoder(b *testing.B) { sqlDB.Exec(b, "SET CLUSTER SETTING kv.rangefeed.enabled = true") sqlDB.Exec(b, ` CREATE TABLE foo ( - a INT, - b STRING, + a INT, + b STRING, c STRING, PRIMARY KEY (b, a) )`) diff --git a/pkg/ccl/changefeedccl/cdcevent/rowfetcher_cache.go b/pkg/ccl/changefeedccl/cdcevent/rowfetcher_cache.go index 5ad034e569c7..959905244e1a 100644 --- a/pkg/ccl/changefeedccl/cdcevent/rowfetcher_cache.go +++ b/pkg/ccl/changefeedccl/cdcevent/rowfetcher_cache.go @@ -45,92 +45,22 @@ var traceKVLogFrequency = settings.RegisterDurationSetting( ) // rowFetcherCache maintains a cache of single table row.Fetchers. Given a key -// with an MVCC timestamp, it retrieves the correct TableDescriptor for that key +// with an mvcc timestamp, it retrieves the correct TableDescriptor for that key // and returns a row.Fetcher initialized with that table. This Fetcher's // ConsumeKVProvider() can be used to turn that key (or all the keys making up // the column families of one row) into a row. type rowFetcherCache struct { codec keys.SQLCodec - descFetcher tableDescFetcher + leaseMgr *lease.Manager fetchers *cache.UnorderedCache watchedFamilies map[watchedFamily]struct{} - rfArgs rowFetcherArgs - - a tree.DatumAlloc -} - -type tableDescFetcher interface { - // FetchTableDesc returns the TableDescriptor for the gven descriptor ID at the given timestamp. - FetchTableDesc(context.Context, descpb.ID, hlc.Timestamp) (catalog.TableDescriptor, error) -} - -// dbTableDescFetcher is a tableDescFetcher that fetches table -// descriptors from the underlying descriptor collection and DB. -type dbTableDescFetcher struct { - leaseMgr *lease.Manager collection *descs.Collection db *kv.DB -} -func (f *dbTableDescFetcher) FetchTableDesc( - ctx context.Context, tableID descpb.ID, ts hlc.Timestamp, -) (catalog.TableDescriptor, error) { - // Retrieve the target TableDescriptor from the lease manager. No caching - // is attempted because the lease manager does its own caching. - desc, err := f.leaseMgr.Acquire(ctx, ts, tableID) - if err != nil { - // Manager can return all kinds of errors during chaos, but based on - // its usage, none of them should ever be terminal. - return nil, changefeedbase.MarkRetryableError(err) - } - tableDesc := desc.Underlying().(catalog.TableDescriptor) - // Immediately release the lease, since we only need it for the exact - // timestamp requested. - desc.Release(ctx) - if catalog.MaybeRequiresHydration(tableDesc) { - tableDesc, err = refreshUDT(ctx, tableID, f.db, f.collection, ts) - if err != nil { - return nil, err - } - } - return tableDesc, nil -} - -func refreshUDT( - ctx context.Context, tableID descpb.ID, db *kv.DB, collection *descs.Collection, ts hlc.Timestamp, -) (tableDesc catalog.TableDescriptor, err error) { - // If the table contains user defined types, then use the - // descs.Collection to retrieve a TableDescriptor with type metadata - // hydrated. We open a transaction here only because the - // descs.Collection needs one to get a read timestamp. We do this lookup - // again behind a conditional to avoid allocating any transaction - // metadata if the table has user defined types. This can be bypassed - // once (#53751) is fixed. Once the descs.Collection can take in a read - // timestamp rather than a whole transaction, we can use the - // descs.Collection directly here. - // TODO (SQL Schema): #53751. - if err := db.Txn(ctx, func(ctx context.Context, txn *kv.Txn) error { - err := txn.SetFixedTimestamp(ctx, ts) - if err != nil { - return err - } - tableDesc, err = collection.ByIDWithLeased(txn).WithoutNonPublic().Get().Table(ctx, tableID) - return err - }); err != nil { - if errors.Is(err, catalog.ErrDescriptorDropped) { - // Dropped descriptors are a bad news. - return nil, changefeedbase.WithTerminalError(err) - } + rfArgs rowFetcherArgs - // Manager can return all kinds of errors during chaos, but based on - // its usage, none of them should ever be terminal. - return nil, changefeedbase.MarkRetryableError(err) - } - // Immediately release the lease, since we only need it for the exact - // timestamp requested. - collection.ReleaseAll(ctx) - return tableDesc, nil + a tree.DatumAlloc } // rowFetcherArgs contains arguments to pass to all row fetchers @@ -162,28 +92,6 @@ func newRowFetcherCache( s *cluster.Settings, targets changefeedbase.Targets, ) (*rowFetcherCache, error) { - watchedFamilies, err := watchedFamilesFromTarget(targets) - if err != nil { - return nil, err - } - - return &rowFetcherCache{ - codec: codec, - descFetcher: &dbTableDescFetcher{ - leaseMgr: leaseMgr, - db: db, - collection: cf.NewCollection(ctx), - }, - fetchers: cache.NewUnorderedCache(DefaultCacheConfig), - watchedFamilies: watchedFamilies, - rfArgs: rowFetcherArgs{ - traceKV: log.V(row.TraceKVVerbosity), - traceKVLogFrequency: traceKVLogFrequency.Get(&s.SV), - }, - }, nil -} - -func watchedFamilesFromTarget(targets changefeedbase.Targets) (map[watchedFamily]struct{}, error) { if targets.Size == 0 { return nil, errors.AssertionFailedf("Expected at least one target, found 0") } @@ -192,19 +100,63 @@ func watchedFamilesFromTarget(targets changefeedbase.Targets) (map[watchedFamily watchedFamilies[watchedFamily{tableID: t.TableID, familyName: t.FamilyName}] = struct{}{} return nil }) - if err != nil { - return nil, err - } if len(watchedFamilies) == 0 { return nil, errors.AssertionFailedf("No watched families resulted from %+v", targets) } + return &rowFetcherCache{ + codec: codec, + leaseMgr: leaseMgr, + collection: cf.NewCollection(ctx), + db: db, + fetchers: cache.NewUnorderedCache(DefaultCacheConfig), + watchedFamilies: watchedFamilies, + rfArgs: rowFetcherArgs{ + traceKV: log.V(row.TraceKVVerbosity), + traceKVLogFrequency: traceKVLogFrequency.Get(&s.SV), + }, + }, err +} - return watchedFamilies, nil +func refreshUDT( + ctx context.Context, tableID descpb.ID, db *kv.DB, collection *descs.Collection, ts hlc.Timestamp, +) (tableDesc catalog.TableDescriptor, err error) { + // If the table contains user defined types, then use the + // descs.Collection to retrieve a TableDescriptor with type metadata + // hydrated. We open a transaction here only because the + // descs.Collection needs one to get a read timestamp. We do this lookup + // again behind a conditional to avoid allocating any transaction + // metadata if the table has user defined types. This can be bypassed + // once (#53751) is fixed. Once the descs.Collection can take in a read + // timestamp rather than a whole transaction, we can use the + // descs.Collection directly here. + // TODO (SQL Schema): #53751. + if err := db.Txn(ctx, func(ctx context.Context, txn *kv.Txn) error { + err := txn.SetFixedTimestamp(ctx, ts) + if err != nil { + return err + } + tableDesc, err = collection.ByIDWithLeased(txn).WithoutNonPublic().Get().Table(ctx, tableID) + return err + }); err != nil { + if errors.Is(err, catalog.ErrDescriptorDropped) { + // Dropped descriptors are a bad news. + return nil, changefeedbase.WithTerminalError(err) + } + + // Manager can return all kinds of errors during chaos, but based on + // its usage, none of them should ever be terminal. + return nil, changefeedbase.MarkRetryableError(err) + } + // Immediately release the lease, since we only need it for the exact + // timestamp requested. + collection.ReleaseAll(ctx) + return tableDesc, nil } func (c *rowFetcherCache) tableDescForKey( ctx context.Context, key roachpb.Key, ts hlc.Timestamp, ) (catalog.TableDescriptor, descpb.FamilyID, error) { + var tableDesc catalog.TableDescriptor key, err := c.codec.StripTenantPrefix(key) if err != nil { return nil, descpb.FamilyID(0), err @@ -221,10 +173,25 @@ func (c *rowFetcherCache) tableDescForKey( family := descpb.FamilyID(familyID) - tableDesc, err := c.descFetcher.FetchTableDesc(ctx, tableID, ts) + // Retrieve the target TableDescriptor from the lease manager. No caching + // is attempted because the lease manager does its own caching. + desc, err := c.leaseMgr.Acquire(ctx, ts, tableID) if err != nil { - return nil, family, err + // Manager can return all kinds of errors during chaos, but based on + // its usage, none of them should ever be terminal. + return nil, family, changefeedbase.MarkRetryableError(err) + } + tableDesc = desc.Underlying().(catalog.TableDescriptor) + // Immediately release the lease, since we only need it for the exact + // timestamp requested. + desc.Release(ctx) + if catalog.MaybeRequiresHydration(tableDesc) { + tableDesc, err = refreshUDT(ctx, tableID, c.db, c.collection, ts) + if err != nil { + return nil, family, err + } } + // Skip over the column data. for skippedCols := 0; skippedCols < tableDesc.GetPrimaryIndex().NumKeyColumns(); skippedCols++ { l, err := encoding.PeekLength(remaining) @@ -331,58 +298,3 @@ func (c *rowFetcherCache) RowFetcherForColumnFamily( c.fetchers.Add(idVer, f) return rf, familyDesc, nil } - -// fixedDescFetcher is a tableDescFetcher that returns descriptors from a given -// fixed set of descriptors. -type fixedDescFetcher struct { - descCol map[descpb.ID]catalog.TableDescriptor -} - -// FetchTableDesc implements tableDescFetcher. Note that the timestamp is -// currently ignored. -func (f *fixedDescFetcher) FetchTableDesc( - _ context.Context, id descpb.ID, _ hlc.Timestamp, -) (catalog.TableDescriptor, error) { - if tableDesc, ok := f.descCol[id]; ok { - return tableDesc, nil - } else { - return nil, errors.Newf("could not find descriptor for %d in fixed descriptor set", id) - } -} - -// newFixedRowFetcherCache constructs row fetcher cache that uses only the fixed -// set of descriptors provided. -// -// TODO(ssd): This may not be necessary into the future if we push this logic -// down into the descriptor collection exactly. -// -// TODO(ssd): If we do keep this, what we likely want here is to inject a -// descFetcher that can be served off of a feed of schema updates from a -// rnagefeed and which respects timestamps. -// -// TODO(ssd): Right now we take a collection of TableDescriptors. I don't think -// this correctly supports UDTs at the moment. -func NewFixedRowFetcherCache( - ctx context.Context, - codec keys.SQLCodec, - s *cluster.Settings, - targets changefeedbase.Targets, - descs map[descpb.ID]catalog.TableDescriptor, -) (*rowFetcherCache, error) { - watchedFamilies, err := watchedFamilesFromTarget(targets) - if err != nil { - return nil, err - } - return &rowFetcherCache{ - codec: codec, - descFetcher: &fixedDescFetcher{ - descCol: descs, - }, - fetchers: cache.NewUnorderedCache(DefaultCacheConfig), - watchedFamilies: watchedFamilies, - rfArgs: rowFetcherArgs{ - traceKV: log.V(row.TraceKVVerbosity), - traceKVLogFrequency: traceKVLogFrequency.Get(&s.SV), - }, - }, nil -} diff --git a/pkg/ccl/changefeedccl/cdctest/nemeses.go b/pkg/ccl/changefeedccl/cdctest/nemeses.go index 01a7542d4756..d5dcf769415c 100644 --- a/pkg/ccl/changefeedccl/cdctest/nemeses.go +++ b/pkg/ccl/changefeedccl/cdctest/nemeses.go @@ -187,7 +187,7 @@ func RunNemesis( if err != nil { return nil, err } - ns.v = NewCountValidator(Validators{ + ns.v = MakeCountValidator(Validators{ NewOrderValidator(`foo`), baV, fprintV, diff --git a/pkg/ccl/changefeedccl/cdctest/validator.go b/pkg/ccl/changefeedccl/cdctest/validator.go index ca7ddf16c13d..3dc807737177 100644 --- a/pkg/ccl/changefeedccl/cdctest/validator.go +++ b/pkg/ccl/changefeedccl/cdctest/validator.go @@ -142,11 +142,8 @@ func (v *orderValidator) NoteRow(partition string, key, value string, updated hl }) seen := timestampsIdx < len(timestampValueTuples) && timestampValueTuples[timestampsIdx].ts == updated - if seen { - return nil - } - if len(timestampValueTuples) > 0 && + if !seen && len(timestampValueTuples) > 0 && updated.Less(timestampValueTuples[len(timestampValueTuples)-1].ts) { v.failures = append(v.failures, fmt.Sprintf( `topic %s partition %s: saw new row timestamp %s after %s was seen`, @@ -155,20 +152,21 @@ func (v *orderValidator) NoteRow(partition string, key, value string, updated hl timestampValueTuples[len(timestampValueTuples)-1].ts.AsOfSystemTime(), )) } - latestResolved := v.resolved[partition] - if updated.Less(latestResolved) { + if !seen && updated.Less(v.resolved[partition]) { v.failures = append(v.failures, fmt.Sprintf( `topic %s partition %s: saw new row timestamp %s after %s was resolved`, - v.topic, partition, updated.AsOfSystemTime(), latestResolved.AsOfSystemTime(), + v.topic, partition, updated.AsOfSystemTime(), v.resolved[partition].AsOfSystemTime(), )) } - v.keyTimestampAndValues[key] = append( - append(timestampValueTuples[:timestampsIdx], timestampValue{ - ts: updated, - value: value, - }), - timestampValueTuples[timestampsIdx:]...) + if !seen { + v.keyTimestampAndValues[key] = append( + append(timestampValueTuples[:timestampsIdx], timestampValue{ + ts: updated, + value: value, + }), + timestampValueTuples[timestampsIdx:]...) + } return nil } @@ -677,8 +675,8 @@ type CountValidator struct { rowsSinceResolved int } -// NewCountValidator returns a CountValidator wrapping the given Validator. -func NewCountValidator(v Validator) *CountValidator { +// MakeCountValidator returns a CountValidator wrapping the given Validator. +func MakeCountValidator(v Validator) *CountValidator { return &CountValidator{v: v} } diff --git a/pkg/ccl/changefeedccl/changefeed_dist.go b/pkg/ccl/changefeedccl/changefeed_dist.go index 4ad01c46cdbe..ef01e12a2c03 100644 --- a/pkg/ccl/changefeedccl/changefeed_dist.go +++ b/pkg/ccl/changefeedccl/changefeed_dist.go @@ -157,7 +157,7 @@ func fetchTableDescriptors( // and lie within the primary index span. Deduplication is important // here as requesting the same span twice will deadlock. return targets.EachTableID(func(id catid.DescID) error { - tableDesc, err := descriptors.ByIDWithoutLeased(txn.KV()).WithoutNonPublic().Get().Table(ctx, id) + tableDesc, err := descriptors.ByID(txn.KV()).WithoutNonPublic().Get().Table(ctx, id) if err != nil { return err } @@ -316,15 +316,9 @@ func startDistChangefeed( jobsprofiler.StorePlanDiagram(ctx, execCfg.DistSQLSrv.Stopper, p, execCfg.InternalDB, jobID) - // Make sure to use special changefeed monitor going forward as the - // parent monitor for the DistSQL infrastructure. This is needed to - // prevent a race between the connection that started the changefeed - // closing (which closes the current planner's monitor) and changefeed - // DistSQL flow being cleaned up. - planCtx.OverridePlannerMon = execCfg.DistSQLSrv.ChangefeedMonitor // Copy the evalCtx, as dsp.Run() might change it. evalCtxCopy := *evalCtx - // p is the physical plan, recv is the DistSQLReceiver. + // p is the physical plan, recv is the distsqlreceiver dsp.Run(ctx, planCtx, noTxn, p, recv, &evalCtxCopy, finishedSetupFn) return resultRows.Err() } @@ -360,9 +354,9 @@ var RangeDistributionStrategy = settings.RegisterEnumSetting( "will not override locality restrictions", metamorphic.ConstantWithTestChoice("default_range_distribution_strategy", "default", "balanced_simple").(string), - map[rangeDistributionType]string{ - defaultDistribution: "default", - balancedSimpleDistribution: "balanced_simple", + map[int64]string{ + int64(defaultDistribution): "default", + int64(balancedSimpleDistribution): "balanced_simple", }, settings.WithPublic) @@ -416,8 +410,8 @@ func makePlan( log.Infof(ctx, "spans returned by DistSQL: %v", spanPartitions) } switch { - case distMode == sql.LocalDistribution || rangeDistribution == defaultDistribution: - case rangeDistribution == balancedSimpleDistribution: + case distMode == sql.LocalDistribution || rangeDistribution == int64(defaultDistribution): + case rangeDistribution == int64(balancedSimpleDistribution): log.Infof(ctx, "rebalancing ranges using balanced simple distribution") sender := execCtx.ExecCfg().DB.NonTransactionalSender() distSender := sender.(*kv.CrossRangeTxnWrapperSender).Wrapped().(*kvcoord.DistSender) diff --git a/pkg/ccl/changefeedccl/changefeed_dist_test.go b/pkg/ccl/changefeedccl/changefeed_dist_test.go index 6708e9968d86..b0264abb948c 100644 --- a/pkg/ccl/changefeedccl/changefeed_dist_test.go +++ b/pkg/ccl/changefeedccl/changefeed_dist_test.go @@ -16,7 +16,6 @@ import ( "sort" "strings" "testing" - "time" "github.com/cockroachdb/cockroach/pkg/base" "github.com/cockroachdb/cockroach/pkg/jobs" @@ -36,7 +35,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/leaktest" "github.com/cockroachdb/cockroach/pkg/util/log" "github.com/cockroachdb/cockroach/pkg/util/randutil" - "github.com/cockroachdb/cockroach/pkg/util/timeutil" "github.com/cockroachdb/errors" "github.com/stretchr/testify/require" ) @@ -363,7 +361,6 @@ func newRangeDistributionTester( const nodes = 8 args := base.TestClusterArgs{ - ReplicationMode: base.ReplicationManual, ServerArgsPerNode: map[int]base.TestServerArgs{}, ServerArgs: base.TestServerArgs{ DefaultTestTenant: base.TestTenantProbabilistic, @@ -392,10 +389,7 @@ func newRangeDistributionTester( } ctx := context.Background() - - start := timeutil.Now() tc := testcluster.StartTestCluster(t, nodes, args) - t.Logf("%s: starting the test cluster took %s", timeutil.Now().Format(time.DateTime), timeutil.Since(start)) lastNode := tc.Server(len(tc.Servers) - 1).ApplicationLayer() sqlDB := sqlutils.MakeSQLRunner(lastNode.SQLConn(t)) @@ -405,36 +399,32 @@ func newRangeDistributionTester( systemDB.Exec(t, "SET CLUSTER SETTING kv.rangefeed.enabled = true") if tc.StartedDefaultTestTenant() { systemDB.Exec(t, `ALTER TENANT [$1] GRANT CAPABILITY can_admin_relocate_range=true`, serverutils.TestTenantID().ToUint64()) - // Give 1,000,000 upfront tokens to the tenant, and keep the tokens per - // second rate to the default value of 10,000. This helps avoid throttling - // in the tests. - systemDB.Exec(t, - "SELECT crdb_internal.update_tenant_resource_limits($1::INT, 1000000, 10000, 0, now(), 0)", - serverutils.TestTenantID().ToUint64()) } - t.Logf("%s: creating and inserting rows into table", timeutil.Now().Format(time.DateTime)) - start = timeutil.Now() + // Use manual replication only. + tc.ToggleReplicateQueues(false) + + t.Logf("creating and splitting table into single-key ranges") sqlDB.ExecMultiple(t, "CREATE TABLE x (id INT PRIMARY KEY)", "INSERT INTO x SELECT generate_series(0, 63)", - ) - t.Logf("%s: creating and inserting rows into table took %s", timeutil.Now().Format(time.DateTime), timeutil.Since(start)) - - t.Logf("%s: splitting table into single-key ranges", timeutil.Now().Format(time.DateTime)) - start = timeutil.Now() - sqlDB.Exec(t, "ALTER TABLE x SPLIT AT SELECT id FROM x WHERE id > 0", ) - t.Logf("%s: spitting the table took %s", timeutil.Now().Format(time.DateTime), timeutil.Since(start)) // Distribute the leases exponentially across the first 5 nodes. - t.Logf("%s: relocating ranges in exponential distribution", timeutil.Now().Format(time.DateTime)) - start = timeutil.Now() - // Relocate can fail with errors like `change replicas... descriptor changed` thus the SucceedsSoon. - sqlDB.ExecSucceedsSoon(t, - `ALTER TABLE x RELOCATE SELECT ARRAY[floor(log(greatest(1,id)::DECIMAL)/log(2::DECIMAL))::INT+1], id FROM x`) - t.Logf("%s: relocating ranges took %s", timeutil.Now().Format(time.DateTime), timeutil.Since(start)) + for i := 0; i < 64; i += 1 { + nodeID := 1 + // Avoid log(0). + if i != 0 { + nodeID = int(math.Floor(math.Log2(float64(i)))) + 1 + } + t.Logf("relocating range for %d to store %d", i, nodeID) + cmd := fmt.Sprintf(`ALTER TABLE x EXPERIMENTAL_RELOCATE VALUES (ARRAY[%d], %d)`, + nodeID, i, + ) + // Relocate can fail with errors like `change replicas... descriptor changed` thus the SucceedsSoon. + sqlDB.ExecSucceedsSoon(t, cmd) + } return &rangeDistributionTester{ ctx: ctx, diff --git a/pkg/ccl/changefeedccl/changefeed_processors.go b/pkg/ccl/changefeedccl/changefeed_processors.go index 2b5d435f6552..e327dec7cefd 100644 --- a/pkg/ccl/changefeedccl/changefeed_processors.go +++ b/pkg/ccl/changefeedccl/changefeed_processors.go @@ -33,7 +33,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/sql/pgwire/pgcode" "github.com/cockroachdb/cockroach/pkg/sql/pgwire/pgerror" "github.com/cockroachdb/cockroach/pkg/sql/rowenc" - "github.com/cockroachdb/cockroach/pkg/sql/sem/eval" "github.com/cockroachdb/cockroach/pkg/sql/sem/tree" "github.com/cockroachdb/cockroach/pkg/util/cancelchecker" "github.com/cockroachdb/cockroach/pkg/util/envutil" @@ -59,8 +58,9 @@ var EnableCloudBillingAccounting = envutil.EnvOrDefaultBool(EnableCloudBillingAc type changeAggregator struct { execinfra.ProcessorBase - spec execinfrapb.ChangeAggregatorSpec - memAcc mon.BoundAccount + flowCtx *execinfra.FlowCtx + spec execinfrapb.ChangeAggregatorSpec + memAcc mon.BoundAccount // checkForNodeDrain is a callback that returns an error // if this node is being drained. @@ -194,6 +194,7 @@ func newChangeAggregatorProcessor( memMonitor := execinfra.NewMonitor(ctx, flowCtx.Mon, "changeagg-mem") ca := &changeAggregator{ + flowCtx: flowCtx, spec: spec, memAcc: memMonitor.MakeBoundAccount(), checkForNodeDrain: drainWatcher.checkForNodeDrain, @@ -270,12 +271,12 @@ func (ca *changeAggregator) MustBeStreaming() bool { func (ca *changeAggregator) wrapMetricsController( ctx context.Context, recorder metricsRecorder, ) (metricsRecorder, error) { - job, err := ca.FlowCtx.Cfg.JobRegistry.LoadJob(ctx, ca.spec.JobID) + job, err := ca.flowCtx.Cfg.JobRegistry.LoadJob(ctx, ca.spec.JobID) if err != nil { return ca.sliMetrics, err } - recorderWithTelemetry, err := wrapMetricsRecorderWithTelemetry(ctx, job, ca.FlowCtx.Cfg.Settings, recorder) + recorderWithTelemetry, err := wrapMetricsRecorderWithTelemetry(ctx, job, ca.flowCtx.Cfg.Settings, recorder) if err != nil { return ca.sliMetrics, err } @@ -287,7 +288,7 @@ func (ca *changeAggregator) wrapMetricsController( // Start is part of the RowSource interface. func (ca *changeAggregator) Start(ctx context.Context) { // Derive a separate context so that we can shutdown the poller. - ctx, ca.cancel = ca.FlowCtx.Stopper().WithCancelOnQuiesce(ctx) + ctx, ca.cancel = ca.flowCtx.Stopper().WithCancelOnQuiesce(ctx) if ca.spec.JobID != 0 { ctx = logtags.AddTag(ctx, "job", ca.spec.JobID) @@ -310,14 +311,14 @@ func (ca *changeAggregator) Start(ctx context.Context) { initialInclusiveLowerBound: feed.ScanTime, } - if cfKnobs, ok := ca.FlowCtx.TestingKnobs().Changefeed.(*TestingKnobs); ok { + if cfKnobs, ok := ca.flowCtx.TestingKnobs().Changefeed.(*TestingKnobs); ok { ca.knobs = *cfKnobs } // The job registry has a set of metrics used to monitor the various jobs it // runs. They're all stored as the `metric.Struct` interface because of // dependency cycles. - ca.metrics = ca.FlowCtx.Cfg.JobRegistry.MetricsStruct().Changefeed.(*Metrics) + ca.metrics = ca.flowCtx.Cfg.JobRegistry.MetricsStruct().Changefeed.(*Metrics) scope, _ := opts.GetMetricScope() ca.sliMetrics, err = ca.metrics.getSLIMetrics(scope) if err != nil { @@ -338,7 +339,7 @@ func (ca *changeAggregator) Start(ctx context.Context) { } } - ca.sink, err = getEventSink(ctx, ca.FlowCtx.Cfg, ca.spec.Feed, timestampOracle, + ca.sink, err = getEventSink(ctx, ca.flowCtx.Cfg, ca.spec.Feed, timestampOracle, ca.spec.User(), ca.spec.JobID, recorder) if err != nil { err = changefeedbase.MarkRetryableError(err) @@ -366,11 +367,11 @@ func (ca *changeAggregator) Start(ctx context.Context) { // TODO(yevgeniy): Introduce separate changefeed monitor that's a parent // for all changefeeds to control memory allocated to all changefeeds. - pool := ca.FlowCtx.Cfg.BackfillerMonitor + pool := ca.flowCtx.Cfg.BackfillerMonitor if ca.knobs.MemMonitor != nil { pool = ca.knobs.MemMonitor } - limit := changefeedbase.PerChangefeedMemLimit.Get(&ca.FlowCtx.Cfg.Settings.SV) + limit := changefeedbase.PerChangefeedMemLimit.Get(&ca.flowCtx.Cfg.Settings.SV) ca.eventProducer, ca.kvFeedDoneCh, ca.errCh, err = ca.startKVFeed(ctx, spans, kvFeedHighWater, needsInitialScan, feed, pool, limit, opts) if err != nil { ca.MoveToDraining(err) @@ -379,7 +380,7 @@ func (ca *changeAggregator) Start(ctx context.Context) { } ca.sink = &errorWrapperSink{wrapped: ca.sink} ca.eventConsumer, ca.sink, err = newEventConsumer( - ctx, ca.FlowCtx.Cfg, ca.spec, feed, ca.frontier, kvFeedHighWater, + ctx, ca.flowCtx.Cfg, ca.spec, feed, ca.frontier, kvFeedHighWater, ca.sink, ca.metrics, ca.sliMetrics, ca.knobs) if err != nil { ca.MoveToDraining(err) @@ -404,11 +405,11 @@ func (ca *changeAggregator) startKVFeed( memLimit int64, opts changefeedbase.StatementOptions, ) (kvevent.Reader, chan struct{}, chan error, error) { - cfg := ca.FlowCtx.Cfg - kvFeedMemMon := mon.NewMonitorInheritWithLimit("kvFeed", memLimit, parentMemMon, false /* longLiving */) + cfg := ca.flowCtx.Cfg + kvFeedMemMon := mon.NewMonitorInheritWithLimit("kvFeed", memLimit, parentMemMon) kvFeedMemMon.StartNoReserved(ctx, parentMemMon) buf := kvevent.NewThrottlingBuffer( - kvevent.NewMemBuffer(kvFeedMemMon.MakeBoundAccount(), &cfg.Settings.SV, &ca.metrics.KVFeedMetrics.AggregatorBufferMetricsWithCompat), + kvevent.NewMemBuffer(kvFeedMemMon.MakeBoundAccount(), &cfg.Settings.SV, &ca.metrics.KVFeedMetrics), cdcutils.NodeLevelThrottler(&cfg.Settings.SV, &ca.metrics.ThrottleMetrics)) // KVFeed takes ownership of the kvevent.Writer portion of the buffer, while @@ -422,19 +423,23 @@ func (ca *changeAggregator) startKVFeed( doneCh := make(chan struct{}) // If RunAsyncTask immediately returns an error, the kvfeed was not run and // will not run. - if err := ca.FlowCtx.Stopper().RunAsyncTask(ctx, "changefeed-poller", func(ctx context.Context) { + if err := ca.flowCtx.Stopper().RunAsyncTask(ctx, "changefeed-poller", func(ctx context.Context) { defer close(doneCh) defer kvFeedMemMon.Stop(ctx) errCh <- kvfeed.Run(ctx, kvfeedCfg) }); err != nil { - // Ensure that the memory monitor is closed properly. - kvFeedMemMon.Stop(ctx) return nil, nil, nil, err } return buf, doneCh, errCh, nil } +func (ca *changeAggregator) waitForKVFeedDone() { + if ca.kvFeedDoneCh != nil { + <-ca.kvFeedDoneCh + } +} + func (ca *changeAggregator) checkKVFeedErr() error { select { case err := <-ca.errCh: @@ -459,9 +464,9 @@ func (ca *changeAggregator) makeKVFeedCfg( return kvfeed.Config{}, err } filters := config.Opts.GetFilters() - cfg := ca.FlowCtx.Cfg + cfg := ca.flowCtx.Cfg - initialScanOnly := config.EndTime == initialHighWater + initialScanOnly := config.EndTime.EqOrdering(initialHighWater) var sf schemafeed.SchemaFeed if schemaChange.Policy == changefeedbase.OptSchemaChangePolicyIgnore || initialScanOnly { @@ -471,7 +476,7 @@ func (ca *changeAggregator) makeKVFeedCfg( initialHighWater, &ca.metrics.SchemaFeedMetrics, config.Opts.GetCanHandle()) } - monitoringCfg, err := makeKVFeedMonitoringCfg(ctx, ca.sliMetrics, opts, ca.FlowCtx.Cfg.Settings) + monitoringCfg, err := makeKVFeedMonitoringCfg(ctx, ca.sliMetrics, opts, ca.flowCtx.Cfg.Settings) if err != nil { return kvfeed.Config{}, err } @@ -591,16 +596,14 @@ func (ca *changeAggregator) close() { if ca.Closed { return } - if ca.cancel != nil { - // consumer close may be called even before Start is called. If that's - // the case, cancel is not initialized. We still need to perform the - // remainder of the cleanup though. - ca.cancel() - } - // Wait for the poller to finish shutting down if it was started. - if ca.kvFeedDoneCh != nil { - <-ca.kvFeedDoneCh + if ca.cancel == nil { + // consumer close may be called even before Start is called. + // If that's the case, cancel is not initialized. + return } + ca.cancel() + // Wait for the poller to finish shutting down. + ca.waitForKVFeedDone() if ca.eventConsumer != nil { _ = ca.eventConsumer.Close() // context cancellation expected here. @@ -622,6 +625,7 @@ func (ca *changeAggregator) close() { } ca.memAcc.Close(ca.Ctx()) + ca.MemMonitor.Stop(ca.Ctx()) ca.InternalClose() } @@ -811,7 +815,7 @@ func (ca *changeAggregator) noteResolvedSpan(resolved jobspb.ResolvedSpan) (retu if err != nil { return err } - sv := &ca.FlowCtx.Cfg.Settings.SV + sv := &ca.flowCtx.Cfg.Settings.SV defer func(ctx context.Context) { maybeLogBehindSpan(ctx, "aggregator", ca.frontier, advanced, sv) @@ -930,7 +934,7 @@ const ( type changeFrontier struct { execinfra.ProcessorBase - evalCtx *eval.Context + flowCtx *execinfra.FlowCtx spec execinfrapb.ChangeFrontierSpec memAcc mon.BoundAccount a tree.DatumAlloc @@ -1137,9 +1141,7 @@ func newChangeFrontierProcessor( } cf := &changeFrontier{ - // We might modify the ChangefeedState field in the eval.Context, so we - // need to make a copy. - evalCtx: flowCtx.NewEvalCtx(), + flowCtx: flowCtx, spec: spec, memAcc: memMonitor.MakeBoundAccount(), input: input, @@ -1151,13 +1153,12 @@ func newChangeFrontierProcessor( cf.knobs = *cfKnobs } - if err := cf.InitWithEvalCtx( + if err := cf.Init( ctx, cf, post, input.OutputTypes(), flowCtx, - cf.evalCtx, processorID, memMonitor, execinfra.ProcStateOpts{ @@ -1198,7 +1199,7 @@ func newChangeFrontierProcessor( } if cf.encoder, err = getEncoder( - ctx, encodingOpts, AllTargets(spec.Feed), spec.Feed.Select != "", + encodingOpts, AllTargets(spec.Feed), spec.Feed.Select != "", makeExternalConnectionProvider(ctx, flowCtx.Cfg.DB), sliMertics, ); err != nil { return nil, err @@ -1226,7 +1227,7 @@ func (cf *changeFrontier) Start(ctx context.Context) { // runs. They're all stored as the `metric.Struct` interface because of // dependency cycles. // TODO(yevgeniy): Figure out how to inject replication stream metrics. - cf.metrics = cf.FlowCtx.Cfg.JobRegistry.MetricsStruct().Changefeed.(*Metrics) + cf.metrics = cf.flowCtx.Cfg.JobRegistry.MetricsStruct().Changefeed.(*Metrics) // Pass a nil oracle because this sink is only used to emit resolved timestamps // but the oracle is only used when emitting row updates. @@ -1238,7 +1239,7 @@ func (cf *changeFrontier) Start(ctx context.Context) { return } cf.sliMetrics = sli - cf.sink, err = getResolvedTimestampSink(ctx, cf.FlowCtx.Cfg, cf.spec.Feed, nilOracle, + cf.sink, err = getResolvedTimestampSink(ctx, cf.flowCtx.Cfg, cf.spec.Feed, nilOracle, cf.spec.User(), cf.spec.JobID, sli) if err != nil { @@ -1254,22 +1255,22 @@ func (cf *changeFrontier) Start(ctx context.Context) { cf.sink = &errorWrapperSink{wrapped: cf.sink} cf.highWaterAtStart = cf.spec.Feed.StatementTime - if cf.evalCtx.ChangefeedState == nil { + if cf.EvalCtx.ChangefeedState == nil { cf.MoveToDraining(errors.AssertionFailedf("expected initialized local state")) return } - cf.localState = cf.evalCtx.ChangefeedState.(*cachedState) - cf.js = newJobState(nil, cf.FlowCtx.Cfg.Settings, cf.metrics, timeutil.DefaultTimeSource{}) + cf.localState = cf.EvalCtx.ChangefeedState.(*cachedState) + cf.js = newJobState(nil, cf.flowCtx.Cfg.Settings, cf.metrics, timeutil.DefaultTimeSource{}) if cf.spec.JobID != 0 { - job, err := cf.FlowCtx.Cfg.JobRegistry.LoadClaimedJob(ctx, cf.spec.JobID) + job, err := cf.flowCtx.Cfg.JobRegistry.LoadClaimedJob(ctx, cf.spec.JobID) if err != nil { cf.MoveToDraining(err) return } cf.js.job = job - if changefeedbase.FrontierCheckpointFrequency.Get(&cf.FlowCtx.Cfg.Settings.SV) == 0 { + if changefeedbase.FrontierCheckpointFrequency.Get(&cf.flowCtx.Cfg.Settings.SV) == 0 { log.Warning(ctx, "Frontier checkpointing disabled; set changefeed.frontier_checkpoint_frequency to non-zero value to re-enable") } @@ -1354,7 +1355,7 @@ func (cf *changeFrontier) runUsageMetricReporting(ctx context.Context) { defer t.Stop() var lastDuration time.Duration for ctx.Err() == nil { - reportingInterval := jitter(changefeedbase.UsageMetricsReportingInterval.Get(&cf.FlowCtx.Cfg.Settings.SV)) + reportingInterval := jitter(changefeedbase.UsageMetricsReportingInterval.Get(&cf.flowCtx.Cfg.Settings.SV)) var start time.Time t.Reset(reportingInterval - lastDuration) @@ -1365,14 +1366,14 @@ func (cf *changeFrontier) runUsageMetricReporting(ctx context.Context) { return } - execCfg := cf.FlowCtx.Cfg.ExecutorConfig.(*sql.ExecutorConfig) + execCfg := cf.flowCtx.Cfg.ExecutorConfig.(*sql.ExecutorConfig) if cf.knobs.OverrideExecCfg != nil { execCfg = cf.knobs.OverrideExecCfg(execCfg) } // Set a timeout of some % of the interval so we still have a duty cycle in degenerate scenarios. var bytes int64 - percent := changefeedbase.UsageMetricsReportingTimeoutPercent.Get(&cf.FlowCtx.Cfg.Settings.SV) + percent := changefeedbase.UsageMetricsReportingTimeoutPercent.Get(&cf.flowCtx.Cfg.Settings.SV) err := timeutil.RunWithTimeout(ctx, "fetch usage bytes", time.Duration(float64(reportingInterval)*(float64(percent)/100.)), func(reqCtx context.Context) (err error) { bytes, err = FetchChangefeedUsageBytes(reqCtx, execCfg, cf.js.job.Payload()) return err @@ -1525,7 +1526,7 @@ func (cf *changeFrontier) noteAggregatorProgress(d rowenc.EncDatum) error { // job progress update closure, but it currently doesn't pass along the info // we'd need to do it that way. if !resolved.Timestamp.IsEmpty() && resolved.Timestamp.Less(cf.highWaterAtStart) { - logcrash.ReportOrPanic(cf.Ctx(), &cf.FlowCtx.Cfg.Settings.SV, + logcrash.ReportOrPanic(cf.Ctx(), &cf.flowCtx.Cfg.Settings.SV, `got a span level timestamp %s for %s that is less than the initial high-water %s`, redact.Safe(resolved.Timestamp), resolved.Span, redact.Safe(cf.highWaterAtStart)) continue @@ -1544,7 +1545,10 @@ func (cf *changeFrontier) forwardFrontier(resolved jobspb.ResolvedSpan) error { return err } - maybeLogBehindSpan(cf.Ctx(), "coordinator", cf.frontier, frontierChanged, &cf.FlowCtx.Cfg.Settings.SV) + maybeLogBehindSpan(cf.Ctx(), "coordinator", cf.frontier, frontierChanged, &cf.flowCtx.Cfg.Settings.SV) + + // If frontier changed, we emit resolved timestamp. + emitResolved := frontierChanged checkpointed, err := cf.maybeCheckpointJob(resolved, frontierChanged) if err != nil { @@ -1554,7 +1558,9 @@ func (cf *changeFrontier) forwardFrontier(resolved jobspb.ResolvedSpan) error { // Emit resolved timestamp only if we have checkpointed the job. // Usually, this happens every time frontier changes, but we can skip some updates // if we update frontier too rapidly. - if checkpointed { + emitResolved = checkpointed + + if emitResolved { // Keeping this after the checkpointJobProgress call will avoid // some duplicates if a restart happens. newResolved := cf.frontier.Frontier() @@ -1588,7 +1594,7 @@ func (cf *changeFrontier) maybeMarkJobIdle(recentKVCount uint64) { cf.frontier.ForwardLatestKV(timeutil.Now()) } - idleTimeout := changefeedbase.IdleTimeout.Get(&cf.FlowCtx.Cfg.Settings.SV) + idleTimeout := changefeedbase.IdleTimeout.Get(&cf.flowCtx.Cfg.Settings.SV) if idleTimeout == 0 { return } @@ -1621,7 +1627,7 @@ func (cf *changeFrontier) maybeCheckpointJob( // If the highwater has moved an empty checkpoint will be saved var checkpoint jobspb.ChangefeedProgress_Checkpoint if updateCheckpoint { - maxBytes := changefeedbase.FrontierCheckpointMaxBytes.Get(&cf.FlowCtx.Cfg.Settings.SV) + maxBytes := changefeedbase.FrontierCheckpointMaxBytes.Get(&cf.flowCtx.Cfg.Settings.SV) checkpoint.Spans, checkpoint.Timestamp = cf.frontier.getCheckpointSpans(maxBytes) } @@ -1713,13 +1719,13 @@ func (cf *changeFrontier) checkpointJobProgress( func (cf *changeFrontier) manageProtectedTimestamps( ctx context.Context, txn isql.Txn, progress *jobspb.ChangefeedProgress, ) error { - ptsUpdateInterval := changefeedbase.ProtectTimestampInterval.Get(&cf.FlowCtx.Cfg.Settings.SV) + ptsUpdateInterval := changefeedbase.ProtectTimestampInterval.Get(&cf.flowCtx.Cfg.Settings.SV) ptsUpdateLag := changefeedbase.ProtectTimestampLag.Get(&cf.FlowCtx.Cfg.Settings.SV) if timeutil.Since(cf.lastProtectedTimestampUpdate) < ptsUpdateInterval { return nil } - pts := cf.FlowCtx.Cfg.ProtectedTimestampProvider.WithTxn(txn) + pts := cf.flowCtx.Cfg.ProtectedTimestampProvider.WithTxn(txn) // Create / advance the protected timestamp record to the highwater mark highWater := cf.frontier.Frontier() @@ -1729,7 +1735,7 @@ func (cf *changeFrontier) manageProtectedTimestamps( if progress.ProtectedTimestampRecord == uuid.Nil { ptr := createProtectedTimestampRecord( - ctx, cf.FlowCtx.Codec(), cf.spec.JobID, AllTargets(cf.spec.Feed), highWater, + ctx, cf.flowCtx.Codec(), cf.spec.JobID, AllTargets(cf.spec.Feed), highWater, ) progress.ProtectedTimestampRecord = ptr.ID.GetUUID() cf.lastProtectedTimestampUpdate = timeutil.Now() @@ -1761,7 +1767,7 @@ func (cf *changeFrontier) manageProtectedTimestamps( if !preserveDeprecatedPts { prevRecordId := progress.ProtectedTimestampRecord ptr := createProtectedTimestampRecord( - ctx, cf.FlowCtx.Codec(), cf.spec.JobID, AllTargets(cf.spec.Feed), highWater, + ctx, cf.flowCtx.Codec(), cf.spec.JobID, AllTargets(cf.spec.Feed), highWater, ) if err := pts.Protect(ctx, ptr); err != nil { return err diff --git a/pkg/ccl/changefeedccl/changefeed_processors_test.go b/pkg/ccl/changefeedccl/changefeed_processors_test.go index 06bc91443e6e..804717917ea3 100644 --- a/pkg/ccl/changefeedccl/changefeed_processors_test.go +++ b/pkg/ccl/changefeedccl/changefeed_processors_test.go @@ -9,20 +9,13 @@ package changefeedccl import ( - "sort" "testing" - "time" - "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl/changefeedbase" - "github.com/cockroachdb/cockroach/pkg/kv/kvserver/rangefeed" "github.com/cockroachdb/cockroach/pkg/roachpb" "github.com/cockroachdb/cockroach/pkg/sql/execinfrapb" "github.com/cockroachdb/cockroach/pkg/util/hlc" "github.com/cockroachdb/cockroach/pkg/util/leaktest" "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/cockroach/pkg/util/randutil" - "github.com/cockroachdb/cockroach/pkg/util/shuffle" - "github.com/cockroachdb/cockroach/pkg/util/span" "github.com/stretchr/testify/require" ) @@ -140,95 +133,3 @@ func TestSetupSpansAndFrontier(t *testing.T) { }) } } - -type rspans []roachpb.Span - -func (rs rspans) Len() int { - return len(rs) -} - -func (rs rspans) Less(i int, j int) bool { - return rs[i].Key.Compare(rs[j].Key) < 0 -} - -func (rs rspans) Swap(i int, j int) { - rs[i], rs[j] = rs[j], rs[i] -} - -type checkpointSpan struct { - span roachpb.Span - ts hlc.Timestamp -} - -type checkpointSpans []checkpointSpan - -func (rs checkpointSpans) Len() int { - return len(rs) -} - -func (rs checkpointSpans) Less(i int, j int) bool { - return rs[i].span.Key.Compare(rs[j].span.Key) < 0 -} - -func (rs checkpointSpans) Swap(i int, j int) { - rs[i], rs[j] = rs[j], rs[i] -} - -// TestGetCheckpointSpans generates 100 random non-overlapping spans with random -// timestamps within a minute of each other and turns them into checkpoint -// spans. It then does some sanity checks. It also compares the total -// catchup time between the checkpoint timestamp and the high watermark. -// Although the test relies on internal implementation details, it is a -// good base to explore other fine-grained checkpointing algorithms. -func TestGetCheckpointSpans(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - const numSpans = 100 - maxBytes := changefeedbase.FrontierCheckpointMaxBytes.Default() - hwm := hlc.Timestamp{} - rng, _ := randutil.NewTestRand() - - spans := make(checkpointSpans, numSpans) - - // Generate spans. They should not be overlapping. - // Randomize the order in which spans are processed. - for i, s := range rangefeed.GenerateRandomizedSpans(rng, numSpans) { - ts := rangefeed.GenerateRandomizedTs(rng, time.Minute.Nanoseconds()) - if hwm.IsEmpty() || ts.Less(hwm) { - hwm = ts - } - spans[i] = checkpointSpan{s.AsRawSpanWithNoLocals(), ts} - } - shuffle.Shuffle(spans) - - forEachSpan := func(fn span.Operation) { - for _, s := range spans { - fn(s.span, s.ts) - } - } - - // Compute the checkpoint. - cpSpans, cpTS := getCheckpointSpans(hwm, forEachSpan, maxBytes) - require.Less(t, len(cpSpans), numSpans) - require.True(t, hwm.Less(cpTS)) - - // Calculate the total amount of time these spans would have to "catch up" - // using the checkpoint spans compared to starting at the frontier. - catchup := cpTS.GoTime().Sub(hwm.GoTime()) - sort.Sort(rspans(cpSpans)) - sort.Sort(spans) - var catchupFromCheckpoint, catchupFromHWM time.Duration - j := 0 - for _, s := range spans { - catchupFromHWM += s.ts.GoTime().Sub(hwm.GoTime()) - if j < len(cpSpans) && cpSpans[j].Equal(s.span) { - catchupFromCheckpoint += s.ts.GoTime().Sub(cpTS.GoTime()) - j++ - } - } - t.Logf("Checkpoint time improved by %v for %d/%d spans\ntotal catchup from checkpoint: %v\ntotal catchup from high watermark: %v\nPercent improvement %f", - catchup, len(cpSpans), numSpans, catchupFromCheckpoint, catchupFromHWM, - 100*(1-float64(catchupFromCheckpoint.Nanoseconds())/float64(catchupFromHWM.Nanoseconds()))) - require.Less(t, catchupFromCheckpoint, catchupFromHWM) -} diff --git a/pkg/ccl/changefeedccl/changefeed_stmt.go b/pkg/ccl/changefeedccl/changefeed_stmt.go index ade32325cb0c..47861b7fb939 100644 --- a/pkg/ccl/changefeedccl/changefeed_stmt.go +++ b/pkg/ccl/changefeedccl/changefeed_stmt.go @@ -21,6 +21,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl/changefeedvalidators" "github.com/cockroachdb/cockroach/pkg/ccl/utilccl" "github.com/cockroachdb/cockroach/pkg/cloud" + "github.com/cockroachdb/cockroach/pkg/clusterversion" "github.com/cockroachdb/cockroach/pkg/docs" "github.com/cockroachdb/cockroach/pkg/featureflag" "github.com/cockroachdb/cockroach/pkg/jobs" @@ -51,7 +52,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/hlc" "github.com/cockroachdb/cockroach/pkg/util/log" "github.com/cockroachdb/cockroach/pkg/util/log/eventpb" - "github.com/cockroachdb/cockroach/pkg/util/log/severity" "github.com/cockroachdb/cockroach/pkg/util/randutil" "github.com/cockroachdb/cockroach/pkg/util/span" "github.com/cockroachdb/cockroach/pkg/util/timeutil" @@ -343,9 +343,8 @@ func coreChangefeed( for r := getRetry(ctx); ; { if !r.Next() { - // Retry loop exits when context is canceled. log.Infof(ctx, "core changefeed retry loop exiting: %s", ctx.Err()) - return ctx.Err() + break } if knobs != nil && knobs.BeforeDistChangefeed != nil { @@ -371,6 +370,7 @@ func coreChangefeed( // information which is saved in the localState. log.Infof(ctx, "core changefeed retrying due to transient error: %s", err) } + return ctx.Err() // retry loop exits when context cancels. } func createChangefeedJobRecord( @@ -466,15 +466,6 @@ func createChangefeedJobRecord( return nil, err } - for _, t := range targetDescs { - if tbl, ok := t.(catalog.TableDescriptor); ok && tbl.ExternalRowData() != nil { - if tbl.ExternalRowData().TenantID.IsSet() { - return nil, errors.UnimplementedError(errors.IssueLink{}, "changefeeds on a replication target are not supported") - } - return nil, errors.UnimplementedError(errors.IssueLink{}, "changefeeds on external tables are not supported") - } - } - targets, tables, err := getTargetsAndTables(ctx, p, targetDescs, changefeedStmt.Targets, changefeedStmt.originalSpecs, opts.ShouldUseFullStatementTimeName(), sinkURI) @@ -600,7 +591,7 @@ func createChangefeedJobRecord( if err != nil { return nil, err } - if _, err := getEncoder(ctx, encodingOpts, AllTargets(details), details.Select != "", + if _, err := getEncoder(encodingOpts, AllTargets(details), details.Select != "", makeExternalConnectionProvider(ctx, p.ExecCfg().InternalDB), nil); err != nil { return nil, err } @@ -700,6 +691,13 @@ func createChangefeedJobRecord( details.Opts = opts.AsMap() if locFilter := details.Opts[changefeedbase.OptExecutionLocality]; locFilter != "" { + if !p.ExecCfg().Settings.Version.IsActive(ctx, clusterversion.V23_1) { + return nil, pgerror.Newf( + pgcode.FeatureNotSupported, + "cannot create new changefeed with %s until upgrade to version %s is complete", + changefeedbase.OptExecutionLocality, clusterversion.V23_1.String(), + ) + } if err := utilccl.CheckEnterpriseEnabled( p.ExecCfg().Settings, changefeedbase.OptExecutionLocality, ); err != nil { @@ -988,7 +986,14 @@ func changefeedJobDescription( opts changefeedbase.StatementOptions, ) (string, error) { // Redacts user sensitive information from job description. - cleanedSinkURI, err := cloud.SanitizeExternalStorageURI(sinkURI, nil) + cleanedSinkURI, err := cloud.SanitizeExternalStorageURI(sinkURI, []string{ + changefeedbase.SinkParamSASLPassword, + changefeedbase.SinkParamCACert, + changefeedbase.SinkParamClientCert, + changefeedbase.SinkParamClientKey, + changefeedbase.SinkParamConfluentAPISecret, + changefeedbase.SinkParamAzureAccessKey, + }) if err != nil { return "", err } @@ -1494,11 +1499,11 @@ func getQualifiedTableNameObj( ctx context.Context, execCfg *sql.ExecutorConfig, txn *kv.Txn, desc catalog.TableDescriptor, ) (tree.TableName, error) { col := execCfg.CollectionFactory.NewCollection(ctx) - db, err := col.ByIDWithoutLeased(txn).Get().Database(ctx, desc.GetParentID()) + db, err := col.ByID(txn).Get().Database(ctx, desc.GetParentID()) if err != nil { return tree.TableName{}, err } - sc, err := col.ByIDWithoutLeased(txn).Get().Schema(ctx, desc.GetParentSchemaID()) + sc, err := col.ByID(txn).Get().Schema(ctx, desc.GetParentSchemaID()) if err != nil { return tree.TableName{}, err } @@ -1536,7 +1541,7 @@ func logChangefeedCreateTelemetry(ctx context.Context, jr *jobs.Record, isTransf Transformation: isTransformation, } - log.StructuredEvent(ctx, severity.INFO, createChangefeedEvent) + log.StructuredEvent(ctx, createChangefeedEvent) } func logChangefeedFailedTelemetry( @@ -1553,7 +1558,7 @@ func logChangefeedFailedTelemetry( FailureType: failureType, } - log.StructuredEvent(ctx, severity.INFO, changefeedFailedEvent) + log.StructuredEvent(ctx, changefeedFailedEvent) } func getCommonChangefeedEventDetails( diff --git a/pkg/ccl/changefeedccl/changefeed_test.go b/pkg/ccl/changefeedccl/changefeed_test.go index 678b69c450d2..2a6e08975b11 100644 --- a/pkg/ccl/changefeedccl/changefeed_test.go +++ b/pkg/ccl/changefeedccl/changefeed_test.go @@ -999,34 +999,6 @@ func TestChangefeedMVCCTimestamps(t *testing.T) { cdcTest(t, testFn) } -func TestChangefeedMVCCTimestampsAvro(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - testFn := func(t *testing.T, s TestServer, f cdctest.TestFeedFactory) { - sqlDB := sqlutils.MakeSQLRunner(s.DB) - sqlDB.Exec(t, `CREATE TABLE mvcc_timestamp_test_table (id UUID PRIMARY KEY DEFAULT gen_random_uuid())`) - - const rowCount = 5 - expectedPayloads := make([]string, rowCount) - for i := 0; i < rowCount; i++ { - row := sqlDB.QueryRow(t, `INSERT INTO mvcc_timestamp_test_table VALUES (DEFAULT) RETURNING id, cluster_logical_timestamp()`) - - var id string - var mvccTimestamp string - row.Scan(&id, &mvccTimestamp) - expectedPayloads[i] = fmt.Sprintf(`mvcc_timestamp_test_table: {"id":{"string":"%[1]s"}}->{"after":{"mvcc_timestamp_test_table":{"id":{"string":"%[1]s"}}},"mvcc_timestamp":{"string":"%[2]s"}}`, - id, mvccTimestamp) - } - - changeFeed := feed(t, f, `CREATE CHANGEFEED FOR mvcc_timestamp_test_table WITH mvcc_timestamp, format='avro'`) - defer closeFeed(t, changeFeed) - assertPayloads(t, changeFeed, expectedPayloads) - } - - cdcTest(t, testFn, feedTestForceSink(`kafka`)) -} - func TestChangefeedResolvedFrequency(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -1517,8 +1489,6 @@ func TestChangefeedBackfillObservability(t *testing.T) { func TestChangefeedUserDefinedTypes(t *testing.T) { defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - testFn := func(t *testing.T, s TestServer, f cdctest.TestFeedFactory) { sqlDB := sqlutils.MakeSQLRunner(s.DB) @@ -1582,8 +1552,6 @@ func TestChangefeedUserDefinedTypes(t *testing.T) { // targeted by the changefeed, it should not stop. func TestNoStopAfterNonTargetColumnDrop(t *testing.T) { defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - testFn := func(t *testing.T, s TestServer, f cdctest.TestFeedFactory) { sqlDB := sqlutils.MakeSQLRunner(s.DB) @@ -1616,8 +1584,6 @@ func TestNoStopAfterNonTargetColumnDrop(t *testing.T) { func TestChangefeedProjectionDelete(t *testing.T) { defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - testFn := func(t *testing.T, s TestServer, f cdctest.TestFeedFactory) { sqlDB := sqlutils.MakeSQLRunner(s.DB) @@ -1639,8 +1605,6 @@ func TestChangefeedProjectionDelete(t *testing.T) { // cluster ID continue functioning. func TestChangefeedCanResumeWhenClusterIDMissing(t *testing.T) { defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - testFn := func(t *testing.T, s TestServer, f cdctest.TestFeedFactory) { sqlDB := sqlutils.MakeSQLRunner(s.DB) @@ -1686,8 +1650,6 @@ func TestChangefeedCanResumeWhenClusterIDMissing(t *testing.T) { // If we drop columns which are not targeted by the changefeed, it should not backfill. func TestNoBackfillAfterNonTargetColumnDrop(t *testing.T) { defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - testFn := func(t *testing.T, s TestServer, f cdctest.TestFeedFactory) { sqlDB := sqlutils.MakeSQLRunner(s.DB) @@ -1767,8 +1729,6 @@ func TestChangefeedColumnDropsWithFamilyAndNonFamilyTargets(t *testing.T) { func TestChangefeedColumnDropsOnMultipleFamiliesWithTheSameName(t *testing.T) { defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - testFn := func(t *testing.T, s TestServer, f cdctest.TestFeedFactory) { sqlDB := sqlutils.MakeSQLRunner(s.DB) @@ -1814,8 +1774,6 @@ func TestChangefeedColumnDropsOnMultipleFamiliesWithTheSameName(t *testing.T) { func TestChangefeedColumnDropsOnTheSameTableWithMultipleFamilies(t *testing.T) { defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - testFn := func(t *testing.T, s TestServer, f cdctest.TestFeedFactory) { sqlDB := sqlutils.MakeSQLRunner(s.DB) @@ -1848,8 +1806,6 @@ func TestChangefeedColumnDropsOnTheSameTableWithMultipleFamilies(t *testing.T) { func TestNoStopAfterNonTargetAddColumnWithBackfill(t *testing.T) { defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - testFn := func(t *testing.T, s TestServer, f cdctest.TestFeedFactory) { sqlDB := sqlutils.MakeSQLRunner(s.DB) @@ -2211,7 +2167,7 @@ func TestChangefeedLaggingSpanCheckpointing(t *testing.T) { // (this is mostly due to racy updates sent from aggregators to the frontier. // However, the checkpoint timestamp should be at least at the cursor. progress := loadProgress() - require.True(t, progress.GetHighWater().IsEmpty() || *progress.GetHighWater() == cursor, + require.True(t, progress.GetHighWater().IsEmpty() || progress.GetHighWater().EqOrdering(cursor), "expected empty highwater or %s, found %s", cursor, progress.GetHighWater()) require.NotNil(t, progress.GetChangefeed().Checkpoint) require.Less(t, 0, len(progress.GetChangefeed().Checkpoint.Spans)) @@ -4720,6 +4676,7 @@ func TestChangefeedMonitoring(t *testing.T) { func TestChangefeedRetryableError(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) + defer utilccl.TestingEnableEnterprise()() testFn := func(t *testing.T, s TestServer, f cdctest.TestFeedFactory) { knobs := s.TestingKnobs. @@ -5382,7 +5339,7 @@ func TestChangefeedErrors(t *testing.T) { `CREATE CHANGEFEED FOR foo INTO $1`, `kafka://nope/?sasl_mechanism=SCRAM-SHA-256`, ) sqlDB.ExpectErrWithTimeout( - t, `param sasl_mechanism must be one of SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER, PLAIN or AWS_MSK_IAM`, + t, `param sasl_mechanism must be one of SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER, or PLAIN`, `CREATE CHANGEFEED FOR foo INTO $1`, `kafka://nope/?sasl_enabled=true&sasl_mechanism=unsuppported`, ) sqlDB.ExpectErrWithTimeout( @@ -5553,7 +5510,7 @@ func TestChangefeedErrors(t *testing.T) { `CREATE CHANGEFEED FOR foo INTO $1 WITH format='experimental_avro', confluent_schema_registry=$2`, `kafka://nope`, `https://schemareg-nope/?ca_cert=!`, ) - longTimeoutSQLDB.ExpectErrWithTimeout( + sqlDB.ExpectErrWithTimeout( t, `failed to parse certificate data`, `CREATE CHANGEFEED FOR foo INTO $1 WITH format='experimental_avro', confluent_schema_registry=$2`, `kafka://nope`, `https://schemareg-nope/?ca_cert=Zm9v`, @@ -7596,7 +7553,7 @@ func TestChangefeedEndTimeWithCursor(t *testing.T) { // event with end_time timestamp. That is: verify frontier.Frontier() is at end_time. expectedFrontier := endTime.Prev() testutils.SucceedsWithin(t, func() error { - if expectedFrontier == frontier.Frontier() { + if expectedFrontier.EqOrdering(frontier.Frontier()) { return nil } return errors.Newf("still waiting for frontier to reach %s, current %s", @@ -8598,8 +8555,6 @@ func TestChangefeedTestTimesOut(t *testing.T) { // Regression for #85008. func TestSchemachangeDoesNotBreakSinklessFeed(t *testing.T) { defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - testFn := func(t *testing.T, s TestServer, f cdctest.TestFeedFactory) { sqlDB := sqlutils.MakeSQLRunner(s.DB) @@ -8629,6 +8584,7 @@ func TestSchemachangeDoesNotBreakSinklessFeed(t *testing.T) { func TestChangefeedKafkaMessageTooLarge(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) + defer utilccl.TestingEnableEnterprise()() testFn := func(t *testing.T, s TestServer, f cdctest.TestFeedFactory) { if KafkaV2Enabled.Get(&s.Server.ClusterSettings().SV) { @@ -8781,8 +8737,6 @@ func TestChangefeedKafkaMessageTooLarge(t *testing.T) { // Regression for #85902. func TestRedactedSchemaRegistry(t *testing.T) { defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - testFn := func(t *testing.T, s TestServer, f cdctest.TestFeedFactory) { sqlDB := sqlutils.MakeSQLRunner(s.DB) sqlDB.Exec(t, `CREATE TABLE test_table (id INT PRIMARY KEY, i int, j int)`) @@ -8809,7 +8763,6 @@ func TestRedactedSchemaRegistry(t *testing.T) { func TestChangefeedMetricsScopeNotice(t *testing.T) { defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) s, stopServer := makeServer(t) defer stopServer() @@ -8836,7 +8789,6 @@ func TestChangefeedMetricsScopeNotice(t *testing.T) { // TestPubsubValidationErrors tests error messages during pubsub sink URI validations. func TestPubsubValidationErrors(t *testing.T) { defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) s, stopServer := makeServer(t) defer stopServer() @@ -8966,8 +8918,6 @@ func TestChangefeedExecLocality(t *testing.T) { func TestChangefeedTopicNames(t *testing.T) { defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - testFn := func(t *testing.T, s TestServer, f cdctest.TestFeedFactory) { rand, _ := randutil.NewTestRand() cfg := randident.DefaultNameGeneratorConfig() diff --git a/pkg/ccl/changefeedccl/changefeedbase/BUILD.bazel b/pkg/ccl/changefeedccl/changefeedbase/BUILD.bazel index b08e57f9cb5d..4ef7a95b2228 100644 --- a/pkg/ccl/changefeedccl/changefeedbase/BUILD.bazel +++ b/pkg/ccl/changefeedccl/changefeedbase/BUILD.bazel @@ -12,6 +12,7 @@ go_library( importpath = "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl/changefeedbase", visibility = ["//visibility:public"], deps = [ + "//pkg/clusterversion", "//pkg/jobs", "//pkg/jobs/jobspb", "//pkg/kv/kvpb", @@ -36,11 +37,13 @@ go_test( embed = [":changefeedbase"], deps = [ "//pkg/ccl", + "//pkg/clusterversion", "//pkg/jobs", "//pkg/kv/kvpb", "//pkg/security/securityassets", "//pkg/security/securitytest", "//pkg/server", + "//pkg/settings/cluster", "//pkg/testutils/serverutils", "//pkg/testutils/testcluster", "//pkg/util/leaktest", diff --git a/pkg/ccl/changefeedccl/changefeedbase/options.go b/pkg/ccl/changefeedccl/changefeedbase/options.go index d8bbac291cb5..ae38cfd56292 100644 --- a/pkg/ccl/changefeedccl/changefeedbase/options.go +++ b/pkg/ccl/changefeedccl/changefeedbase/options.go @@ -15,6 +15,7 @@ import ( "strings" "time" + "github.com/cockroachdb/cockroach/pkg/clusterversion" "github.com/cockroachdb/cockroach/pkg/settings/cluster" "github.com/cockroachdb/cockroach/pkg/sql/pgwire/pgcode" "github.com/cockroachdb/cockroach/pkg/sql/pgwire/pgerror" @@ -105,7 +106,6 @@ const ( OptLaggingRangesThreshold = `lagging_ranges_threshold` OptLaggingRangesPollingInterval = `lagging_ranges_polling_interval` OptIgnoreDisableChangefeedReplication = `ignore_disable_changefeed_replication` - OptEncodeJSONValueNullAsObject = `encode_json_value_null_as_object` OptVirtualColumnsOmitted VirtualColumnVisibility = `omitted` OptVirtualColumnsNull VirtualColumnVisibility = `null` @@ -219,9 +219,6 @@ const ( SinkParamSASLTokenURL = `sasl_token_url` SinkParamSASLScopes = `sasl_scopes` SinkParamSASLGrantType = `sasl_grant_type` - SinkParamSASLAwsIAMRoleArn = `sasl_aws_iam_role_arn` - SinkParamSASLAwsRegion = `sasl_aws_region` - SinkParamSASLAwsIAMSessionName = `sasl_aws_iam_session_name` SinkParamTableNameAttribute = `with_table_name_attribute` SinkSchemeConfluentKafka = `confluent-cloud` @@ -242,9 +239,6 @@ const ( Topics = `topics` ) -// Support additional mechanism on top of the default SASL mechanism. -const SASLTypeAWSMSKIAM = "AWS_MSK_IAM" - func makeStringSet(opts ...string) map[string]struct{} { res := make(map[string]struct{}, len(opts)) for _, opt := range opts { @@ -374,7 +368,6 @@ var ChangefeedOptionExpectValues = map[string]OptionPermittedValues{ OptLaggingRangesThreshold: durationOption, OptLaggingRangesPollingInterval: durationOption, OptIgnoreDisableChangefeedReplication: flagOption, - OptEncodeJSONValueNullAsObject: flagOption, } // CommonOptions is options common to all sinks @@ -388,7 +381,7 @@ var CommonOptions = makeStringSet(OptCursor, OptEndTime, OptEnvelope, OptInitialScan, OptNoInitialScan, OptInitialScanOnly, OptUnordered, OptCustomKeyColumn, OptMinCheckpointFrequency, OptMetricsScope, OptVirtualColumns, Topics, OptExpirePTSAfter, OptExecutionLocality, OptLaggingRangesThreshold, OptLaggingRangesPollingInterval, - OptIgnoreDisableChangefeedReplication, OptEncodeJSONValueNullAsObject, + OptIgnoreDisableChangefeedReplication, ) // SQLValidOptions is options exclusive to SQL sink @@ -773,19 +766,18 @@ func (s StatementOptions) GetCanHandle() CanHandle { // EncodingOptions describe how events are encoded when // sent to the sink. type EncodingOptions struct { - Format FormatType - VirtualColumns VirtualColumnVisibility - Envelope EnvelopeType - KeyInValue bool - TopicInValue bool - UpdatedTimestamps bool - MVCCTimestamps bool - Diff bool - EncodeJSONValueNullAsObject bool - AvroSchemaPrefix string - SchemaRegistryURI string - Compression string - CustomKeyColumn string + Format FormatType + VirtualColumns VirtualColumnVisibility + Envelope EnvelopeType + KeyInValue bool + TopicInValue bool + UpdatedTimestamps bool + MVCCTimestamps bool + Diff bool + AvroSchemaPrefix string + SchemaRegistryURI string + Compression string + CustomKeyColumn string } // GetEncodingOptions populates and validates an EncodingOptions. @@ -827,7 +819,6 @@ func (s StatementOptions) GetEncodingOptions() (EncodingOptions, error) { _, o.UpdatedTimestamps = s.m[OptUpdatedTimestamps] _, o.MVCCTimestamps = s.m[OptMVCCTimestamps] _, o.Diff = s.m[OptDiff] - _, o.EncodeJSONValueNullAsObject = s.m[OptEncodeJSONValueNullAsObject] o.SchemaRegistryURI = s.m[OptConfluentSchemaRegistry] o.AvroSchemaPrefix = s.m[OptAvroSchemaPrefix] @@ -845,9 +836,6 @@ func (e EncodingOptions) Validate() error { OptEnvelope, OptEnvelopeRow, OptFormat, OptFormatAvro, ) } - if e.Format != OptFormatJSON && e.EncodeJSONValueNullAsObject { - return errors.Errorf(`%s is only usable with %s=%s`, OptEncodeJSONValueNullAsObject, OptFormat, OptFormatJSON) - } if e.Envelope != OptEnvelopeWrapped && e.Format != OptFormatJSON && e.Format != OptFormatParquet { requiresWrap := []struct { k string @@ -978,10 +966,18 @@ func (s StatementOptions) GetMetricScope() (string, bool) { func (s StatementOptions) GetLaggingRangesConfig( ctx context.Context, settings *cluster.Settings, ) (threshold time.Duration, pollingInterval time.Duration, e error) { + // This version gate prevents the scenario where the changefeed is created + // with options on a 23.2 node and resumed on a node with an old version + // which does not have those options. + laggingRangesVersionIsActive := settings.Version.IsActive(ctx, clusterversion.V23_2_ChangefeedLaggingRangesOpts) threshold = DefaultLaggingRangesThreshold pollingInterval = DefaultLaggingRangesPollingInterval _, ok := s.m[OptLaggingRangesThreshold] if ok { + if !laggingRangesVersionIsActive { + return threshold, pollingInterval, WithTerminalError(errors.New("cluster version must be 23.2 or" + + " greater to use lagging ranges metrics configs")) + } t, err := s.getDurationValue(OptLaggingRangesThreshold) if err != nil { return threshold, pollingInterval, err @@ -990,6 +986,10 @@ func (s StatementOptions) GetLaggingRangesConfig( } _, ok = s.m[OptLaggingRangesPollingInterval] if ok { + if !laggingRangesVersionIsActive { + return threshold, pollingInterval, WithTerminalError(errors.New("cluster version must be 23.2 or" + + " greater to use lagging ranges metrics configs")) + } i, err := s.getDurationValue(OptLaggingRangesPollingInterval) if err != nil { return threshold, pollingInterval, err diff --git a/pkg/ccl/changefeedccl/changefeedbase/options_test.go b/pkg/ccl/changefeedccl/changefeedbase/options_test.go index 5f16c550038d..0cf8076e627d 100644 --- a/pkg/ccl/changefeedccl/changefeedbase/options_test.go +++ b/pkg/ccl/changefeedccl/changefeedbase/options_test.go @@ -9,9 +9,13 @@ package changefeedbase import ( + "context" "fmt" "testing" + "time" + "github.com/cockroachdb/cockroach/pkg/clusterversion" + "github.com/cockroachdb/cockroach/pkg/settings/cluster" "github.com/cockroachdb/cockroach/pkg/util/leaktest" "github.com/cockroachdb/cockroach/pkg/util/log" "github.com/stretchr/testify/require" @@ -54,31 +58,37 @@ func TestOptionsValidations(t *testing.T) { } } -func TestEncodingOptionsValidations(t *testing.T) { +func TestLaggingRangesVersionGate(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) - cases := []struct { - opts EncodingOptions - expectErr string - }{ - {EncodingOptions{Envelope: OptEnvelopeRow, Format: OptFormatAvro}, "envelope=row is not supported with format=avro"}, - {EncodingOptions{Format: OptFormatAvro, EncodeJSONValueNullAsObject: true}, "is only usable with format=json"}, - {EncodingOptions{Format: OptFormatAvro, Envelope: OptEnvelopeBare, KeyInValue: true}, "is only usable with envelope=wrapped"}, - {EncodingOptions{Format: OptFormatAvro, Envelope: OptEnvelopeBare, TopicInValue: true}, "is only usable with envelope=wrapped"}, - {EncodingOptions{Format: OptFormatAvro, Envelope: OptEnvelopeBare, UpdatedTimestamps: true}, "is only usable with envelope=wrapped"}, - {EncodingOptions{Format: OptFormatAvro, Envelope: OptEnvelopeBare, MVCCTimestamps: true}, "is only usable with envelope=wrapped"}, - {EncodingOptions{Format: OptFormatAvro, Envelope: OptEnvelopeBare, Diff: true}, "is only usable with envelope=wrapped"}, - } + ctx, cancel := context.WithTimeout(context.Background(), 50*time.Millisecond) + defer cancel() - for _, c := range cases { - err := c.opts.Validate() - if c.expectErr == "" { - require.NoError(t, err) - } else { - require.Error(t, err) - require.Contains(t, err.Error(), c.expectErr) - } - } + // The version does not matter if the default config is used. + t.Run("default config", func(t *testing.T) { + opts := MakeDefaultOptions() + settings := cluster.MakeTestingClusterSettingsWithVersions(clusterversion.V23_2_ChangefeedLaggingRangesOpts.Version(), clusterversion.V23_1.Version(), true) + _, _, err := opts.GetLaggingRangesConfig(ctx, settings) + require.NoError(t, err) + + settings = cluster.MakeTestingClusterSettingsWithVersions((clusterversion.V23_2_ChangefeedLaggingRangesOpts - 1).Version(), clusterversion.V23_1.Version(), true) + _, _, err = opts.GetLaggingRangesConfig(ctx, settings) + require.NoError(t, err) + }) + + t.Run("non-default options", func(t *testing.T) { + opts := MakeDefaultOptions() + + opts.m[OptLaggingRangesThreshold] = "25ms" + opts.m[OptLaggingRangesPollingInterval] = "250ms" + + settings := cluster.MakeTestingClusterSettingsWithVersions(clusterversion.V23_2_ChangefeedLaggingRangesOpts.Version(), clusterversion.V23_1.Version(), true) + _, _, err := opts.GetLaggingRangesConfig(ctx, settings) + require.NoError(t, err) + settings = cluster.MakeTestingClusterSettingsWithVersions((clusterversion.V23_2_ChangefeedLaggingRangesOpts - 1).Version(), clusterversion.V23_1.Version(), true) + _, _, err = opts.GetLaggingRangesConfig(ctx, settings) + require.Error(t, err, "cluster version must be 23.2 or greater") + }) } diff --git a/pkg/ccl/changefeedccl/encoder.go b/pkg/ccl/changefeedccl/encoder.go index 832cdb2c2c2f..00f474854733 100644 --- a/pkg/ccl/changefeedccl/encoder.go +++ b/pkg/ccl/changefeedccl/encoder.go @@ -42,7 +42,6 @@ type Encoder interface { } func getEncoder( - ctx context.Context, opts changefeedbase.EncodingOptions, targets changefeedbase.Targets, encodeForQuery bool, @@ -51,7 +50,7 @@ func getEncoder( ) (Encoder, error) { switch opts.Format { case changefeedbase.OptFormatJSON: - return makeJSONEncoder(ctx, jsonEncoderOptions{EncodingOptions: opts, encodeForQuery: encodeForQuery}) + return makeJSONEncoder(jsonEncoderOptions{EncodingOptions: opts, encodeForQuery: encodeForQuery}) case changefeedbase.OptFormatAvro, changefeedbase.DeprecatedOptFormatAvro: return newConfluentAvroEncoder(opts, targets, p, sliMetrics) case changefeedbase.OptFormatCSV: diff --git a/pkg/ccl/changefeedccl/encoder_avro.go b/pkg/ccl/changefeedccl/encoder_avro.go index 0346e2311cad..d6cb74f3f424 100644 --- a/pkg/ccl/changefeedccl/encoder_avro.go +++ b/pkg/ccl/changefeedccl/encoder_avro.go @@ -34,7 +34,6 @@ type confluentAvroEncoder struct { schemaRegistry schemaRegistry schemaPrefix string updatedField, beforeField bool - mvccTimestampField bool virtualColumnVisibility changefeedbase.VirtualColumnVisibility targets changefeedbase.Targets envelopeType changefeedbase.EnvelopeType @@ -91,7 +90,6 @@ func newConfluentAvroEncoder( e.updatedField = opts.UpdatedTimestamps e.beforeField = opts.Diff e.customKeyColumn = opts.CustomKeyColumn - e.mvccTimestampField = opts.MVCCTimestamps // TODO: Implement this. if opts.KeyInValue { @@ -259,10 +257,10 @@ func (e *confluentAvroEncoder) EncodeValue( // This means metadata can safely go at the top level as there are never arbitrary column names // for it to conflict with. if e.envelopeType == changefeedbase.OptEnvelopeWrapped { - opts = avroEnvelopeOpts{afterField: true, beforeField: e.beforeField, updatedField: e.updatedField, mvccTimestampField: e.mvccTimestampField} + opts = avroEnvelopeOpts{afterField: true, beforeField: e.beforeField, updatedField: e.updatedField} afterDataSchema = currentSchema } else { - opts = avroEnvelopeOpts{recordField: true, updatedField: e.updatedField, mvccTimestampField: e.mvccTimestampField} + opts = avroEnvelopeOpts{recordField: true, updatedField: e.updatedField} recordDataSchema = currentSchema } @@ -286,12 +284,11 @@ func (e *confluentAvroEncoder) EncodeValue( e.valueCache.Add(cacheKey, registered) } - meta := avroMetadata{} + var meta avroMetadata if registered.schema.opts.updatedField { - meta[`updated`] = evCtx.updated - } - if registered.schema.opts.mvccTimestampField { - meta[`mvcc_timestamp`] = evCtx.mvcc + meta = map[string]interface{}{ + `updated`: evCtx.updated, + } } // https://docs.confluent.io/current/schema-registry/docs/serializer-formatter.html#wire-format diff --git a/pkg/ccl/changefeedccl/encoder_json.go b/pkg/ccl/changefeedccl/encoder_json.go index b25c046d9b3f..db2e30826c46 100644 --- a/pkg/ccl/changefeedccl/encoder_json.go +++ b/pkg/ccl/changefeedccl/encoder_json.go @@ -28,27 +28,9 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/cache" "github.com/cockroachdb/cockroach/pkg/util/hlc" "github.com/cockroachdb/cockroach/pkg/util/json" - "github.com/cockroachdb/cockroach/pkg/util/log" "github.com/cockroachdb/errors" ) -const ( - // jsonNullAsObjectKey is the key used in null-as-object mode to represent a JSON null value. - jsonNullAsObjectKey = `__crdb_json_null__` -) - -var jsonNullAsObjectJSONNullObj json.JSON - -func init() { - j, err := json.MakeJSON(map[string]any{ - jsonNullAsObjectKey: json.FromBool(true), - }) - if err != nil { - panic(err) - } - jsonNullAsObjectJSONNullObj = j -} - // jsonEncoder encodes changefeed entries as JSON. Keys are the primary key // columns in a JSON array. Values are a JSON object mapping every column name // to its value. Updated timestamps in rows and resolved timestamp payloads are @@ -93,7 +75,7 @@ type jsonEncoderOptions struct { encodeForQuery bool } -func makeJSONEncoder(ctx context.Context, opts jsonEncoderOptions) (*jsonEncoder, error) { +func makeJSONEncoder(opts jsonEncoderOptions) (*jsonEncoder, error) { versionCache := cache.NewUnorderedCache(cdcevent.DefaultCacheConfig) e := &jsonEncoder{ envelopeType: opts.Envelope, @@ -118,7 +100,7 @@ func makeJSONEncoder(ctx context.Context, opts jsonEncoderOptions) (*jsonEncoder splitPrevRowVersion: isPrev && opts.encodeForQuery && opts.Envelope != changefeedbase.OptEnvelopeBare, } return getCachedOrCreate(key, versionCache, func() interface{} { - return &versionEncoder{encodeJSONValueNullAsObject: opts.EncodeJSONValueNullAsObject} + return &versionEncoder{} }).(*versionEncoder) }, } @@ -135,11 +117,11 @@ func makeJSONEncoder(ctx context.Context, opts jsonEncoderOptions) (*jsonEncoder } if e.envelopeType == changefeedbase.OptEnvelopeWrapped { - if err := e.initWrappedEnvelope(ctx); err != nil { + if err := e.initWrappedEnvelope(); err != nil { return nil, err } } else { - if err := e.initRawEnvelope(ctx); err != nil { + if err := e.initRawEnvelope(); err != nil { return nil, err } } @@ -149,12 +131,11 @@ func makeJSONEncoder(ctx context.Context, opts jsonEncoderOptions) (*jsonEncoder // versionEncoder memoizes version specific encoding state. type versionEncoder struct { - encodeJSONValueNullAsObject bool - valueBuilder *json.FixedKeysObjectBuilder + valueBuilder *json.FixedKeysObjectBuilder } // EncodeKey implements the Encoder interface. -func (e *jsonEncoder) EncodeKey(ctx context.Context, row cdcevent.Row) (enc []byte, err error) { +func (e *jsonEncoder) EncodeKey(_ context.Context, row cdcevent.Row) (enc []byte, err error) { var keys cdcevent.Iterator if e.customKeyColumn == "" { keys = row.ForEachKeyColumn() @@ -164,7 +145,7 @@ func (e *jsonEncoder) EncodeKey(ctx context.Context, row cdcevent.Row) (enc []by return nil, err } } - j, err := e.versionEncoder(row.EventDescriptor, false).encodeKeyRaw(ctx, keys) + j, err := e.versionEncoder(row.EventDescriptor, false).encodeKeyRaw(keys) if err != nil { return nil, err } @@ -173,12 +154,10 @@ func (e *jsonEncoder) EncodeKey(ctx context.Context, row cdcevent.Row) (enc []by return e.buf.Bytes(), nil } -func (e *versionEncoder) encodeKeyRaw( - ctx context.Context, it cdcevent.Iterator, -) (json.JSON, error) { +func (e *versionEncoder) encodeKeyRaw(it cdcevent.Iterator) (json.JSON, error) { kb := json.NewArrayBuilder(1) if err := it.Datum(func(d tree.Datum, col cdcevent.ResultColumn) error { - j, err := e.datumToJSON(ctx, d) + j, err := tree.AsJSON(d, sessiondatapb.DataConversionConfig{}, time.UTC) if err != nil { return err } @@ -192,9 +171,9 @@ func (e *versionEncoder) encodeKeyRaw( } func (e *versionEncoder) encodeKeyInValue( - ctx context.Context, updated cdcevent.Row, b *json.FixedKeysObjectBuilder, + updated cdcevent.Row, b *json.FixedKeysObjectBuilder, ) error { - keyEntries, err := e.encodeKeyRaw(ctx, updated.ForEachKeyColumn()) + keyEntries, err := e.encodeKeyRaw(updated.ForEachKeyColumn()) if err != nil { return err } @@ -202,7 +181,7 @@ func (e *versionEncoder) encodeKeyInValue( } func (e *versionEncoder) rowAsGoNative( - ctx context.Context, row cdcevent.Row, emitDeletedRowAsNull bool, meta json.JSON, + row cdcevent.Row, emitDeletedRowAsNull bool, meta json.JSON, ) (json.JSON, error) { if !row.HasValues() || (emitDeletedRowAsNull && row.IsDeleted()) { if meta != nil { @@ -230,7 +209,7 @@ func (e *versionEncoder) rowAsGoNative( } if err := row.ForEachColumn().Datum(func(d tree.Datum, col cdcevent.ResultColumn) error { - j, err := e.datumToJSON(ctx, d) + j, err := tree.AsJSON(d, sessiondatapb.DataConversionConfig{}, time.UTC) if err != nil { return err } @@ -248,52 +227,7 @@ func (e *versionEncoder) rowAsGoNative( return e.valueBuilder.Build() } -var jsonNullObjectCollisionLogLim = log.Every(10 * time.Second) - -func (e *versionEncoder) datumToJSON(ctx context.Context, d tree.Datum) (json.JSON, error) { - j, err := tree.AsJSON(d, sessiondatapb.DataConversionConfig{}, time.UTC) - if err != nil { - return nil, err - } - - if e.encodeJSONValueNullAsObject { - if j.Type() == json.NullJSONType && d != tree.DNull { - j = jsonNullAsObjectJSONNullObj - } else { - collides, err := jsonCollidesWithNullObject(j) - if err != nil { - return nil, err - } - if collides && jsonNullObjectCollisionLogLim.ShouldLog() { - log.Warningf(ctx, "JSON value collides with reserved null object: %q", j.String()) - } - } - } - return j, nil -} - -// jsonCollidesWithNullObject returns true if the given JSON object collides with the null object sentinel: `{"__crdb_json_null__": true}`. -func jsonCollidesWithNullObject(j json.JSON) (bool, error) { - if j.Type() != json.ObjectJSONType { - return false, nil - } - if j.Len() != 1 { - return false, nil - } - val, err := j.FetchValKey(jsonNullAsObjectKey) - if err != nil { - return false, err - } - if val == nil { - return false, nil - } - if v, ok := val.AsBool(); ok && v { - return true, nil - } - return false, nil -} - -func (e *jsonEncoder) initRawEnvelope(ctx context.Context) error { +func (e *jsonEncoder) initRawEnvelope() error { // Determine if we need to add crdb meta. var metaKeys []string if e.updatedField { @@ -323,7 +257,7 @@ func (e *jsonEncoder) initRawEnvelope(ctx context.Context) error { e.envelopeEncoder = func(evCtx eventContext, updated, _ cdcevent.Row) (_ json.JSON, err error) { ve := e.versionEncoder(updated.EventDescriptor, false) if len(metaKeys) == 0 { - return ve.rowAsGoNative(ctx, updated, emitDeletedRowAsNull, nil) + return ve.rowAsGoNative(updated, emitDeletedRowAsNull, nil) } if e.updatedField { @@ -339,7 +273,7 @@ func (e *jsonEncoder) initRawEnvelope(ctx context.Context) error { } if e.keyInValue { - if err := ve.encodeKeyInValue(ctx, updated, metaBuilder); err != nil { + if err := ve.encodeKeyInValue(updated, metaBuilder); err != nil { return nil, err } } @@ -354,12 +288,12 @@ func (e *jsonEncoder) initRawEnvelope(ctx context.Context) error { if err != nil { return nil, err } - return ve.rowAsGoNative(ctx, updated, emitDeletedRowAsNull, meta) + return ve.rowAsGoNative(updated, emitDeletedRowAsNull, meta) } return nil } -func (e *jsonEncoder) initWrappedEnvelope(ctx context.Context) error { +func (e *jsonEncoder) initWrappedEnvelope() error { keys := []string{"after"} if e.beforeField { keys = append(keys, "before") @@ -384,7 +318,7 @@ func (e *jsonEncoder) initWrappedEnvelope(ctx context.Context) error { const emitDeletedRowAsNull = true e.envelopeEncoder = func(evCtx eventContext, updated, prev cdcevent.Row) (json.JSON, error) { ve := e.versionEncoder(updated.EventDescriptor, false) - after, err := ve.rowAsGoNative(ctx, updated, emitDeletedRowAsNull, nil) + after, err := ve.rowAsGoNative(updated, emitDeletedRowAsNull, nil) if err != nil { return nil, err } @@ -395,7 +329,7 @@ func (e *jsonEncoder) initWrappedEnvelope(ctx context.Context) error { if e.beforeField { var before json.JSON if prev.IsInitialized() && !prev.IsDeleted() { - before, err = e.versionEncoder(prev.EventDescriptor, true).rowAsGoNative(ctx, prev, emitDeletedRowAsNull, nil) + before, err = e.versionEncoder(prev.EventDescriptor, true).rowAsGoNative(prev, emitDeletedRowAsNull, nil) if err != nil { return nil, err } @@ -409,7 +343,7 @@ func (e *jsonEncoder) initWrappedEnvelope(ctx context.Context) error { } if e.keyInValue { - if err := ve.encodeKeyInValue(ctx, updated, b); err != nil { + if err := ve.encodeKeyInValue(updated, b); err != nil { return nil, err } } @@ -480,9 +414,7 @@ var placeholderCtx = eventContext{topic: "topic"} // EncodeAsJSONChangefeedWithFlags implements the crdb_internal.to_json_as_changefeed_with_flags // builtin. -func EncodeAsJSONChangefeedWithFlags( - ctx context.Context, r cdcevent.Row, flags ...string, -) ([]byte, error) { +func EncodeAsJSONChangefeedWithFlags(r cdcevent.Row, flags ...string) ([]byte, error) { optsMap := make(map[string]string, len(flags)) for _, f := range flags { split := strings.SplitN(f, "=", 2) @@ -500,7 +432,7 @@ func EncodeAsJSONChangefeedWithFlags( // If this function ends up needing to be optimized, cache or pool these. // Nontrivial to do as an encoder generally isn't safe to call on different // rows in parallel. - e, err := makeJSONEncoder(ctx, jsonEncoderOptions{EncodingOptions: opts}) + e, err := makeJSONEncoder(jsonEncoderOptions{EncodingOptions: opts}) if err != nil { return nil, err } @@ -519,7 +451,7 @@ func init() { for i, d := range args[1:] { flags[i] = string(tree.MustBeDString(d)) } - o, err := EncodeAsJSONChangefeedWithFlags(ctx, row, flags...) + o, err := EncodeAsJSONChangefeedWithFlags(row, flags...) if err != nil { return nil, pgerror.Wrap(err, pgcode.InvalidParameterValue, ``) } @@ -533,7 +465,7 @@ func init() { } utilccl.RegisterCCLBuiltin("crdb_internal.to_json_as_changefeed_with_flags", - `Encodes a tuple the way a changefeed would output it if it were inserted as a row or emitted by a changefeed expression, and returns the raw bytes. + `Encodes a tuple the way a changefeed would output it if it were inserted as a row or emitted by a changefeed expression, and returns the raw bytes. Flags such as 'diff' modify the encoding as though specified in the WITH portion of a changefeed.`, overload) } diff --git a/pkg/ccl/changefeedccl/encoder_json_test.go b/pkg/ccl/changefeedccl/encoder_json_test.go deleted file mode 100644 index 27782222e6bf..000000000000 --- a/pkg/ccl/changefeedccl/encoder_json_test.go +++ /dev/null @@ -1,307 +0,0 @@ -// Copyright 2018 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package changefeedccl - -import ( - "context" - gojson "encoding/json" - "testing" - - "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl/cdcevent" - "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl/changefeedbase" - "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" - "github.com/cockroachdb/cockroach/pkg/sql/catalog" - "github.com/cockroachdb/cockroach/pkg/sql/rowenc" - "github.com/cockroachdb/cockroach/pkg/sql/sem/tree" - "github.com/cockroachdb/cockroach/pkg/util/hlc" - "github.com/cockroachdb/cockroach/pkg/util/json" - "github.com/cockroachdb/cockroach/pkg/util/leaktest" - "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" -) - -func TestJSONEncoderJSONNullAsObject(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - tableDesc, err := parseTableDesc(`CREATE TABLE foo (a JSONB PRIMARY KEY, b JSONB)`) - require.NoError(t, err) - - objb := json.NewObjectBuilder(1) - objb.Add("foo", json.FromString("bar")) - obj := objb.Build() - - rowWithData := rowenc.EncDatumRow{ - rowenc.EncDatum{Datum: tree.NewDJSON(json.FromInt(1))}, - rowenc.EncDatum{Datum: tree.NewDJSON(obj)}, - } - rowWithSQLNull := rowenc.EncDatumRow{ - rowenc.EncDatum{Datum: tree.NewDJSON(json.FromInt(1))}, - rowenc.EncDatum{Datum: tree.DNull}, - } - rowWithJSONNull := rowenc.EncDatumRow{ - rowenc.EncDatum{Datum: tree.NewDJSON(json.FromInt(1))}, - rowenc.EncDatum{Datum: tree.NewDJSON(json.NullJSONValue)}, - } - rowWithJSONNullKey := rowenc.EncDatumRow{ - rowenc.EncDatum{Datum: tree.NewDJSON(json.NullJSONValue)}, - rowenc.EncDatum{Datum: tree.NewDJSON(obj)}, - } - - ts := hlc.Timestamp{WallTime: 1, Logical: 2} - evCtx := eventContext{updated: ts} - - targets := mkTargets(tableDesc) - - cases := []struct { - name string - envelope changefeedbase.EnvelopeType - row, prevRow rowenc.EncDatumRow - expectedKey, expectedValue []byte - }{ - { - name: "wrapped: data", - envelope: changefeedbase.OptEnvelopeWrapped, - row: rowWithData, - expectedKey: []byte(`[1]`), - expectedValue: []byte(`{"after": {"a":1,"b":{"foo":"bar"}}, "before": null}`), - }, - { - name: "wrapped: sql null", - envelope: changefeedbase.OptEnvelopeWrapped, - row: rowWithSQLNull, - expectedKey: []byte(`[1]`), - expectedValue: []byte(`{"after": {"a":1,"b":null}, "before": null}`), - }, - { - name: "wrapped: json null", - envelope: changefeedbase.OptEnvelopeWrapped, - row: rowWithJSONNull, - expectedKey: []byte(`[1]`), - expectedValue: []byte(`{"after": {"a":1,"b":{"__crdb_json_null__":true}}, "before": null}`), - }, - { - name: "wrapped: json null key", - envelope: changefeedbase.OptEnvelopeWrapped, - row: rowWithJSONNullKey, - expectedKey: []byte(`[{"__crdb_json_null__":true}]`), - expectedValue: []byte(`{"after": {"a":{"__crdb_json_null__":true},"b":{"foo":"bar"}}, "before": null}`), - }, - { - name: "wrapped: prev sql null", - envelope: changefeedbase.OptEnvelopeWrapped, - row: rowWithData, - prevRow: rowWithSQLNull, - expectedValue: []byte(`{"before": {"a":1,"b":null}, "after": {"a":1,"b":{"foo":"bar"}}}`), - }, - { - name: "wrapped: prev json null", - envelope: changefeedbase.OptEnvelopeWrapped, - row: rowWithData, - prevRow: rowWithJSONNull, - expectedValue: []byte(`{"after": {"a":1,"b":{"foo":"bar"}}, "before": {"a":1,"b":{"__crdb_json_null__":true}}}`), - }, - - { - name: "bare: data", - envelope: changefeedbase.OptEnvelopeBare, - row: rowWithData, - expectedKey: []byte(`[1]`), - expectedValue: []byte(`{"a":1,"b":{"foo":"bar"}}`), - }, - { - name: "bare: sql null", - envelope: changefeedbase.OptEnvelopeBare, - row: rowWithSQLNull, - expectedKey: []byte(`[1]`), - expectedValue: []byte(`{"a":1,"b":null}`), - }, - { - name: "bare: json null", - envelope: changefeedbase.OptEnvelopeBare, - row: rowWithJSONNull, - expectedKey: []byte(`[1]`), - expectedValue: []byte(`{"a":1,"b":{"__crdb_json_null__":true}}`), - }, - { - name: "bare: json null key", - envelope: changefeedbase.OptEnvelopeBare, - row: rowWithJSONNullKey, - expectedKey: []byte(`[{"__crdb_json_null__":true}]`), - expectedValue: []byte(`{"a":{"__crdb_json_null__":true},"b":{"foo":"bar"}}`), - }, - } - - for _, c := range cases { - opts := changefeedbase.EncodingOptions{ - Format: changefeedbase.OptFormatJSON, Envelope: c.envelope, Diff: true, EncodeJSONValueNullAsObject: true, - } - require.NoError(t, opts.Validate()) - - // NOTE: This is no longer required in go 1.22+, but bazel still requires it. See https://github.com/bazelbuild/rules_go/issues/3924 - c := c - t.Run(c.name, func(t *testing.T) { - e, err := getEncoder(ctx, opts, targets, false, nil, nil) - require.NoError(t, err) - - row := cdcevent.TestingMakeEventRow(tableDesc, 0, c.row, false) - prevRow := cdcevent.TestingMakeEventRow(tableDesc, 0, c.prevRow, false) - - key, err := e.EncodeKey(ctx, row) - require.NoError(t, err) - key = append([]byte(nil), key...) - value, err := e.EncodeValue(ctx, evCtx, row, prevRow) - require.NoError(t, err) - - if c.expectedKey != nil { - assert.Equal(t, string(normalizeJson(t, c.expectedKey)), string(normalizeJson(t, key))) - } - if c.expectedValue != nil { - assert.Equal(t, string(normalizeJson(t, c.expectedValue)), string(normalizeJson(t, value))) - } - }) - } -} - -func TestJSONEncoderJSONNullAsObjectEdgeCases(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - ts := hlc.Timestamp{WallTime: 1, Logical: 2} - evCtx := eventContext{updated: ts} - opts := changefeedbase.EncodingOptions{ - Format: changefeedbase.OptFormatJSON, Envelope: changefeedbase.OptEnvelopeWrapped, Diff: true, EncodeJSONValueNullAsObject: true, - } - require.NoError(t, opts.Validate()) - - t.Run("table with column name __crdb_json_null__", func(t *testing.T) { - tableDesc, err := parseTableDesc(`CREATE TABLE foo (a int PRIMARY KEY, __crdb_json_null__ bool, b jsonb)`) - require.NoError(t, err) - targets := mkTargets(tableDesc) - - eRow := rowenc.EncDatumRow{ - rowenc.EncDatum{Datum: tree.NewDInt(tree.DInt(1))}, - rowenc.EncDatum{Datum: tree.DBoolTrue}, - rowenc.EncDatum{Datum: tree.NewDJSON(json.NullJSONValue)}, - } - e, err := getEncoder(ctx, opts, targets, false, nil, nil) - require.NoError(t, err) - - row := cdcevent.TestingMakeEventRow(tableDesc, 0, eRow, false) - prevRow := cdcevent.TestingMakeEventRow(tableDesc, 0, nil, false) - - value, err := e.EncodeValue(ctx, evCtx, row, prevRow) - require.NoError(t, err) - expected := `{"before": null, "after": {"a": 1, "__crdb_json_null__": true, "b": {"__crdb_json_null__": true}}}` - assert.Equal(t, string(normalizeJson(t, []byte(expected))), string(normalizeJson(t, value))) - }) - - twoJSONsTableDesc, err := parseTableDesc(`CREATE TABLE foo (a int PRIMARY KEY, b jsonb, c jsonb)`) - require.NoError(t, err) - twoJSONsTargets := mkTargets(twoJSONsTableDesc) - prevNilRow := cdcevent.TestingMakeEventRow(twoJSONsTableDesc, 0, nil, false) - - t.Run("test with sql null and json null in the same row", func(t *testing.T) { - eRow := rowenc.EncDatumRow{ - rowenc.EncDatum{Datum: tree.NewDInt(tree.DInt(1))}, - rowenc.EncDatum{Datum: tree.NewDJSON(json.NullJSONValue)}, - rowenc.EncDatum{Datum: tree.DNull}, - } - e, err := getEncoder(ctx, opts, twoJSONsTargets, false, nil, nil) - require.NoError(t, err) - - row := cdcevent.TestingMakeEventRow(twoJSONsTableDesc, 0, eRow, false) - - value, err := e.EncodeValue(ctx, evCtx, row, prevNilRow) - require.NoError(t, err) - expected := `{"before": null, "after": {"a": 1, "b": {"__crdb_json_null__": true}, "c": null}}` - assert.Equal(t, string(normalizeJson(t, []byte(expected))), string(normalizeJson(t, value))) - }) - - t.Run("test with two json nulls in the same row", func(t *testing.T) { - eRow := rowenc.EncDatumRow{ - rowenc.EncDatum{Datum: tree.NewDInt(tree.DInt(1))}, - rowenc.EncDatum{Datum: tree.NewDJSON(json.NullJSONValue)}, - rowenc.EncDatum{Datum: tree.NewDJSON(json.NullJSONValue)}, - } - e, err := getEncoder(ctx, opts, twoJSONsTargets, false, nil, nil) - require.NoError(t, err) - - row := cdcevent.TestingMakeEventRow(twoJSONsTableDesc, 0, eRow, false) - - value, err := e.EncodeValue(ctx, evCtx, row, prevNilRow) - require.NoError(t, err) - expected := `{"before": null, "after": {"a": 1, "b": {"__crdb_json_null__": true}, "c": {"__crdb_json_null__": true}}}` - assert.Equal(t, string(normalizeJson(t, []byte(expected))), string(normalizeJson(t, value))) - }) - - t.Run("demonstrate nulls encoded the same without this option look the same", func(t *testing.T) { - disabledOpts := changefeedbase.EncodingOptions{ - Format: changefeedbase.OptFormatJSON, Envelope: changefeedbase.OptEnvelopeWrapped, Diff: true, - } - require.NoError(t, disabledOpts.Validate()) - eRow := rowenc.EncDatumRow{ - rowenc.EncDatum{Datum: tree.NewDInt(tree.DInt(1))}, - rowenc.EncDatum{Datum: tree.NewDJSON(json.NullJSONValue)}, - rowenc.EncDatum{Datum: tree.DNull}, - } - e, err := getEncoder(ctx, disabledOpts, twoJSONsTargets, false, nil, nil) - require.NoError(t, err) - - row := cdcevent.TestingMakeEventRow(twoJSONsTableDesc, 0, eRow, false) - - value, err := e.EncodeValue(ctx, evCtx, row, prevNilRow) - require.NoError(t, err) - expected := `{"before": null, "after": {"a": 1, "b": null, "c": null}}` - assert.Equal(t, string(normalizeJson(t, []byte(expected))), string(normalizeJson(t, value))) - }) - - t.Run("test with json null and an object with the same format as our sentinel - confusing but correct", func(t *testing.T) { - objb := json.NewObjectBuilder(1) - objb.Add(jsonNullAsObjectKey, json.FromBool(true)) - obj := objb.Build() - - eRow := rowenc.EncDatumRow{ - rowenc.EncDatum{Datum: tree.NewDInt(tree.DInt(1))}, - rowenc.EncDatum{Datum: tree.NewDJSON(json.NullJSONValue)}, - rowenc.EncDatum{Datum: tree.NewDJSON(obj)}, - } - e, err := getEncoder(ctx, opts, twoJSONsTargets, false, nil, nil) - require.NoError(t, err) - - row := cdcevent.TestingMakeEventRow(twoJSONsTableDesc, 0, eRow, false) - - value, err := e.EncodeValue(ctx, evCtx, row, prevNilRow) - require.NoError(t, err) - expected := `{"before": null, "after": {"a": 1, "b": {"__crdb_json_null__": true}, "c": {"__crdb_json_null__": true}}}` - assert.Equal(t, string(normalizeJson(t, []byte(expected))), string(normalizeJson(t, value))) - }) - -} - -func normalizeJson(t *testing.T, b []byte) []byte { - var v interface{} - require.NoError(t, gojson.Unmarshal(b, &v)) - norm, err := gojson.Marshal(v) - require.NoError(t, err) - return norm -} - -func mkTargets(tableDesc catalog.TableDescriptor) changefeedbase.Targets { - targets := changefeedbase.Targets{} - targets.Add(changefeedbase.Target{ - Type: jobspb.ChangefeedTargetSpecification_PRIMARY_FAMILY_ONLY, - TableID: tableDesc.GetID(), - StatementTimeName: changefeedbase.StatementTimeName(tableDesc.GetName()), - }) - return targets -} diff --git a/pkg/ccl/changefeedccl/encoder_test.go b/pkg/ccl/changefeedccl/encoder_test.go index 9033566066f5..de8ef5c63f38 100644 --- a/pkg/ccl/changefeedccl/encoder_test.go +++ b/pkg/ccl/changefeedccl/encoder_test.go @@ -240,7 +240,7 @@ func TestEncoders(t *testing.T) { return } require.NoError(t, o.Validate()) - e, err := getEncoder(context.Background(), o, targets, false, nil, nil) + e, err := getEncoder(o, targets, false, nil, nil) require.NoError(t, err) rowInsert := cdcevent.TestingMakeEventRow(tableDesc, 0, row, false) @@ -386,7 +386,7 @@ func TestAvroEncoderWithTLS(t *testing.T) { StatementTimeName: changefeedbase.StatementTimeName(tableDesc.GetName()), }) - e, err := getEncoder(context.Background(), opts, targets, false, nil, nil) + e, err := getEncoder(opts, targets, false, nil, nil) require.NoError(t, err) rowInsert := cdcevent.TestingMakeEventRow(tableDesc, 0, row, false) @@ -418,7 +418,7 @@ func TestAvroEncoderWithTLS(t *testing.T) { defer noCertReg.Close() opts.SchemaRegistryURI = noCertReg.URL() - enc, err := getEncoder(context.Background(), opts, targets, false, nil, nil) + enc, err := getEncoder(opts, targets, false, nil, nil) require.NoError(t, err) _, err = enc.EncodeKey(context.Background(), rowInsert) require.Regexp(t, "x509", err) @@ -431,7 +431,7 @@ func TestAvroEncoderWithTLS(t *testing.T) { defer wrongCertReg.Close() opts.SchemaRegistryURI = wrongCertReg.URL() - enc, err = getEncoder(context.Background(), opts, targets, false, nil, nil) + enc, err = getEncoder(opts, targets, false, nil, nil) require.NoError(t, err) _, err = enc.EncodeKey(context.Background(), rowInsert) require.Regexp(t, `contacting confluent schema registry.*: x509`, err) @@ -817,7 +817,7 @@ func TestTableNameCollision(t *testing.T) { }) } - cdcTest(t, testFn, feedTestForceSink("kafka"), feedTestUseRootUserConnection, withDebugUseAfterFinish) + cdcTest(t, testFn, feedTestForceSink("kafka"), feedTestUseRootUserConnection) } func TestAvroMigrateToUnsupportedColumn(t *testing.T) { @@ -937,7 +937,7 @@ func BenchmarkEncoders(b *testing.B) { b.ReportAllocs() b.StopTimer() - encoder, err := getEncoder(context.Background(), opts, targets, false, nil, nil) + encoder, err := getEncoder(opts, targets, false, nil, nil) if err != nil { b.Fatal(err) } @@ -1167,7 +1167,7 @@ func TestJsonRountrip(t *testing.T) { switch typ { case types.Jsonb: // Unsupported by sql/catalog/colinfo - case types.TSQuery, types.TSVector, types.PGVector: + case types.TSQuery, types.TSVector: // Unsupported by pkg/sql/parser default: if arrayTyp.InternalType.ArrayContents == typ { @@ -1209,7 +1209,7 @@ func TestJsonRountrip(t *testing.T) { dRow := rowenc.EncDatumRow{rowenc.EncDatum{Datum: tree.NewDInt(1)}, rowenc.EncDatum{Datum: test.datum}} cdcRow := cdcevent.TestingMakeEventRow(tableDesc, 0, dRow, false) - encoder, err := makeJSONEncoder(context.Background(), jsonEncoderOptions{}) + encoder, err := makeJSONEncoder(jsonEncoderOptions{}) require.NoError(t, err) // Encode the value to a string and parse it. Assert that the parsed json matches the @@ -1301,7 +1301,7 @@ func TestAvroWithRegionalTable(t *testing.T) { sqlDB.Exec(t, `CREATE TABLE table1 (a INT PRIMARY KEY) LOCALITY REGIONAL BY ROW`) schemaReg := cdctest.StartTestSchemaRegistry() defer schemaReg.Close() - stmt := fmt.Sprintf(`CREATE CHANGEFEED FOR TABLE table1 WITH format = avro, envelope = %s, + stmt := fmt.Sprintf(`CREATE CHANGEFEED FOR TABLE table1 WITH format = avro, envelope = %s, confluent_schema_registry = "%s", schema_change_events = column_changes, schema_change_policy = nobackfill`, test.envelope, schemaReg.URL()) diff --git a/pkg/ccl/changefeedccl/event_processing.go b/pkg/ccl/changefeedccl/event_processing.go index 4759554fad21..0acacf433559 100644 --- a/pkg/ccl/changefeedccl/event_processing.go +++ b/pkg/ccl/changefeedccl/event_processing.go @@ -103,7 +103,7 @@ func newEventConsumer( makeConsumer := func(s EventSink, frontier frontier) (eventConsumer, error) { var err error - encoder, err := getEncoder(ctx, encodingOpts, feed.Targets, spec.Select.Expr != "", + encoder, err := getEncoder(encodingOpts, feed.Targets, spec.Select.Expr != "", makeExternalConnectionProvider(ctx, cfg.DB), sliMetrics) if err != nil { return nil, err diff --git a/pkg/ccl/changefeedccl/fetch_table_bytes.go b/pkg/ccl/changefeedccl/fetch_table_bytes.go index e4454272643c..75fd5cf24b8e 100644 --- a/pkg/ccl/changefeedccl/fetch_table_bytes.go +++ b/pkg/ccl/changefeedccl/fetch_table_bytes.go @@ -97,7 +97,7 @@ func getTableDesc( ) (catalog.TableDescriptor, error) { var desc catalog.TableDescriptor f := func(ctx context.Context, txn descs.Txn) error { - tableDesc, err := txn.Descriptors().ByIDWithoutLeased(txn.KV()).WithoutNonPublic().Get().Table(ctx, tableID) + tableDesc, err := txn.Descriptors().ByID(txn.KV()).WithoutNonPublic().Get().Table(ctx, tableID) if err != nil { return err } diff --git a/pkg/ccl/changefeedccl/helpers_test.go b/pkg/ccl/changefeedccl/helpers_test.go index 72e8c2a60294..15add28b85cd 100644 --- a/pkg/ccl/changefeedccl/helpers_test.go +++ b/pkg/ccl/changefeedccl/helpers_test.go @@ -51,7 +51,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/log/eventpb" "github.com/cockroachdb/cockroach/pkg/util/retry" "github.com/cockroachdb/cockroach/pkg/util/timeutil" - "github.com/cockroachdb/cockroach/pkg/util/tracing" "github.com/cockroachdb/errors" "github.com/cockroachdb/redact" "github.com/lib/pq" @@ -102,7 +101,7 @@ func readNextMessages( return nil, ctx.Err() } if log.V(1) { - log.Infof(context.Background(), "about to read a message (%d out of %d)", len(actual), numMessages) + log.Infof(context.Background(), "About to read a message (%d out of %d)", len(actual), numMessages) } m, err := f.Next() if log.V(1) { @@ -414,10 +413,6 @@ func startTestFullServer( Settings: options.settings, } - if options.debugUseAfterFinish { - args.Tracer = tracing.NewTracerWithOpt(context.Background(), tracing.WithUseAfterFinishOpt(true, true)) - } - if options.argsFn != nil { options.argsFn(&args) } @@ -528,10 +523,6 @@ func startTestTenant( Settings: options.settings, } - if options.debugUseAfterFinish { - tenantArgs.Tracer = tracing.NewTracerWithOpt(context.Background(), tracing.WithUseAfterFinishOpt(true, true)) - } - tenantServer, tenantDB := serverutils.StartTenant(t, systemServer, tenantArgs) // Re-run setup on the tenant as well tenantRunner := sqlutils.MakeSQLRunner(tenantDB) @@ -561,7 +552,6 @@ type feedTestOptions struct { disabledSinkTypes []string settings *cluster.Settings additionalSystemPrivs []string - debugUseAfterFinish bool } type feedTestOption func(opts *feedTestOptions) @@ -627,10 +617,6 @@ func withKnobsFn(fn updateKnobsFn) feedTestOption { // Silence the linter. var _ = withKnobsFn(nil /* fn */) -var withDebugUseAfterFinish feedTestOption = func(opts *feedTestOptions) { - opts.debugUseAfterFinish = true -} - func newTestOptions() feedTestOptions { // percentTenant is the percentage of tests that will be run against // a SQL-node in a multi-tenant server. 1 for all tests to be run on a diff --git a/pkg/ccl/changefeedccl/kvevent/BUILD.bazel b/pkg/ccl/changefeedccl/kvevent/BUILD.bazel index 03d21ca5f7c9..d35af2789238 100644 --- a/pkg/ccl/changefeedccl/kvevent/BUILD.bazel +++ b/pkg/ccl/changefeedccl/kvevent/BUILD.bazel @@ -28,7 +28,6 @@ go_library( "//pkg/util/syncutil", "//pkg/util/timeutil", "@com_github_cockroachdb_errors//:errors", - "@com_github_cockroachdb_redact//:redact", ], ) diff --git a/pkg/ccl/changefeedccl/kvevent/bench_test.go b/pkg/ccl/changefeedccl/kvevent/bench_test.go index e59cb3905cb1..d8ac93dce94e 100644 --- a/pkg/ccl/changefeedccl/kvevent/bench_test.go +++ b/pkg/ccl/changefeedccl/kvevent/bench_test.go @@ -52,7 +52,7 @@ func BenchmarkMemBuffer(b *testing.B) { b.ResetTimer() b.ReportAllocs() - metrics := kvevent.MakeMetrics(time.Minute).AggregatorBufferMetricsWithCompat + metrics := kvevent.MakeMetrics(time.Minute) st := cluster.MakeTestingClusterSettings() buf := kvevent.NewMemBuffer(ba, &st.SV, &metrics) diff --git a/pkg/ccl/changefeedccl/kvevent/blocking_buffer.go b/pkg/ccl/changefeedccl/kvevent/blocking_buffer.go index 9d4b12c0740b..d17017d64806 100644 --- a/pkg/ccl/changefeedccl/kvevent/blocking_buffer.go +++ b/pkg/ccl/changefeedccl/kvevent/blocking_buffer.go @@ -21,14 +21,13 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/syncutil" "github.com/cockroachdb/cockroach/pkg/util/timeutil" "github.com/cockroachdb/errors" - "github.com/cockroachdb/redact" ) // blockingBuffer is an implementation of Buffer which allocates memory // from a mon.BoundAccount and blocks if no resources are available. type blockingBuffer struct { sv *settings.Values - metrics *PerBufferMetricsWithCompat + metrics *Metrics qp allocPool // Pool for memory allocations. signalCh chan struct{} // Signal when new events are available. @@ -52,9 +51,7 @@ type blockingBuffer struct { // It will grow the bound account to buffer more messages but will block if it // runs out of space. If ever any entry exceeds the allocatable size of the // account, an error will be returned when attempting to buffer it. -func NewMemBuffer( - acc mon.BoundAccount, sv *settings.Values, metrics *PerBufferMetricsWithCompat, -) Buffer { +func NewMemBuffer(acc mon.BoundAccount, sv *settings.Values, metrics *Metrics) Buffer { return newMemBuffer(acc, sv, metrics, nil) } @@ -63,7 +60,7 @@ func NewMemBuffer( func TestingNewMemBuffer( acc mon.BoundAccount, sv *settings.Values, - metrics *PerBufferMetricsWithCompat, + metrics *Metrics, onWaitStart quotapool.OnWaitStartFunc, ) Buffer { return newMemBuffer(acc, sv, metrics, onWaitStart) @@ -72,7 +69,7 @@ func TestingNewMemBuffer( func newMemBuffer( acc mon.BoundAccount, sv *settings.Values, - metrics *PerBufferMetricsWithCompat, + metrics *Metrics, onWaitStart quotapool.OnWaitStartFunc, ) Buffer { const slowAcquisitionThreshold = 5 * time.Second @@ -88,7 +85,7 @@ func newMemBuffer( quota := &memQuota{acc: acc, notifyOutOfQuota: b.notifyOutOfQuota} opts := []quotapool.Option{ - quotapool.OnSlowAcquisition(slowAcquisitionThreshold, logSlowAcquisition(slowAcquisitionThreshold, metrics.BufferType)), + quotapool.OnSlowAcquisition(slowAcquisitionThreshold, logSlowAcquisition(slowAcquisitionThreshold)), // OnWaitStart invoked once by quota pool when request cannot acquire quota. quotapool.OnWaitStart(func(ctx context.Context, poolName string, r quotapool.Request) { if onWaitStart != nil { @@ -448,7 +445,7 @@ func (r *memRequest) ShouldWait() bool { type allocPool struct { *quotapool.AbstractPool - metrics *PerBufferMetricsWithCompat + metrics *Metrics sv *settings.Values } @@ -474,21 +471,19 @@ func (ap allocPool) Release(ctx context.Context, bytes, entries int64) { // logSlowAcquisition is a function returning a quotapool.SlowAcquisitionFunction. // It differs from the quotapool.LogSlowAcquisition in that only some of slow acquisition // events are logged to reduce log spam. -func logSlowAcquisition( - slowAcquisitionThreshold time.Duration, bufType bufferType, -) quotapool.SlowAcquisitionFunc { +func logSlowAcquisition(slowAcquisitionThreshold time.Duration) quotapool.SlowAcquisitionFunc { logSlowAcquire := log.Every(slowAcquisitionThreshold) return func(ctx context.Context, poolName string, r quotapool.Request, start time.Time) func() { shouldLog := logSlowAcquire.ShouldLog() if shouldLog { - log.Warningf(ctx, "have been waiting %s attempting to acquire changefeed quota (buffer=%s)", redact.SafeString(bufType), + log.Warningf(ctx, "have been waiting %s attempting to acquire changefeed quota", timeutil.Since(start)) } return func() { if shouldLog { - log.Infof(ctx, "acquired changefeed quota after %s (buffer=%s)", timeutil.Since(start), redact.SafeString(bufType)) + log.Infof(ctx, "acquired changefeed quota after %s", timeutil.Since(start)) } } } diff --git a/pkg/ccl/changefeedccl/kvevent/blocking_buffer_test.go b/pkg/ccl/changefeedccl/kvevent/blocking_buffer_test.go index a9e5fc6035c9..eb4cd569b85b 100644 --- a/pkg/ccl/changefeedccl/kvevent/blocking_buffer_test.go +++ b/pkg/ccl/changefeedccl/kvevent/blocking_buffer_test.go @@ -84,7 +84,7 @@ func TestBlockingBuffer(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) - metrics := kvevent.MakeMetrics(time.Minute).AggregatorBufferMetricsWithCompat + metrics := kvevent.MakeMetrics(time.Minute) ba, release := getBoundAccountWithBudget(4096) defer release() @@ -185,7 +185,7 @@ func TestBlockingBufferNotifiesConsumerWhenOutOfMemory(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) - metrics := kvevent.MakeMetrics(time.Minute).AggregatorBufferMetricsWithCompat + metrics := kvevent.MakeMetrics(time.Minute) ba, release := getBoundAccountWithBudget(4096) defer release() diff --git a/pkg/ccl/changefeedccl/kvevent/metrics.go b/pkg/ccl/changefeedccl/kvevent/metrics.go index 81d6c2629050..1212a5b278ef 100644 --- a/pkg/ccl/changefeedccl/kvevent/metrics.go +++ b/pkg/ccl/changefeedccl/kvevent/metrics.go @@ -62,93 +62,6 @@ var ( // Metrics is a metric.Struct for kvfeed metrics. type Metrics struct { - // RangefeedBufferMetrics tracks metrics for the buffer between the rangefeed and the kvfeed. - // It's exposed to get registered as a metric.Struct. - RangefeedBufferMetrics PerBufferMetrics - // AggregatorBufferMetrics tracks metrics for the buffer between the kvfeed and the sink. - // It's exposed to get registered as a metric.Struct. - AggregatorBufferMetrics PerBufferMetrics - - // RangefeedBufferMetricsWithCompat tracks metrics for the buffer between - // the rangefeed and the kvfeed, while forwarding the old metrics for compatibility. - // This should be the version used by the kvfeed, and it's exposed for that purpose. - RangefeedBufferMetricsWithCompat PerBufferMetricsWithCompat - // AggregatorBufferMetricsWithCompat tracks metrics for the buffer between - // the kvfeed and the sink, while forwarding the old metrics for compatibility. - // This should be the version used by the kvfeed, and it's exposed for that purpose. - AggregatorBufferMetricsWithCompat PerBufferMetricsWithCompat - - // CombinedBufferMetrics tracks the combined metrics for both buffers, for - // historical reasons. It's exposed to get registered as a metric.Struct. - CombinedBufferMetrics PerBufferMetrics -} - -// PerBufferMetricsWithCompat is a compatibility layer between the new -// per-buffer metrics and the old metrics. Note that it is not a metric.Struct. -type PerBufferMetricsWithCompat struct { - BufferType bufferType - BufferEntriesIn *forwardingCounter - BufferEntriesOut *forwardingCounter - BufferEntriesReleased *forwardingCounter - BufferPushbackNanos *forwardingCounter - BufferEntriesMemAcquired *forwardingCounter - BufferEntriesMemReleased *forwardingCounter - AllocatedMem *forwardingGauge - BufferEntriesByType [numEventTypes]*forwardingCounter -} - -// forwardingCounter is a wrapper around multiple `*metric.Counter`s that -// forwards Inc/Dec calls to all of them. It's used here to implement the -// compatibility layer between the new and old metrics. -type forwardingCounter struct { - sinks []*metric.Counter -} - -func (fc *forwardingCounter) Inc(n int64) { - for _, c := range fc.sinks { - c.Inc(n) - } -} - -func (fc *forwardingCounter) Count() int64 { - if len(fc.sinks) == 0 { - return 0 - } - // This method is only used in tests, so just return data from an arbitrary - // sink. - return fc.sinks[0].Count() -} - -// forwardingGauge is a wrapper around multiple `*metric.Gauge`s that -// forwards Inc/Dec calls to all of them. It's used here to implement the -// compatibility layer between the new and old metrics. -type forwardingGauge struct { - sinks []*metric.Gauge -} - -func (fc *forwardingGauge) Inc(n int64) { - for _, c := range fc.sinks { - c.Inc(n) - } -} - -func (fc *forwardingGauge) Dec(n int64) { - for _, c := range fc.sinks { - c.Dec(n) - } -} - -func (fc *forwardingGauge) Value() int64 { - if len(fc.sinks) == 0 { - return 0 - } - // This method is only used in tests, so just return data from an arbitrary - // sink. - return fc.sinks[0].Value() -} - -type PerBufferMetrics struct { - BufferType bufferType BufferEntriesIn *metric.Counter BufferEntriesOut *metric.Counter BufferEntriesReleased *metric.Counter @@ -159,29 +72,6 @@ type PerBufferMetrics struct { BufferEntriesByType [numEventTypes]*metric.Counter } -var _ metric.Struct = (*PerBufferMetrics)(nil) - -func (PerBufferMetrics) MetricStruct() {} - -type bufferType string - -const ( - rangefeedBuffer bufferType = "rangefeed" - aggregatorBuffer bufferType = "aggregator" -) - -// We don't want to rely on labels for this since tsdb doesn't support them, So make separate metrics for each buffer type. -func (bt bufferType) alterMeta(meta metric.Metadata) metric.Metadata { - meta.Name = fmt.Sprintf("%s.%s", meta.Name, bt) - switch bt { - case rangefeedBuffer: - meta.Help = fmt.Sprintf("%s - between the rangefeed and the kvfeed", meta.Help) - case aggregatorBuffer: - meta.Help = fmt.Sprintf("%s - between the kvfeed and the sink", meta.Help) - } - return meta -} - // MakeMetrics constructs a Metrics struct with the provided histogram window. func MakeMetrics(histogramWindow time.Duration) Metrics { eventTypeMeta := func(et Type) metric.Metadata { @@ -202,85 +92,20 @@ func MakeMetrics(histogramWindow time.Duration) Metrics { Unit: metric.Unit_COUNT, } } - m := Metrics{ - RangefeedBufferMetrics: PerBufferMetrics{ - BufferType: rangefeedBuffer, - BufferEntriesIn: metric.NewCounter(rangefeedBuffer.alterMeta(metaChangefeedBufferEntriesIn)), - BufferEntriesOut: metric.NewCounter(rangefeedBuffer.alterMeta(metaChangefeedBufferEntriesOut)), - BufferEntriesReleased: metric.NewCounter(rangefeedBuffer.alterMeta(metaChangefeedBufferEntriesReleased)), - BufferEntriesMemAcquired: metric.NewCounter(rangefeedBuffer.alterMeta(metaChangefeedBufferMemAcquired)), - BufferEntriesMemReleased: metric.NewCounter(rangefeedBuffer.alterMeta(metaChangefeedBufferMemReleased)), - BufferPushbackNanos: metric.NewCounter(rangefeedBuffer.alterMeta(metaChangefeedBufferPushbackNanos)), - AllocatedMem: metric.NewGauge(rangefeedBuffer.alterMeta(metaChangefeedAllocatedMemory)), - BufferEntriesByType: [numEventTypes]*metric.Counter{ - metric.NewCounter(rangefeedBuffer.alterMeta(eventTypeMeta(TypeFlush))), - metric.NewCounter(rangefeedBuffer.alterMeta(eventTypeMeta(TypeKV))), - metric.NewCounter(rangefeedBuffer.alterMeta(eventTypeMeta(TypeResolved))), - }, - }, - AggregatorBufferMetrics: PerBufferMetrics{ - BufferType: aggregatorBuffer, - BufferEntriesIn: metric.NewCounter(aggregatorBuffer.alterMeta(metaChangefeedBufferEntriesIn)), - BufferEntriesOut: metric.NewCounter(aggregatorBuffer.alterMeta(metaChangefeedBufferEntriesOut)), - BufferEntriesReleased: metric.NewCounter(aggregatorBuffer.alterMeta(metaChangefeedBufferEntriesReleased)), - BufferEntriesMemAcquired: metric.NewCounter(aggregatorBuffer.alterMeta(metaChangefeedBufferMemAcquired)), - BufferEntriesMemReleased: metric.NewCounter(aggregatorBuffer.alterMeta(metaChangefeedBufferMemReleased)), - BufferPushbackNanos: metric.NewCounter(aggregatorBuffer.alterMeta(metaChangefeedBufferPushbackNanos)), - AllocatedMem: metric.NewGauge(aggregatorBuffer.alterMeta(metaChangefeedAllocatedMemory)), - BufferEntriesByType: [numEventTypes]*metric.Counter{ - metric.NewCounter(aggregatorBuffer.alterMeta(eventTypeMeta(TypeFlush))), - metric.NewCounter(aggregatorBuffer.alterMeta(eventTypeMeta(TypeKV))), - metric.NewCounter(aggregatorBuffer.alterMeta(eventTypeMeta(TypeResolved))), - }, - }, - CombinedBufferMetrics: PerBufferMetrics{ - BufferType: aggregatorBuffer, - BufferEntriesIn: metric.NewCounter(metaChangefeedBufferEntriesIn), - BufferEntriesOut: metric.NewCounter(metaChangefeedBufferEntriesOut), - BufferEntriesReleased: metric.NewCounter(metaChangefeedBufferEntriesReleased), - BufferEntriesMemAcquired: metric.NewCounter(metaChangefeedBufferMemAcquired), - BufferEntriesMemReleased: metric.NewCounter(metaChangefeedBufferMemReleased), - BufferPushbackNanos: metric.NewCounter(metaChangefeedBufferPushbackNanos), - AllocatedMem: metric.NewGauge(metaChangefeedAllocatedMemory), - BufferEntriesByType: [numEventTypes]*metric.Counter{ - metric.NewCounter(eventTypeMeta(TypeFlush)), - metric.NewCounter(eventTypeMeta(TypeKV)), - metric.NewCounter(eventTypeMeta(TypeResolved)), - }, - }, - } - - m.AggregatorBufferMetricsWithCompat = PerBufferMetricsWithCompat{ - BufferType: aggregatorBuffer, - BufferEntriesIn: &forwardingCounter{sinks: []*metric.Counter{m.AggregatorBufferMetrics.BufferEntriesIn, m.CombinedBufferMetrics.BufferEntriesIn}}, - BufferEntriesOut: &forwardingCounter{sinks: []*metric.Counter{m.AggregatorBufferMetrics.BufferEntriesOut, m.CombinedBufferMetrics.BufferEntriesOut}}, - BufferEntriesReleased: &forwardingCounter{sinks: []*metric.Counter{m.AggregatorBufferMetrics.BufferEntriesReleased, m.CombinedBufferMetrics.BufferEntriesReleased}}, - BufferEntriesMemAcquired: &forwardingCounter{sinks: []*metric.Counter{m.AggregatorBufferMetrics.BufferEntriesMemAcquired, m.CombinedBufferMetrics.BufferEntriesMemAcquired}}, - BufferEntriesMemReleased: &forwardingCounter{sinks: []*metric.Counter{m.AggregatorBufferMetrics.BufferEntriesMemReleased, m.CombinedBufferMetrics.BufferEntriesMemReleased}}, - BufferPushbackNanos: &forwardingCounter{sinks: []*metric.Counter{m.AggregatorBufferMetrics.BufferPushbackNanos, m.CombinedBufferMetrics.BufferPushbackNanos}}, - AllocatedMem: &forwardingGauge{sinks: []*metric.Gauge{m.AggregatorBufferMetrics.AllocatedMem, m.CombinedBufferMetrics.AllocatedMem}}, - BufferEntriesByType: [numEventTypes]*forwardingCounter{ - {sinks: []*metric.Counter{m.AggregatorBufferMetrics.BufferEntriesByType[0], m.CombinedBufferMetrics.BufferEntriesByType[0]}}, - {sinks: []*metric.Counter{m.AggregatorBufferMetrics.BufferEntriesByType[1], m.CombinedBufferMetrics.BufferEntriesByType[1]}}, - {sinks: []*metric.Counter{m.AggregatorBufferMetrics.BufferEntriesByType[2], m.CombinedBufferMetrics.BufferEntriesByType[2]}}, - }, - } - m.RangefeedBufferMetricsWithCompat = PerBufferMetricsWithCompat{ - BufferType: rangefeedBuffer, - BufferEntriesIn: &forwardingCounter{sinks: []*metric.Counter{m.RangefeedBufferMetrics.BufferEntriesIn, m.CombinedBufferMetrics.BufferEntriesIn}}, - BufferEntriesOut: &forwardingCounter{sinks: []*metric.Counter{m.RangefeedBufferMetrics.BufferEntriesOut, m.CombinedBufferMetrics.BufferEntriesOut}}, - BufferEntriesReleased: &forwardingCounter{sinks: []*metric.Counter{m.RangefeedBufferMetrics.BufferEntriesReleased, m.CombinedBufferMetrics.BufferEntriesReleased}}, - BufferEntriesMemAcquired: &forwardingCounter{sinks: []*metric.Counter{m.RangefeedBufferMetrics.BufferEntriesMemAcquired, m.CombinedBufferMetrics.BufferEntriesMemAcquired}}, - BufferEntriesMemReleased: &forwardingCounter{sinks: []*metric.Counter{m.RangefeedBufferMetrics.BufferEntriesMemReleased, m.CombinedBufferMetrics.BufferEntriesMemReleased}}, - BufferPushbackNanos: &forwardingCounter{sinks: []*metric.Counter{m.RangefeedBufferMetrics.BufferPushbackNanos, m.CombinedBufferMetrics.BufferPushbackNanos}}, - AllocatedMem: &forwardingGauge{sinks: []*metric.Gauge{m.RangefeedBufferMetrics.AllocatedMem, m.CombinedBufferMetrics.AllocatedMem}}, - BufferEntriesByType: [numEventTypes]*forwardingCounter{ - {sinks: []*metric.Counter{m.RangefeedBufferMetrics.BufferEntriesByType[0], m.CombinedBufferMetrics.BufferEntriesByType[0]}}, - {sinks: []*metric.Counter{m.RangefeedBufferMetrics.BufferEntriesByType[1], m.CombinedBufferMetrics.BufferEntriesByType[1]}}, - {sinks: []*metric.Counter{m.RangefeedBufferMetrics.BufferEntriesByType[2], m.CombinedBufferMetrics.BufferEntriesByType[2]}}, + return Metrics{ + BufferEntriesIn: metric.NewCounter(metaChangefeedBufferEntriesIn), + BufferEntriesOut: metric.NewCounter(metaChangefeedBufferEntriesOut), + BufferEntriesReleased: metric.NewCounter(metaChangefeedBufferEntriesReleased), + BufferEntriesMemAcquired: metric.NewCounter(metaChangefeedBufferMemAcquired), + BufferEntriesMemReleased: metric.NewCounter(metaChangefeedBufferMemReleased), + BufferPushbackNanos: metric.NewCounter(metaChangefeedBufferPushbackNanos), + AllocatedMem: metric.NewGauge(metaChangefeedAllocatedMemory), + BufferEntriesByType: [numEventTypes]*metric.Counter{ + metric.NewCounter(eventTypeMeta(TypeFlush)), + metric.NewCounter(eventTypeMeta(TypeKV)), + metric.NewCounter(eventTypeMeta(TypeResolved)), }, } - return m } var _ (metric.Struct) = (*Metrics)(nil) diff --git a/pkg/ccl/changefeedccl/kvfeed/BUILD.bazel b/pkg/ccl/changefeedccl/kvfeed/BUILD.bazel index 88a0f7a0d276..9eb5de26a0ea 100644 --- a/pkg/ccl/changefeedccl/kvfeed/BUILD.bazel +++ b/pkg/ccl/changefeedccl/kvfeed/BUILD.bazel @@ -84,5 +84,6 @@ go_test( "@com_github_cockroachdb_errors//:errors", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", + "@org_golang_x_exp//slices", ], ) diff --git a/pkg/ccl/changefeedccl/kvfeed/kv_feed.go b/pkg/ccl/changefeedccl/kvfeed/kv_feed.go index 6bb2855fcdd0..facbc970b578 100644 --- a/pkg/ccl/changefeedccl/kvfeed/kv_feed.go +++ b/pkg/ccl/changefeedccl/kvfeed/kv_feed.go @@ -115,7 +115,7 @@ func Run(ctx context.Context, cfg Config) error { } bf := func() kvevent.Buffer { - return kvevent.NewMemBuffer(cfg.MM.MakeBoundAccount(), &cfg.Settings.SV, &cfg.Metrics.RangefeedBufferMetricsWithCompat) + return kvevent.NewMemBuffer(cfg.MM.MakeBoundAccount(), &cfg.Settings.SV, cfg.Metrics) } g := ctxgroup.WithContext(ctx) @@ -332,7 +332,7 @@ func (f *kvFeed) run(ctx context.Context) (err error) { for i := 0; ; i++ { initialScan := i == 0 - initialScanOnly := f.endTime == f.initialHighWater + initialScanOnly := f.endTime.EqOrdering(f.initialHighWater) scannedSpans, scannedTS, err := f.scanIfShould(ctx, initialScan, initialScanOnly, rangeFeedResumeFrontier.Frontier()) if err != nil { return err @@ -756,7 +756,7 @@ func copyFromSourceToDestUntilTableEvent( return false, false, err } - return skipEvent, frontier.Frontier() == boundaryResolvedTimestamp, nil + return skipEvent, frontier.Frontier().EqOrdering(boundaryResolvedTimestamp), nil case kvevent.TypeFlush: // TypeFlush events have a timestamp of zero and should have already // been processed by the timestamp check above. We include this here diff --git a/pkg/ccl/changefeedccl/kvfeed/kv_feed_test.go b/pkg/ccl/changefeedccl/kvfeed/kv_feed_test.go index 9530a96b0a5e..0dd0c46b516d 100644 --- a/pkg/ccl/changefeedccl/kvfeed/kv_feed_test.go +++ b/pkg/ccl/changefeedccl/kvfeed/kv_feed_test.go @@ -11,7 +11,6 @@ package kvfeed import ( "context" "math" - "slices" "sort" "testing" "time" @@ -40,6 +39,7 @@ import ( "github.com/cockroachdb/errors" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "golang.org/x/exp/slices" ) func TestKVFeed(t *testing.T) { @@ -122,12 +122,12 @@ func TestKVFeed(t *testing.T) { Settings: settings, }) metrics := kvevent.MakeMetrics(time.Minute) - buf := kvevent.NewMemBuffer(mm.MakeBoundAccount(), &st.SV, &metrics.AggregatorBufferMetricsWithCompat) + buf := kvevent.NewMemBuffer(mm.MakeBoundAccount(), &st.SV, &metrics) // bufferFactory, when called, gives you a memory-monitored // in-memory "buffer" to write to and read from. bufferFactory := func() kvevent.Buffer { - return kvevent.NewMemBuffer(mm.MakeBoundAccount(), &st.SV, &metrics.RangefeedBufferMetricsWithCompat) + return kvevent.NewMemBuffer(mm.MakeBoundAccount(), &st.SV, &metrics) } scans := make(chan scanConfig) diff --git a/pkg/ccl/changefeedccl/metrics.go b/pkg/ccl/changefeedccl/metrics.go index e2ed8684e004..d9c127ed6160 100644 --- a/pkg/ccl/changefeedccl/metrics.go +++ b/pkg/ccl/changefeedccl/metrics.go @@ -130,8 +130,7 @@ func (a *AggMetrics) MetricStruct() {} // sliMetrics holds all SLI related metrics aggregated into AggMetrics. type sliMetrics struct { - EmittedRowMessages *aggmetric.Counter - EmittedResolvedMessages *aggmetric.Counter + EmittedMessages *aggmetric.Counter EmittedBatchSizes *aggmetric.Histogram FilteredMessages *aggmetric.Counter MessageSize *aggmetric.Histogram @@ -263,7 +262,7 @@ func (m *sliMetrics) recordEmittedBatch( return } emitNanos := timeutil.Since(startTime).Nanoseconds() - m.EmittedRowMessages.Inc(int64(numMessages)) + m.EmittedMessages.Inc(int64(numMessages)) m.EmittedBytes.Inc(int64(bytes)) m.EmittedBatchSizes.RecordValue(int64(numMessages)) if compressedBytes == sinkDoesNotCompress { @@ -284,7 +283,7 @@ func (m *sliMetrics) recordResolvedCallback() func() { start := timeutil.Now() return func() { emitNanos := timeutil.Since(start).Nanoseconds() - m.EmittedResolvedMessages.Inc(1) + m.EmittedMessages.Inc(1) m.BatchHistNanos.RecordValue(emitNanos) m.EmittedBatchSizes.RecordValue(int64(1)) } @@ -977,10 +976,9 @@ func newAggregateMetrics(histogramWindow time.Duration, lookup *cidr.Lookup) *Ag // NB: When adding new histograms, use sigFigs = 1. Older histograms // retain significant figures of 2. b := aggmetric.MakeBuilder("scope") - emittedMessagesBuilder := aggmetric.MakeBuilder("scope", "message_type") a := &AggMetrics{ ErrorRetries: b.Counter(metaChangefeedErrorRetries), - EmittedMessages: emittedMessagesBuilder.Counter(metaChangefeedEmittedMessages), + EmittedMessages: b.Counter(metaChangefeedEmittedMessages), EmittedBatchSizes: b.Histogram(metric.HistogramOptions{ Metadata: metaChangefeedEmittedBatchSizes, Duration: histogramWindow, @@ -1103,8 +1101,7 @@ func (a *AggMetrics) getOrCreateScope(scope string) (*sliMetrics, error) { } sm := &sliMetrics{ - EmittedRowMessages: a.EmittedMessages.AddChild(scope, "row"), - EmittedResolvedMessages: a.EmittedMessages.AddChild(scope, "resolved"), + EmittedMessages: a.EmittedMessages.AddChild(scope), EmittedBatchSizes: a.EmittedBatchSizes.AddChild(scope), FilteredMessages: a.FilteredMessages.AddChild(scope), MessageSize: a.MessageSize.AddChild(scope), @@ -1287,42 +1284,6 @@ func MakeMetrics(histogramWindow time.Duration, lookup *cidr.Lookup) metric.Stru return m } -var ( - metaMemMaxBytes = metric.Metadata{ - Name: "sql.mem.changefeed.max", - Help: "Maximum memory usage across all changefeeds", - Measurement: "Memory", - Unit: metric.Unit_BYTES, - } - metaMemCurBytes = metric.Metadata{ - Name: "sql.mem.changefeed.current", - Help: "Current memory usage across all changefeeds", - Measurement: "Memory", - Unit: metric.Unit_BYTES, - } -) - -// See pkg/sql/mem_metrics.go -// log10int64times1000 = log10(math.MaxInt64) * 1000, rounded up somewhat -const log10int64times1000 = 19 * 1000 - -// MakeMemoryMetrics instantiates the metrics holder for memory monitors of -// changefeeds. -func MakeMemoryMetrics( - histogramWindow time.Duration, -) (curCount *metric.Gauge, maxHist metric.IHistogram) { - curCount = metric.NewGauge(metaMemCurBytes) - maxHist = metric.NewHistogram(metric.HistogramOptions{ - Metadata: metaMemMaxBytes, - Duration: histogramWindow, - MaxVal: log10int64times1000, - SigFigs: 3, - BucketConfig: metric.MemoryUsage64MBBuckets, - }) - return curCount, maxHist -} - func init() { jobs.MakeChangefeedMetricsHook = MakeMetrics - jobs.MakeChangefeedMemoryMetricsHook = MakeMemoryMetrics } diff --git a/pkg/ccl/changefeedccl/parquet_test.go b/pkg/ccl/changefeedccl/parquet_test.go index c7ccdc28f8b0..9fc42bbee6a0 100644 --- a/pkg/ccl/changefeedccl/parquet_test.go +++ b/pkg/ccl/changefeedccl/parquet_test.go @@ -12,7 +12,6 @@ import ( "context" "math/rand" "os" - "slices" "testing" "github.com/cockroachdb/cockroach/pkg/base" @@ -36,6 +35,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/uuid" "github.com/cockroachdb/errors" "github.com/stretchr/testify/require" + "golang.org/x/exp/slices" ) // TestParquetRows tests that the parquetWriter correctly writes datums. It does @@ -185,7 +185,7 @@ func TestParquetRows(t *testing.T) { writer, err = newParquetWriterFromRow(updatedRow, f, encodingOpts, parquet.WithMaxRowGroupLength(maxRowGroupSize), parquet.WithCompressionCodec(parquet.CompressionGZIP)) if err != nil { - t.Fatal(err) + t.Fatalf(err.Error()) } numCols = len(updatedRow.ResultColumns()) + 1 } @@ -214,13 +214,12 @@ func TestParquetRows(t *testing.T) { // NB: Rangefeeds have per-key ordering, so the rows in the parquet // file may not match the order we insert them. To accommodate for // this, sort the expected and actual datums by the primary key. - sortFn := func(a []tree.Datum, b []tree.Datum) int { - cmp, err := a[0].Compare(ctx, &eval.Context{}, b[0]) - require.NoError(t, err) - return cmp - } - slices.SortStableFunc(datums, sortFn) - slices.SortStableFunc(readDatums, sortFn) + slices.SortStableFunc(datums, func(a []tree.Datum, b []tree.Datum) bool { + return a[0].Compare(&eval.Context{}, b[0]) == -1 + }) + slices.SortStableFunc(readDatums, func(a []tree.Datum, b []tree.Datum) bool { + return a[0].Compare(&eval.Context{}, b[0]) == -1 + }) for r := 0; r < numRows; r++ { t.Logf("comparing row expected: %s to actual: %s\n", datums[r], readDatums[r]) for c := 0; c < numCols; c++ { diff --git a/pkg/ccl/changefeedccl/protected_timestamps.go b/pkg/ccl/changefeedccl/protected_timestamps.go index 0ba31337db34..70def6e4a232 100644 --- a/pkg/ccl/changefeedccl/protected_timestamps.go +++ b/pkg/ccl/changefeedccl/protected_timestamps.go @@ -42,30 +42,24 @@ func createProtectedTimestampRecord( jobsprotectedts.Jobs, targetToProtect) } -// systemTablesToProtect holds the descriptor IDs of the system tables -// that need to be protected to ensure that a CHANGEFEED can do a -// historical read of a table descriptor. -var systemTablesToProtect = []descpb.ID{ - keys.DescriptorTableID, - keys.CommentsTableID, - keys.ZonesTableID, -} - func makeTargetToProtect(targets changefeedbase.Targets) *ptpb.Target { // NB: We add 1 because we're also going to protect system.descriptors. // We protect system.descriptors because a changefeed needs all of the history // of table descriptors to version data. - tablesToProtect := make(descpb.IDs, 0, targets.NumUniqueTables()+len(systemTablesToProtect)) + tablesToProtect := make(descpb.IDs, 0, targets.NumUniqueTables()+1) _ = targets.EachTableID(func(id descpb.ID) error { tablesToProtect = append(tablesToProtect, id) return nil }) - tablesToProtect = append(tablesToProtect, systemTablesToProtect...) + tablesToProtect = append(tablesToProtect, keys.DescriptorTableID) return ptpb.MakeSchemaObjectsTarget(tablesToProtect) } func makeSpansToProtect(codec keys.SQLCodec, targets changefeedbase.Targets) []roachpb.Span { - spansToProtect := make([]roachpb.Span, 0, targets.NumUniqueTables()+len(systemTablesToProtect)) + // NB: We add 1 because we're also going to protect system.descriptors. + // We protect system.descriptors because a changefeed needs all of the history + // of table descriptors to version data. + spansToProtect := make([]roachpb.Span, 0, targets.NumUniqueTables()+1) addTablePrefix := func(id uint32) { tablePrefix := codec.TablePrefix(id) spansToProtect = append(spansToProtect, roachpb.Span{ @@ -77,8 +71,6 @@ func makeSpansToProtect(codec keys.SQLCodec, targets changefeedbase.Targets) []r addTablePrefix(uint32(id)) return nil }) - for _, id := range systemTablesToProtect { - addTablePrefix(uint32(id)) - } + addTablePrefix(keys.DescriptorTableID) return spansToProtect } diff --git a/pkg/ccl/changefeedccl/protected_timestamps_test.go b/pkg/ccl/changefeedccl/protected_timestamps_test.go index 33d61916a09d..e1348e8f26e0 100644 --- a/pkg/ccl/changefeedccl/protected_timestamps_test.go +++ b/pkg/ccl/changefeedccl/protected_timestamps_test.go @@ -27,7 +27,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/kv/kvserver/protectedts" "github.com/cockroachdb/cockroach/pkg/kv/kvserver/protectedts/ptpb" "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/security/username" "github.com/cockroachdb/cockroach/pkg/spanconfig" "github.com/cockroachdb/cockroach/pkg/spanconfig/spanconfigptsreader" "github.com/cockroachdb/cockroach/pkg/sql" @@ -457,7 +456,7 @@ func TestPTSRecordProtectsTargetsAndDescriptorTable(t *testing.T) { defer stopServer() execCfg := s.ExecutorConfig().(sql.ExecutorConfig) sqlDB := sqlutils.MakeSQLRunner(db) - sqlDB.Exec(t, `ALTER DATABASE system CONFIGURE ZONE USING gc.ttlseconds = 1`) + sqlDB.Exec(t, "CREATE TABLE foo (a INT, b STRING)") ts := s.Clock().Now() ctx := context.Background() @@ -474,60 +473,10 @@ func TestPTSRecordProtectsTargetsAndDescriptorTable(t *testing.T) { return execCfg.ProtectedTimestampProvider.WithTxn(txn).Protect(ctx, ptr) })) - // The following code was shameless stolen from - // TestShowTenantFingerprintsProtectsTimestamp which almost - // surely copied it from the 2-3 other tests that have - // something similar. We should put this in a helper. We have - // ForceTableGC, but in ad-hoc testing that appeared to bypass - // the PTS record making it useless for this test. - // - // TODO(ssd): Make a helper that does this. - refreshPTSReaderCache := func(asOf hlc.Timestamp, tableName, databaseName string) { - tableID, err := s.QueryTableID(ctx, username.RootUserName(), tableName, databaseName) - require.NoError(t, err) - tableKey := s.Codec().TablePrefix(uint32(tableID)) - store, err := s.StorageLayer().GetStores().(*kvserver.Stores).GetStore(s.GetFirstStoreID()) - require.NoError(t, err) - var repl *kvserver.Replica - testutils.SucceedsSoon(t, func() error { - repl = store.LookupReplica(roachpb.RKey(tableKey)) - if repl == nil { - return errors.New("could not find replica") - } - return nil - }) - ptsReader := store.GetStoreConfig().ProtectedTimestampReader - t.Logf("updating PTS reader cache to %s", asOf) - require.NoError( - t, - spanconfigptsreader.TestingRefreshPTSState(ctx, t, ptsReader, asOf), - ) - require.NoError(t, repl.ReadProtectedTimestampsForTesting(ctx)) - } - gcTestTableRange := func(tableName, databaseName string) { - row := sqlDB.QueryRow(t, fmt.Sprintf("SELECT range_id FROM [SHOW RANGES FROM TABLE %s.%s]", tableName, databaseName)) - var rangeID int64 - row.Scan(&rangeID) - refreshPTSReaderCache(s.Clock().Now(), tableName, databaseName) - t.Logf("enqueuing range %d for mvccGC", rangeID) - sqlDB.Exec(t, `SELECT crdb_internal.kv_enqueue_replica($1, 'mvccGC', true)`, rangeID) - } - // Alter foo few times, then force GC at ts-1. sqlDB.Exec(t, "ALTER TABLE foo ADD COLUMN c STRING") sqlDB.Exec(t, "ALTER TABLE foo ADD COLUMN d STRING") - time.Sleep(2 * time.Second) - // If you want to GC all system tables: - // - // tabs := systemschema.MakeSystemTables() - // for _, t := range tabs { - // if t.IsPhysicalTable() && !t.IsSequence() { - // gcTestTableRange("system", t.GetName()) - // } - // } - gcTestTableRange("system", "descriptor") - gcTestTableRange("system", "zones") - gcTestTableRange("system", "comments") + require.NoError(t, s.ForceTableGC(ctx, "system", "descriptor", ts.Add(-1, 0))) // We can still fetch table descriptors because of protected timestamp record. asOf := ts diff --git a/pkg/ccl/changefeedccl/scheduled_changefeed.go b/pkg/ccl/changefeedccl/scheduled_changefeed.go index c91dcf796f3a..4434387c8bae 100644 --- a/pkg/ccl/changefeedccl/scheduled_changefeed.go +++ b/pkg/ccl/changefeedccl/scheduled_changefeed.go @@ -186,30 +186,13 @@ func (s *scheduledChangefeedExecutor) executeChangefeed( return errors.AssertionFailedf("scheduled unexpectedly paused") } + log.Infof(ctx, "Starting scheduled changefeed %d: %s", + sj.ScheduleID(), tree.AsString(changefeedStmt)) + // Invoke changefeed plan hook. hook, cleanup := cfg.PlanHookMaker(ctx, "exec-changefeed", txn.KV(), sj.Owner()) defer cleanup() - - planner := hook.(sql.PlanHookState) - currentClusterID := planner.ExtendedEvalContext().ClusterID - currentDetails := sj.ScheduleDetails() - - // If the current cluster ID is different than the schedule's cluster ID, - // pause the schedule. To maintain backward compatability with schedules - // without a clusterID, don't pause schedules without a clusterID. - if !currentDetails.ClusterID.Equal(uuid.Nil) && currentClusterID != currentDetails.ClusterID { - log.Infof(ctx, "scheduled changedfeed %d last run by different cluster %s, pausing until manually resumed", - sj.ScheduleID(), - currentDetails.ClusterID) - currentDetails.ClusterID = currentClusterID - sj.SetScheduleDetails(*currentDetails) - sj.Pause() - return nil - } - - log.Infof(ctx, "Starting scheduled changefeed %d: %s", - sj.ScheduleID(), tree.AsString(changefeedStmt)) - changefeedFn, err := planCreateChangefeed(ctx, planner, changefeedStmt) + changefeedFn, err := planCreateChangefeed(ctx, hook.(sql.PlanHookState), changefeedStmt) if err != nil { return err } diff --git a/pkg/ccl/changefeedccl/scheduled_changefeed_test.go b/pkg/ccl/changefeedccl/scheduled_changefeed_test.go index a8132bc0b87c..722c63bc36e8 100644 --- a/pkg/ccl/changefeedccl/scheduled_changefeed_test.go +++ b/pkg/ccl/changefeedccl/scheduled_changefeed_test.go @@ -29,7 +29,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/scheduledjobs/schedulebase" "github.com/cockroachdb/cockroach/pkg/security/username" "github.com/cockroachdb/cockroach/pkg/sql" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/descs" "github.com/cockroachdb/cockroach/pkg/sql/execinfra" "github.com/cockroachdb/cockroach/pkg/sql/parser" "github.com/cockroachdb/cockroach/pkg/sql/sem/tree" @@ -95,15 +94,6 @@ func withSchedulerHelper(sh *testHelper) func(opts *feedTestOptions) { } } -func (h *testHelper) loadSchedule(t *testing.T, scheduleID jobspb.ScheduleID) *jobs.ScheduledJob { - t.Helper() - - loaded, err := jobs.ScheduledJobDB(h.internalDB()). - Load(context.Background(), h.env, scheduleID) - require.NoError(t, err) - return loaded -} - func (h *testHelper) clearSchedules(t *testing.T) { t.Helper() @@ -172,10 +162,6 @@ func getScheduledChangefeedStatement(t *testing.T, arg *jobspb.ExecutionArgument return scheduledChangefeed.ChangefeedStatement } -func (h *testHelper) internalDB() descs.DB { - return h.server.InternalDB().(descs.DB) -} - // This test examines serialized representation of changefeed schedule arguments // when the scheduled changefeed statement executes. This test does not concern // itself with the actual scheduling and the execution of those changefeeds. @@ -261,7 +247,7 @@ func TestSerializesScheduledChangefeedExecutionArgs(t *testing.T) { } for _, tc := range testCases { - t.Run(tc.name, func(t *testing.T) { + t.Run(fmt.Sprintf(tc.name), func(t *testing.T) { defer th.clearSchedules(t) sj, err := th.createChangefeedSchedule(t, tc.query, tc.queryArgs...) @@ -518,111 +504,6 @@ INSERT INTO t2 VALUES (3, 'three'), (2, 'two'), (1, 'one'); } } -// TestPauseScheduledChangefeedOnNewClusterID schedules a changefeed and verifies the changefeed pauses -// if it is running on a cluster with a different ID than is stored in the schedule details -func TestPauseScheduledChangefeedOnNewClusterID(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - th, cleanup := newTestHelper(t) - defer cleanup() - - th.sqlDB.Exec(t, ` -CREATE TABLE t1(a INT PRIMARY KEY, b STRING); -INSERT INTO t1 values (1, 'one'), (10, 'ten'), (100, 'hundred'); - -CREATE TABLE t2(b INT PRIMARY KEY, c STRING); -INSERT INTO t2 VALUES (3, 'three'), (2, 'two'), (1, 'one'); -`) - - getFeed := func(isBare bool, db *gosql.DB) (string, *webhookFeed, func()) { - cert, _, err := cdctest.NewCACertBase64Encoded() - require.NoError(t, err) - sinkDest, err := cdctest.StartMockWebhookSink(cert) - require.NoError(t, err) - - dummyWrapper := func(s Sink) Sink { - return s - } - // NB: This is a partially initialized webhookFeed. - // You must call th.waitForSuccessfulScheduledJob prior to reading - // feed messages. If messages are tried to access before they are present, - // this feed will panic because sink synchronizer is not initialized. - feed := &webhookFeed{ - seenTrackerMap: make(map[string]struct{}), - mockSink: sinkDest, - isBare: isBare, - jobFeed: newJobFeed(db, dummyWrapper), - } - - sinkURI := fmt.Sprintf("webhook-%s?insecure_tls_skip_verify=true", sinkDest.URL()) - return sinkURI, feed, sinkDest.Close - } - - testCase := struct { - name string - scheduleStmt string - expectedPayload []string - isBare bool - }{ - name: "one-table", - scheduleStmt: "CREATE SCHEDULE FOR changefeed TABLE t1 INTO $1 RECURRING '@hourly'", - expectedPayload: []string{ - `t1: [1]->{"after": {"a": 1, "b": "one"}}`, - `t1: [10]->{"after": {"a": 10, "b": "ten"}}`, - `t1: [100]->{"after": {"a": 100, "b": "hundred"}}`, - }, - isBare: false, - } - - t.Run(testCase.name, func(t *testing.T) { - sinkURI, feed, cleanup := getFeed(testCase.isBare, th.db) - defer cleanup() - - sj, err := th.createChangefeedSchedule( - t, testCase.scheduleStmt, sinkURI) - require.NoError(t, err) - defer th.clearSchedules(t) - - // Get schedule DB to update the schedule with new clusterID - scheduleStorage := jobs.ScheduledJobDB(th.internalDB()) - - details := sj.ScheduleDetails() - currentClusterID := details.ClusterID - require.NotZero(t, currentClusterID) - - // Modify the scheduled clusterID and update the job - details.ClusterID = jobstest.DummyClusterID - sj.SetScheduleDetails(*details) - th.env.SetTime(sj.NextRun().Add(time.Second)) - require.NoError(t, scheduleStorage.Update(context.Background(), sj)) - require.NoError(t, th.executeSchedules()) - - // Schedule is expected to be paused - testutils.SucceedsSoon(t, func() error { - expectPausedSchedule := th.loadSchedule(t, sj.ScheduleID()) - if !expectPausedSchedule.IsPaused() { - return errors.New("schedule has not paused yet") - } - // The cluster ID should have been reset. - require.Equal(t, currentClusterID, expectPausedSchedule.ScheduleDetails().ClusterID) - return nil - }) - - th.sqlDB.Exec(t, "RESUME SCHEDULE $1", sj.ScheduleID()) - resumedSchedule := th.loadSchedule(t, sj.ScheduleID()) - require.False(t, resumedSchedule.IsPaused()) - th.env.SetTime(resumedSchedule.NextRun().Add(time.Second)) - require.NoError(t, th.executeSchedules()) - jobID := th.waitForSuccessfulScheduledJob(t, sj.ScheduleID()) - // We need to set the job ID here explicitly because the webhookFeed.Next - // function calls jobFeed.Details, which uses the job ID to get the - // changefeed details from the system.jobs table. - feed.jobFeed.jobID = jobspb.JobID(jobID) - assertPayloads(t, feed, testCase.expectedPayload) - }) -} - // TestScheduledChangefeedErrors tests cases where a schedule changefeed statement will return an error. func TestScheduledChangefeedErrors(t *testing.T) { defer leaktest.AfterTest(t)() diff --git a/pkg/ccl/changefeedccl/schemafeed/BUILD.bazel b/pkg/ccl/changefeedccl/schemafeed/BUILD.bazel index 5ac0c9c9c394..e0828954a239 100644 --- a/pkg/ccl/changefeedccl/schemafeed/BUILD.bazel +++ b/pkg/ccl/changefeedccl/schemafeed/BUILD.bazel @@ -88,6 +88,7 @@ go_test( "@com_github_gogo_protobuf//proto", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", + "@org_golang_x_exp//slices", ], ) diff --git a/pkg/ccl/changefeedccl/schemafeed/schema_feed.go b/pkg/ccl/changefeedccl/schemafeed/schema_feed.go index 5a748c733dac..a90defc883d6 100644 --- a/pkg/ccl/changefeedccl/schemafeed/schema_feed.go +++ b/pkg/ccl/changefeedccl/schemafeed/schema_feed.go @@ -280,7 +280,7 @@ func (tf *schemaFeed) primeInitialTableDescs(ctx context.Context) error { } // Note that all targets are currently guaranteed to be tables. return tf.targets.EachTableID(func(id descpb.ID) error { - tableDesc, err := descriptors.ByIDWithoutLeased(txn.KV()).WithoutNonPublic().Get().Table(ctx, id) + tableDesc, err := descriptors.ByID(txn.KV()).WithoutNonPublic().Get().Table(ctx, id) if err != nil { return err } diff --git a/pkg/ccl/changefeedccl/schemafeed/schema_feed_test.go b/pkg/ccl/changefeedccl/schemafeed/schema_feed_test.go index 1e47bd9cdb45..a4a71d952676 100644 --- a/pkg/ccl/changefeedccl/schemafeed/schema_feed_test.go +++ b/pkg/ccl/changefeedccl/schemafeed/schema_feed_test.go @@ -10,7 +10,6 @@ package schemafeed import ( "context" - "slices" "testing" "time" @@ -36,6 +35,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/timeutil" "github.com/cockroachdb/errors" "github.com/stretchr/testify/require" + "golang.org/x/exp/slices" ) func TestTableHistoryIngestionTracking(t *testing.T) { diff --git a/pkg/ccl/changefeedccl/show_changefeed_jobs_test.go b/pkg/ccl/changefeedccl/show_changefeed_jobs_test.go index f579c0ea6a0c..2a8d767006c1 100644 --- a/pkg/ccl/changefeedccl/show_changefeed_jobs_test.go +++ b/pkg/ccl/changefeedccl/show_changefeed_jobs_test.go @@ -16,7 +16,6 @@ import ( "strconv" "strings" "testing" - "time" "github.com/cockroachdb/cockroach/pkg/base" "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl/cdctest" @@ -24,14 +23,12 @@ import ( "github.com/cockroachdb/cockroach/pkg/jobs" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" "github.com/cockroachdb/cockroach/pkg/kv/kvserver" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/catpb" "github.com/cockroachdb/cockroach/pkg/sql/catalog/descpb" "github.com/cockroachdb/cockroach/pkg/sql/execinfra" "github.com/cockroachdb/cockroach/pkg/testutils/serverutils" "github.com/cockroachdb/cockroach/pkg/testutils/sqlutils" "github.com/cockroachdb/cockroach/pkg/util/leaktest" "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/cockroach/pkg/util/timeutil" "github.com/stretchr/testify/require" ) @@ -565,49 +562,3 @@ func TestShowChangefeedJobsAuthorization(t *testing.T) { // Only enterprise sinks create jobs. cdcTest(t, testFn, feedTestEnterpriseSinks) } - -// TestShowChangefeedJobsDefaultFilter verifies that "SHOW JOBS" AND "SHOW CHANGEFEED JOBS" -// use the same age filter (12 hours). -func TestShowChangefeedJobsDefaultFilter(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - testFn := func(t *testing.T, s TestServer, f cdctest.TestFeedFactory) { - sqlDB := sqlutils.MakeSQLRunner(s.DB) - - countChangefeedJobs := func() (count int) { - query := `select count(*) from [SHOW CHANGEFEED JOBS]` - sqlDB.QueryRow(t, query).Scan(&count) - return count - } - changefeedJobExists := func(id catpb.JobID) bool { - rows := sqlDB.Query(t, `SHOW CHANGEFEED JOB $1`, id) - defer rows.Close() - return rows.Next() - } - - sqlDB.Exec(t, `CREATE TABLE foo (a INT PRIMARY KEY, b STRING)`) - - foo := feed(t, f, `CREATE CHANGEFEED FOR foo`) - waitForJobStatus(sqlDB, t, foo.(cdctest.EnterpriseTestFeed).JobID(), jobs.StatusRunning) - require.Equal(t, 1, countChangefeedJobs()) - - // The job is not visible after closed (and its finished time is older than 12 hours). - closeFeed(t, foo) - require.Equal(t, 0, countChangefeedJobs()) - - // We can still see the job if we explicitly ask for it. - jobID := foo.(cdctest.EnterpriseTestFeed).JobID() - require.True(t, changefeedJobExists(jobID)) - } - - updateKnobs := func(opts *feedTestOptions) { - opts.knobsFn = func(knobs *base.TestingKnobs) { - knobs.JobsTestingKnobs.(*jobs.TestingKnobs).StubTimeNow = func() time.Time { - return timeutil.Now().Add(-13 * time.Hour) - } - } - } - - cdcTest(t, testFn, feedTestForceSink("kafka"), updateKnobs) -} diff --git a/pkg/ccl/changefeedccl/sink.go b/pkg/ccl/changefeedccl/sink.go index d901613b9486..b5bb5d0d4fd8 100644 --- a/pkg/ccl/changefeedccl/sink.go +++ b/pkg/ccl/changefeedccl/sink.go @@ -194,7 +194,7 @@ var KafkaV2Enabled = settings.RegisterBoolSetting( "changefeed.new_kafka_sink_enabled", "if enabled, this setting enables a new implementation of the kafka sink with improved reliability", // TODO(#126991): delete the original kafka sink code - metamorphic.ConstantWithTestBool("changefeed.new_kafka_sink.enabled", true), + metamorphic.ConstantWithTestBool("changefeed.new_kafka_sink.enabled", false), settings.WithName("changefeed.new_kafka_sink.enabled"), ) diff --git a/pkg/ccl/changefeedccl/sink_cloudstorage_test.go b/pkg/ccl/changefeedccl/sink_cloudstorage_test.go index ab03cccbf2bc..96cd95852b86 100644 --- a/pkg/ccl/changefeedccl/sink_cloudstorage_test.go +++ b/pkg/ccl/changefeedccl/sink_cloudstorage_test.go @@ -169,7 +169,7 @@ func TestCloudStorageSink(t *testing.T) { // NB: compression added in single-node subtest. } ts := func(i int64) hlc.Timestamp { return hlc.Timestamp{WallTime: i} } - e, err := makeJSONEncoder(ctx, jsonEncoderOptions{EncodingOptions: opts}) + e, err := makeJSONEncoder(jsonEncoderOptions{EncodingOptions: opts}) require.NoError(t, err) clientFactory := blobs.TestBlobServiceClient(settings.ExternalIODir) diff --git a/pkg/ccl/changefeedccl/sink_external_connection.go b/pkg/ccl/changefeedccl/sink_external_connection.go index 53bd63912a9d..1f4f37fbc461 100644 --- a/pkg/ccl/changefeedccl/sink_external_connection.go +++ b/pkg/ccl/changefeedccl/sink_external_connection.go @@ -122,15 +122,6 @@ func init() { validateExternalConnectionSinkURI, ) } - - cloud.RegisterRedactedParams(cloud.RedactedParams( - changefeedbase.SinkParamSASLPassword, - changefeedbase.SinkParamCACert, - changefeedbase.SinkParamClientCert, - changefeedbase.SinkParamClientKey, - changefeedbase.SinkParamConfluentAPISecret, - changefeedbase.SinkParamAzureAccessKey, - )) } type externalConnectionProvider interface { diff --git a/pkg/ccl/changefeedccl/sink_kafka.go b/pkg/ccl/changefeedccl/sink_kafka.go index fe46aa1339b0..4a508ca7caea 100644 --- a/pkg/ccl/changefeedccl/sink_kafka.go +++ b/pkg/ccl/changefeedccl/sink_kafka.go @@ -25,7 +25,6 @@ import ( "time" "github.com/IBM/sarama" - "github.com/aws/aws-msk-iam-sasl-signer-go/signer" "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl/changefeedbase" "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl/kvevent" "github.com/cockroachdb/cockroach/pkg/settings/cluster" @@ -203,8 +202,7 @@ type saramaConfig struct { MaxMessages int `json:",omitempty"` } - Compression compressionCodec `json:",omitempty"` - CompressionLevel int `json:",omitempty"` + Compression compressionCodec `json:",omitempty"` RequiredAcks string `json:",omitempty"` @@ -245,7 +243,6 @@ func defaultSaramaConfig() *saramaConfig { // The default compression protocol is sarama.CompressionNone, // which is 0. config.Compression = 0 - config.CompressionLevel = sarama.CompressionLevelDefault // This works around what seems to be a bug in sarama where it isn't // computing the right value to compare against `Producer.MaxMessageBytes` @@ -791,34 +788,6 @@ func (t *tokenProvider) Token() (*sarama.AccessToken, error) { return &sarama.AccessToken{Token: token.AccessToken}, nil } -type AwsIAMRoleSASLTokenProvider struct { - ctx context.Context - awsRegion string - iamRoleArn string - iamSessionName string -} - -func (p *AwsIAMRoleSASLTokenProvider) Token() (*sarama.AccessToken, error) { - token, _, err := signer.GenerateAuthTokenFromRole( - p.ctx, p.awsRegion, p.iamRoleArn, p.iamSessionName) - if err != nil { - return nil, err - } - - return &sarama.AccessToken{Token: token}, nil -} - -func newAwsIAMRoleSASLTokenProvider( - ctx context.Context, dialConfig kafkaDialConfig, -) (sarama.AccessTokenProvider, error) { - return &AwsIAMRoleSASLTokenProvider{ - ctx: ctx, - awsRegion: dialConfig.saslAwsRegion, - iamRoleArn: dialConfig.saslAwsIAMRoleArn, - iamSessionName: dialConfig.saslAwsIAMSessionName, - }, nil -} - func newTokenProvider( ctx context.Context, dialConfig kafkaDialConfig, ) (sarama.AccessTokenProvider, error) { @@ -865,9 +834,6 @@ func (c *saramaConfig) Apply(kafka *sarama.Config) error { kafka.Producer.Flush.MaxMessages = c.Flush.MaxMessages kafka.ClientID = c.ClientID - kafka.Producer.Compression = sarama.CompressionCodec(c.Compression) - kafka.Producer.CompressionLevel = c.CompressionLevel - if c.Version != "" { parsedVersion, err := sarama.ParseKafkaVersion(c.Version) if err != nil { @@ -882,7 +848,7 @@ func (c *saramaConfig) Apply(kafka *sarama.Config) error { } kafka.Producer.RequiredAcks = parsedAcks } - + kafka.Producer.Compression = sarama.CompressionCodec(c.Compression) return nil } @@ -911,24 +877,21 @@ func getSaramaConfig( } type kafkaDialConfig struct { - tlsEnabled bool - tlsSkipVerify bool - caCert []byte - clientCert []byte - clientKey []byte - saslEnabled bool - saslHandshake bool - saslUser string - saslPassword string - saslMechanism string - saslTokenURL string - saslClientID string - saslClientSecret string - saslScopes []string - saslGrantType string - saslAwsIAMRoleArn string - saslAwsRegion string - saslAwsIAMSessionName string + tlsEnabled bool + tlsSkipVerify bool + caCert []byte + clientCert []byte + clientKey []byte + saslEnabled bool + saslHandshake bool + saslUser string + saslPassword string + saslMechanism string + saslTokenURL string + saslClientID string + saslClientSecret string + saslScopes []string + saslGrantType string } func buildDialConfig(u sinkURL) (kafkaDialConfig, error) { @@ -992,22 +955,18 @@ func buildDefaultKafkaConfig(u sinkURL) (kafkaDialConfig, error) { dialConfig.saslMechanism = sarama.SASLTypePlaintext } switch dialConfig.saslMechanism { - case sarama.SASLTypeSCRAMSHA256, sarama.SASLTypeSCRAMSHA512, sarama.SASLTypeOAuth, sarama.SASLTypePlaintext, changefeedbase.SASLTypeAWSMSKIAM: + case sarama.SASLTypeSCRAMSHA256, sarama.SASLTypeSCRAMSHA512, sarama.SASLTypeOAuth, sarama.SASLTypePlaintext: default: - return kafkaDialConfig{}, errors.Errorf(`param %s must be one of %s, %s, %s, %s or %s`, + return kafkaDialConfig{}, errors.Errorf(`param %s must be one of %s, %s, %s, or %s`, changefeedbase.SinkParamSASLMechanism, - sarama.SASLTypeSCRAMSHA256, sarama.SASLTypeSCRAMSHA512, sarama.SASLTypeOAuth, sarama.SASLTypePlaintext, changefeedbase.SASLTypeAWSMSKIAM) + sarama.SASLTypeSCRAMSHA256, sarama.SASLTypeSCRAMSHA512, sarama.SASLTypeOAuth, sarama.SASLTypePlaintext) } var requiredSASLParams []string - switch dialConfig.saslMechanism { - case sarama.SASLTypeOAuth: + if dialConfig.saslMechanism == sarama.SASLTypeOAuth { requiredSASLParams = []string{changefeedbase.SinkParamSASLClientID, changefeedbase.SinkParamSASLClientSecret, changefeedbase.SinkParamSASLTokenURL} - case changefeedbase.SASLTypeAWSMSKIAM: - requiredSASLParams = []string{changefeedbase.SinkParamSASLAwsRegion, changefeedbase.SinkParamSASLAwsIAMRoleArn, - changefeedbase.SinkParamSASLAwsIAMSessionName} - default: + } else { requiredSASLParams = []string{changefeedbase.SinkParamSASLUser, changefeedbase.SinkParamSASLPassword} } for _, param := range requiredSASLParams { @@ -1046,11 +1005,6 @@ func buildDefaultKafkaConfig(u sinkURL) (kafkaDialConfig, error) { dialConfig.saslScopes = u.Query()[changefeedbase.SinkParamSASLScopes] dialConfig.saslGrantType = u.consumeParam(changefeedbase.SinkParamSASLGrantType) - // Configure AWS IAM role based authentication - dialConfig.saslAwsRegion = u.consumeParam(changefeedbase.SinkParamSASLAwsRegion) - dialConfig.saslAwsIAMSessionName = u.consumeParam(changefeedbase.SinkParamSASLAwsIAMSessionName) - dialConfig.saslAwsIAMRoleArn = u.consumeParam(changefeedbase.SinkParamSASLAwsIAMRoleArn) - var decodedClientSecret []byte if err := u.decodeBase64(changefeedbase.SinkParamSASLClientSecret, &decodedClientSecret); err != nil { return kafkaDialConfig{}, err @@ -1281,28 +1235,15 @@ func buildKafkaConfig( config.Net.SASL.Handshake = dialConfig.saslHandshake config.Net.SASL.User = dialConfig.saslUser config.Net.SASL.Password = dialConfig.saslPassword - - var mechanism sarama.SASLMechanism - if dialConfig.saslMechanism == changefeedbase.SASLTypeAWSMSKIAM { - mechanism = sarama.SASLTypeOAuth - } else { - mechanism = sarama.SASLMechanism(dialConfig.saslMechanism) - } - - config.Net.SASL.Mechanism = mechanism - - switch mechanism { + config.Net.SASL.Mechanism = sarama.SASLMechanism(dialConfig.saslMechanism) + switch config.Net.SASL.Mechanism { case sarama.SASLTypeSCRAMSHA512: config.Net.SASL.SCRAMClientGeneratorFunc = sha512ClientGenerator case sarama.SASLTypeSCRAMSHA256: config.Net.SASL.SCRAMClientGeneratorFunc = sha256ClientGenerator case sarama.SASLTypeOAuth: var err error - if dialConfig.saslMechanism == changefeedbase.SASLTypeAWSMSKIAM { - config.Net.SASL.TokenProvider, err = newAwsIAMRoleSASLTokenProvider(ctx, dialConfig) - } else { - config.Net.SASL.TokenProvider, err = newTokenProvider(ctx, dialConfig) - } + config.Net.SASL.TokenProvider, err = newTokenProvider(ctx, dialConfig) if err != nil { return nil, err } @@ -1401,14 +1342,8 @@ type kafkaStats struct { func (s *kafkaStats) startMessage(sz int64) { atomic.AddInt64(&s.outstandingBytes, sz) atomic.AddInt64(&s.outstandingMessages, 1) - for { - curLargest := atomic.LoadInt64(&s.largestMessageSize) - if curLargest >= sz { - break - } - if atomic.CompareAndSwapInt64(&s.largestMessageSize, curLargest, sz) { - break - } + if atomic.LoadInt64(&s.largestMessageSize) < sz { + atomic.AddInt64(&s.largestMessageSize, sz) } } diff --git a/pkg/ccl/changefeedccl/sink_kafka_connection_test.go b/pkg/ccl/changefeedccl/sink_kafka_connection_test.go index 15116b3cd0cd..495ca30e404c 100644 --- a/pkg/ccl/changefeedccl/sink_kafka_connection_test.go +++ b/pkg/ccl/changefeedccl/sink_kafka_connection_test.go @@ -20,6 +20,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/ccl/utilccl" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" "github.com/cockroachdb/cockroach/pkg/sql/execinfra" + "github.com/cockroachdb/cockroach/pkg/testutils/skip" "github.com/cockroachdb/cockroach/pkg/testutils/sqlutils" "github.com/cockroachdb/cockroach/pkg/util/hlc" "github.com/cockroachdb/cockroach/pkg/util/leaktest" @@ -114,6 +115,11 @@ func TestChangefeedExternalConnections(t *testing.T) { return fmt.Sprintf(`unknown %s sink query parameters: [%s]`, sink, strings.Join(params, ", ")) } + // TODO(#127536): We disabled testing the Kafka V2 sink here, since it doesnt support MSK yet. Re-enable it. + if KafkaV2Enabled.Get(&s.Server.ClusterSettings().SV) { + skip.WithIssue(t, 127536, "Kafka V2 sink does not support MSK yet") + } + for _, tc := range []struct { name string uri string @@ -225,24 +231,9 @@ func TestChangefeedExternalConnections(t *testing.T) { expectedError: "sasl_enabled must be enabled to configure SASL mechanism", }, { - name: "param sasl_mechanism must be one of SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER, PLAIN or AWS_MSK_IAM", + name: "param sasl_mechanism must be one of SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER, or PLAIN", uri: "kafka://nope/?sasl_enabled=true&sasl_mechanism=unsuppported", - expectedError: "param sasl_mechanism must be one of SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER, PLAIN or AWS_MSK_IAM", - }, - { - name: "sasl_aws_iam_session_name must be provided when AWS IAM role authentication is enabled", - uri: "kafka://nope/?sasl_enabled=true&sasl_mechanism=AWS_MSK_IAM&sasl_aws_region=us-west-1&sasl_aws_iam_role_arn=foo", - expectedError: "sasl_aws_iam_session_name must be provided when SASL is enabled using mechanism AWS_MSK_IAM", - }, - { - name: "sasl_aws_iam_role_arn must be provided when AWS IAM role authentication is enabled", - uri: "kafka://nope/?sasl_enabled=true&sasl_mechanism=AWS_MSK_IAM&sasl_aws_region=us-west-1&sasl_aws_iam_session_name=foo", - expectedError: "sasl_aws_iam_role_arn must be provided when SASL is enabled using mechanism AWS_MSK_IAM", - }, - { - name: "sasl_aws_region must be provided when AWS IAM role authentication is enabled", - uri: "kafka://nope/?sasl_enabled=true&sasl_mechanism=AWS_MSK_IAM&sasl_aws_iam_session_name=foo&sasl_aws_iam_session_name=foo", - expectedError: "sasl_aws_region must be provided when SASL is enabled using mechanism AWS_MSK_IAM", + expectedError: "param sasl_mechanism must be one of SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER, or PLAIN", }, // confluent-cloud scheme tests { @@ -336,7 +327,6 @@ func TestChangefeedExternalConnections(t *testing.T) { // kafka scheme external connections sqlDB.Exec(t, `CREATE EXTERNAL CONNECTION nope AS 'kafka://nope'`) sqlDB.Exec(t, `CREATE EXTERNAL CONNECTION "nope-with-params" AS 'kafka://nope/?tls_enabled=true&insecure_tls_skip_verify=true&topic_name=foo'`) - sqlDB.Exec(t, `CREATE EXTERNAL CONNECTION "nope-with-aws-iam-auth" AS 'kafka://nope/?sasl_enabled=true&sasl_mechanism=AWS_MSK_IAM&sasl_aws_region=us-west-1&sasl_aws_iam_role_arn=foo&sasl_aws_iam_session_name=bar'`) // confluent-cloud external connections sqlDB.Exec(t, `CREATE EXTERNAL CONNECTION confluent1 AS 'confluent-cloud://nope?api_key=fee&api_secret=bar'`) sqlDB.Exec(t, `CREATE EXTERNAL CONNECTION confluent2 AS 'confluent-cloud://nope?api_key=fee&api_secret=bar&`+ diff --git a/pkg/ccl/changefeedccl/sink_kafka_v2.go b/pkg/ccl/changefeedccl/sink_kafka_v2.go index 3651ace3f3ff..d9b120ece88b 100644 --- a/pkg/ccl/changefeedccl/sink_kafka_v2.go +++ b/pkg/ccl/changefeedccl/sink_kafka_v2.go @@ -13,14 +13,12 @@ import ( "crypto/tls" "crypto/x509" "hash/fnv" - "io" "net" "net/url" "strings" "time" "github.com/IBM/sarama" - "github.com/aws/aws-msk-iam-sasl-signer-go/signer" "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl/changefeedbase" "github.com/cockroachdb/cockroach/pkg/settings/cluster" "github.com/cockroachdb/cockroach/pkg/util/admission" @@ -31,8 +29,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/timeutil" "github.com/cockroachdb/errors" "github.com/cockroachdb/redact" - "github.com/klauspost/compress/gzip" - "github.com/klauspost/compress/zstd" "github.com/rcrowley/go-metrics" "github.com/twmb/franz-go/pkg/kadm" "github.com/twmb/franz-go/pkg/kerr" @@ -447,14 +443,6 @@ func buildKgoConfig( if dialConfig.saslEnabled { var s sasl.Mechanism switch dialConfig.saslMechanism { - // This is a "fake" mechanism we use to signify that we're using AWS MSK - // IAM, which is really OAUTHBEARER with a custom token provider. - case changefeedbase.SASLTypeAWSMSKIAM: - tp, err := newKgoAWSIAMRoleOauthTokenProvider(dialConfig) - if err != nil { - return nil, err - } - s = sasloauth.Oauth(tp) // TODO(#126991): Remove this sarama dependency. case sarama.SASLTypeOAuth: tp, err := newKgoOauthTokenProvider(ctx, dialConfig) @@ -524,30 +512,21 @@ func buildKgoConfig( // TODO(#126991): Remove this sarama dependency. // NOTE: kgo lets you give multiple compression options in preference order, which is cool but the config json doesnt support that. Should we? - var comp kgo.CompressionCodec switch sarama.CompressionCodec(sinkCfg.Compression) { case sarama.CompressionNone: + opts = append(opts, kgo.ProducerBatchCompression(kgo.NoCompression())) case sarama.CompressionGZIP: - comp = kgo.GzipCompression() + opts = append(opts, kgo.ProducerBatchCompression(kgo.GzipCompression())) case sarama.CompressionSnappy: - comp = kgo.SnappyCompression() + opts = append(opts, kgo.ProducerBatchCompression(kgo.SnappyCompression())) case sarama.CompressionLZ4: - comp = kgo.Lz4Compression() + opts = append(opts, kgo.ProducerBatchCompression(kgo.Lz4Compression())) case sarama.CompressionZSTD: - comp = kgo.ZstdCompression() + opts = append(opts, kgo.ProducerBatchCompression(kgo.ZstdCompression())) default: return nil, errors.Errorf(`unknown compression codec: %v`, sinkCfg.Compression) } - if level := sinkCfg.CompressionLevel; level != sarama.CompressionLevelDefault { - if err := validateCompressionLevel(sinkCfg.Compression, level); err != nil { - return nil, err - } - comp = comp.WithLevel(level) - } - - opts = append(opts, kgo.ProducerBatchCompression(comp)) - if version := sinkCfg.Version; version != "" { if !strings.HasPrefix(version, `v`) { version = `v` + version @@ -565,34 +544,6 @@ func buildKgoConfig( return opts, nil } -// NOTE: kgo will ignore invalid compression levels, but the v1 sinks will fail validations. So we have to validate these ourselves. -func validateCompressionLevel(compressionType compressionCodec, level int) error { - switch sarama.CompressionCodec(compressionType) { - case sarama.CompressionNone: - return nil - case sarama.CompressionGZIP: - if level < gzip.NoCompression || level > gzip.BestCompression { - return errors.Errorf(`invalid gzip compression level: %d`, level) - } - case sarama.CompressionSnappy: - return errors.Errorf(`snappy does not support compression levels`) - case sarama.CompressionLZ4: - // The v1 sink ignores `level` for lz4, So let's use kgo's default - // behavior, which is to apply the level if it's valid, and fall back to - // the default otherwise. - return nil - case sarama.CompressionZSTD: - w, err := zstd.NewWriter(io.Discard, zstd.WithEncoderLevel(zstd.EncoderLevel(level))) - if err != nil { - return errors.Errorf(`invalid zstd compression level: %d`, level) - } - _ = w.Close() - default: - return errors.Errorf(`unknown compression codec: %v`, compressionType) - } - return nil -} - type kgoLogAdapter struct { ctx context.Context } @@ -691,22 +642,6 @@ func newKgoOauthTokenProvider( }, nil } -// newKgoAWSIAMRoleOauthTokenProvider returns a new token provider that uses the -// AWS MSK IAM signer to generate a SASL Oauth token. Currently only implicit -// auth & role assumption is supported. -func newKgoAWSIAMRoleOauthTokenProvider( - dialConfig kafkaDialConfig, -) (func(ctx context.Context) (sasloauth.Auth, error), error) { - return func(ctx context.Context) (sasloauth.Auth, error) { - token, _, err := signer.GenerateAuthTokenFromRole( - ctx, dialConfig.saslAwsRegion, dialConfig.saslAwsIAMRoleArn, dialConfig.saslAwsIAMSessionName) - if err != nil { - return sasloauth.Auth{}, err - } - return sasloauth.Auth{Token: token}, nil - }, nil -} - type kgoMetricsAdapter struct { throttling metrics.Histogram } diff --git a/pkg/ccl/changefeedccl/sink_kafka_v2_test.go b/pkg/ccl/changefeedccl/sink_kafka_v2_test.go index ee4c932f5739..ab0be6e633f0 100644 --- a/pkg/ccl/changefeedccl/sink_kafka_v2_test.go +++ b/pkg/ccl/changefeedccl/sink_kafka_v2_test.go @@ -407,117 +407,6 @@ func mergeBatchConfig(a, b sinkBatchConfig) sinkBatchConfig { return a } -func TestKafkaSinkClientV2_CompressionOpts(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - cases := []struct { - name string - codec, level string - expected kgo.CompressionCodec - shouldErr bool - }{ - { - name: "default", - expected: kgo.NoCompression(), - }, - { - name: "gzip no level", - codec: "GZIP", - expected: kgo.GzipCompression(), - }, - { - name: "gzip level zero (not the default)", - codec: "GZIP", - level: "0", - expected: kgo.GzipCompression().WithLevel(0), - }, - { - name: "gzip level 9", - codec: "GZIP", - level: "9", - expected: kgo.GzipCompression().WithLevel(9), - }, - { - name: "snappy no level", - codec: "SNAPPY", - expected: kgo.SnappyCompression(), - }, - { - name: "lz4 no level", - codec: "LZ4", - expected: kgo.Lz4Compression(), - }, - { - name: "lz4 level 1024", - codec: "LZ4", - level: "1024", - expected: kgo.Lz4Compression().WithLevel(1024), - }, - { - name: "zstd no level", - codec: "ZSTD", - expected: kgo.ZstdCompression(), - }, - { - name: "zstd level 4", - codec: "ZSTD", - level: "4", - expected: kgo.ZstdCompression().WithLevel(4), - }, - { - name: "invalid gzip level", - codec: "GZIP", - level: "100", - shouldErr: true, - }, - { - name: "invalid snappy level", - codec: "SNAPPY", - level: "1", // Snappy doesn't have levels. - shouldErr: true, - }, - { - name: "invalid zstd level", - codec: "ZSTD", - level: "10", // ZSTD has a valid range of [1, 4]. - shouldErr: true, - }, - } - - for _, c := range cases { - t.Run(c.name, func(t *testing.T) { - opt := map[string]any{} - if c.codec != "" { - opt["Compression"] = c.codec - } - if c.level != "" { - i, err := strconv.Atoi(c.level) - require.NoError(t, err) - opt["CompressionLevel"] = i - } - jbs, err := json.Marshal(opt) - require.NoError(t, err) - - var createErr error - fx := newKafkaSinkV2Fx(t, withJSONConfig(string(jbs)), withRealClient(), withCreateClientErrorCb(func(err error) { createErr = err })) - defer fx.close() - - if c.shouldErr { - require.Error(t, createErr) - return - } else { - require.NoError(t, createErr) - } - - client := fx.bs.client.(*kafkaSinkClientV2).client.(*kgo.Client) - val := client.OptValue("ProducerBatchCompression").([]kgo.CompressionCodec) - assert.Equal(t, []kgo.CompressionCodec{c.expected}, val) - }) - } - -} - func TestKafkaSinkClientV2_ErrorsEventually(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -577,14 +466,13 @@ type kafkaSinkV2Fx struct { mockCtrl *gomock.Controller // set with fxOpts to modify the created sinks - targetNames []string - topicOverride string - topicPrefix string - sinkJSONConfig changefeedbase.SinkSpecificJSONConfig - batchConfig sinkBatchConfig - realClient bool - additionalKOpts []kgo.Opt - createClientErrorCb func(error) + targetNames []string + topicOverride string + topicPrefix string + sinkJSONConfig changefeedbase.SinkSpecificJSONConfig + batchConfig sinkBatchConfig + realClient bool + additionalKOpts []kgo.Opt sink *kafkaSinkClientV2 bs *batchingSink @@ -634,12 +522,6 @@ func withKOptsClient(kOpts []kgo.Opt) fxOpt { } } -func withCreateClientErrorCb(cb func(error)) fxOpt { - return func(fx *kafkaSinkV2Fx) { - fx.createClientErrorCb = cb - } -} - func newKafkaSinkV2Fx(t *testing.T, opts ...fxOpt) *kafkaSinkV2Fx { ctx := context.Background() ctrl := gomock.NewController(t) @@ -672,10 +554,6 @@ func newKafkaSinkV2Fx(t *testing.T, opts ...fxOpt) *kafkaSinkV2Fx { var err error fx.sink, err = newKafkaSinkClientV2(ctx, fx.additionalKOpts, fx.batchConfig, "no addrs", settings, knobs, nilMetricsRecorderBuilder, nil) - if err != nil && fx.createClientErrorCb != nil { - fx.createClientErrorCb(err) - return fx - } require.NoError(t, err) targets := makeChangefeedTargets(fx.targetNames...) @@ -693,10 +571,6 @@ func newKafkaSinkV2Fx(t *testing.T, opts ...fxOpt) *kafkaSinkV2Fx { u.RawQuery = q.Encode() bs, err := makeKafkaSinkV2(ctx, sinkURL{URL: u}, targets, fx.sinkJSONConfig, 1, nilPacerFactory, timeutil.DefaultTimeSource{}, settings, nilMetricsRecorderBuilder, knobs) - if err != nil && fx.createClientErrorCb != nil { - fx.createClientErrorCb(err) - return fx - } require.NoError(t, err) fx.bs = bs.(*batchingSink) @@ -704,15 +578,11 @@ func newKafkaSinkV2Fx(t *testing.T, opts ...fxOpt) *kafkaSinkV2Fx { } func (fx *kafkaSinkV2Fx) close() { - if fx.sink != nil { - if _, ok := fx.sink.client.(*mocks.MockKafkaClientV2); ok { - fx.kc.EXPECT().Close().AnyTimes() - } - require.NoError(fx.t, fx.sink.Close()) - } - if fx.bs != nil { - require.NoError(fx.t, fx.bs.Close()) + if _, ok := fx.sink.client.(*mocks.MockKafkaClientV2); ok { + fx.kc.EXPECT().Close().AnyTimes() } + require.NoError(fx.t, fx.sink.Close()) + require.NoError(fx.t, fx.bs.Close()) } type fnMatcher func(arg any) bool diff --git a/pkg/ccl/changefeedccl/sink_pubsub.go b/pkg/ccl/changefeedccl/sink_pubsub.go index f74e6d09951e..547f0481150c 100644 --- a/pkg/ccl/changefeedccl/sink_pubsub.go +++ b/pkg/ccl/changefeedccl/sink_pubsub.go @@ -308,8 +308,8 @@ func (p *deprecatedPubsubSink) Topics() []string { } func (p *deprecatedGcpPubsubClient) cacheTopicLocked(name string, topic *pubsub.Topic) { - // TODO(zinger): Investigate whether changing topics to a syncutil.Map would - // be faster here, I think it would. + //TODO (zinger): Investigate whether changing topics to a sync.Map would be + //faster here, I think it would. p.mu.Lock() defer p.mu.Unlock() p.mu.topics[name] = topic diff --git a/pkg/ccl/changefeedccl/sink_test.go b/pkg/ccl/changefeedccl/sink_test.go index fcef4bdd249f..c7088d5f5d33 100644 --- a/pkg/ccl/changefeedccl/sink_test.go +++ b/pkg/ccl/changefeedccl/sink_test.go @@ -648,7 +648,7 @@ func TestSaramaConfigOptionParsing(t *testing.T) { require.NoError(t, err) require.NoError(t, cfg.Validate()) require.NoError(t, saramaCfg.Validate()) - require.Equal(t, "clientID1", cfg.ClientID) + require.True(t, cfg.ClientID == "clientID1") }) t.Run("validate returns error for bad flush configuration", func(t *testing.T) { opts := changefeedbase.SinkSpecificJSONConfig(`{"Flush": {"Messages": 1000}}`) @@ -724,7 +724,7 @@ func TestSaramaConfigOptionParsing(t *testing.T) { require.NoError(t, err) require.Equal(t, sarama.WaitForAll, saramaCfg.Producer.RequiredAcks) - opts = `{"RequiredAcks": "-1"}` + opts = changefeedbase.SinkSpecificJSONConfig(`{"RequiredAcks": "-1"}`) cfg, err = getSaramaConfig(opts) require.NoError(t, err) @@ -784,69 +784,6 @@ func TestSaramaConfigOptionParsing(t *testing.T) { _, err := getSaramaConfig(opts) require.Error(t, err) }) - t.Run("validate returns nil for valid compression codec and level", func(t *testing.T) { - tests := []struct { - give changefeedbase.SinkSpecificJSONConfig - wantCodec sarama.CompressionCodec - wantLevel int - }{ - { - give: `{"Compression": "GZIP"}`, - wantCodec: sarama.CompressionGZIP, - wantLevel: sarama.CompressionLevelDefault, - }, - { - give: `{"CompressionLevel": 1}`, - wantCodec: sarama.CompressionNone, - wantLevel: 1, - }, - { - give: `{"Compression": "GZIP", "CompressionLevel": 1}`, - wantCodec: sarama.CompressionGZIP, - wantLevel: 1, - }, - { - give: `{"Compression": "ZSTD", "CompressionLevel": 1}`, - wantCodec: sarama.CompressionZSTD, - wantLevel: 1, - }, - { - // The maximum supported zstd compression level is 10, - // so all higher values are valid and limited by it. - give: `{"Compression": "ZSTD", "CompressionLevel": 11}`, - wantCodec: sarama.CompressionZSTD, - wantLevel: 11, - }, - } - - for _, tt := range tests { - t.Run(string(tt.give), func(t *testing.T) { - cfg, err := getSaramaConfig(tt.give) - require.NoError(t, err) - - saramaCfg := sarama.NewConfig() - require.NoError(t, cfg.Apply(saramaCfg)) - require.NoError(t, saramaCfg.Validate()) - require.Equal(t, tt.wantCodec, saramaCfg.Producer.Compression) - require.Equal(t, tt.wantLevel, saramaCfg.Producer.CompressionLevel) - }) - } - }) - t.Run("validate returns err for bad compression level", func(t *testing.T) { - opts := changefeedbase.SinkSpecificJSONConfig(`{"Compression": "GZIP", "CompressionLevel": "invalid"}`) - _, err := getSaramaConfig(opts) - require.ErrorContains(t, err, "field saramaConfig.CompressionLevel of type int") - - // The maximum gzip compression level is gzip.BestCompression, - // so use gzip.BestCompression + 1. - opts = `{"Compression": "GZIP", "CompressionLevel": 10}` - cfg, err := getSaramaConfig(opts) - require.NoError(t, err) - - saramaCfg := sarama.NewConfig() - require.NoError(t, cfg.Apply(saramaCfg)) - require.ErrorContains(t, saramaCfg.Validate(), "gzip: invalid compression level: 10") - }) } func TestKafkaSinkTracksMemory(t *testing.T) { diff --git a/pkg/ccl/changefeedccl/sink_webhook_test.go b/pkg/ccl/changefeedccl/sink_webhook_test.go index 63f85dd36d77..cdf83e8fc810 100644 --- a/pkg/ccl/changefeedccl/sink_webhook_test.go +++ b/pkg/ccl/changefeedccl/sink_webhook_test.go @@ -131,7 +131,7 @@ func testSendAndReceiveRows(t *testing.T, sinkSrc Sink, sinkDest *cdctest.MockWe opts, err := getGenericWebhookSinkOptions().GetEncodingOptions() require.NoError(t, err) - enc, err := makeJSONEncoder(ctx, jsonEncoderOptions{EncodingOptions: opts}) + enc, err := makeJSONEncoder(jsonEncoderOptions{EncodingOptions: opts}) require.NoError(t, err) // test a resolved timestamp entry diff --git a/pkg/ccl/changefeedccl/telemetry.go b/pkg/ccl/changefeedccl/telemetry.go index 4ecbb7a8c079..974a12cc36a5 100644 --- a/pkg/ccl/changefeedccl/telemetry.go +++ b/pkg/ccl/changefeedccl/telemetry.go @@ -21,7 +21,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/hlc" "github.com/cockroachdb/cockroach/pkg/util/log" "github.com/cockroachdb/cockroach/pkg/util/log/eventpb" - "github.com/cockroachdb/cockroach/pkg/util/log/severity" "github.com/cockroachdb/cockroach/pkg/util/timeutil" "github.com/rcrowley/go-metrics" ) @@ -117,7 +116,7 @@ func (ptl *periodicTelemetryLogger) maybeFlushLogs() { EmittedMessages: ptl.resetEmittedMessages(), LoggingInterval: loggingInterval, } - log.StructuredEvent(ptl.ctx, severity.INFO, continuousTelemetryEvent) + log.StructuredEvent(ptl.ctx, continuousTelemetryEvent) } func (ptl *periodicTelemetryLogger) close() { @@ -134,7 +133,7 @@ func (ptl *periodicTelemetryLogger) close() { LoggingInterval: loggingInterval, Closing: true, } - log.StructuredEvent(ptl.ctx, severity.INFO, continuousTelemetryEvent) + log.StructuredEvent(ptl.ctx, continuousTelemetryEvent) } func wrapMetricsRecorderWithTelemetry( diff --git a/pkg/ccl/changefeedccl/testfeed_test.go b/pkg/ccl/changefeedccl/testfeed_test.go index 6abd0494429a..9b88c9d7e99b 100644 --- a/pkg/ccl/changefeedccl/testfeed_test.go +++ b/pkg/ccl/changefeedccl/testfeed_test.go @@ -1857,7 +1857,7 @@ func makeKafkaFeedFactory( func exprAsString(expr tree.Expr) (string, error) { evalCtx := eval.NewTestingEvalContext(cluster.MakeTestingClusterSettings()) - semaCtx := tree.MakeSemaContext(nil /* resolver */) + semaCtx := tree.MakeSemaContext() te, err := expr.TypeCheck(context.Background(), &semaCtx, types.String) if err != nil { return "", err diff --git a/pkg/ccl/cliccl/BUILD.bazel b/pkg/ccl/cliccl/BUILD.bazel index 6038883750c6..b4dc6604f2bf 100644 --- a/pkg/ccl/cliccl/BUILD.bazel +++ b/pkg/ccl/cliccl/BUILD.bazel @@ -44,7 +44,7 @@ go_library( "@com_github_cockroachdb_errors//:errors", "@com_github_cockroachdb_errors//oserror", "@com_github_cockroachdb_redact//:redact", - "@com_github_lestrrat_go_jwx_v2//jwk", + "@com_github_lestrrat_go_jwx//jwk", "@com_github_olekukonko_tablewriter//:tablewriter", "@com_github_spf13_cobra//:cobra", "@com_github_spf13_pflag//:pflag", diff --git a/pkg/ccl/cliccl/ear.go b/pkg/ccl/cliccl/ear.go index 23f7a36e6550..daada434fa01 100644 --- a/pkg/ccl/cliccl/ear.go +++ b/pkg/ccl/cliccl/ear.go @@ -47,7 +47,7 @@ func runDecrypt(cmd *cobra.Command, args []string) (returnErr error) { // Copy the raw bytes into the destination file. out := cmd.OutOrStdout() if outPath != "" { - outFile, err := env.UnencryptedFS.Create(outPath, fs.UnspecifiedWriteCategory) + outFile, err := env.UnencryptedFS.Create(outPath) if err != nil { return errors.Wrapf(err, "could not open output file %s", outPath) } diff --git a/pkg/ccl/cliccl/ear_test.go b/pkg/ccl/cliccl/ear_test.go index bca0c3ffe81c..4e6cb590b1a0 100644 --- a/pkg/ccl/cliccl/ear_test.go +++ b/pkg/ccl/cliccl/ear_test.go @@ -56,7 +56,7 @@ func TestDecrypt(t *testing.T) { encOpts, err := encSpec.ToEncryptionOptions() require.NoError(t, err) - env, err := fs.InitEnv(ctx, vfs.Default, dir, fs.EnvConfig{EncryptionOptions: encOpts}, nil /* statsCollector */) + env, err := fs.InitEnv(ctx, vfs.Default, dir, fs.EnvConfig{EncryptionOptions: encOpts}) require.NoError(t, err) p, err := storage.Open(ctx, env, cluster.MakeClusterSettings()) require.NoError(t, err) @@ -138,7 +138,7 @@ func TestList(t *testing.T) { require.NoError(t, err) encOpts, err := encSpec.ToEncryptionOptions() require.NoError(t, err) - env, err := fs.InitEnv(ctx, vfs.Default, dir, fs.EnvConfig{EncryptionOptions: encOpts}, nil /* statsCollector */) + env, err := fs.InitEnv(ctx, vfs.Default, dir, fs.EnvConfig{EncryptionOptions: encOpts}) require.NoError(t, err) p, err := storage.Open(ctx, env, cluster.MakeClusterSettings()) require.NoError(t, err) diff --git a/pkg/ccl/cliccl/gen.go b/pkg/ccl/cliccl/gen.go index f44500314e19..41cab793b42d 100644 --- a/pkg/ccl/cliccl/gen.go +++ b/pkg/ccl/cliccl/gen.go @@ -18,7 +18,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/ccl/storageccl/engineccl/enginepbccl" "github.com/cockroachdb/cockroach/pkg/cli" "github.com/cockroachdb/errors" - "github.com/lestrrat-go/jwx/v2/jwk" + "github.com/lestrrat-go/jwx/jwk" "github.com/spf13/cobra" ) @@ -62,10 +62,8 @@ func genEncryptionKey( return fmt.Errorf("store key size should be 128, 192, or 256 bits, got %d", aesSize) } - // FromRaw uses the input type to instantiate particular type of key. - // []byte input type is used to generate a symmetric key here. - symKey, err := jwk.FromRaw(key) - if err != nil { + symKey := jwk.NewSymmetricKey() + if err := symKey.FromRaw(key); err != nil { return errors.Wrap(err, "error setting key bytes") } if err := symKey.Set(jwk.KeyIDKey, hex.EncodeToString(keyID)); err != nil { @@ -80,9 +78,7 @@ func genEncryptionKey( } keySet := jwk.NewSet() - if err = keySet.AddKey(symKey); err != nil { - return err - } + keySet.Add(symKey) b, err = json.Marshal(keySet) if err != nil { diff --git a/pkg/ccl/cliccl/testdata/ear-list b/pkg/ccl/cliccl/testdata/ear-list index 708c66bdea42..7362ef47a79f 100644 --- a/pkg/ccl/cliccl/testdata/ear-list +++ b/pkg/ccl/cliccl/testdata/ear-list @@ -8,13 +8,13 @@ list 000004.log: env type: Data, AES128_CTR keyID: bbb65a9d114c2a18740f27b6933b74f61018bd5adf545c153b48ffe6473336ef - nonce: e8 33 ee 2f ba ff 71 dd 29 20 97 62 - counter: 953786306 + nonce: 71 12 f7 22 9a fb 90 24 4e 58 27 01 + counter: 3082989236 000005.sst: env type: Data, AES128_CTR keyID: bbb65a9d114c2a18740f27b6933b74f61018bd5adf545c153b48ffe6473336ef - nonce: fa ba 07 9e 17 3f 2c 86 11 54 5b d8 - counter: 145968458 + nonce: 5a 01 ec 25 29 aa 75 fc 92 76 48 ad + counter: 1294279409 COCKROACHDB_DATA_KEYS_000001_monolith: env type: Store, AES128_CTR keyID: f594229216d81add7811c4360212eb7629b578ef4eab6e5d05679b3c5de48867 @@ -28,18 +28,18 @@ MANIFEST-000001: OPTIONS-000003: env type: Data, AES128_CTR keyID: bbb65a9d114c2a18740f27b6933b74f61018bd5adf545c153b48ffe6473336ef - nonce: e4 55 75 81 3b 6a 91 c3 d6 6b 0a d8 - counter: 3985614669 + nonce: 80 18 c0 79 61 c7 cf ef b4 25 4e 78 + counter: 1483615076 marker.datakeys.000001.COCKROACHDB_DATA_KEYS_000001_monolith: env type: Store, AES128_CTR keyID: f594229216d81add7811c4360212eb7629b578ef4eab6e5d05679b3c5de48867 nonce: 55 d7 d4 27 6c 97 9b dd f1 5d 40 c8 counter: 467030050 -marker.format-version.000004.017: +marker.format-version.000001.013: env type: Data, AES128_CTR keyID: bbb65a9d114c2a18740f27b6933b74f61018bd5adf545c153b48ffe6473336ef - nonce: 5a 01 ec 25 29 aa 75 fc 92 76 48 ad - counter: 1294279409 + nonce: d3 97 11 b3 1a ed 22 2b 74 fb 02 0c + counter: 1229228536 marker.manifest.000001.MANIFEST-000001: env type: Data, AES128_CTR keyID: bbb65a9d114c2a18740f27b6933b74f61018bd5adf545c153b48ffe6473336ef diff --git a/pkg/ccl/cloudccl/amazon/BUILD.bazel b/pkg/ccl/cloudccl/amazon/BUILD.bazel index 9ff51683aab2..1417d9e2e980 100644 --- a/pkg/ccl/cloudccl/amazon/BUILD.bazel +++ b/pkg/ccl/cloudccl/amazon/BUILD.bazel @@ -24,7 +24,6 @@ go_test( "//pkg/util/leaktest", "//pkg/util/log", "//pkg/util/randutil", - "@com_github_aws_aws_sdk_go_v2_config//:config", - "@com_github_stretchr_testify//require", + "@com_github_aws_aws_sdk_go//aws/credentials", ], ) diff --git a/pkg/ccl/cloudccl/amazon/s3_connection_test.go b/pkg/ccl/cloudccl/amazon/s3_connection_test.go index 990411930bbd..a6585d903e9a 100644 --- a/pkg/ccl/cloudccl/amazon/s3_connection_test.go +++ b/pkg/ccl/cloudccl/amazon/s3_connection_test.go @@ -16,7 +16,7 @@ import ( "strings" "testing" - "github.com/aws/aws-sdk-go-v2/config" + "github.com/aws/aws-sdk-go/aws/credentials" "github.com/cockroachdb/cockroach/pkg/base" _ "github.com/cockroachdb/cockroach/pkg/ccl" "github.com/cockroachdb/cockroach/pkg/cloud" @@ -30,7 +30,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/testutils/sqlutils" "github.com/cockroachdb/cockroach/pkg/util/leaktest" "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/stretchr/testify/require" ) func TestS3ExternalConnection(t *testing.T) { @@ -68,13 +67,10 @@ func TestS3ExternalConnection(t *testing.T) { // If environment credentials are not present, we want to // skip all S3 tests, including auth-implicit, even though // it is not used in auth-implicit. - envConfig, err := config.NewEnvConfig() - require.NoError(t, err) - if !envConfig.Credentials.HasKeys() { + creds, err := credentials.NewEnvCredentials().Get() + if err != nil { skip.IgnoreLint(t, "No AWS credentials") } - - creds := envConfig.Credentials bucket := os.Getenv("AWS_S3_BUCKET") if bucket == "" { skip.IgnoreLint(t, "AWS_S3_BUCKET env var must be set") @@ -87,11 +83,8 @@ func TestS3ExternalConnection(t *testing.T) { // in the AWS console, then set it up locally. // https://docs.aws.com/cli/latest/userguide/cli-configure-role.html // We only run this test if default role exists. - ctx := context.Background() - cfg, err := config.LoadDefaultConfig(ctx, - config.WithSharedConfigProfile(config.DefaultSharedConfigProfile)) - require.NoError(t, err) - _, err = cfg.Credentials.Retrieve(ctx) + credentialsProvider := credentials.SharedCredentialsProvider{} + _, err := credentialsProvider.Retrieve() if err != nil { skip.IgnoreLintf(t, "we only run this test if a default role exists, "+ "refer to https://docs.aws.com/cli/latest/userguide/cli-configure-role.html: %s", err) @@ -127,11 +120,8 @@ func TestS3ExternalConnection(t *testing.T) { // in the AWS console, then set it up locally. // https://docs.aws.com/cli/latest/userguide/cli-configure-role.html // We only run this test if default role exists. - ctx := context.Background() - cfg, err := config.LoadDefaultConfig(ctx, - config.WithSharedConfigProfile(config.DefaultSharedConfigProfile)) - require.NoError(t, err) - _, err = cfg.Credentials.Retrieve(ctx) + credentialsProvider := credentials.SharedCredentialsProvider{} + _, err := credentialsProvider.Retrieve() if err != nil { skip.IgnoreLintf(t, "we only run this test if a default role exists, "+ "refer to https://docs.aws.com/cli/latest/userguide/cli-configure-role.html: %s", err) @@ -166,11 +156,8 @@ func TestS3ExternalConnection(t *testing.T) { // in the AWS console, then set it up locally. // https://docs.aws.com/cli/latest/userguide/cli-configure-role.html // We only run this test if default role exists. - ctx := context.Background() - cfg, err := config.LoadDefaultConfig(ctx, - config.WithSharedConfigProfile(config.DefaultSharedConfigProfile)) - require.NoError(t, err) - _, err = cfg.Credentials.Retrieve(ctx) + credentialsProvider := credentials.SharedCredentialsProvider{} + _, err := credentialsProvider.Retrieve() if err != nil { skip.IgnoreLintf(t, "we only run this test if a default role exists, "+ "refer to https://docs.aws.com/cli/latest/userguide/cli-configure-role.html: %s", err) @@ -233,10 +220,9 @@ func TestAWSKMSExternalConnection(t *testing.T) { // If environment credentials are not present, we want to // skip all AWS KMS tests, including auth-implicit, even though // it is not used in auth-implicit. - envConfig, err := config.NewEnvConfig() - require.NoError(t, err) - if !envConfig.Credentials.HasKeys() { - skip.IgnoreLint(t, "No AWS credentials") + _, err := credentials.NewEnvCredentials().Get() + if err != nil { + skip.IgnoreLint(t, "Test only works with AWS credentials") } q := make(url.Values) @@ -345,10 +331,9 @@ func TestAWSKMSExternalConnectionAssumeRole(t *testing.T) { // If environment credentials are not present, we want to // skip all AWS KMS tests, including auth-implicit, even though // it is not used in auth-implicit. - envConfig, err := config.NewEnvConfig() - require.NoError(t, err) - if !envConfig.Credentials.HasKeys() { - skip.IgnoreLint(t, "No AWS credentials") + _, err := credentials.NewEnvCredentials().Get() + if err != nil { + skip.IgnoreLint(t, "Test only works with AWS credentials") } q := make(url.Values) @@ -395,11 +380,8 @@ func TestAWSKMSExternalConnectionAssumeRole(t *testing.T) { // in the AWS console, then set it up locally. // https://docs.aws.com/cli/latest/userguide/cli-configure-role.html // We only run this test if default role exists. - ctx := context.Background() - cfg, err := config.LoadDefaultConfig(ctx, - config.WithSharedConfigProfile(config.DefaultSharedConfigProfile)) - require.NoError(t, err) - _, err = cfg.Credentials.Retrieve(ctx) + credentialsProvider := credentials.SharedCredentialsProvider{} + _, err := credentialsProvider.Retrieve() if err != nil { skip.IgnoreLint(t, err) } diff --git a/pkg/ccl/cloudccl/externalconn/testdata/create_drop_external_connection b/pkg/ccl/cloudccl/externalconn/testdata/create_drop_external_connection index a41b680b1516..0727c2efbc05 100644 --- a/pkg/ccl/cloudccl/externalconn/testdata/create_drop_external_connection +++ b/pkg/ccl/cloudccl/externalconn/testdata/create_drop_external_connection @@ -111,7 +111,7 @@ disable-check-external-storage ---- exec-sql -CREATE EXTERNAL CONNECTION "foo-s3" AS 's3://foo/bar?AUTH=specified&AWS_ACCESS_KEY_ID=123&AWS_SECRET_ACCESS_KEY=456&AWS_REGION=us-east-1&ASSUME_ROLE=ronaldo,rashford,bruno'; +CREATE EXTERNAL CONNECTION "foo-s3" AS 's3://foo/bar?AUTH=implicit&AWS_ACCESS_KEY_ID=123&AWS_SECRET_ACCESS_KEY=456&ASSUME_ROLE=ronaldo,rashford,bruno'; ---- # Reject invalid S3 URIs. @@ -127,7 +127,7 @@ pq: failed to construct External Connection details: failed to create s3 externa inspect-system-table ---- -foo-s3 STORAGE {"provider": "s3", "simpleUri": {"uri": "s3://foo/bar?AUTH=specified&AWS_ACCESS_KEY_ID=123&AWS_SECRET_ACCESS_KEY=456&AWS_REGION=us-east-1&ASSUME_ROLE=ronaldo,rashford,bruno"}} root 1 +foo-s3 STORAGE {"provider": "s3", "simpleUri": {"uri": "s3://foo/bar?AUTH=implicit&AWS_ACCESS_KEY_ID=123&AWS_SECRET_ACCESS_KEY=456&ASSUME_ROLE=ronaldo,rashford,bruno"}} root 1 exec-sql DROP EXTERNAL CONNECTION "foo-s3"; diff --git a/pkg/ccl/cloudccl/externalconn/testdata/multi-tenant/create_drop_external_connection b/pkg/ccl/cloudccl/externalconn/testdata/multi-tenant/create_drop_external_connection index 6c2b6aa7c30e..ed3b8ebff40c 100644 --- a/pkg/ccl/cloudccl/externalconn/testdata/multi-tenant/create_drop_external_connection +++ b/pkg/ccl/cloudccl/externalconn/testdata/multi-tenant/create_drop_external_connection @@ -91,7 +91,7 @@ disable-check-external-storage ---- exec-sql -CREATE EXTERNAL CONNECTION "foo-s3" AS 's3://foo/bar?AUTH=specified&AWS_ACCESS_KEY_ID=123&AWS_SECRET_ACCESS_KEY=456&AWS_REGION=us-east-1ASSUME_ROLE=ronaldo,rashford,bruno'; +CREATE EXTERNAL CONNECTION "foo-s3" AS 's3://foo/bar?AUTH=implicit&AWS_ACCESS_KEY_ID=123&AWS_SECRET_ACCESS_KEY=456&ASSUME_ROLE=ronaldo,rashford,bruno'; ---- # Reject invalid S3 URIs. @@ -107,7 +107,7 @@ pq: failed to construct External Connection details: failed to create s3 externa inspect-system-table ---- -foo-s3 STORAGE {"provider": "s3", "simpleUri": {"uri": "s3://foo/bar?AUTH=specified&AWS_ACCESS_KEY_ID=123&AWS_SECRET_ACCESS_KEY=456&AWS_REGION=us-east-1ASSUME_ROLE=ronaldo,rashford,bruno"}} root 1 +foo-s3 STORAGE {"provider": "s3", "simpleUri": {"uri": "s3://foo/bar?AUTH=implicit&AWS_ACCESS_KEY_ID=123&AWS_SECRET_ACCESS_KEY=456&ASSUME_ROLE=ronaldo,rashford,bruno"}} root 1 exec-sql DROP EXTERNAL CONNECTION "foo-s3"; diff --git a/pkg/ccl/cloudccl/externalconn/testdata/multi-tenant/show_external_connections b/pkg/ccl/cloudccl/externalconn/testdata/multi-tenant/show_external_connections deleted file mode 100644 index 706312b9578a..000000000000 --- a/pkg/ccl/cloudccl/externalconn/testdata/multi-tenant/show_external_connections +++ /dev/null @@ -1,50 +0,0 @@ -# Connection URIs should be redacted -subtest redact-connection-uri - -disable-check-external-storage ----- - -disable-check-kms ----- - -exec-sql -CREATE EXTERNAL CONNECTION nodelocal AS 'nodelocal://1/foo'; ----- - -exec-sql -CREATE EXTERNAL CONNECTION kms AS 'gcp-kms:///cmk?AUTH=specified&BEARER_TOKEN=c29tZXRoaW5nCg=='; ----- - -exec-sql -CREATE EXTERNAL CONNECTION s3 AS 's3://bucket?AUTH=specified&AWS_ACCESS_KEY_ID=key&AWS_SECRET_ACCESS_KEY=secret-key'; ----- - -exec-sql -CREATE EXTERNAL CONNECTION gs AS 'gs://bucket?AUTH=specified&BEARER_TOKEN=c29tZXRoaW5nCg=='; ----- - -exec-sql -CREATE EXTERNAL CONNECTION kafka AS 'kafka://broker.address.com:9092?topic_prefix=bar_&tls_enabled=true&ca_cert=Zm9vCg==&sasl_enabled=true&sasl_user=fake_user&sasl_password=fake_password&sasl_mechanism=SCRAM-SHA-256'; ----- - -exec-sql -CREATE EXTERNAL CONNECTION blob AS 'azure-storage://bucket/path?AZURE_ACCOUNT_NAME=foo&AZURE_ACCOUNT_KEY=Zm9vCg==&AZURE_ENVIRONMENT=AzureUSGovernmentCloud'; ----- - -query-sql -SHOW EXTERNAL CONNECTIONS ----- -blob azure-storage://bucket/path?AZURE_ACCOUNT_KEY=redacted&AZURE_ACCOUNT_NAME=foo&AZURE_ENVIRONMENT=AzureUSGovernmentCloud STORAGE -gs gs://bucket?AUTH=specified&BEARER_TOKEN=redacted STORAGE -kafka kafka://broker.address.com:9092?ca_cert=redacted&sasl_enabled=true&sasl_mechanism=SCRAM-SHA-256&sasl_password=redacted&sasl_user=fake_user&tls_enabled=true&topic_prefix=bar_ STORAGE -kms gcp-kms:///redacted?AUTH=specified&BEARER_TOKEN=redacted KMS -nodelocal nodelocal://1/foo STORAGE -s3 s3://bucket?AUTH=specified&AWS_ACCESS_KEY_ID=key&AWS_SECRET_ACCESS_KEY=redacted STORAGE - -enable-check-external-storage ----- - -enable-check-kms ----- - -subtest end diff --git a/pkg/ccl/cloudccl/externalconn/testdata/show_external_connections b/pkg/ccl/cloudccl/externalconn/testdata/show_external_connections deleted file mode 100644 index 706312b9578a..000000000000 --- a/pkg/ccl/cloudccl/externalconn/testdata/show_external_connections +++ /dev/null @@ -1,50 +0,0 @@ -# Connection URIs should be redacted -subtest redact-connection-uri - -disable-check-external-storage ----- - -disable-check-kms ----- - -exec-sql -CREATE EXTERNAL CONNECTION nodelocal AS 'nodelocal://1/foo'; ----- - -exec-sql -CREATE EXTERNAL CONNECTION kms AS 'gcp-kms:///cmk?AUTH=specified&BEARER_TOKEN=c29tZXRoaW5nCg=='; ----- - -exec-sql -CREATE EXTERNAL CONNECTION s3 AS 's3://bucket?AUTH=specified&AWS_ACCESS_KEY_ID=key&AWS_SECRET_ACCESS_KEY=secret-key'; ----- - -exec-sql -CREATE EXTERNAL CONNECTION gs AS 'gs://bucket?AUTH=specified&BEARER_TOKEN=c29tZXRoaW5nCg=='; ----- - -exec-sql -CREATE EXTERNAL CONNECTION kafka AS 'kafka://broker.address.com:9092?topic_prefix=bar_&tls_enabled=true&ca_cert=Zm9vCg==&sasl_enabled=true&sasl_user=fake_user&sasl_password=fake_password&sasl_mechanism=SCRAM-SHA-256'; ----- - -exec-sql -CREATE EXTERNAL CONNECTION blob AS 'azure-storage://bucket/path?AZURE_ACCOUNT_NAME=foo&AZURE_ACCOUNT_KEY=Zm9vCg==&AZURE_ENVIRONMENT=AzureUSGovernmentCloud'; ----- - -query-sql -SHOW EXTERNAL CONNECTIONS ----- -blob azure-storage://bucket/path?AZURE_ACCOUNT_KEY=redacted&AZURE_ACCOUNT_NAME=foo&AZURE_ENVIRONMENT=AzureUSGovernmentCloud STORAGE -gs gs://bucket?AUTH=specified&BEARER_TOKEN=redacted STORAGE -kafka kafka://broker.address.com:9092?ca_cert=redacted&sasl_enabled=true&sasl_mechanism=SCRAM-SHA-256&sasl_password=redacted&sasl_user=fake_user&tls_enabled=true&topic_prefix=bar_ STORAGE -kms gcp-kms:///redacted?AUTH=specified&BEARER_TOKEN=redacted KMS -nodelocal nodelocal://1/foo STORAGE -s3 s3://bucket?AUTH=specified&AWS_ACCESS_KEY_ID=key&AWS_SECRET_ACCESS_KEY=redacted STORAGE - -enable-check-external-storage ----- - -enable-check-kms ----- - -subtest end diff --git a/pkg/ccl/cmdccl/clusterrepl/BUILD.bazel b/pkg/ccl/cmdccl/clusterrepl/BUILD.bazel index 7b76f1b93038..be62d34fef55 100644 --- a/pkg/ccl/cmdccl/clusterrepl/BUILD.bazel +++ b/pkg/ccl/cmdccl/clusterrepl/BUILD.bazel @@ -6,8 +6,8 @@ go_library( importpath = "github.com/cockroachdb/cockroach/pkg/ccl/cmdccl/clusterrepl", visibility = ["//visibility:private"], deps = [ - "//pkg/ccl/crosscluster", - "//pkg/ccl/crosscluster/streamclient", + "//pkg/ccl/streamingccl", + "//pkg/ccl/streamingccl/streamclient", "//pkg/cli/exit", "//pkg/keys", "//pkg/repstream/streampb", diff --git a/pkg/ccl/cmdccl/clusterrepl/main.go b/pkg/ccl/cmdccl/clusterrepl/main.go index 9f51292cd787..287b658764ae 100644 --- a/pkg/ccl/cmdccl/clusterrepl/main.go +++ b/pkg/ccl/cmdccl/clusterrepl/main.go @@ -17,8 +17,8 @@ import ( "os/signal" "time" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamclient" "github.com/cockroachdb/cockroach/pkg/cli/exit" "github.com/cockroachdb/cockroach/pkg/keys" "github.com/cockroachdb/cockroach/pkg/repstream/streampb" @@ -36,6 +36,7 @@ var ( uri = flag.String("uri", "", "sql uri") tenant = flag.String("tenant", "", "tenant name") + parallelScan = flag.Int("scans", 16, "parallel scan count") batchSize = flag.Int("batch-size", 1<<20, "batch size") checkpointInterval = flag.Duration("checkpoint-iterval", 10*time.Second, "checkpoint interval") statsInterval = flag.Duration("stats-interval", 5*time.Second, "period over which to measure throughput") @@ -85,7 +86,7 @@ func main() { if errors.Is(err, context.Canceled) { exit.WithCode(exit.Interrupted()) } else { - fatalf("%s", err) + fatalf(err.Error()) } } } @@ -97,7 +98,7 @@ func streamPartition(ctx context.Context, streamAddr *url.URL) error { return err } - replicationProducerSpec, err := client.CreateForTenant(ctx, roachpb.TenantName(*tenant), streampb.ReplicationProducerRequest{}) + replicationProducerSpec, err := client.Create(ctx, roachpb.TenantName(*tenant), streampb.ReplicationProducerRequest{}) if err != nil { return err } @@ -112,7 +113,7 @@ func streamPartition(ctx context.Context, streamAddr *url.URL) error { }() // We ignore most of this plan. But, it gives us the tenant ID. - plan, err := client.PlanPhysicalReplication(ctx, replicationProducerSpec.StreamID) + plan, err := client.Plan(ctx, replicationProducerSpec.StreamID) if err != nil { return err } @@ -122,6 +123,7 @@ func streamPartition(ctx context.Context, streamAddr *url.URL) error { var sps streampb.StreamPartitionSpec sps.Config.MinCheckpointFrequency = *checkpointInterval sps.Config.BatchByteSize = int64(*batchSize) + sps.Config.InitialScanParallelism = int32(*parallelScan) sps.Spans = append(sps.Spans, tenantSpan) sps.InitialScanTimestamp = replicationProducerSpec.ReplicationStartTime spsBytes, err := protoutil.Marshal(&sps) @@ -138,7 +140,7 @@ func streamPartition(ctx context.Context, streamAddr *url.URL) error { return rawStream(ctx, streamAddr, replicationProducerSpec.StreamID, spsBytes) } - sub, err := client.Subscribe(ctx, replicationProducerSpec.StreamID, 1, 1, + sub, err := client.Subscribe(ctx, replicationProducerSpec.StreamID, 1, spsBytes, sps.InitialScanTimestamp, nil) @@ -243,16 +245,16 @@ func subscriptionConsumer( return sub.Err() } switch event.Type() { - case crosscluster.KVEvent: + case streamingccl.KVEvent: sz = 0 for _, kv := range event.GetKVs() { sz += kv.Size() } - case crosscluster.SSTableEvent: + case streamingccl.SSTableEvent: ssTab := event.GetSSTable() sz = ssTab.Size() - case crosscluster.DeleteRangeEvent: - case crosscluster.CheckpointEvent: + case streamingccl.DeleteRangeEvent: + case streamingccl.CheckpointEvent: fmt.Printf("%s checkpoint\n", timeutil.Now().Format(time.RFC3339)) resolved := event.GetResolvedSpans() for _, r := range resolved { diff --git a/pkg/ccl/crosscluster/logical/BUILD.bazel b/pkg/ccl/crosscluster/logical/BUILD.bazel deleted file mode 100644 index c70b627ec50f..000000000000 --- a/pkg/ccl/crosscluster/logical/BUILD.bazel +++ /dev/null @@ -1,162 +0,0 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") - -go_library( - name = "logical", - srcs = [ - "create_logical_replication_stmt.go", - "dead_letter_queue.go", - "logical_replication_dist.go", - "logical_replication_job.go", - "logical_replication_writer_processor.go", - "lww_kv_processor.go", - "lww_row_processor.go", - "metrics.go", - "purgatory.go", - "udf_row_processor.go", - ], - importpath = "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/logical", - visibility = ["//visibility:public"], - deps = [ - "//pkg/base", - "//pkg/ccl/changefeedccl/cdcevent", - "//pkg/ccl/changefeedccl/changefeedbase", - "//pkg/ccl/crosscluster", - "//pkg/ccl/crosscluster/physical", - "//pkg/ccl/crosscluster/streamclient", - "//pkg/ccl/utilccl", - "//pkg/cloud", - "//pkg/clusterversion", - "//pkg/jobs", - "//pkg/jobs/jobspb", - "//pkg/jobs/jobsprofiler", - "//pkg/keys", - "//pkg/kv", - "//pkg/kv/kvpb", - "//pkg/repstream/streampb", - "//pkg/roachpb", - "//pkg/server/telemetry", - "//pkg/settings", - "//pkg/settings/cluster", - "//pkg/sql", - "//pkg/sql/catalog", - "//pkg/sql/catalog/catpb", - "//pkg/sql/catalog/colinfo", - "//pkg/sql/catalog/descpb", - "//pkg/sql/catalog/descs", - "//pkg/sql/catalog/lease", - "//pkg/sql/catalog/resolver", - "//pkg/sql/catalog/tabledesc", - "//pkg/sql/catalog/typedesc", - "//pkg/sql/execinfra", - "//pkg/sql/execinfrapb", - "//pkg/sql/exprutil", - "//pkg/sql/isql", - "//pkg/sql/lexbase", - "//pkg/sql/parser", - "//pkg/sql/parser/statements", - "//pkg/sql/pgwire/pgcode", - "//pkg/sql/pgwire/pgerror", - "//pkg/sql/physicalplan", - "//pkg/sql/privilege", - "//pkg/sql/row", - "//pkg/sql/rowenc", - "//pkg/sql/rowexec", - "//pkg/sql/sem/asof", - "//pkg/sql/sem/catconstants", - "//pkg/sql/sem/catid", - "//pkg/sql/sem/eval", - "//pkg/sql/sem/tree", - "//pkg/sql/sessiondata", - "//pkg/sql/sessiondatapb", - "//pkg/sql/syntheticprivilege", - "//pkg/sql/types", - "//pkg/util/admission/admissionpb", - "//pkg/util/buildutil", - "//pkg/util/ctxgroup", - "//pkg/util/hlc", - "//pkg/util/log", - "//pkg/util/log/logcrash", - "//pkg/util/metamorphic", - "//pkg/util/metric", - "//pkg/util/protoutil", - "//pkg/util/randutil", - "//pkg/util/retry", - "//pkg/util/span", - "//pkg/util/timeutil", - "//pkg/util/tracing", - "@com_github_cockroachdb_errors//:errors", - "@com_github_cockroachdb_errors//issuelink", - "@com_github_cockroachdb_logtags//:logtags", - "@com_github_cockroachdb_redact//:redact", - "@com_github_lib_pq//oid", - ], -) - -go_test( - name = "logical_test", - srcs = [ - "dead_letter_queue_test.go", - "logical_replication_job_test.go", - "lww_row_processor_test.go", - "main_test.go", - "purgatory_test.go", - "udf_row_processor_test.go", - ], - data = ["//c-deps:libgeos"], - embed = [":logical"], - deps = [ - "//pkg/base", - "//pkg/ccl", - "//pkg/ccl/changefeedccl/cdcevent", - "//pkg/ccl/changefeedccl/cdctest", - "//pkg/ccl/changefeedccl/changefeedbase", - "//pkg/ccl/crosscluster/replicationtestutils", - "//pkg/ccl/crosscluster/replicationutils", - "//pkg/ccl/crosscluster/streamclient", - "//pkg/ccl/crosscluster/streamclient/randclient", - "//pkg/ccl/storageccl", - "//pkg/jobs", - "//pkg/jobs/jobspb", - "//pkg/kv", - "//pkg/kv/kvpb", - "//pkg/kv/kvserver", - "//pkg/repstream/streampb", - "//pkg/roachpb", - "//pkg/security/securityassets", - "//pkg/security/securitytest", - "//pkg/security/username", - "//pkg/server", - "//pkg/sql", - "//pkg/sql/catalog", - "//pkg/sql/catalog/descpb", - "//pkg/sql/catalog/descs", - "//pkg/sql/catalog/desctestutils", - "//pkg/sql/execinfra", - "//pkg/sql/isql", - "//pkg/sql/randgen", - "//pkg/sql/rowenc", - "//pkg/sql/sem/eval", - "//pkg/sql/sem/tree", - "//pkg/testutils", - "//pkg/testutils/jobutils", - "//pkg/testutils/serverutils", - "//pkg/testutils/skip", - "//pkg/testutils/sqlutils", - "//pkg/testutils/testcluster", - "//pkg/util/allstacks", - "//pkg/util/hlc", - "//pkg/util/leaktest", - "//pkg/util/log", - "//pkg/util/metric", - "//pkg/util/protoutil", - "//pkg/util/randutil", - "//pkg/util/retry", - "//pkg/util/span", - "//pkg/util/syncutil", - "//pkg/util/timeutil", - "//pkg/util/uuid", - "@com_github_cockroachdb_errors//:errors", - "@com_github_lib_pq//:pq", - "@com_github_stretchr_testify//require", - ], -) diff --git a/pkg/ccl/crosscluster/logical/create_logical_replication_stmt.go b/pkg/ccl/crosscluster/logical/create_logical_replication_stmt.go deleted file mode 100644 index a19b96ad45ab..000000000000 --- a/pkg/ccl/crosscluster/logical/create_logical_replication_stmt.go +++ /dev/null @@ -1,476 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package logical - -import ( - "context" - "fmt" - "strings" - - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" - "github.com/cockroachdb/cockroach/pkg/ccl/utilccl" - "github.com/cockroachdb/cockroach/pkg/cloud" - "github.com/cockroachdb/cockroach/pkg/clusterversion" - "github.com/cockroachdb/cockroach/pkg/jobs" - "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" - "github.com/cockroachdb/cockroach/pkg/repstream/streampb" - "github.com/cockroachdb/cockroach/pkg/server/telemetry" - "github.com/cockroachdb/cockroach/pkg/sql" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/colinfo" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/descpb" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/resolver" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/tabledesc" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/typedesc" - "github.com/cockroachdb/cockroach/pkg/sql/exprutil" - "github.com/cockroachdb/cockroach/pkg/sql/parser" - "github.com/cockroachdb/cockroach/pkg/sql/pgwire/pgcode" - "github.com/cockroachdb/cockroach/pkg/sql/pgwire/pgerror" - "github.com/cockroachdb/cockroach/pkg/sql/privilege" - "github.com/cockroachdb/cockroach/pkg/sql/sem/asof" - "github.com/cockroachdb/cockroach/pkg/sql/sem/tree" - "github.com/cockroachdb/cockroach/pkg/sql/syntheticprivilege" - "github.com/cockroachdb/cockroach/pkg/sql/types" - "github.com/cockroachdb/cockroach/pkg/util/buildutil" - "github.com/cockroachdb/cockroach/pkg/util/hlc" - "github.com/cockroachdb/cockroach/pkg/util/tracing" - "github.com/cockroachdb/errors" - "github.com/cockroachdb/errors/issuelink" -) - -func init() { - sql.AddPlanHook("create logical replication stream", createLogicalReplicationStreamPlanHook, createLogicalReplicationStreamTypeCheck) -} - -var streamCreationHeader = colinfo.ResultColumns{ - {Name: "job_id", Typ: types.Int}, -} - -func createLogicalReplicationStreamPlanHook( - ctx context.Context, untypedStmt tree.Statement, p sql.PlanHookState, -) (sql.PlanHookRowFn, colinfo.ResultColumns, []sql.PlanNode, bool, error) { - stmt, ok := untypedStmt.(*tree.CreateLogicalReplicationStream) - if !ok { - return nil, nil, nil, false, nil - } - - exprEval := p.ExprEvaluator("LOGICAL REPLICATION STREAM") - - from, err := exprEval.String(ctx, stmt.PGURL) - if err != nil { - return nil, nil, nil, false, err - } - - fn := func(ctx context.Context, _ []sql.PlanNode, resultsCh chan<- tree.Datums) (err error) { - defer func() { - if err == nil { - telemetry.Count("logical_replication_stream.started") - } - }() - ctx, span := tracing.ChildSpan(ctx, stmt.StatementTag()) - defer span.Finish() - - if !p.ExecCfg().Settings.Version.IsActive(ctx, clusterversion.V24_2) { - return pgerror.New(pgcode.FeatureNotSupported, - "replication job not supported before V24.2") - } - - if err := utilccl.CheckEnterpriseEnabled( - p.ExecCfg().Settings, - "CREATE LOGICAL REPLICATION", - ); err != nil { - return err - } - - // TODO(dt): the global priv is a big hammer; should we be checking just on - // table(s) or database being replicated from and into? - if err := p.CheckPrivilege( - ctx, syntheticprivilege.GlobalPrivilegeObject, privilege.REPLICATION, - ); err != nil { - return err - } - - if stmt.From.Database != "" { - return errors.UnimplementedErrorf(issuelink.IssueLink{}, "logical replication streams on databases are unsupported") - } - if len(stmt.From.Tables) != len(stmt.Into.Tables) { - return pgerror.New(pgcode.InvalidParameterValue, "the same number of source and destination tables must be specified") - } - - options, err := evalLogicalReplicationOptions(ctx, stmt.Options, exprEval, p) - if err != nil { - return err - } - - hasUDF := len(options.userFunctions) > 0 || options.defaultFunction != nil && options.defaultFunction.FunctionId != 0 - - mode := jobspb.LogicalReplicationDetails_Immediate - if m, ok := options.GetMode(); ok { - switch m { - case "immediate": - if hasUDF { - return pgerror.Newf(pgcode.InvalidParameterValue, "MODE = 'immediate' cannot be used with user-defined functions") - } - case "validated": - mode = jobspb.LogicalReplicationDetails_Validated - default: - return pgerror.Newf(pgcode.InvalidParameterValue, "unknown mode %q", m) - } - } else if hasUDF { - // UDFs imply applying changes via SQL, which implies validation. - mode = jobspb.LogicalReplicationDetails_Validated - } - - var ( - targetsDescription string - srcTableNames = make([]string, len(stmt.From.Tables)) - repPairs = make([]jobspb.LogicalReplicationDetails_ReplicationPair, len(stmt.Into.Tables)) - srcTableDescs = make([]*descpb.TableDescriptor, len(stmt.Into.Tables)) - dstTableDescs = make([]*tabledesc.Mutable, len(stmt.Into.Tables)) - ) - for i := range stmt.From.Tables { - - dstObjName, err := stmt.Into.Tables[i].ToUnresolvedObjectName(tree.NoAnnotation) - if err != nil { - return err - } - dstTableName := dstObjName.ToTableName() - prefix, td, err := resolver.ResolveMutableExistingTableObject(ctx, p, &dstTableName, true, tree.ResolveRequireTableDesc) - if err != nil { - return err - } - repPairs[i].DstDescriptorID = int32(td.GetID()) - dstTableDescs[i] = td - - // TODO(dt): remove when we support this via KV metadata. - var foundTSCol bool - for _, col := range td.GetColumns() { - if col.Name == originTimestampColumnName { - foundTSCol = true - if col.Type.Family() != types.DecimalFamily { - return errors.Newf( - "%s column must be type DECIMAL for use by logical replication", originTimestampColumnName, - ) - } - break - } - } - if !foundTSCol { - return errors.WithHintf(errors.Newf( - "tables written to by logical replication currently require a %q DECIMAL column", - originTimestampColumnName, - ), "try 'ALTER TABLE %s ADD COLUMN %s DECIMAL NOT VISIBLE DEFAULT NULL ON UPDATE NULL'", - dstObjName.String(), originTimestampColumnName, - ) - } - - tbNameWithSchema := tree.MakeTableNameWithSchema( - tree.Name(prefix.Database.GetName()), - tree.Name(prefix.Schema.GetName()), - tree.Name(td.GetName()), - ) - - srcTableNames[i] = stmt.From.Tables[i].String() - - if i == 0 { - targetsDescription = tbNameWithSchema.FQString() - } else { - targetsDescription += ", " + tbNameWithSchema.FQString() - } - - if mode != jobspb.LogicalReplicationDetails_Validated { - fks := td.OutboundForeignKeys() - for _, fk := range append(fks[:len(fks):len(fks)], td.InboundForeignKeys()...) { - // TODO(dt): move the constraint to un-validated for them. - if fk.IsConstraintValidated() { - return pgerror.Newf(pgcode.InvalidParameterValue, "only 'NOT VALID' foreign keys are only supported with MODE = 'validated'") - } - } - } - } - - streamAddress := crosscluster.StreamAddress(from) - streamURL, err := streamAddress.URL() - if err != nil { - return err - } - streamAddress = crosscluster.StreamAddress(streamURL.String()) - - cleanedURI, err := cloud.SanitizeExternalStorageURI(from, nil) - if err != nil { - return err - } - - client, err := streamclient.NewStreamClient(ctx, streamAddress, p.ExecCfg().InternalDB, streamclient.WithLogical()) - if err != nil { - return err - } - defer func() { - _ = client.Close(ctx) - }() - - if err := client.Dial(ctx); err != nil { - return err - } - - spec, err := client.CreateForTables(ctx, &streampb.ReplicationProducerRequest{ - TableNames: srcTableNames, - }) - if err != nil { - return err - } - - for i, name := range srcTableNames { - td := spec.TableDescriptors[name] - srcTableDescs[i] = &td - repPairs[i].SrcDescriptorID = int32(td.ID) - } - - replicationStartTime := spec.ReplicationStartTime - progress := jobspb.LogicalReplicationProgress{} - if cursor, ok := options.GetCursor(); ok { - replicationStartTime = cursor - progress.ReplicatedTime = cursor - } - - if uf, ok := options.GetUserFunctions(); ok { - for i, name := range srcTableNames { - repPairs[i].DstFunctionID = uf[name] - } - } - // Default conflict resolution if not set will be LWW - defaultConflictResolution := jobspb.LogicalReplicationDetails_DefaultConflictResolution{ - ConflictResolutionType: jobspb.LogicalReplicationDetails_DefaultConflictResolution_LWW, - } - if cr, ok := options.GetDefaultFunction(); ok { - defaultConflictResolution = *cr - } - - if buildutil.CrdbTestBuild { - if len(srcTableDescs) != len(dstTableDescs) { - panic("srcTableDescs and dstTableDescs should have the same length") - } - } - for i := range srcTableDescs { - err := tabledesc.CheckLogicalReplicationCompatibility(srcTableDescs[i], dstTableDescs[i].TableDesc()) - if err != nil { - return err - } - } - - jr := jobs.Record{ - JobID: p.ExecCfg().JobRegistry.MakeJobID(), - Description: fmt.Sprintf("LOGICAL REPLICATION STREAM into %s from %s", targetsDescription, cleanedURI), - Username: p.User(), - Details: jobspb.LogicalReplicationDetails{ - StreamID: uint64(spec.StreamID), - SourceClusterID: spec.SourceClusterID, - ReplicationStartTime: replicationStartTime, - SourceClusterConnStr: string(streamAddress), - ReplicationPairs: repPairs, - TableNames: srcTableNames, - DefaultConflictResolution: defaultConflictResolution, - IgnoreCDCIgnoredTTLDeletes: options.IgnoreCDCIgnoredTTLDeletes(), - Mode: mode, - }, - Progress: progress, - } - - if _, err := p.ExecCfg().JobRegistry.CreateAdoptableJobWithTxn(ctx, jr, jr.JobID, p.InternalSQLTxn()); err != nil { - return err - } - - // Add the LDR job ID to the destination table descriptors. - b := p.InternalSQLTxn().KV().NewBatch() - for _, td := range dstTableDescs { - td.LDRJobIDs = append(td.LDRJobIDs, jr.JobID) - if err := p.InternalSQLTxn().Descriptors().WriteDescToBatch(ctx, true /* kvTrace */, td, b); err != nil { - return err - } - } - if err := p.InternalSQLTxn().KV().Run(ctx, b); err != nil { - return err - } - - resultsCh <- tree.Datums{tree.NewDInt(tree.DInt(jr.JobID))} - return nil - } - - return fn, streamCreationHeader, nil, false, nil -} - -func createLogicalReplicationStreamTypeCheck( - ctx context.Context, untypedStmt tree.Statement, p sql.PlanHookState, -) (matched bool, header colinfo.ResultColumns, _ error) { - stmt, ok := untypedStmt.(*tree.CreateLogicalReplicationStream) - if !ok { - return false, nil, nil - } - toTypeCheck := []exprutil.ToTypeCheck{ - exprutil.Strings{stmt.PGURL}, - exprutil.Strings{ - stmt.Options.Cursor, - stmt.Options.DefaultFunction, - stmt.Options.Mode, - }, - exprutil.Bools{ - stmt.Options.IgnoreCDCIgnoredTTLDeletes, - }, - } - if err := exprutil.TypeCheck(ctx, "LOGICAL REPLICATION STREAM", p.SemaCtx(), - toTypeCheck..., - ); err != nil { - return false, nil, err - } - - return true, streamCreationHeader, nil -} - -type resolvedLogicalReplicationOptions struct { - cursor hlc.Timestamp - mode string - defaultFunction *jobspb.LogicalReplicationDetails_DefaultConflictResolution - // Mapping of table name to function descriptor - userFunctions map[string]int32 - ignoreCDCIgnoredTTLDeletes bool -} - -func evalLogicalReplicationOptions( - ctx context.Context, - options tree.LogicalReplicationOptions, - eval exprutil.Evaluator, - p sql.PlanHookState, -) (*resolvedLogicalReplicationOptions, error) { - r := &resolvedLogicalReplicationOptions{} - if options.Mode != nil { - mode, err := eval.String(ctx, options.Mode) - if err != nil { - return nil, err - } - r.mode = mode - } - if options.Cursor != nil { - cursor, err := eval.String(ctx, options.Cursor) - if err != nil { - return nil, err - } - asOfClause := tree.AsOfClause{Expr: tree.NewStrVal(cursor)} - asOf, err := asof.Eval(ctx, asOfClause, p.SemaCtx(), &p.ExtendedEvalContext().Context) - if err != nil { - return nil, err - } - r.cursor = asOf.Timestamp - } - if options.DefaultFunction != nil { - defaultResolution := &jobspb.LogicalReplicationDetails_DefaultConflictResolution{} - defaultFnc, err := eval.String(ctx, options.DefaultFunction) - if err != nil { - return nil, err - } - switch strings.ToLower(defaultFnc) { - case "lww": - defaultResolution.ConflictResolutionType = jobspb.LogicalReplicationDetails_DefaultConflictResolution_LWW - case "dlq": - defaultResolution.ConflictResolutionType = jobspb.LogicalReplicationDetails_DefaultConflictResolution_DLQ - // This case will assume that a function name was passed in - // and we will try to resolve it. - default: - urn, err := parser.ParseFunctionName(defaultFnc) - if err != nil { - return nil, err - } - un := urn.ToUnresolvedName() - descID, err := lookupFunctionID(ctx, p, *un) - if err != nil { - return nil, err - } - defaultResolution.ConflictResolutionType = jobspb.LogicalReplicationDetails_DefaultConflictResolution_UDF - defaultResolution.FunctionId = descID - } - - r.defaultFunction = defaultResolution - } - if options.UserFunctions != nil { - r.userFunctions = make(map[string]int32) - for tb, fnc := range options.UserFunctions { - objName, err := tb.ToUnresolvedObjectName(tree.NoAnnotation) - if err != nil { - return nil, err - } - - un := fnc.ToUnresolvedObjectName().ToUnresolvedName() - descID, err := lookupFunctionID(ctx, p, *un) - if err != nil { - return nil, err - } - r.userFunctions[objName.String()] = descID - } - } - - if options.IgnoreCDCIgnoredTTLDeletes == tree.DBoolTrue { - r.ignoreCDCIgnoredTTLDeletes = true - } - return r, nil -} - -func lookupFunctionID( - ctx context.Context, p sql.PlanHookState, u tree.UnresolvedName, -) (int32, error) { - rf, err := p.ResolveFunction(ctx, tree.MakeUnresolvedFunctionName(&u), &p.SessionData().SearchPath) - if err != nil { - return 0, err - } - if len(rf.Overloads) > 1 { - return 0, errors.Newf("function %q has more than 1 overload", u.String()) - } - fnOID := rf.Overloads[0].Oid - descID := typedesc.UserDefinedTypeOIDToID(fnOID) - if descID == 0 { - return 0, errors.Newf("function %q is not a user defined type", u.String()) - } - return int32(descID), nil -} - -func (r *resolvedLogicalReplicationOptions) GetCursor() (hlc.Timestamp, bool) { - if r == nil || r.cursor.IsEmpty() { - return hlc.Timestamp{}, false - } - return r.cursor, true -} - -func (r *resolvedLogicalReplicationOptions) GetMode() (string, bool) { - if r == nil || r.mode == "" { - return "", false - } - return r.mode, true -} - -func (r *resolvedLogicalReplicationOptions) GetDefaultFunction() ( - *jobspb.LogicalReplicationDetails_DefaultConflictResolution, - bool, -) { - if r == nil || r.defaultFunction == nil { - return &jobspb.LogicalReplicationDetails_DefaultConflictResolution{}, false - } - return r.defaultFunction, true -} - -func (r *resolvedLogicalReplicationOptions) GetUserFunctions() (map[string]int32, bool) { - if r == nil || r.userFunctions == nil { - return map[string]int32{}, false - } - return r.userFunctions, true -} - -func (r *resolvedLogicalReplicationOptions) IgnoreCDCIgnoredTTLDeletes() bool { - if r == nil { - return false - } - return r.ignoreCDCIgnoredTTLDeletes -} diff --git a/pkg/ccl/crosscluster/logical/dead_letter_queue.go b/pkg/ccl/crosscluster/logical/dead_letter_queue.go deleted file mode 100644 index 76a1df6fcdf0..000000000000 --- a/pkg/ccl/crosscluster/logical/dead_letter_queue.go +++ /dev/null @@ -1,259 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package logical - -import ( - "context" - "fmt" - - "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl/cdcevent" - "github.com/cockroachdb/cockroach/pkg/repstream/streampb" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/descpb" - "github.com/cockroachdb/cockroach/pkg/sql/isql" - "github.com/cockroachdb/cockroach/pkg/sql/lexbase" - "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/cockroach/pkg/util/protoutil" - "github.com/cockroachdb/errors" -) - -const ( - dlqSchemaName = "crdb_replication" - // dlqBaseTableName is defined as: "..dlq___" - dlqBaseTableName = "%s.%s.%s" - createEnumBaseStmt = `CREATE TYPE IF NOT EXISTS %s.%s.mutation_type AS ENUM ( - 'insert', 'update', 'delete' - )` - createSchemaBaseStmt = `CREATE SCHEMA IF NOT EXISTS %s.%s` - createTableBaseStmt = `CREATE TABLE IF NOT EXISTS %s ( - id INT8 DEFAULT unique_rowid(), - ingestion_job_id INT8 NOT NULL, - table_id INT8 NOT NULL, - dlq_timestamp TIMESTAMPTZ NOT NULL DEFAULT now():::TIMESTAMPTZ, - dlq_reason STRING NOT NULL, - mutation_type %s.%s.mutation_type, - key_value_bytes BYTES NOT NULL NOT VISIBLE, - incoming_row JSONB, - -- PK should be unique based on the ID, job ID and timestamp at which the - -- row was written to the table. - -- For any table being replicated in an LDR job, there should not be rows - -- where they have identical ID and were written to the table at the same - -- time. - PRIMARY KEY (ingestion_job_id, dlq_timestamp, id) USING HASH - )` - insertBaseStmt = `INSERT INTO %s ( - ingestion_job_id, - table_id, - dlq_reason, - mutation_type, - key_value_bytes, - incoming_row - ) VALUES ($1, $2, $3, $4, $5, $6)` - insertRowStmtFallBack = `INSERT INTO %s ( - ingestion_job_id, - table_id, - dlq_reason, - mutation_type, - key_value_bytes - ) VALUES ($1, $2, $3, $4, $5)` -) - -type dstTableMetadata struct { - database string - schema string - table string - tableID descpb.ID -} - -func (f dstTableMetadata) getDatabaseName() string { - return lexbase.EscapeSQLIdent(f.database) -} - -func (f dstTableMetadata) toDLQTableName() string { - return fmt.Sprintf(dlqBaseTableName, - f.getDatabaseName(), - dlqSchemaName, - lexbase.EscapeSQLIdent(fmt.Sprintf("dlq_%d_%s_%s", f.tableID, f.schema, f.table))) -} - -type DeadLetterQueueClient interface { - Create(ctx context.Context) error - - Log( - ctx context.Context, - ingestionJobID int64, - kv streampb.StreamEvent_KV, - cdcEventRow cdcevent.Row, - reason error, - stoppedRetryReason retryEligibility, - ) error -} - -type noopDeadLetterQueueClient struct { -} - -func (dlq *noopDeadLetterQueueClient) Create(_ context.Context) error { - return nil -} - -func (dlq *noopDeadLetterQueueClient) Log( - ctx context.Context, - ingestionJobID int64, - kv streampb.StreamEvent_KV, - cdcEventRow cdcevent.Row, - reason error, - stoppedRetryReason retryEligibility, -) error { - if !cdcEventRow.IsInitialized() { - return errors.New("cdc event row not initialized") - } - - tableID := cdcEventRow.TableID - var mutationType replicationMutationType - if cdcEventRow.IsDeleted() { - mutationType = deleteMutation - } else { - mutationType = insertMutation - } - - bytes, err := protoutil.Marshal(&kv) - if err != nil { - return errors.Wrap(err, "failed to marshal kv event") - } - - log.Infof(ctx, `ingestion_job_id: %d, - table_id: %d, - dlq_reason: (%s) %s, - mutation_type: %s, - key_value_bytes: %v, - incoming_row: %s`, - ingestionJobID, tableID, reason.Error(), stoppedRetryReason.String(), mutationType.String(), bytes, cdcEventRow.DebugString()) - return nil -} - -type deadLetterQueueClient struct { - ie isql.Executor - destTableBySrcID map[descpb.ID]dstTableMetadata -} - -func (dlq *deadLetterQueueClient) Create(ctx context.Context) error { - // Create a dlq table for each table to be replicated. - for _, dstTableMeta := range dlq.destTableBySrcID { - dlqTableName := dstTableMeta.toDLQTableName() - createSchemaStmt := fmt.Sprintf(createSchemaBaseStmt, dstTableMeta.getDatabaseName(), dlqSchemaName) - if _, err := dlq.ie.Exec(ctx, "create-dlq-schema", nil, createSchemaStmt); err != nil { - return errors.Wrapf(err, "failed to create crdb_replication schema in database %s", dstTableMeta.getDatabaseName()) - } - - createEnumStmt := fmt.Sprintf(createEnumBaseStmt, dstTableMeta.getDatabaseName(), dlqSchemaName) - if _, err := dlq.ie.Exec(ctx, "create-dlq-enum", nil, createEnumStmt); err != nil { - return errors.Wrapf(err, "failed to create mutation_type enum in database %s", dstTableMeta.getDatabaseName()) - } - - createTableStmt := fmt.Sprintf(createTableBaseStmt, dlqTableName, dstTableMeta.getDatabaseName(), dlqSchemaName) - if _, err := dlq.ie.Exec(ctx, "create-dlq-table", nil, createTableStmt); err != nil { - return errors.Wrapf(err, "failed to create dlq for table %d", dstTableMeta.tableID) - } - } - return nil -} - -func (dlq *deadLetterQueueClient) Log( - ctx context.Context, - ingestionJobID int64, - kv streampb.StreamEvent_KV, - cdcEventRow cdcevent.Row, - reason error, - stoppedRetryingReason retryEligibility, -) error { - if !cdcEventRow.IsInitialized() { - return errors.New("cdc event row not initialized") - } - - // TableID in cdcEventRow is the source table ID. - srcTableID := cdcEventRow.TableID - dstTableMeta, ok := dlq.destTableBySrcID[srcTableID] - if !ok { - return errors.Newf("failed to look up fully qualified name for src table id %d", srcTableID) - } - dlqTableName := dstTableMeta.toDLQTableName() - - bytes, err := protoutil.Marshal(&kv) - if err != nil { - return errors.Wrap(err, "failed to marshal kv event") - } - - // TODO(azhu): include update type - var mutationType replicationMutationType - if cdcEventRow.IsDeleted() { - mutationType = deleteMutation - } else { - mutationType = insertMutation - } - - jsonRow, err := cdcEventRow.ToJSON() - if err != nil { - log.Warningf(ctx, "failed to convert cdc event row to json: %v", err) - if _, err := dlq.ie.Exec( - ctx, - "insert-row-into-dlq-table-fallback", - nil, /* txn */ - fmt.Sprintf(insertRowStmtFallBack, dlqTableName), - ingestionJobID, - dstTableMeta.tableID, - fmt.Sprintf("%s (%s)", reason, stoppedRetryingReason), - mutationType.String(), - bytes, - ); err != nil { - return errors.Wrapf(err, "failed to insert row for table %s without json", dlqTableName) - } - return nil - } - - if _, err := dlq.ie.Exec( - ctx, - "insert-row-into-dlq-table", - nil, /* txn */ - fmt.Sprintf(insertBaseStmt, dlqTableName), - ingestionJobID, - dstTableMeta.tableID, - fmt.Sprintf("%s (%s)", reason, stoppedRetryingReason), - mutationType.String(), - bytes, - jsonRow, - ); err != nil { - return errors.Wrapf(err, "failed to insert row for table %s", dlqTableName) - } - return nil -} - -func InitDeadLetterQueueClient( - ie isql.Executor, destTableBySrcID map[descpb.ID]dstTableMetadata, -) DeadLetterQueueClient { - if testingDLQ != nil { - return testingDLQ - } - return &deadLetterQueueClient{ - ie: ie, - destTableBySrcID: destTableBySrcID, - } -} - -var testingDLQ DeadLetterQueueClient - -// TestingSetDLQ sets the DLQ to the passed implementation, globally, until the -// returned reversion function is called. -func TestingSetDLQ(d DeadLetterQueueClient) func() { - v := testingDLQ - testingDLQ = d - return func() { testingDLQ = v } -} - -func InitNoopDeadLetterQueueClient() DeadLetterQueueClient { - return &noopDeadLetterQueueClient{} -} diff --git a/pkg/ccl/crosscluster/logical/dead_letter_queue_test.go b/pkg/ccl/crosscluster/logical/dead_letter_queue_test.go deleted file mode 100644 index 3d6600055ac0..000000000000 --- a/pkg/ccl/crosscluster/logical/dead_letter_queue_test.go +++ /dev/null @@ -1,551 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package logical - -import ( - "context" - "fmt" - "slices" - "testing" - - "github.com/cockroachdb/cockroach/pkg/base" - "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl/cdcevent" - "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl/cdctest" - "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl/changefeedbase" - "github.com/cockroachdb/cockroach/pkg/jobs" - "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" - "github.com/cockroachdb/cockroach/pkg/kv" - "github.com/cockroachdb/cockroach/pkg/kv/kvserver" - "github.com/cockroachdb/cockroach/pkg/repstream/streampb" - "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/sql" - "github.com/cockroachdb/cockroach/pkg/sql/catalog" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/descpb" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/desctestutils" - "github.com/cockroachdb/cockroach/pkg/sql/execinfra" - "github.com/cockroachdb/cockroach/pkg/sql/isql" - "github.com/cockroachdb/cockroach/pkg/sql/sem/tree" - "github.com/cockroachdb/cockroach/pkg/testutils" - "github.com/cockroachdb/cockroach/pkg/testutils/serverutils" - "github.com/cockroachdb/cockroach/pkg/testutils/sqlutils" - "github.com/cockroachdb/cockroach/pkg/util/hlc" - "github.com/cockroachdb/cockroach/pkg/util/leaktest" - "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/cockroach/pkg/util/protoutil" - "github.com/cockroachdb/errors" - "github.com/stretchr/testify/require" -) - -const ( - defaultDbName = "defaultdb" - publicScName = "public" - dbAName = "a" -) - -func setupDLQTestTables( - ctx context.Context, - t *testing.T, - sqlDB *sqlutils.SQLRunner, - kvDB *kv.DB, - srv serverutils.TestServerInterface, -) ( - tableNameToDesc map[string]catalog.TableDescriptor, - srcTableIDToName map[descpb.ID]dstTableMetadata, - expectedDLQTables []string, - ie isql.Executor, -) { - s := srv.ApplicationLayer() - sd := sql.NewInternalSessionData(ctx, s.ClusterSettings(), "" /* opName */) - ie = s.InternalDB().(isql.DB).Executor(isql.WithSessionData(sd)) - - sqlDB.Exec(t, `CREATE TABLE foo (a INT)`) - - sqlDB.Exec(t, `CREATE SCHEMA baz`) - sqlDB.Exec(t, `CREATE TABLE baz.foo (a INT)`) - sqlDB.Exec(t, `CREATE SCHEMA bar_`) - sqlDB.Exec(t, `CREATE TABLE bar_.foo (a INT)`) - sqlDB.Exec(t, `CREATE SCHEMA bar`) - sqlDB.Exec(t, `CREATE TABLE bar._foo (a INT)`) - - sqlDB.Exec(t, `CREATE DATABASE a`) - sqlDB.Exec(t, `CREATE SCHEMA a.baz`) - sqlDB.Exec(t, `CREATE TABLE a.public.bar (a INT)`) - sqlDB.Exec(t, `CREATE TABLE a.baz.foo (a INT)`) - - dstTableMeta := []dstTableMetadata{ - // Base test case. - { - database: defaultDbName, - schema: publicScName, - table: "foo", - tableID: 1, - }, - // Verify that distinct DLQ tables are created for tables - // in different databases with identical schema and table - // names. - { - database: defaultDbName, - schema: "baz", - table: "foo", - tableID: 1, - }, - { - database: dbAName, - schema: "baz", - table: "foo", - tableID: 1, - }, - // Verify that distinct DLQ tables are created for tables - // with identical fully qualified names and distinct - // table IDs. - { - database: defaultDbName, - schema: "bar", - table: "_foo", - tableID: 1, - }, - { - database: defaultDbName, - schema: "bar_", - table: "foo", - tableID: 2, - }, - } - - tableNameToDesc = make(map[string]catalog.TableDescriptor) - srcTableIDToName = make(map[descpb.ID]dstTableMetadata) - expectedDLQTables = []string{} - - for _, md := range dstTableMeta { - desc := desctestutils.TestingGetTableDescriptor(kvDB, s.Codec(), md.database, md.schema, md.table) - srcTableID := desc.GetID() - srcTableIDToName[srcTableID] = md - fullyQualifiedName := fmt.Sprintf("%s.%s.%s", md.database, md.schema, md.table) - tableNameToDesc[fullyQualifiedName] = desc - expectedDLQTables = append(expectedDLQTables, fmt.Sprintf("dlq_%d_%s_%s", md.tableID, md.schema, md.table)) - } - return tableNameToDesc, srcTableIDToName, expectedDLQTables, ie -} - -func WaitForDLQLogs(t *testing.T, db *sqlutils.SQLRunner, tableName string, numRowsExpected int) { - t.Logf("waiting for write conflicts to be logged in DLQ table %s", tableName) - testutils.SucceedsSoon(t, func() error { - query := fmt.Sprintf("SELECT count(*) FROM %s", tableName) - var numRows int - db.QueryRow(t, query).Scan(&numRows) - if numRows != numRowsExpected { - return errors.Newf("Expected DLQ table '%s' to have %d rows, received %d rows instead", - tableName, - numRowsExpected, - numRows) - } - return nil - }) -} - -func TestNoopDLQClient(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - ctx := context.Background() - - srv, db, kvDB := serverutils.StartServer(t, base.TestServerArgs{}) - defer srv.Stopper().Stop(context.Background()) - s := srv.ApplicationLayer() - - sqlDB := sqlutils.MakeSQLRunner(db) - sqlDB.Exec(t, `CREATE TABLE foo (a INT)`) - - tableName := "foo" - tableDesc := desctestutils.TestingGetPublicTableDescriptor(kvDB, s.Codec(), defaultDbName, tableName) - familyDesc := &descpb.ColumnFamilyDescriptor{ - ID: descpb.FamilyID(1), - Name: "", - } - - ed, err := cdcevent.NewEventDescriptor(tableDesc, familyDesc, false, false, hlc.Timestamp{}) - require.NoError(t, err) - - dlqClient := InitNoopDeadLetterQueueClient() - require.NoError(t, dlqClient.Create(ctx)) - - type testCase struct { - name string - expectedErrMsg string - - jobID int64 - kv streampb.StreamEvent_KV - cdcEventRow cdcevent.Row - applyError error - dlqReason retryEligibility - } - - testCases := []testCase{ - { - name: "log conflict for query", - cdcEventRow: cdcevent.Row{EventDescriptor: ed}, - }, - { - name: "expect error when given nil cdcEventRow", - expectedErrMsg: "cdc event row not initialized", - }, - } - - for _, tc := range testCases { - t.Run(tc.name, func(t *testing.T) { - if tc.applyError == nil { - tc.applyError = errors.New("some error") - } - err := dlqClient.Log(ctx, tc.jobID, tc.kv, tc.cdcEventRow, tc.applyError, tc.dlqReason) - if tc.expectedErrMsg == "" { - require.NoError(t, err) - } else { - require.ErrorContains(t, err, tc.expectedErrMsg) - } - }) - } -} - -func TestDLQCreation(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - ctx := context.Background() - - srv, db, kvDB := serverutils.StartServer(t, base.TestServerArgs{}) - defer srv.Stopper().Stop(ctx) - - sqlDB := sqlutils.MakeSQLRunner(db) - _, srcTableIDToName, expectedDLQTables, ie := setupDLQTestTables(ctx, t, sqlDB, kvDB, srv) - - dlqClient := InitDeadLetterQueueClient(ie, srcTableIDToName) - require.NoError(t, dlqClient.Create(ctx)) - - // Verify DLQ tables are created with their expected names - dlqTableQueryResult := sqlDB.QueryStr(t, - fmt.Sprintf(`SELECT table_name FROM [SHOW TABLES FROM %s.%s]`, defaultDbName, dlqSchemaName)) - dlqTableQueryResult = append(dlqTableQueryResult, sqlDB.QueryStr(t, - fmt.Sprintf(`SELECT table_name FROM [SHOW TABLES FROM %s.%s]`, dbAName, dlqSchemaName))...) - - var actualDQLTables []string - for _, row := range dlqTableQueryResult { - actualDQLTables = append(actualDQLTables, row...) - } - - slices.Sort(expectedDLQTables) - slices.Sort(actualDQLTables) - require.Equal(t, expectedDLQTables, actualDQLTables) - - // Verify enum creation - enumRow := [][]string{ - {dlqSchemaName, "mutation_type", "{insert,update,delete}"}, - } - sqlDB.CheckQueryResults(t, - fmt.Sprintf(`SELECT schema, name, values FROM [SHOW ENUMS FROM %s.%s]`, defaultDbName, dlqSchemaName), enumRow) - sqlDB.CheckQueryResults(t, - fmt.Sprintf(`SELECT schema, name, values FROM [SHOW ENUMS FROM %s.%s]`, dbAName, dlqSchemaName), enumRow) -} - -func TestDLQLogging(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - ctx := context.Background() - - srv, db, kvDB := serverutils.StartServer(t, base.TestServerArgs{}) - defer srv.Stopper().Stop(ctx) - - sqlDB := sqlutils.MakeSQLRunner(db) - tableNameToDesc, srcTableIDToName, _, ie := setupDLQTestTables(ctx, t, sqlDB, kvDB, srv) - - // Build family desc for cdc event row - familyDesc := &descpb.ColumnFamilyDescriptor{ - ID: descpb.FamilyID(1), - Name: "", - } - - dlqClient := InitDeadLetterQueueClient(ie, srcTableIDToName) - require.NoError(t, dlqClient.Create(ctx)) - - type testCase struct { - name string - expectedErrMsg string - - jobID int64 - tableDesc catalog.TableDescriptor - kv streampb.StreamEvent_KV - dlqReason retryEligibility - mutationType replicationMutationType - applyError error - } - - testCases := []testCase{ - { - name: "insert dlq fallback row for default.public.foo", - jobID: 1, - tableDesc: tableNameToDesc["defaultdb.public.foo"], - dlqReason: noSpace, - mutationType: insertMutation, - }, - { - name: "insert dlq fallback row for default.baz.foo", - jobID: 1, - tableDesc: tableNameToDesc["defaultdb.baz.foo"], - dlqReason: tooOld, - mutationType: insertMutation, - }, - { - name: "insert dlq fallback row for default.bar._foo", - jobID: 1, - tableDesc: tableNameToDesc["defaultdb.bar._foo"], - dlqReason: tooOld, - mutationType: insertMutation, - }, - { - name: "insert dlq fallback row for default.bar_.foo", - jobID: 1, - tableDesc: tableNameToDesc["defaultdb.bar_.foo"], - dlqReason: noSpace, - mutationType: insertMutation, - }, - { - name: "insert dlq fallback row for a.baz.foo", - jobID: 1, - tableDesc: tableNameToDesc["a.baz.foo"], - dlqReason: tooOld, - mutationType: insertMutation, - }, - { - name: "expect error when given nil cdcEventRow", - expectedErrMsg: "cdc event row not initialized", - }, - } - - type dlqRow struct { - jobID int64 - tableID descpb.ID - dlqReason string - mutationType string - kv []byte - incomingRow *tree.DJSON - } - - for _, tc := range testCases { - t.Run(tc.name, func(t *testing.T) { - if tc.applyError == nil { - tc.applyError = errors.New("some error") - } - - var cdcEventRow cdcevent.Row - if tc.expectedErrMsg == "" { - ed, err := cdcevent.NewEventDescriptor(tc.tableDesc, familyDesc, false, false, hlc.Timestamp{}) - require.NoError(t, err) - cdcEventRow = cdcevent.Row{EventDescriptor: ed} - } - - err := dlqClient.Log(ctx, tc.jobID, tc.kv, cdcEventRow, tc.applyError, tc.dlqReason) - if tc.expectedErrMsg == "" { - require.NoError(t, err) - - srcTableID := tc.tableDesc.GetID() - md, ok := srcTableIDToName[srcTableID] - require.True(t, ok) - - actualRow := dlqRow{} - sqlDB.QueryRow(t, fmt.Sprintf(`SELECT - ingestion_job_id, - table_id, - dlq_reason, - mutation_type, - key_value_bytes, - incoming_row - FROM %s`, md.toDLQTableName())).Scan( - &actualRow.jobID, - &actualRow.tableID, - &actualRow.dlqReason, - &actualRow.mutationType, - &actualRow.kv, - &actualRow.incomingRow, - ) - - bytes, err := protoutil.Marshal(&tc.kv) - require.NoError(t, err) - - expectedRow := dlqRow{ - jobID: tc.jobID, - tableID: md.tableID, - dlqReason: fmt.Sprintf("%s (%s)", tc.applyError.Error(), tc.dlqReason), - mutationType: tc.mutationType.String(), - kv: bytes, - } - require.Equal(t, expectedRow, actualRow) - } else { - require.ErrorContains(t, err, tc.expectedErrMsg) - } - }) - } -} - -func TestDLQJSONQuery(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - - srv, db, _ := serverutils.StartServer(t, base.TestServerArgs{}) - execCfg := srv.ExecutorConfig().(sql.ExecutorConfig) - defer srv.Stopper().Stop(ctx) - - for _, l := range []serverutils.ApplicationLayerInterface{srv.ApplicationLayer(), srv.SystemLayer()} { - kvserver.RangefeedEnabled.Override(ctx, &l.ClusterSettings().SV, true) - } - - sqlDB := sqlutils.MakeSQLRunner(db) - - sqlDB.Exec(t, ` - CREATE TABLE foo ( - a INT, - b STRING, - rowid INT8 NOT VISIBLE NOT NULL DEFAULT unique_rowid(), - CONSTRAINT foo_pkey PRIMARY KEY (rowid ASC) - )`) - tableDesc := cdctest.GetHydratedTableDescriptor(t, execCfg, "foo") - targets := changefeedbase.Targets{} - targets.Add(changefeedbase.Target{ - Type: jobspb.ChangefeedTargetSpecification_EACH_FAMILY, - TableID: tableDesc.GetID(), - FamilyName: "primary", - }) - - decoder, err := cdcevent.NewEventDecoder(ctx, &execCfg, targets, false, false) - require.NoError(t, err) - - popRow, cleanup := cdctest.MakeRangeFeedValueReader(t, srv.ExecutorConfig(), tableDesc) - ie := srv.InternalDB().(isql.DB).Executor() - defer cleanup() - - tableID := tableDesc.GetID() - tableName := dstTableMetadata{ - database: defaultDbName, - schema: publicScName, - table: "foo", - } - dlqClient := InitDeadLetterQueueClient(ie, map[descpb.ID]dstTableMetadata{ - tableID: tableName, - }) - require.NoError(t, dlqClient.Create(ctx)) - - sqlDB.Exec(t, `INSERT INTO foo VALUES (1, 'hello')`) - row := popRow(t) - - kv := roachpb.KeyValue{Key: row.Key, Value: row.Value} - updatedRow, err := decoder.DecodeKV( - ctx, kv, cdcevent.CurrentRow, row.Timestamp(), false) - - require.NoError(t, err) - require.NoError(t, dlqClient.Log(ctx, 1, streampb.StreamEvent_KV{KeyValue: kv}, updatedRow, errInjected, noSpace)) - - dlqtableName := tableName.toDLQTableName() - - var ( - a int - b string - rowID int - ) - sqlDB.QueryRow(t, fmt.Sprintf(`SELECT incoming_row->>'a', incoming_row->>'b', incoming_row->>'rowid' FROM %s LIMIT 1`, dlqtableName)).Scan(&a, &b, &rowID) - require.Equal(t, 1, a) - require.Equal(t, "hello", b) - require.NotZero(t, rowID) -} - -// TestEndToEndDLQ tests that write conflicts that occur during an -// LDR job are persisted to its corresponding DLQ table -func TestEndToEndDLQ(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - ctx := context.Background() - - testDLQClusterArgs := base.TestClusterArgs{ - ServerArgs: base.TestServerArgs{ - DefaultTestTenant: base.TestIsForStuffThatShouldWorkWithSecondaryTenantsButDoesntYet(127241), - Knobs: base.TestingKnobs{ - JobsTestingKnobs: jobs.NewTestingKnobsWithShortIntervals(), - DistSQL: &execinfra.TestingKnobs{ - StreamingTestingKnobs: &sql.StreamingTestingKnobs{ - FailureRate: 100, - }, - }, - }, - }, - } - - server, s, dbA, dbB := setupLogicalTestServer(t, ctx, testDLQClusterArgs, 1) - defer server.Stopper().Stop(ctx) - - _, cleanup := s.PGUrl(t, serverutils.DBName("a")) - defer cleanup() - dbBURL, cleanupB := s.PGUrl(t, serverutils.DBName("b")) - defer cleanupB() - - var expectedJobID jobspb.JobID - dbA.QueryRow(t, "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab WITH DEFAULT FUNCTION = 'dlq'", dbBURL.String()).Scan(&expectedJobID) - - now := s.Clock().Now() - WaitUntilReplicatedTime(t, now, dbA, expectedJobID) - - dbB.Exec(t, "INSERT INTO tab VALUES (3, 'celeriac')") - dbB.Exec(t, "UPSERT INTO tab VALUES (1, 'goodbye, again')") - - expectedTableID := sqlutils.QueryTableID(t, server.Conns[0], "a", "public", "tab") - dlqTableName := fmt.Sprintf("crdb_replication.dlq_%d_public_tab", expectedTableID) - WaitForDLQLogs(t, dbA, dlqTableName, 2) - - var ( - jobID jobspb.JobID - tableID uint32 - dlqReason string - mutationType string - ) - - dbA.QueryRow(t, fmt.Sprintf(` - SELECT - ingestion_job_id, - table_id, - dlq_reason, - mutation_type - FROM %s - `, dlqTableName)).Scan( - &jobID, - &tableID, - &dlqReason, - &mutationType, - ) - - require.Equal(t, expectedJobID, jobID) - require.Equal(t, expectedTableID, tableID) - // DLQ reason is set to `tooOld` when `errInjected` is thrown by `failureInjector` - require.Equal(t, fmt.Sprintf("%s (%s)", errInjected, tooOld), dlqReason) - require.Equal(t, insertMutation.String(), mutationType) - - dbA.CheckQueryResults( - t, - fmt.Sprintf(` - SELECT - incoming_row->>'payload' AS payload, - incoming_row->>'pk' AS pk - FROM %s - ORDER BY pk - `, dlqTableName), - [][]string{ - { - "goodbye, again", "1", - }, - { - "celeriac", "3", - }, - }, - ) -} diff --git a/pkg/ccl/crosscluster/logical/logical_replication_dist.go b/pkg/ccl/crosscluster/logical/logical_replication_dist.go deleted file mode 100644 index 0a8bed598852..000000000000 --- a/pkg/ccl/crosscluster/logical/logical_replication_dist.go +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package logical - -import ( - "context" - - "github.com/cockroachdb/cockroach/pkg/base" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/physical" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" - "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" - "github.com/cockroachdb/cockroach/pkg/repstream/streampb" - "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/sql" - "github.com/cockroachdb/cockroach/pkg/sql/execinfrapb" - "github.com/cockroachdb/cockroach/pkg/util/hlc" - "github.com/cockroachdb/cockroach/pkg/util/log" -) - -func constructLogicalReplicationWriterSpecs( - ctx context.Context, - streamAddress crosscluster.StreamAddress, - topology streamclient.Topology, - destSQLInstances []sql.InstanceLocality, - initialScanTimestamp hlc.Timestamp, - previousReplicatedTimestamp hlc.Timestamp, - checkpoint jobspb.StreamIngestionCheckpoint, - tableMetadataByDestID map[int32]execinfrapb.TableReplicationMetadata, - jobID jobspb.JobID, - streamID streampb.StreamID, - ignoreCDCIgnoredTTLDeletes bool, - mode jobspb.LogicalReplicationDetails_ApplyMode, -) (map[base.SQLInstanceID][]execinfrapb.LogicalReplicationWriterSpec, error) { - spanGroup := roachpb.SpanGroup{} - baseSpec := execinfrapb.LogicalReplicationWriterSpec{ - StreamID: uint64(streamID), - JobID: int64(jobID), - PreviousReplicatedTimestamp: previousReplicatedTimestamp, - InitialScanTimestamp: initialScanTimestamp, - Checkpoint: checkpoint, // TODO: Only forward relevant checkpoint info - StreamAddress: string(streamAddress), - TableMetadataByDestID: tableMetadataByDestID, - IgnoreCDCIgnoredTTLDeletes: ignoreCDCIgnoredTTLDeletes, - Mode: mode, - } - - writerSpecs := make(map[base.SQLInstanceID][]execinfrapb.LogicalReplicationWriterSpec, len(destSQLInstances)) - - // Update stream ingestion specs with their matched source node. - matcher := physical.MakeNodeMatcher(destSQLInstances) - for _, candidate := range matcher.FindSourceNodePriority(topology) { - destID := matcher.FindMatch(candidate.ClosestDestIDs) - partition := candidate.Partition - - log.VInfof(ctx, 2, "logical replication src-dst pair candidate: %s (locality %s) - %d ("+ - "locality %s)", - partition.ID, - partition.SrcLocality, - destID, - matcher.DestNodeToLocality(destID), - ) - spec := baseSpec - spec.PartitionSpec = execinfrapb.StreamIngestionPartitionSpec{ - PartitionID: partition.ID, - SubscriptionToken: string(partition.SubscriptionToken), - Address: string(partition.SrcAddr), - Spans: partition.Spans, - SrcInstanceID: base.SQLInstanceID(partition.SrcInstanceID), - DestInstanceID: destID, - } - writerSpecs[destID] = append(writerSpecs[destID], spec) - spanGroup.Add(partition.Spans...) - } - - // TODO(ssd): Add assertion that the spanGroup covers all of the table spans we should be following. - - return writerSpecs, nil -} diff --git a/pkg/ccl/crosscluster/logical/logical_replication_job.go b/pkg/ccl/crosscluster/logical/logical_replication_job.go deleted file mode 100644 index 74bed8ed40cc..000000000000 --- a/pkg/ccl/crosscluster/logical/logical_replication_job.go +++ /dev/null @@ -1,700 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package logical - -import ( - "context" - "fmt" - "slices" - "time" - - "github.com/cockroachdb/cockroach/pkg/base" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/physical" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" - "github.com/cockroachdb/cockroach/pkg/jobs" - "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" - "github.com/cockroachdb/cockroach/pkg/jobs/jobsprofiler" - "github.com/cockroachdb/cockroach/pkg/repstream/streampb" - "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/settings" - "github.com/cockroachdb/cockroach/pkg/settings/cluster" - "github.com/cockroachdb/cockroach/pkg/sql" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/catpb" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/descpb" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/descs" - "github.com/cockroachdb/cockroach/pkg/sql/execinfrapb" - "github.com/cockroachdb/cockroach/pkg/sql/isql" - "github.com/cockroachdb/cockroach/pkg/sql/physicalplan" - "github.com/cockroachdb/cockroach/pkg/sql/sem/catid" - "github.com/cockroachdb/cockroach/pkg/sql/sem/tree" - "github.com/cockroachdb/cockroach/pkg/util/ctxgroup" - "github.com/cockroachdb/cockroach/pkg/util/hlc" - "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/cockroach/pkg/util/protoutil" - "github.com/cockroachdb/cockroach/pkg/util/retry" - "github.com/cockroachdb/cockroach/pkg/util/span" - "github.com/cockroachdb/cockroach/pkg/util/timeutil" - "github.com/cockroachdb/errors" - "github.com/cockroachdb/redact" - "github.com/lib/pq/oid" -) - -var ( - // jobCheckpointFrequency controls the frequency of frontier - // checkpoints into the jobs table. - jobCheckpointFrequency = settings.RegisterDurationSetting( - settings.ApplicationLevel, - "logical_replication.consumer.job_checkpoint_frequency", - "controls the frequency with which the job updates their progress; if 0, disabled", - 10*time.Second, - settings.NonNegativeDuration) - - // heartbeatFrequency controls frequency the stream replication - // destination cluster sends heartbeat to the source cluster to keep - // the stream alive. - heartbeatFrequency = settings.RegisterDurationSetting( - settings.ApplicationLevel, - "logical_replication.consumer.heartbeat_frequency", - "controls frequency the stream replication destination cluster sends heartbeat "+ - "to the source cluster to keep the stream alive", - 30*time.Second, - settings.NonNegativeDuration, - ) -) - -type logicalReplicationResumer struct { - job *jobs.Job -} - -var _ jobs.Resumer = (*logicalReplicationResumer)(nil) - -// Resume is part of the jobs.Resumer interface. -func (r *logicalReplicationResumer) Resume(ctx context.Context, execCtx interface{}) error { - jobExecCtx := execCtx.(sql.JobExecContext) - return r.handleResumeError(ctx, jobExecCtx, r.ingestWithRetries(ctx, jobExecCtx)) -} - -// The ingestion job should never fail, only pause, as progress should never be lost. -func (r *logicalReplicationResumer) handleResumeError( - ctx context.Context, execCtx sql.JobExecContext, err error, -) error { - if err == nil { - return nil - } - r.updateRunningStatus(ctx, redact.Sprintf("pausing after error: %s", err.Error())) - return jobs.MarkPauseRequestError(err) -} - -func (r *logicalReplicationResumer) updateRunningStatus( - ctx context.Context, runningStatus redact.RedactableString, -) { - log.Infof(ctx, "%s", runningStatus) - err := r.job.NoTxn().Update(ctx, func(txn isql.Txn, md jobs.JobMetadata, ju *jobs.JobUpdater) error { - md.Progress.RunningStatus = string(runningStatus.Redact()) - ju.UpdateProgress(md.Progress) - return nil - }) - if err != nil { - log.Warningf(ctx, "error when updating job running status: %s", err) - } -} - -func (r *logicalReplicationResumer) ingest( - ctx context.Context, jobExecCtx sql.JobExecContext, -) error { - - var ( - execCfg = jobExecCtx.ExecCfg() - distSQLPlanner = jobExecCtx.DistSQLPlanner() - evalCtx = jobExecCtx.ExtendedEvalContext() - - progress = r.job.Progress().Details.(*jobspb.Progress_LogicalReplication).LogicalReplication - payload = r.job.Details().(jobspb.LogicalReplicationDetails) - - streamID = payload.StreamID - jobID = r.job.ID() - replicatedTimeAtStart = progress.ReplicatedTime - ) - - client, err := streamclient.GetFirstActiveClient(ctx, - append([]string{payload.SourceClusterConnStr}, progress.StreamAddresses...), - execCfg.InternalDB, - streamclient.WithStreamID(streampb.StreamID(streamID)), - streamclient.WithLogical(), - ) - if err != nil { - return err - } - defer func() { _ = client.Close(ctx) }() - - asOf := replicatedTimeAtStart - if asOf.IsEmpty() { - asOf = payload.ReplicationStartTime - } - req := streampb.LogicalReplicationPlanRequest{ - PlanAsOf: asOf, - } - for _, pair := range payload.ReplicationPairs { - req.TableIDs = append(req.TableIDs, pair.SrcDescriptorID) - } - - planner := makeLogicalReplicationPlanner(jobExecCtx, r.job, client) - initialPlan, initialPlanCtx, planInfo, err := planner.generateInitialPlan(ctx, distSQLPlanner) - if err != nil { - return err - } - if err := r.job.NoTxn().Update(ctx, func(txn isql.Txn, md jobs.JobMetadata, ju *jobs.JobUpdater) error { - ldrProg := md.Progress.Details.(*jobspb.Progress_LogicalReplication).LogicalReplication - ldrProg.StreamAddresses = planInfo.streamAddress - ju.UpdateProgress(md.Progress) - return nil - }); err != nil { - return err - } - - // TODO(azhu): add a flag to avoid recreating dlq tables during replanning - dlqClient := InitDeadLetterQueueClient(execCfg.InternalDB.Executor(), planInfo.destTableBySrcID) - if err := dlqClient.Create(ctx); err != nil { - return errors.Wrap(err, "failed to create dead letter queue") - } - - frontier, err := span.MakeFrontierAt(replicatedTimeAtStart, planInfo.sourceSpans...) - if err != nil { - return err - } - - for _, resolvedSpan := range progress.Checkpoint.ResolvedSpans { - if _, err := frontier.Forward(resolvedSpan.Span, resolvedSpan.Timestamp); err != nil { - return err - } - } - - replanOracle := sql.ReplanOnCustomFunc( - getNodes, - func() float64 { - return crosscluster.LogicalReplanThreshold.Get(execCfg.SV()) - }, - ) - - replanner, stopReplanner := sql.PhysicalPlanChangeChecker(ctx, - initialPlan, - planner.generatePlan, - jobExecCtx, - replanOracle, - func() time.Duration { return crosscluster.LogicalReplanFrequency.Get(execCfg.SV()) }, - ) - metrics := execCfg.JobRegistry.MetricsStruct().JobSpecificMetrics[jobspb.TypeLogicalReplication].(*Metrics) - - // Store only the original plan diagram - jobsprofiler.StorePlanDiagram(ctx, - execCfg.DistSQLSrv.Stopper, - initialPlan, - execCfg.InternalDB, - jobID) - - heartbeatSender := streamclient.NewHeartbeatSender(ctx, client, streampb.StreamID(streamID), - func() time.Duration { - return heartbeatFrequency.Get(&execCfg.Settings.SV) - }) - defer func() { - _ = heartbeatSender.Stop() - stopReplanner() - }() - - execPlan := func(ctx context.Context) error { - - metaFn := func(_ context.Context, meta *execinfrapb.ProducerMetadata) error { - log.Warningf(ctx, "received unexpected producer meta: %v", meta) - return nil - } - rh := rowHandler{ - replicatedTimeAtStart: replicatedTimeAtStart, - frontier: frontier, - metrics: metrics, - settings: &execCfg.Settings.SV, - job: r.job, - frontierUpdates: heartbeatSender.FrontierUpdates, - } - rowResultWriter := sql.NewCallbackResultWriter(rh.handleRow) - distSQLReceiver := sql.MakeDistSQLReceiver( - ctx, - sql.NewMetadataCallbackWriter(rowResultWriter, metaFn), - tree.Rows, - execCfg.RangeDescriptorCache, - nil, /* txn */ - nil, /* clockUpdater */ - evalCtx.Tracing, - ) - defer distSQLReceiver.Release() - // Copy the evalCtx, as dsp.Run() might change it. - evalCtxCopy := *evalCtx - distSQLPlanner.Run( - ctx, - initialPlanCtx, - nil, /* txn */ - initialPlan, - distSQLReceiver, - &evalCtxCopy, - nil, /* finishedSetupFn */ - ) - - return rowResultWriter.Err() - } - - startHeartbeat := func(ctx context.Context) error { - heartbeatSender.Start(ctx, timeutil.DefaultTimeSource{}) - err := heartbeatSender.Wait() - return err - } - - err = ctxgroup.GoAndWait(ctx, execPlan, replanner, startHeartbeat) - if errors.Is(err, sql.ErrPlanChanged) { - metrics.ReplanCount.Inc(1) - } - return err -} - -func getNodes(plan *sql.PhysicalPlan) (src, dst map[string]struct{}, nodeCount int) { - dst = make(map[string]struct{}) - src = make(map[string]struct{}) - count := 0 - for _, proc := range plan.Processors { - if proc.Spec.Core.LogicalReplicationWriter == nil { - // Skip other processors in the plan (like the Frontier processor). - continue - } - if _, ok := dst[proc.SQLInstanceID.String()]; !ok { - dst[proc.SQLInstanceID.String()] = struct{}{} - count += 1 - } - if _, ok := src[proc.Spec.Core.LogicalReplicationWriter.PartitionSpec.SrcInstanceID.String()]; !ok { - src[proc.Spec.Core.LogicalReplicationWriter.PartitionSpec.SrcInstanceID.String()] = struct{}{} - count += 1 - } - } - return src, dst, count -} - -// logicalReplicationPlanner generates a physical plan for logical replication. -// An initial plan is generated during job startup and the replanner will -// periodically call generatePlan to recalculate the best plan. If the newly -// generated plan differs significantly from the initial plan, the entire -// distSQL flow is shut down and a new initial plan will be created. -type logicalReplicationPlanner struct { - job *jobs.Job - jobExecCtx sql.JobExecContext - client streamclient.Client -} - -type logicalReplicationPlanInfo struct { - sourceSpans []roachpb.Span - streamAddress []string - destTableBySrcID map[descpb.ID]dstTableMetadata -} - -func makeLogicalReplicationPlanner( - jobExecCtx sql.JobExecContext, job *jobs.Job, client streamclient.Client, -) logicalReplicationPlanner { - return logicalReplicationPlanner{ - job: job, - jobExecCtx: jobExecCtx, - client: client, - } -} - -// generateInitialPlan generates a plan along with the information required to -// initialize the job. -func (p *logicalReplicationPlanner) generateInitialPlan( - ctx context.Context, dsp *sql.DistSQLPlanner, -) (*sql.PhysicalPlan, *sql.PlanningCtx, logicalReplicationPlanInfo, error) { - return p.generatePlanImpl(ctx, dsp) -} - -func (p *logicalReplicationPlanner) generatePlan( - ctx context.Context, dsp *sql.DistSQLPlanner, -) (*sql.PhysicalPlan, *sql.PlanningCtx, error) { - plan, planCtx, _, err := p.generatePlanImpl(ctx, dsp) - return plan, planCtx, err -} - -func (p *logicalReplicationPlanner) generatePlanImpl( - ctx context.Context, dsp *sql.DistSQLPlanner, -) (*sql.PhysicalPlan, *sql.PlanningCtx, logicalReplicationPlanInfo, error) { - var ( - execCfg = p.jobExecCtx.ExecCfg() - evalCtx = p.jobExecCtx.ExtendedEvalContext() - progress = p.job.Progress().Details.(*jobspb.Progress_LogicalReplication).LogicalReplication - payload = p.job.Payload().Details.(*jobspb.Payload_LogicalReplicationDetails).LogicalReplicationDetails - info = logicalReplicationPlanInfo{ - destTableBySrcID: make(map[descpb.ID]dstTableMetadata), - } - ) - asOf := progress.ReplicatedTime - if asOf.IsEmpty() { - asOf = payload.ReplicationStartTime - } - req := streampb.LogicalReplicationPlanRequest{ - PlanAsOf: asOf, - } - for _, pair := range payload.ReplicationPairs { - req.TableIDs = append(req.TableIDs, pair.SrcDescriptorID) - } - - plan, err := p.client.PlanLogicalReplication(ctx, req) - if err != nil { - return nil, nil, info, err - } - info.sourceSpans = plan.SourceSpans - info.streamAddress = plan.Topology.StreamAddresses() - - var defaultFnOID oid.Oid - if defaultFnID := payload.DefaultConflictResolution.FunctionId; defaultFnID != 0 { - defaultFnOID = catid.FuncIDToOID(catid.DescID(defaultFnID)) - } - - tableMetadataByDestID := make(map[int32]execinfrapb.TableReplicationMetadata) - if err := sql.DescsTxn(ctx, execCfg, func(ctx context.Context, txn isql.Txn, descriptors *descs.Collection) error { - for _, pair := range payload.ReplicationPairs { - srcTableDesc := plan.DescriptorMap[pair.SrcDescriptorID] - - // Look up fully qualified destination table name - dstTableDesc, err := descriptors.ByIDWithoutLeased(txn.KV()).WithoutNonPublic().Get().Table(ctx, descpb.ID(pair.DstDescriptorID)) - if err != nil { - return errors.Wrapf(err, "failed to look up table descriptor %d", pair.DstDescriptorID) - } - dbDesc, err := descriptors.ByIDWithoutLeased(txn.KV()).WithoutNonPublic().Get().Database(ctx, dstTableDesc.GetParentID()) - if err != nil { - return errors.Wrapf(err, "failed to look up database descriptor for table %d", pair.DstDescriptorID) - } - scDesc, err := descriptors.ByIDWithoutLeased(txn.KV()).WithoutNonPublic().Get().Schema(ctx, dstTableDesc.GetParentSchemaID()) - if err != nil { - return errors.Wrapf(err, "failed to look up schema descriptor for table %d", pair.DstDescriptorID) - } - - var fnOID oid.Oid - if pair.DstFunctionID != 0 { - fnOID = catid.FuncIDToOID(catid.DescID(pair.DstFunctionID)) - } else if defaultFnOID != 0 { - fnOID = defaultFnOID - } - - tableMetadataByDestID[pair.DstDescriptorID] = execinfrapb.TableReplicationMetadata{ - SourceDescriptor: srcTableDesc, - DestinationParentDatabaseName: dbDesc.GetName(), - DestinationParentSchemaName: scDesc.GetName(), - DestinationTableName: dstTableDesc.GetName(), - DestinationFunctionOID: uint32(fnOID), - } - info.destTableBySrcID[descpb.ID(pair.SrcDescriptorID)] = dstTableMetadata{ - database: dbDesc.GetName(), - schema: scDesc.GetName(), - table: dstTableDesc.GetName(), - tableID: descpb.ID(pair.DstDescriptorID), - } - } - return nil - }); err != nil { - return nil, nil, info, err - } - - planCtx, nodes, err := dsp.SetupAllNodesPlanning(ctx, evalCtx, execCfg) - if err != nil { - return nil, nil, info, err - } - destNodeLocalities, err := physical.GetDestNodeLocalities(ctx, dsp, nodes) - if err != nil { - return nil, nil, info, err - } - - specs, err := constructLogicalReplicationWriterSpecs(ctx, - crosscluster.StreamAddress(payload.SourceClusterConnStr), - plan.Topology, - destNodeLocalities, - payload.ReplicationStartTime, - progress.ReplicatedTime, - progress.Checkpoint, - tableMetadataByDestID, - p.job.ID(), - streampb.StreamID(payload.StreamID), - payload.IgnoreCDCIgnoredTTLDeletes, - payload.Mode, - ) - if err != nil { - return nil, nil, info, err - } - - // Setup a one-stage plan with one proc per input spec. - // - // TODO(ssd): We should add a frontier processor like we have - // for PCR. I still think that the job update should happen in - // the resumer itself so that we can assign the frontier - // processor to a random node. - // - // TODO(ssd): Now that we have more than one processor per - // node, we might actually want a tree of frontier processors - // spread out CPU load. - processorCorePlacements := make([]physicalplan.ProcessorCorePlacement, 0, len(plan.Topology.Partitions)) - for nodeID, parts := range specs { - for _, part := range parts { - sp := part - processorCorePlacements = append(processorCorePlacements, physicalplan.ProcessorCorePlacement{ - SQLInstanceID: nodeID, - Core: execinfrapb.ProcessorCoreUnion{ - LogicalReplicationWriter: &sp, - }, - }) - } - } - - physicalPlan := planCtx.NewPhysicalPlan() - physicalPlan.AddNoInputStage( - processorCorePlacements, - execinfrapb.PostProcessSpec{}, - logicalReplicationWriterResultType, - execinfrapb.Ordering{}, - ) - physicalPlan.PlanToStreamColMap = []int{0} - sql.FinalizePlan(ctx, planCtx, physicalPlan) - - return physicalPlan, planCtx, info, nil -} - -// rowHandler is responsible for handling checkpoints sent by logical -// replication writer processors. -type rowHandler struct { - replicatedTimeAtStart hlc.Timestamp - frontier span.Frontier - metrics *Metrics - settings *settings.Values - job *jobs.Job - frontierUpdates chan hlc.Timestamp - - lastPartitionUpdate time.Time -} - -func (rh *rowHandler) handleRow(ctx context.Context, row tree.Datums) error { - raw, ok := row[0].(*tree.DBytes) - if !ok { - return errors.AssertionFailedf(`unexpected datum type %T`, row[0]) - } - var resolvedSpans jobspb.ResolvedSpans - if err := protoutil.Unmarshal([]byte(*raw), &resolvedSpans); err != nil { - return errors.NewAssertionErrorWithWrappedErrf(err, - `unmarshalling resolved timestamp: %x`, raw) - } - - for _, sp := range resolvedSpans.ResolvedSpans { - if _, err := rh.frontier.Forward(sp.Span, sp.Timestamp); err != nil { - return err - } - } - - updateFreq := jobCheckpointFrequency.Get(rh.settings) - if updateFreq == 0 || timeutil.Since(rh.lastPartitionUpdate) < updateFreq { - return nil - } - - frontierResolvedSpans := make([]jobspb.ResolvedSpan, 0) - rh.frontier.Entries(func(sp roachpb.Span, ts hlc.Timestamp) (done span.OpResult) { - frontierResolvedSpans = append(frontierResolvedSpans, jobspb.ResolvedSpan{Span: sp, Timestamp: ts}) - return span.ContinueMatch - }) - replicatedTime := rh.frontier.Frontier() - - rh.lastPartitionUpdate = timeutil.Now() - log.VInfof(ctx, 2, "persisting replicated time of %s", replicatedTime.GoTime()) - if err := rh.job.NoTxn().Update(ctx, - func(txn isql.Txn, md jobs.JobMetadata, ju *jobs.JobUpdater) error { - if err := md.CheckRunningOrReverting(); err != nil { - return err - } - progress := md.Progress - prog := progress.Details.(*jobspb.Progress_LogicalReplication).LogicalReplication - prog.Checkpoint.ResolvedSpans = frontierResolvedSpans - if rh.replicatedTimeAtStart.Less(replicatedTime) { - prog.ReplicatedTime = replicatedTime - // The HighWater is for informational purposes - // only. - progress.Progress = &jobspb.Progress_HighWater{ - HighWater: &replicatedTime, - } - } - progress.RunningStatus = fmt.Sprintf("logical replication running: %s", replicatedTime.GoTime()) - ju.UpdateProgress(progress) - if md.RunStats != nil && md.RunStats.NumRuns > 1 { - ju.UpdateRunStats(1, md.RunStats.LastRun) - } - return nil - }); err != nil { - return err - } - select { - case rh.frontierUpdates <- replicatedTime: - case <-ctx.Done(): - return ctx.Err() - } - return nil -} - -func (r *logicalReplicationResumer) ingestWithRetries( - ctx context.Context, execCtx sql.JobExecContext, -) error { - ingestionJob := r.job - ro := getRetryPolicy(execCtx.ExecCfg().StreamingTestingKnobs) - var err error - var lastReplicatedTime hlc.Timestamp - for retrier := retry.Start(ro); retrier.Next(); { - err = r.ingest(ctx, execCtx) - if err == nil { - break - } - // By default, all errors are retryable unless it's marked as - // permanent job error in which case we pause the job. - // We also stop the job when this is a context cancellation error - // as requested pause or cancel will trigger a context cancellation. - if jobs.IsPermanentJobError(err) || ctx.Err() != nil { - break - } - - log.Infof(ctx, "hit retryable error %s", err) - newReplicatedTime := loadOnlineReplicatedTime(ctx, execCtx.ExecCfg().InternalDB, ingestionJob) - if lastReplicatedTime.Less(newReplicatedTime) { - retrier.Reset() - lastReplicatedTime = newReplicatedTime - } - if knobs := execCtx.ExecCfg().StreamingTestingKnobs; knobs != nil && knobs.AfterRetryIteration != nil { - knobs.AfterRetryIteration(err) - } - } - return err -} - -func loadOnlineReplicatedTime( - ctx context.Context, db isql.DB, ingestionJob *jobs.Job, -) hlc.Timestamp { - // TODO(ssd): Isn't this load redundant? The Update API for - // the job also updates the local copy of the job with the - // latest progress. - progress, err := jobs.LoadJobProgress(ctx, db, ingestionJob.ID()) - if err != nil { - log.Warningf(ctx, "error loading job progress: %s", err) - return hlc.Timestamp{} - } - if progress == nil { - log.Warningf(ctx, "no job progress yet: %s", err) - return hlc.Timestamp{} - } - return progress.Details.(*jobspb.Progress_LogicalReplication).LogicalReplication.ReplicatedTime -} - -// OnFailOrCancel implements jobs.Resumer interface -func (r *logicalReplicationResumer) OnFailOrCancel( - ctx context.Context, execCtx interface{}, _ error, -) error { - execCfg := execCtx.(sql.JobExecContext).ExecCfg() - - // Remove the LDR job ID from the destination table descriptors. - details := r.job.Details().(jobspb.LogicalReplicationDetails) - if err := execCfg.InternalDB.DescsTxn(ctx, func(ctx context.Context, txn descs.Txn) error { - b := txn.KV().NewBatch() - for _, repPair := range details.ReplicationPairs { - td, err := txn.Descriptors().MutableByID(txn.KV()).Table(ctx, descpb.ID(repPair.DstDescriptorID)) - if err != nil { - return err - } - td.LDRJobIDs = slices.DeleteFunc(td.LDRJobIDs, func(thisID catpb.JobID) bool { - return thisID == r.job.ID() - }) - if err := txn.Descriptors().WriteDescToBatch(ctx, true /* kvTrace */, td, b); err != nil { - return err - } - } - if err := txn.KV().Run(ctx, b); err != nil { - return err - } - return nil - }); err != nil { - return err - } - - r.completeProducerJob(ctx, execCfg.InternalDB) - return nil -} - -// CollectProfile implements jobs.Resumer interface -func (r *logicalReplicationResumer) CollectProfile(_ context.Context, _ interface{}) error { - return nil -} - -func (r *logicalReplicationResumer) completeProducerJob( - ctx context.Context, internalDB *sql.InternalDB, -) { - var ( - progress = r.job.Progress().Details.(*jobspb.Progress_LogicalReplication).LogicalReplication - payload = r.job.Details().(jobspb.LogicalReplicationDetails) - ) - - streamID := streampb.StreamID(payload.StreamID) - log.Infof(ctx, "attempting to update producer job %d", streamID) - if err := timeutil.RunWithTimeout(ctx, "complete producer job", 30*time.Second, - func(ctx context.Context) error { - client, err := streamclient.GetFirstActiveClient(ctx, - append([]string{payload.SourceClusterConnStr}, progress.StreamAddresses...), - internalDB, - streamclient.WithStreamID(streamID), - streamclient.WithLogical(), - ) - if err != nil { - return err - } - defer closeAndLog(ctx, client) - return client.Complete(ctx, streamID, false /* successfulIngestion */) - }, - ); err != nil { - log.Warningf(ctx, "error completing the source cluster producer job %d: %s", streamID, err.Error()) - } -} - -func closeAndLog(ctx context.Context, d streamclient.Dialer) { - if err := d.Close(ctx); err != nil { - log.Warningf(ctx, "error closing stream client: %s", err.Error()) - } -} - -func getRetryPolicy(knobs *sql.StreamingTestingKnobs) retry.Options { - if knobs != nil && knobs.DistSQLRetryPolicy != nil { - return *knobs.DistSQLRetryPolicy - } - - // This feature is potentially running over WAN network links / the public - // internet, so we want to recover on our own from hiccups that could last a - // few seconds or even minutes. Thus we allow a relatively long MaxBackoff and - // number of retries that should cause us to retry for several minutes. - return retry.Options{ - InitialBackoff: 250 * time.Millisecond, - MaxBackoff: 1 * time.Minute, - MaxRetries: 30, - } -} - -func init() { - m := MakeMetrics(base.DefaultHistogramWindowInterval()) - jobs.RegisterConstructor( - jobspb.TypeLogicalReplication, - func(job *jobs.Job, _ *cluster.Settings) jobs.Resumer { - return &logicalReplicationResumer{ - job: job, - } - }, - jobs.WithJobMetrics(m), - jobs.WithResolvedMetric(m.(*Metrics).ReplicatedTimeSeconds), - jobs.UsesTenantCostControl, - ) -} diff --git a/pkg/ccl/crosscluster/logical/logical_replication_job_test.go b/pkg/ccl/crosscluster/logical/logical_replication_job_test.go deleted file mode 100644 index b0df3f3c11ca..000000000000 --- a/pkg/ccl/crosscluster/logical/logical_replication_job_test.go +++ /dev/null @@ -1,2042 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package logical - -import ( - "bytes" - "context" - "fmt" - "net/url" - "slices" - "strings" - "sync/atomic" - "testing" - "time" - - "github.com/cockroachdb/cockroach/pkg/base" - "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl/cdcevent" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationtestutils" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationutils" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" - _ "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient/randclient" - "github.com/cockroachdb/cockroach/pkg/jobs" - "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" - "github.com/cockroachdb/cockroach/pkg/kv/kvpb" - "github.com/cockroachdb/cockroach/pkg/kv/kvserver" - "github.com/cockroachdb/cockroach/pkg/repstream/streampb" - "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/security/username" - "github.com/cockroachdb/cockroach/pkg/sql" - "github.com/cockroachdb/cockroach/pkg/sql/catalog" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/descpb" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/desctestutils" - "github.com/cockroachdb/cockroach/pkg/sql/execinfra" - "github.com/cockroachdb/cockroach/pkg/sql/isql" - "github.com/cockroachdb/cockroach/pkg/sql/randgen" - "github.com/cockroachdb/cockroach/pkg/sql/rowenc" - "github.com/cockroachdb/cockroach/pkg/sql/sem/tree" - "github.com/cockroachdb/cockroach/pkg/testutils" - "github.com/cockroachdb/cockroach/pkg/testutils/jobutils" - "github.com/cockroachdb/cockroach/pkg/testutils/serverutils" - "github.com/cockroachdb/cockroach/pkg/testutils/skip" - "github.com/cockroachdb/cockroach/pkg/testutils/sqlutils" - "github.com/cockroachdb/cockroach/pkg/testutils/testcluster" - "github.com/cockroachdb/cockroach/pkg/util/allstacks" - "github.com/cockroachdb/cockroach/pkg/util/hlc" - "github.com/cockroachdb/cockroach/pkg/util/leaktest" - "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/cockroach/pkg/util/randutil" - "github.com/cockroachdb/cockroach/pkg/util/retry" - "github.com/cockroachdb/cockroach/pkg/util/span" - "github.com/cockroachdb/cockroach/pkg/util/syncutil" - "github.com/cockroachdb/cockroach/pkg/util/uuid" - "github.com/cockroachdb/errors" - "github.com/lib/pq" - "github.com/stretchr/testify/require" -) - -var ( - testClusterSystemSettings = []string{ - "SET CLUSTER SETTING kv.rangefeed.enabled = true", - "SET CLUSTER SETTING kv.rangefeed.closed_timestamp_refresh_interval = '200ms'", - "SET CLUSTER SETTING kv.closed_timestamp.target_duration = '100ms'", - "SET CLUSTER SETTING kv.closed_timestamp.side_transport_interval = '50ms'", - } - testClusterSettings = []string{ - "SET CLUSTER SETTING physical_replication.producer.timestamp_granularity = '0s'", - "SET CLUSTER SETTING physical_replication.producer.min_checkpoint_frequency='100ms'", - "SET CLUSTER SETTING logical_replication.consumer.heartbeat_frequency = '1s'", - "SET CLUSTER SETTING logical_replication.consumer.job_checkpoint_frequency = '100ms'", - } - - testClusterBaseClusterArgs = base.TestClusterArgs{ - ServerArgs: base.TestServerArgs{ - DefaultTestTenant: base.TestIsForStuffThatShouldWorkWithSecondaryTenantsButDoesntYet(127241), - Knobs: base.TestingKnobs{ - JobsTestingKnobs: jobs.NewTestingKnobsWithShortIntervals(), - }, - }, - } - - lwwColumnAdd = "ADD COLUMN crdb_replication_origin_timestamp DECIMAL NOT VISIBLE DEFAULT NULL ON UPDATE NULL" -) - -func TestLogicalStreamIngestionJobNameResolution(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - - type testCase struct { - name string - setup func(*testing.T, *sqlutils.SQLRunner, *sqlutils.SQLRunner) - localStmtTableName string - remoteStmtTableName string - expectedErr string - } - cases := []testCase{ - { - name: "table in schema", - setup: func(t *testing.T, dbA *sqlutils.SQLRunner, dbB *sqlutils.SQLRunner) { - dbA.Exec(t, `CREATE SCHEMA foo`) - createBasicTable(t, dbA, "foo.bar") - dbB.Exec(t, `CREATE SCHEMA foo`) - createBasicTable(t, dbB, "foo.bar") - }, - localStmtTableName: "foo.bar", - remoteStmtTableName: "foo.bar", - }, - { - name: "table in schema with special characters", - setup: func(t *testing.T, dbA *sqlutils.SQLRunner, dbB *sqlutils.SQLRunner) { - dbA.Exec(t, `CREATE SCHEMA "foo-bar"`) - createBasicTable(t, dbA, `"foo-bar".bar`) - dbB.Exec(t, `CREATE SCHEMA "foo-bar"`) - createBasicTable(t, dbB, `"foo-bar".bar`) - }, - localStmtTableName: `"foo-bar".bar`, - remoteStmtTableName: `"foo-bar".bar`, - }, - { - name: "table with special characters in schema with special characters", - setup: func(t *testing.T, dbA *sqlutils.SQLRunner, dbB *sqlutils.SQLRunner) { - dbA.Exec(t, `CREATE SCHEMA "foo-bar2"`) - createBasicTable(t, dbA, `"foo-bar2"."baz-bat"`) - dbB.Exec(t, `CREATE SCHEMA "foo-bar2"`) - createBasicTable(t, dbB, `"foo-bar2"."baz-bat"`) - }, - localStmtTableName: `"foo-bar2"."baz-bat"`, - remoteStmtTableName: `"foo-bar2"."baz-bat"`, - }, - { - name: "table with periods in schema with periods", - setup: func(t *testing.T, dbA *sqlutils.SQLRunner, dbB *sqlutils.SQLRunner) { - dbA.Exec(t, `CREATE SCHEMA "foo.bar"`) - createBasicTable(t, dbA, `"foo.bar"."baz.bat"`) - dbB.Exec(t, `CREATE SCHEMA "foo.bar"`) - createBasicTable(t, dbB, `"foo.bar"."baz.bat"`) - }, - localStmtTableName: `"foo.bar"."baz.bat"`, - remoteStmtTableName: `"foo.bar"."baz.bat"`, - }, - { - name: "table in public schema", - setup: func(t *testing.T, dbA *sqlutils.SQLRunner, dbB *sqlutils.SQLRunner) { - createBasicTable(t, dbA, "bar") - createBasicTable(t, dbB, "bar") - }, - localStmtTableName: "public.bar", - remoteStmtTableName: "public.bar", - }, - } - - server, s, dbA, dbB := setupLogicalTestServer(t, ctx, testClusterBaseClusterArgs, 1) - defer server.Stopper().Stop(ctx) - dbBURL, cleanupB := s.PGUrl(t, serverutils.DBName("b")) - defer cleanupB() - - for _, c := range cases { - t.Run(c.name, func(t *testing.T) { - c.setup(t, dbA, dbB) - query := fmt.Sprintf("CREATE LOGICAL REPLICATION STREAM FROM TABLE %s ON $1 INTO TABLE %s", - c.remoteStmtTableName, c.localStmtTableName) - if c.expectedErr != "" { - dbA.ExpectErr(t, c.expectedErr, query, dbBURL.String()) - } else { - var unusedID int - dbA.QueryRow(t, query, dbBURL.String()).Scan(&unusedID) - } - }) - } -} - -type fatalDLQ struct{ *testing.T } - -func (fatalDLQ) Create(ctx context.Context) error { return nil } - -func (t fatalDLQ) Log( - _ context.Context, - _ int64, - _ streampb.StreamEvent_KV, - cdcEventRow cdcevent.Row, - reason error, - _ retryEligibility, -) error { - t.Fatal(errors.Wrapf(reason, "failed to apply row update: %s", cdcEventRow.DebugString())) - return nil -} - -func TestLogicalStreamIngestionJob(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - defer TestingSetDLQ(fatalDLQ{t})() - - ctx := context.Background() - // keyPrefix will be set later, but before countPuts is set. - var keyPrefix []byte - var countPuts atomic.Bool - var numPuts, numCPuts atomic.Int64 - // seenPuts and seenCPuts track which transactions have already been counted - // in the number of Puts and CPuts, respectively (we want to ignore any txn - // retries). - seenPuts, seenCPuts := make(map[uuid.UUID]struct{}), make(map[uuid.UUID]struct{}) - var muSeenTxns syncutil.Mutex - // seenTxn returns whether we've already seen this txn and includes it into - // the map if not. - seenTxn := func(seenTxns map[uuid.UUID]struct{}, txnID uuid.UUID) bool { - muSeenTxns.Lock() - defer muSeenTxns.Unlock() - _, seen := seenTxns[txnID] - seenTxns[txnID] = struct{}{} - return seen - } - clusterArgs := base.TestClusterArgs{ - ServerArgs: base.TestServerArgs{ - DefaultTestTenant: base.TestControlsTenantsExplicitly, - Knobs: base.TestingKnobs{ - JobsTestingKnobs: jobs.NewTestingKnobsWithShortIntervals(), - Store: &kvserver.StoreTestingKnobs{ - TestingRequestFilter: func(_ context.Context, ba *kvpb.BatchRequest) *kvpb.Error { - if !countPuts.Load() || !ba.IsWrite() || len(ba.Requests) > 2 { - return nil - } - switch req := ba.Requests[0].GetInner().(type) { - case *kvpb.PutRequest: - if bytes.HasPrefix(req.Key, keyPrefix) && !seenTxn(seenPuts, ba.Txn.ID) { - numPuts.Add(1) - } - return nil - case *kvpb.ConditionalPutRequest: - if bytes.HasPrefix(req.Key, keyPrefix) && !seenTxn(seenCPuts, ba.Txn.ID) { - numCPuts.Add(1) - } - return nil - default: - return nil - } - }, - }, - }, - }, - } - - server, s, dbA, dbB := setupLogicalTestServer(t, ctx, clusterArgs, 1) - defer server.Stopper().Stop(ctx) - - retryQueueSizeLimit.Override(ctx, &s.ClusterSettings().SV, 0) - - desc := desctestutils.TestingGetPublicTableDescriptor(s.DB(), s.Codec(), "a", "tab") - keyPrefix = rowenc.MakeIndexKeyPrefix(s.Codec(), desc.GetID(), desc.GetPrimaryIndexID()) - countPuts.Store(true) - - dbA.Exec(t, "INSERT INTO tab VALUES (1, 'hello')") - dbB.Exec(t, "INSERT INTO tab VALUES (1, 'goodbye')") - - dbAURL, cleanup := s.PGUrl(t, serverutils.DBName("a")) - defer cleanup() - dbBURL, cleanupB := s.PGUrl(t, serverutils.DBName("b")) - defer cleanupB() - - // Swap one of the URLs to external:// to verify this indirection works. - // TODO(dt): this create should support placeholder for URI. - dbB.Exec(t, "CREATE EXTERNAL CONNECTION a AS '"+dbAURL.String()+"'") - dbAURL = url.URL{ - Scheme: "external", - Host: "a", - } - - var ( - jobAID jobspb.JobID - jobBID jobspb.JobID - ) - dbA.QueryRow(t, "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", dbBURL.String()).Scan(&jobAID) - dbB.QueryRow(t, "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", dbAURL.String()).Scan(&jobBID) - - now := s.Clock().Now() - WaitUntilReplicatedTime(t, now, dbA, jobAID) - WaitUntilReplicatedTime(t, now, dbB, jobBID) - - dbA.Exec(t, "INSERT INTO tab VALUES (2, 'potato')") - dbB.Exec(t, "INSERT INTO tab VALUES (3, 'celeriac')") - dbA.Exec(t, "UPSERT INTO tab VALUES (1, 'hello, again')") - dbB.Exec(t, "UPSERT INTO tab VALUES (1, 'goodbye, again')") - - now = s.Clock().Now() - WaitUntilReplicatedTime(t, now, dbA, jobAID) - WaitUntilReplicatedTime(t, now, dbB, jobBID) - - expectedRows := [][]string{ - {"1", "goodbye, again"}, - {"2", "potato"}, - {"3", "celeriac"}, - } - dbA.CheckQueryResults(t, "SELECT * from a.tab", expectedRows) - dbB.CheckQueryResults(t, "SELECT * from b.tab", expectedRows) - - // Verify that we didn't have the data looping problem. We expect 3 CPuts - // when inserting new rows and 3 Puts when updating existing rows. - expPuts, expCPuts := 3, 4 - if tryOptimisticInsertEnabled.Get(&s.ClusterSettings().SV) { - // When performing 1 update, we don't have the prevValue set, so if - // we're using the optimistic insert strategy, it would result in an - // additional CPut (that ultimately fails). The cluster setting is - // randomized in tests, so we need to handle both cases. - expCPuts++ - } - require.Equal(t, int64(expPuts), numPuts.Load()) - require.Equal(t, int64(expCPuts), numCPuts.Load()) -} - -func TestLogicalStreamIngestionJobWithCursor(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - server, s, dbA, dbB := setupLogicalTestServer(t, ctx, testClusterBaseClusterArgs, 1) - defer server.Stopper().Stop(ctx) - - dbA.Exec(t, "INSERT INTO tab VALUES (1, 'hello')") - dbB.Exec(t, "INSERT INTO tab VALUES (1, 'goodbye')") - - dbAURL, cleanup := s.PGUrl(t, serverutils.DBName("a")) - defer cleanup() - dbBURL, cleanupB := s.PGUrl(t, serverutils.DBName("b")) - defer cleanupB() - - // Swap one of the URLs to external:// to verify this indirection works. - // TODO(dt): this create should support placeholder for URI. - dbB.Exec(t, "CREATE EXTERNAL CONNECTION a AS '"+dbAURL.String()+"'") - dbAURL = url.URL{ - Scheme: "external", - Host: "a", - } - - var ( - jobAID jobspb.JobID - jobBID jobspb.JobID - ) - - // Perform inserts that should not be replicated since - // they will be before the cursor time. - dbA.Exec(t, "INSERT INTO tab VALUES (7, 'do not replicate')") - dbB.Exec(t, "INSERT INTO tab VALUES (8, 'do not replicate')") - // Perform the inserts first before starting the LDR stream. - now := s.Clock().Now() - dbA.Exec(t, "INSERT INTO tab VALUES (2, 'potato')") - dbB.Exec(t, "INSERT INTO tab VALUES (3, 'celeriac')") - dbA.Exec(t, "UPSERT INTO tab VALUES (1, 'hello, again')") - dbB.Exec(t, "UPSERT INTO tab VALUES (1, 'goodbye, again')") - // We should expect starting at the provided now() to replicate all the data from that time. - dbA.QueryRow(t, "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab WITH CURSOR=$2", dbBURL.String(), now.AsOfSystemTime()).Scan(&jobAID) - dbB.QueryRow(t, "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab WITH CURSOR=$2", dbAURL.String(), now.AsOfSystemTime()).Scan(&jobBID) - - now = s.Clock().Now() - WaitUntilReplicatedTime(t, now, dbA, jobAID) - WaitUntilReplicatedTime(t, now, dbB, jobBID) - - // The rows added before the now time should remain only - // on their respective side and not replicate. - expectedRowsA := [][]string{ - {"1", "goodbye, again"}, - {"2", "potato"}, - {"3", "celeriac"}, - {"7", "do not replicate"}, - } - expectedRowsB := [][]string{ - {"1", "goodbye, again"}, - {"2", "potato"}, - {"3", "celeriac"}, - {"8", "do not replicate"}, - } - dbA.CheckQueryResults(t, "SELECT * from a.tab", expectedRowsA) - dbB.CheckQueryResults(t, "SELECT * from b.tab", expectedRowsB) -} - -// TestLogicalStreamIngestionAdvancePTS tests that the producer side pts advances -// as the destination side frontier advances. -func TestLogicalStreamIngestionAdvancePTS(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - clusterArgs := base.TestClusterArgs{ - ServerArgs: base.TestServerArgs{ - DefaultTestTenant: base.TestControlsTenantsExplicitly, - Knobs: base.TestingKnobs{ - JobsTestingKnobs: jobs.NewTestingKnobsWithShortIntervals(), - }, - }, - } - - server, s, dbA, dbB := setupLogicalTestServer(t, ctx, clusterArgs, 1) - defer server.Stopper().Stop(ctx) - - dbA.Exec(t, "INSERT INTO tab VALUES (1, 'hello')") - dbB.Exec(t, "INSERT INTO tab VALUES (1, 'goodbye')") - - dbAURL, cleanup := s.PGUrl(t, serverutils.DBName("a")) - defer cleanup() - dbBURL, cleanupB := s.PGUrl(t, serverutils.DBName("b")) - defer cleanupB() - - // Swap one of the URLs to external:// to verify this indirection works. - // TODO(dt): this create should support placeholder for URI. - dbB.Exec(t, "CREATE EXTERNAL CONNECTION a AS '"+dbAURL.String()+"'") - dbAURL = url.URL{ - Scheme: "external", - Host: "a", - } - - var ( - jobAID jobspb.JobID - jobBID jobspb.JobID - ) - - dbA.QueryRow(t, "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", dbBURL.String()).Scan(&jobAID) - dbB.QueryRow(t, "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", dbAURL.String()).Scan(&jobBID) - - now := s.Clock().Now() - WaitUntilReplicatedTime(t, now, dbA, jobAID) - // The ingestion job on cluster A has a pts on cluster B. - producerJobIDB := replicationutils.GetProducerJobIDFromLDRJob(t, dbA, jobAID) - replicationutils.WaitForPTSProtection(t, ctx, dbB, s, producerJobIDB, now) - - WaitUntilReplicatedTime(t, now, dbB, jobBID) - producerJobIDA := replicationutils.GetProducerJobIDFromLDRJob(t, dbB, jobBID) - replicationutils.WaitForPTSProtection(t, ctx, dbA, s, producerJobIDA, now) -} - -// TestLogicalStreamIngestionCancelUpdatesProducerJob tests whether -// the producer job's OnFailOrCancel updates the the related producer -// job, resulting in the PTS record being removed. -func TestLogicalStreamIngestionCancelUpdatesProducerJob(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - server, s, dbA, dbB := setupLogicalTestServer(t, ctx, testClusterBaseClusterArgs, 1) - defer server.Stopper().Stop(ctx) - - dbA.Exec(t, "SET CLUSTER SETTING physical_replication.producer.stream_liveness_track_frequency='50ms'") - - dbAURL, cleanup := s.PGUrl(t, serverutils.DBName("a")) - defer cleanup() - - var jobBID jobspb.JobID - dbB.QueryRow(t, "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", dbAURL.String()).Scan(&jobBID) - - WaitUntilReplicatedTime(t, s.Clock().Now(), dbB, jobBID) - - producerJobID := replicationutils.GetProducerJobIDFromLDRJob(t, dbB, jobBID) - jobutils.WaitForJobToRun(t, dbA, producerJobID) - - dbB.Exec(t, "CANCEL JOB $1", jobBID) - jobutils.WaitForJobToCancel(t, dbB, jobBID) - jobutils.WaitForJobToFail(t, dbA, producerJobID) - replicationutils.WaitForPTSProtectionToNotExist(t, ctx, dbA, s, producerJobID) -} - -func TestLogicalStreamIngestionErrors(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - - server := testcluster.StartTestCluster(t, 1, base.TestClusterArgs{}) - defer server.Stopper().Stop(ctx) - s := server.Server(0).ApplicationLayer() - url, cleanup := s.PGUrl(t, serverutils.DBName("a")) - defer cleanup() - urlA := url.String() - - _, err := server.Conns[0].Exec("CREATE DATABASE a") - require.NoError(t, err) - _, err = server.Conns[0].Exec("CREATE DATABASE B") - require.NoError(t, err) - - dbA := sqlutils.MakeSQLRunner(s.SQLConn(t, serverutils.DBName("a"))) - dbB := sqlutils.MakeSQLRunner(s.SQLConn(t, serverutils.DBName("b"))) - - createStmt := "CREATE TABLE tab (pk int primary key, payload string)" - dbA.Exec(t, createStmt) - dbB.Exec(t, createStmt) - - createQ := "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab" - - dbB.ExpectErrWithHint(t, "currently require a .* DECIMAL column", "ADD COLUMN", createQ, urlA) - - dbB.Exec(t, "ALTER TABLE tab ADD COLUMN crdb_replication_origin_timestamp STRING") - dbB.ExpectErr(t, ".*column must be type DECIMAL for use by logical replication", createQ, urlA) - - dbB.Exec(t, fmt.Sprintf("ALTER TABLE tab RENAME COLUMN %[1]s TO str_col, ADD COLUMN %[1]s DECIMAL", originTimestampColumnName)) - - // Create the columns in the source side also. - dbA.Exec(t, "ALTER TABLE tab ADD COLUMN str_col STRING, ADD COLUMN crdb_replication_origin_timestamp DECIMAL") - - if s.Codec().IsSystem() { - dbB.ExpectErr(t, "kv.rangefeed.enabled must be enabled on the source cluster for logical replication", createQ, urlA) - kvserver.RangefeedEnabled.Override(ctx, &s.ClusterSettings().SV, true) - } - - dbB.Exec(t, createQ, urlA) -} - -func TestLogicalStreamIngestionJobWithColumnFamilies(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - skip.IgnoreLint(t, "column families are not supported yet by LDR") - - ctx := context.Background() - - tc, s, serverASQL, serverBSQL := setupLogicalTestServer(t, ctx, testClusterBaseClusterArgs, 1) - defer tc.Stopper().Stop(ctx) - - createStmt := `CREATE TABLE tab_with_cf ( -pk int primary key, -payload string, -v1 int as (pk + 9000) virtual, -v2 int as (pk + 42) stored, -other_payload string, -family f1(pk, payload), -family f2(other_payload, v2)) -` - serverASQL.Exec(t, createStmt) - serverBSQL.Exec(t, createStmt) - serverASQL.Exec(t, "ALTER TABLE tab_with_cf "+lwwColumnAdd) - serverBSQL.Exec(t, "ALTER TABLE tab_with_cf "+lwwColumnAdd) - - serverASQL.Exec(t, "INSERT INTO tab_with_cf(pk, payload, other_payload) VALUES (1, 'hello', 'ruroh1')") - - serverAURL, cleanup := s.PGUrl(t) - serverAURL.Path = "a" - defer cleanup() - - var jobBID jobspb.JobID - serverBSQL.QueryRow(t, "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab_with_cf ON $1 INTO TABLE tab_with_cf", serverAURL.String()).Scan(&jobBID) - - WaitUntilReplicatedTime(t, s.Clock().Now(), serverBSQL, jobBID) - serverASQL.Exec(t, "INSERT INTO tab_with_cf(pk, payload, other_payload) VALUES (2, 'potato', 'ruroh2')") - serverASQL.Exec(t, "INSERT INTO tab_with_cf(pk, payload, other_payload) VALUES (4, 'spud', 'shrub')") - serverASQL.Exec(t, "UPSERT INTO tab_with_cf(pk, payload, other_payload) VALUES (1, 'hello, again', 'ruroh3')") - serverASQL.Exec(t, "DELETE FROM tab_with_cf WHERE pk = 4") - - WaitUntilReplicatedTime(t, s.Clock().Now(), serverBSQL, jobBID) - - expectedRows := [][]string{ - {"1", "hello, again", "9001", "43", "ruroh3"}, - {"2", "potato", "9002", "44", "ruroh2"}, - } - serverBSQL.CheckQueryResults(t, "SELECT * from tab_with_cf", expectedRows) - serverASQL.CheckQueryResults(t, "SELECT * from tab_with_cf", expectedRows) -} - -func TestLogicalReplicationWithPhantomDelete(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - - tc, s, serverASQL, serverBSQL := setupLogicalTestServer(t, ctx, testClusterBaseClusterArgs, 1) - defer tc.Stopper().Stop(ctx) - - serverAURL, cleanup := s.PGUrl(t) - serverAURL.Path = "a" - defer cleanup() - - for _, mode := range []string{"validated", "immediate"} { - t.Run(mode, func(t *testing.T) { - serverASQL.Exec(t, "TRUNCATE tab") - serverBSQL.Exec(t, "TRUNCATE tab") - var jobBID jobspb.JobID - serverBSQL.QueryRow(t, "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab WITH MODE = $2", serverAURL.String(), mode).Scan(&jobBID) - serverASQL.Exec(t, "DELETE FROM tab WHERE pk = 4") - WaitUntilReplicatedTime(t, s.Clock().Now(), serverBSQL, jobBID) - expectedRows := [][]string{} - serverASQL.CheckQueryResults(t, "SELECT * from tab", expectedRows) - serverBSQL.CheckQueryResults(t, "SELECT * from tab", expectedRows) - }) - } -} - -func TestFilterRangefeedInReplicationStream(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - skip.UnderRace(t, "multi cluster/node config exhausts hardware") - - ctx := context.Background() - - filterVal := []bool{} - var filterValLock syncutil.Mutex - - clusterArgs := base.TestClusterArgs{ - ServerArgs: base.TestServerArgs{ - DefaultTestTenant: base.TestControlsTenantsExplicitly, - Knobs: base.TestingKnobs{ - JobsTestingKnobs: jobs.NewTestingKnobsWithShortIntervals(), - DistSQL: &execinfra.TestingKnobs{ - StreamingTestingKnobs: &sql.StreamingTestingKnobs{ - BeforeClientSubscribe: func(_ string, _ string, _ span.Frontier, filterRangefeed bool) { - filterValLock.Lock() - defer filterValLock.Unlock() - filterVal = append(filterVal, filterRangefeed) - }, - }, - }, - }, - }, - } - - server, s, dbA, dbB := setupLogicalTestServer(t, ctx, clusterArgs, 1) - defer server.Stopper().Stop(ctx) - - dbAURL, cleanup := s.PGUrl(t, serverutils.DBName("a")) - defer cleanup() - dbBURL, cleanupB := s.PGUrl(t, serverutils.DBName("b")) - defer cleanupB() - - var ( - jobAID jobspb.JobID - jobBID jobspb.JobID - ) - - dbA.QueryRow(t, "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", dbBURL.String()).Scan(&jobAID) - dbB.QueryRow(t, "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab WITH IGNORE_CDC_IGNORED_TTL_DELETES", dbAURL.String()).Scan(&jobBID) - - now := server.Server(0).Clock().Now() - t.Logf("waiting for replication job %d", jobAID) - WaitUntilReplicatedTime(t, now, dbA, jobAID) - t.Logf("waiting for replication job %d", jobBID) - WaitUntilReplicatedTime(t, now, dbB, jobBID) - - // Verify that Job contains FilterRangeFeed - details := jobutils.GetJobPayload(t, dbA, jobAID).GetLogicalReplicationDetails() - require.False(t, details.IgnoreCDCIgnoredTTLDeletes) - - details = jobutils.GetJobPayload(t, dbB, jobBID).GetLogicalReplicationDetails() - require.True(t, details.IgnoreCDCIgnoredTTLDeletes) - - require.Equal(t, len(filterVal), 2) - - // Only one should be true - require.True(t, filterVal[0] != filterVal[1]) -} - -func TestRandomTables(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - tc, s, runnerA, runnerB := setupLogicalTestServer(t, ctx, testClusterBaseClusterArgs, 1) - defer tc.Stopper().Stop(ctx) - - sqlA := s.SQLConn(t, serverutils.DBName("a")) - - tableName := "rand_table" - rng, _ := randutil.NewPseudoRand() - - addCol := fmt.Sprintf(`ALTER TABLE %s `+lwwColumnAdd, tableName) - streamStartStmt := fmt.Sprintf("CREATE LOGICAL REPLICATION STREAM FROM TABLE %[1]s ON $1 INTO TABLE %[1]s", tableName) - dbAURL, cleanup := s.PGUrl(t, serverutils.DBName("a")) - defer cleanup() - - // Keep retrying until the random table satisfies all the static checks - // we make when creating the replication stream. - for { - createStmt := randgen.RandCreateTableWithName( - ctx, - rng, - tableName, - 1, - false, /* isMultiregion */ - // We do not have full support for column families. - randgen.SkipColumnFamilyMutation()) - stmt := tree.SerializeForDisplay(createStmt) - t.Log(stmt) - runnerA.Exec(t, stmt) - runnerB.Exec(t, stmt) - runnerA.Exec(t, addCol) - runnerB.Exec(t, addCol) - - var jobBID jobspb.JobID - err := runnerB.DB.QueryRowContext(ctx, streamStartStmt, dbAURL.String()).Scan(&jobBID) - if err != nil { - t.Log(err) - runnerA.Exec(t, fmt.Sprintf("DROP TABLE %s", tableName)) - runnerB.Exec(t, fmt.Sprintf("DROP TABLE %s", tableName)) - continue - } - - // Kill replication job. The one we want to test with is created further - // below. - runnerB.Exec(t, "CANCEL JOB $1", jobBID) - jobutils.WaitForJobToCancel(t, runnerB, jobBID) - break - } - - // TODO(ssd): We have to turn off randomized_anchor_key - // because this, in combination of optimizer difference that - // might prevent CommitInBatch, could result in the replicated - // transaction being too large to commit. - runnerA.Exec(t, "SET CLUSTER SETTING kv.transaction.randomized_anchor_key.enabled=false") - - // Workaround for the behaviour described in #127321. This - // ensures that we are generating rows using similar - // optimization decisions to our replication process. - runnerA.Exec(t, "SET plan_cache_mode=force_generic_plan") - - numInserts := 20 - _, err := randgen.PopulateTableWithRandData(rng, - sqlA, tableName, numInserts, nil) - require.NoError(t, err) - - var jobBID jobspb.JobID - runnerB.QueryRow(t, streamStartStmt, dbAURL.String()).Scan(&jobBID) - - WaitUntilReplicatedTime(t, s.Clock().Now(), runnerB, jobBID) - require.NoError(t, replicationtestutils.CheckEmptyDLQs(ctx, runnerB.DB, "b")) - compareReplicatedTables(t, s, "a", "b", tableName, runnerA, runnerB) -} - -func TestRandomStream(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - eventCount := 1000 - testState := struct { - syncutil.Mutex - count int - done chan struct{} - }{ - done: make(chan struct{}), - } - - streamingKnobs := &sql.StreamingTestingKnobs{ - DistSQLRetryPolicy: &retry.Options{ - InitialBackoff: time.Microsecond, - MaxBackoff: 2 * time.Microsecond, - }, - RunAfterReceivingEvent: func(_ context.Context) error { - testState.Lock() - defer testState.Unlock() - testState.count++ - if testState.count == eventCount { - close(testState.done) - } - return nil - }, - } - clusterArgs := testClusterBaseClusterArgs - clusterArgs.ServerArgs.Knobs.DistSQL = &execinfra.TestingKnobs{ - StreamingTestingKnobs: streamingKnobs, - } - clusterArgs.ServerArgs.Knobs.Streaming = streamingKnobs - - ctx := context.Background() - tc, s, runnerA, _ := setupLogicalTestServer(t, ctx, clusterArgs, 1) - defer tc.Stopper().Stop(ctx) - - desc := desctestutils.TestingGetPublicTableDescriptor(s.DB(), s.Codec(), "a", "tab") - // We use a low events per checkpoint since we want to - // generate errors at many different code locations. - uri := fmt.Sprintf("randomgen://?TABLE_ID=%d&SST_PROBABILITY=0&ERROR_PROBABILITY=0.10&EVENTS_PER_CHECKPOINT=5", desc.GetID()) - - streamStartStmt := "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab" - runnerA.Exec(t, streamStartStmt, uri) - t.Logf("waiting for %d events", eventCount) - select { - case <-testState.done: - case <-time.After(testutils.SucceedsSoonDuration()): - t.Logf("%s", string(allstacks.Get())) - t.Fatal("timed out waiting for events") - } - -} - -// TestPreviouslyInterestingTables tests some schemas from previous failed runs of TestRandomTables. -func TestPreviouslyInterestingTables(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - tc, s, runnerA, runnerB := setupLogicalTestServer(t, ctx, testClusterBaseClusterArgs, 1) - defer tc.Stopper().Stop(ctx) - - sqlA := s.SQLConn(t, serverutils.DBName("a")) - - type testCase struct { - name string - schema string - useUDF bool - delete bool - } - - testCases := []testCase{ - { - // This caught a problem with the comparison we were - // using rather than the replication process itself. We - // leave it here as an example of how to add new - // schemas. - name: "comparison-invariant-to-different-covering-indexes", - schema: `CREATE TABLE rand_table (col1_0 DECIMAL, INDEX (col1_0) VISIBILITY 0.17, UNIQUE (col1_0 DESC), UNIQUE (col1_0 ASC), INDEX (col1_0 ASC), UNIQUE (col1_0 ASC))`, - }, - { - - // Single column tables previously had a bug - // with tuple parsing the UDF apply query. - name: "single column table with udf", - schema: `CREATE TABLE rand_table (pk INT PRIMARY KEY)`, - useUDF: true, - }, - } - - baseTableName := "rand_table" - rng, _ := randutil.NewPseudoRand() - numInserts := 20 - dbAURL, cleanup := s.PGUrl(t, serverutils.DBName("a")) - defer cleanup() - for i, tc := range testCases { - t.Run(tc.name, func(t *testing.T) { - tableName := fmt.Sprintf("%s%d", baseTableName, i) - schemaStmt := strings.ReplaceAll(tc.schema, baseTableName, tableName) - addCol := fmt.Sprintf(`ALTER TABLE %s `+lwwColumnAdd, tableName) - runnerA.Exec(t, schemaStmt) - runnerB.Exec(t, schemaStmt) - runnerA.Exec(t, addCol) - runnerB.Exec(t, addCol) - if tc.useUDF { - runnerB.Exec(t, fmt.Sprintf(testingUDFAcceptProposedBase, tableName)) - } - _, err := randgen.PopulateTableWithRandData(rng, - sqlA, tableName, numInserts, nil) - require.NoError(t, err) - - var streamStartStmt string - if tc.useUDF { - streamStartStmt = fmt.Sprintf("CREATE LOGICAL REPLICATION STREAM FROM TABLE %[1]s ON $1 INTO TABLE %[1]s WITH FUNCTION repl_apply FOR TABLE %[1]s", tableName) - } else { - streamStartStmt = fmt.Sprintf("CREATE LOGICAL REPLICATION STREAM FROM TABLE %[1]s ON $1 INTO TABLE %[1]s", tableName) - } - var jobBID jobspb.JobID - runnerB.QueryRow(t, streamStartStmt, dbAURL.String()).Scan(&jobBID) - - WaitUntilReplicatedTime(t, s.Clock().Now(), runnerB, jobBID) - - if tc.delete { - runnerA.Exec(t, fmt.Sprintf("DELETE FROM %s LIMIT 5", tableName)) - WaitUntilReplicatedTime(t, s.Clock().Now(), runnerB, jobBID) - } - require.NoError(t, replicationtestutils.CheckEmptyDLQs(ctx, runnerB.DB, "b")) - compareReplicatedTables(t, s, "a", "b", tableName, runnerA, runnerB) - }) - } -} - -// TestLogicalAutoReplan asserts that if a new node can participate in the -// logical replication job, it will trigger distSQL replanning. -func TestLogicalAutoReplan(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - skip.UnderRace(t, "multi cluster/node config exhausts hardware") - - ctx := context.Background() - - // Double the number of nodes - retryErrorChan := make(chan error, 4) - turnOffReplanning := make(chan struct{}) - var alreadyReplanned atomic.Bool - - // Track the number of unique addresses that we're connected to. - clientAddresses := make(map[string]struct{}) - var addressesMu syncutil.Mutex - - clusterArgs := base.TestClusterArgs{ - ServerArgs: base.TestServerArgs{ - DefaultTestTenant: base.TestControlsTenantsExplicitly, - Knobs: base.TestingKnobs{ - JobsTestingKnobs: jobs.NewTestingKnobsWithShortIntervals(), - DistSQL: &execinfra.TestingKnobs{ - StreamingTestingKnobs: &sql.StreamingTestingKnobs{ - BeforeClientSubscribe: func(addr string, token string, _ span.Frontier, _ bool) { - addressesMu.Lock() - defer addressesMu.Unlock() - clientAddresses[addr] = struct{}{} - }, - }, - }, - Streaming: &sql.StreamingTestingKnobs{ - AfterRetryIteration: func(err error) { - if err != nil && !alreadyReplanned.Load() { - retryErrorChan <- err - <-turnOffReplanning - alreadyReplanned.Swap(true) - } - }, - }, - }, - }, - } - - server, s, dbA, dbB := setupLogicalTestServer(t, ctx, clusterArgs, 1) - defer server.Stopper().Stop(ctx) - - // Don't allow for replanning until the new nodes and scattered table have been created. - serverutils.SetClusterSetting(t, server, "logical_replication.replan_flow_threshold", 0) - serverutils.SetClusterSetting(t, server, "logical_replication.replan_flow_frequency", time.Millisecond*500) - - dbAURL, cleanup := s.PGUrl(t, serverutils.DBName("a")) - defer cleanup() - dbBURL, cleanupB := s.PGUrl(t, serverutils.DBName("b")) - defer cleanupB() - - var ( - jobAID jobspb.JobID - jobBID jobspb.JobID - ) - dbA.QueryRow(t, "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", dbBURL.String()).Scan(&jobAID) - dbB.QueryRow(t, "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", dbAURL.String()).Scan(&jobBID) - - now := s.Clock().Now() - WaitUntilReplicatedTime(t, now, dbA, jobAID) - WaitUntilReplicatedTime(t, now, dbB, jobBID) - - server.AddAndStartServer(t, clusterArgs.ServerArgs) - server.AddAndStartServer(t, clusterArgs.ServerArgs) - t.Logf("New nodes added") - - // Only need at least two nodes as leaseholders for test. - CreateScatteredTable(t, dbA, 2, "A") - - // Configure the ingestion job to replan eagerly. - serverutils.SetClusterSetting(t, server, "logical_replication.replan_flow_threshold", 0.1) - - // The ingestion job should eventually retry because it detects new nodes to add to the plan. - require.ErrorContains(t, <-retryErrorChan, sql.ErrPlanChanged.Error()) - - // Prevent continuous replanning to reduce test runtime. dsp.PartitionSpans() - // on the src cluster may return a different set of src nodes that can - // participate in the replication job (especially under stress), so if we - // repeatedly replan the job, we will repeatedly restart the job, preventing - // job progress. - serverutils.SetClusterSetting(t, server, "logical_replication.replan_flow_threshold", 0) - serverutils.SetClusterSetting(t, server, "logical_replication.replan_flow_frequency", time.Minute*10) - close(turnOffReplanning) - - require.Greater(t, len(clientAddresses), 1) -} - -// TestLogicalJobResiliency tests that the stream addresses from -// the initial job plan are persisted in system.job_info. In the -// case that the coordinator node is unavailable, a new node should -// pick up the job and resume -func TestLogicalJobResiliency(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - skip.UnderRace(t, "multi cluster/node config exhausts hardware") - skip.UnderDeadlock(t, "Scattering prior to creating LDR job slows down ingestion") - - clusterArgs := base.TestClusterArgs{ - ServerArgs: base.TestServerArgs{ - DefaultTestTenant: base.TestControlsTenantsExplicitly, - Knobs: base.TestingKnobs{ - JobsTestingKnobs: jobs.NewTestingKnobsWithShortIntervals(), - }, - }, - } - - ctx := context.Background() - - server, s, dbA, dbB := setupLogicalTestServer(t, ctx, clusterArgs, 3) - defer server.Stopper().Stop(ctx) - - dbBURL, cleanupB := s.PGUrl(t, serverutils.DBName("b")) - defer cleanupB() - - CreateScatteredTable(t, dbB, 2, "B") - - var jobAID jobspb.JobID - dbA.QueryRow(t, "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", dbBURL.String()).Scan(&jobAID) - - now := s.Clock().Now() - WaitUntilReplicatedTime(t, now, dbA, jobAID) - - progress := jobutils.GetJobProgress(t, dbA, jobAID) - addresses := progress.Details.(*jobspb.Progress_LogicalReplication).LogicalReplication.StreamAddresses - - require.Greaterf(t, len(addresses), 1, "Less than 2 addresses were persisted in system.job_info") -} - -func TestHeartbeatCancel(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - skip.UnderRace(t, "multi cluster/node config exhausts hardware") - - ctx := context.Background() - - // Make size of channel double the number of nodes - retryErrorChan := make(chan error, 4) - var alreadyCancelled atomic.Bool - - clusterArgs := base.TestClusterArgs{ - ServerArgs: base.TestServerArgs{ - DefaultTestTenant: base.TestControlsTenantsExplicitly, - Knobs: base.TestingKnobs{ - JobsTestingKnobs: jobs.NewTestingKnobsWithShortIntervals(), - Streaming: &sql.StreamingTestingKnobs{ - AfterRetryIteration: func(err error) { - if err != nil && !alreadyCancelled.Load() { - retryErrorChan <- err - alreadyCancelled.Store(true) - } - }, - }, - }, - }, - } - - server, s, dbA, dbB := setupLogicalTestServer(t, ctx, clusterArgs, 1) - defer server.Stopper().Stop(ctx) - - serverutils.SetClusterSetting(t, server, "logical_replication.consumer.heartbeat_frequency", time.Second*1) - - dbAURL, cleanup := s.PGUrl(t, serverutils.DBName("a")) - defer cleanup() - dbBURL, cleanupB := s.PGUrl(t, serverutils.DBName("b")) - defer cleanupB() - - var ( - jobAID jobspb.JobID - jobBID jobspb.JobID - ) - dbA.QueryRow(t, "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", dbBURL.String()).Scan(&jobAID) - dbB.QueryRow(t, "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", dbAURL.String()).Scan(&jobBID) - - now := s.Clock().Now() - WaitUntilReplicatedTime(t, now, dbA, jobAID) - WaitUntilReplicatedTime(t, now, dbB, jobBID) - - prodAID := replicationutils.GetProducerJobIDFromLDRJob(t, dbB, jobBID) - - // Cancel the producer job and wait for the hearbeat to pick up that the stream is inactive - t.Logf("canceling replication producer %s", prodAID) - dbA.QueryRow(t, "CANCEL JOB $1", prodAID) - - // The ingestion job should eventually retry because it detects 2 nodes are dead - require.ErrorContains(t, <-retryErrorChan, fmt.Sprintf("replication stream %s is not running, status is STREAM_INACTIVE", prodAID)) -} - -// TestMultipleSourcesIntoSingleDest tests if one destination table can handle -// conflicts streaming from multiple source tables -func TestMultipleSourcesIntoSingleDest(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - - clusterArgs := base.TestClusterArgs{ - ServerArgs: base.TestServerArgs{ - DefaultTestTenant: base.TestControlsTenantsExplicitly, - Knobs: base.TestingKnobs{ - JobsTestingKnobs: jobs.NewTestingKnobsWithShortIntervals(), - DistSQL: &execinfra.TestingKnobs{}, - }, - }, - } - - server, s, runners, dbNames := setupServerWithNumDBs(t, ctx, clusterArgs, 1, 3) - defer server.Stopper().Stop(ctx) - - PGURLs, cleanup := GetPGURLs(t, s, dbNames) - defer cleanup() - - dbA, dbB, dbC := runners[0], runners[1], runners[2] - - var ( - jobAID jobspb.JobID - jobBID jobspb.JobID - ) - dbC.QueryRow(t, "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", PGURLs[0].String()).Scan(&jobAID) - dbC.QueryRow(t, "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", PGURLs[1].String()).Scan(&jobBID) - - // Insert into dest, then check source2 -> dest wins - dbC.Exec(t, "UPSERT INTO tab VALUES (1, 'hello')") - dbB.Exec(t, "UPSERT INTO tab VALUES (1, 'goodbye')") - now := s.Clock().Now() - WaitUntilReplicatedTime(t, now, dbC, jobBID) - expectedRows := [][]string{ - {"1", "goodbye"}, - } - dbC.CheckQueryResults(t, "SELECT * from tab", expectedRows) - - // Write to source1 and source2, which should keep their respective rows but dest should resolve a conflict - dbA.Exec(t, "UPSERT INTO tab VALUES (1, 'insertA')") - dbB.Exec(t, "UPSERT INTO tab VALUES (1, 'insertB')") - - expectedRowsS1 := [][]string{ - {"1", "insertA"}, - } - expectedRowsDest := [][]string{ - {"1", "insertB"}, - } - now = s.Clock().Now() - WaitUntilReplicatedTime(t, now, dbC, jobAID) - WaitUntilReplicatedTime(t, now, dbC, jobBID) - dbA.CheckQueryResults(t, "SELECT * from tab", expectedRowsS1) - dbB.CheckQueryResults(t, "SELECT * from tab", expectedRowsDest) - dbC.CheckQueryResults(t, "SELECT * from tab", expectedRowsDest) -} - -// TestFullyConnectedReplication tests 4 tables that are all streaming -// from each other and how they handle conflicts -func TestFullyConnectedReplication(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - skip.UnderRace(t, "Replication doesn't complete in time") - - ctx := context.Background() - - clusterArgs := base.TestClusterArgs{ - ServerArgs: base.TestServerArgs{ - DefaultTestTenant: base.TestControlsTenantsExplicitly, - Knobs: base.TestingKnobs{ - JobsTestingKnobs: jobs.NewTestingKnobsWithShortIntervals(), - }, - }, - } - - verifyExpectedRowAllServers := func( - t *testing.T, runners []*sqlutils.SQLRunner, expectedRows [][]string, dbNames []string, - ) { - for i, name := range dbNames { - runners[i].CheckQueryResults(t, fmt.Sprintf("SELECT * from %s.tab", name), expectedRows) - } - } - - waitUntilReplicatedTimeAllServers := func( - t *testing.T, - targetTime hlc.Timestamp, - runners []*sqlutils.SQLRunner, - jobIDs [][]jobspb.JobID, - ) { - for destIdx := range jobIDs { - for srcIdx := range jobIDs[destIdx] { - if destIdx == srcIdx { - continue - } - WaitUntilReplicatedTime(t, targetTime, runners[destIdx], jobIDs[destIdx][srcIdx]) - } - } - } - - numDBs := 4 - server, s, runners, dbNames := setupServerWithNumDBs(t, ctx, clusterArgs, 1, numDBs) - defer server.Stopper().Stop(ctx) - - PGURLs, cleanup := GetPGURLs(t, s, dbNames) - defer cleanup() - - // Each row is a DB, each column is a jobID from another DB to that target DB - jobIDs := make([][]jobspb.JobID, numDBs) - for dstIdx := range numDBs { - jobIDs[dstIdx] = make([]jobspb.JobID, numDBs) - for srcIdx := range numDBs { - if dstIdx == srcIdx { - jobIDs[dstIdx][srcIdx] = jobspb.InvalidJobID - continue - } - runners[dstIdx].QueryRow(t, "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", PGURLs[srcIdx].String()).Scan(&jobIDs[dstIdx][srcIdx]) - } - } - - runners[0].Exec(t, "UPSERT INTO tab VALUES (1, 'celery')") - now := s.Clock().Now() - waitUntilReplicatedTimeAllServers(t, now, runners, jobIDs) - - expectedRows := [][]string{ - {"1", "celery"}, - } - verifyExpectedRowAllServers(t, runners, expectedRows, dbNames) - - for i := range numDBs { - runners[i].Exec(t, fmt.Sprintf("UPSERT INTO tab VALUES (2, 'row%v')", i)) - } - now = s.Clock().Now() - waitUntilReplicatedTimeAllServers(t, now, runners, jobIDs) - - expectedRows = [][]string{ - {"1", "celery"}, - {"2", "row3"}, - } - verifyExpectedRowAllServers(t, runners, expectedRows, dbNames) -} - -func TestForeignKeyConstraints(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - - clusterArgs := base.TestClusterArgs{ - ServerArgs: base.TestServerArgs{ - DefaultTestTenant: base.TestControlsTenantsExplicitly, - Knobs: base.TestingKnobs{ - JobsTestingKnobs: jobs.NewTestingKnobsWithShortIntervals(), - }, - }, - } - - server, s, dbA, _ := setupLogicalTestServer(t, ctx, clusterArgs, 1) - defer server.Stopper().Stop(ctx) - - dbBURL, cleanupB := s.PGUrl(t, serverutils.DBName("b")) - defer cleanupB() - - dbA.Exec(t, "CREATE TABLE test(a int primary key, b int)") - - testutils.RunTrueAndFalse(t, "immediate-mode", func(t *testing.T, immediateMode bool) { - testutils.RunTrueAndFalse(t, "valid-foreign-key", func(t *testing.T, validForeignKey bool) { - fkStmt := "ALTER TABLE test ADD CONSTRAINT fkc FOREIGN KEY (b) REFERENCES tab(pk)" - if !validForeignKey { - fkStmt = fkStmt + " NOT VALID" - } - dbA.Exec(t, fkStmt) - - var mode string - if immediateMode { - mode = "IMMEDIATE" - } else { - mode = "VALIDATED" - } - - var jobID jobspb.JobID - stmt := "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab WITH MODE = " + mode - if immediateMode && validForeignKey { - dbA.ExpectErr(t, "only 'NOT VALID' foreign keys are only supported with MODE = 'validated'", stmt, dbBURL.String()) - } else { - dbA.QueryRow(t, stmt, dbBURL.String()).Scan(&jobID) - dbA.Exec(t, "CANCEL JOB $1", jobID) - jobutils.WaitForJobToCancel(t, dbA, jobID) - } - - dbA.Exec(t, "ALTER TABLE test DROP CONSTRAINT fkc") - }) - }) -} - -func setupServerWithNumDBs( - t *testing.T, ctx context.Context, clusterArgs base.TestClusterArgs, numNodes int, numDBs int, -) ( - *testcluster.TestCluster, - serverutils.ApplicationLayerInterface, - []*sqlutils.SQLRunner, - []string, -) { - server := testcluster.StartTestCluster(t, numNodes, clusterArgs) - s := server.Server(0).ApplicationLayer() - - _, err := server.Conns[0].Exec("SET CLUSTER SETTING physical_replication.producer.timestamp_granularity = '0s'") - require.NoError(t, err) - - runners := []*sqlutils.SQLRunner{} - dbNames := []string{} - - for i := range numDBs { - dbName := string(rune('a' + i)) - _, err = server.Conns[0].Exec(fmt.Sprintf("CREATE DATABASE %s", dbName)) - require.NoError(t, err) - runners = append(runners, sqlutils.MakeSQLRunner(s.SQLConn(t, serverutils.DBName(dbName)))) - dbNames = append(dbNames, dbName) - } - - sysDB := sqlutils.MakeSQLRunner(server.SystemLayer(0).SQLConn(t)) - for _, s := range testClusterSystemSettings { - sysDB.Exec(t, s) - } - - for _, s := range testClusterSettings { - runners[0].Exec(t, s) - } - - for i := range numDBs { - createBasicTable(t, runners[i], "tab") - } - return server, s, runners, dbNames -} - -func setupLogicalTestServer( - t *testing.T, ctx context.Context, clusterArgs base.TestClusterArgs, numNodes int, -) ( - *testcluster.TestCluster, - serverutils.ApplicationLayerInterface, - *sqlutils.SQLRunner, - *sqlutils.SQLRunner, -) { - server, s, runners, _ := setupServerWithNumDBs(t, ctx, clusterArgs, numNodes, 2) - return server, s, runners[0], runners[1] -} - -func createBasicTable(t *testing.T, db *sqlutils.SQLRunner, tableName string) { - createStmt := fmt.Sprintf("CREATE TABLE %s (pk int primary key, payload string)", tableName) - db.Exec(t, createStmt) - db.Exec(t, fmt.Sprintf("ALTER TABLE %s %s", tableName, lwwColumnAdd)) -} - -func compareReplicatedTables( - t *testing.T, - s serverutils.ApplicationLayerInterface, - dbA, dbB, tableName string, - runnerA, runnerB *sqlutils.SQLRunner, -) { - descA := desctestutils.TestingGetPublicTableDescriptor(s.DB(), s.Codec(), dbA, tableName) - descB := desctestutils.TestingGetPublicTableDescriptor(s.DB(), s.Codec(), dbB, tableName) - - for _, indexA := range descA.AllIndexes() { - if indexA.GetType() == descpb.IndexDescriptor_INVERTED { - t.Logf("skipping fingerprinting of inverted index %s", indexA.GetName()) - continue - } - - indexB, err := catalog.MustFindIndexByName(descB, indexA.GetName()) - require.NoError(t, err) - - aFingerprintQuery, err := sql.BuildFingerprintQueryForIndex(descA, indexA, []string{originTimestampColumnName}) - require.NoError(t, err) - bFingerprintQuery, err := sql.BuildFingerprintQueryForIndex(descB, indexB, []string{originTimestampColumnName}) - require.NoError(t, err) - t.Logf("fingerprinting index %s", indexA.GetName()) - runnerB.CheckQueryResults(t, bFingerprintQuery, runnerA.QueryStr(t, aFingerprintQuery)) - } -} - -func CreateScatteredTable(t *testing.T, db *sqlutils.SQLRunner, numNodes int, dbName string) { - // Create a source table with multiple ranges spread across multiple nodes. We - // need around 50 or more ranges because there are already over 50 system - // ranges, so if we write just a few ranges those might all be on a single - // server, which will cause the test to flake. - numRanges := 50 - rowsPerRange := 20 - db.Exec(t, "INSERT INTO tab (pk) SELECT * FROM generate_series(1, $1)", - numRanges*rowsPerRange) - db.Exec(t, "ALTER TABLE tab SPLIT AT (SELECT * FROM generate_series($1::INT, $2::INT, $3::INT))", - rowsPerRange, (numRanges-1)*rowsPerRange, rowsPerRange) - db.Exec(t, "ALTER TABLE tab SCATTER") - timeout := 45 * time.Second - if skip.Duress() { - timeout *= 5 - } - - testutils.SucceedsWithin(t, func() error { - var leaseHolderCount int - query := fmt.Sprintf("SELECT count(DISTINCT lease_holder) FROM [SHOW RANGES FROM DATABASE %s WITH DETAILS]", dbName) - db.QueryRow(t, - query). - Scan(&leaseHolderCount) - require.Greater(t, leaseHolderCount, 0) - if leaseHolderCount < numNodes { - return errors.New("leaseholders not scattered yet") - } - return nil - }, timeout) -} - -func GetPGURLs( - t *testing.T, s serverutils.ApplicationLayerInterface, dbNames []string, -) ([]url.URL, func()) { - result := []url.URL{} - cleanups := []func(){} - for _, name := range dbNames { - resultURL, cleanup := s.PGUrl(t, serverutils.DBName(name)) - result = append(result, resultURL) - cleanups = append(cleanups, cleanup) - } - - return result, func() { - for _, f := range cleanups { - f() - } - } -} - -func WaitUntilReplicatedTime( - t *testing.T, targetTime hlc.Timestamp, db *sqlutils.SQLRunner, ingestionJobID jobspb.JobID, -) { - t.Logf("waiting for logical replication job %d to reach replicated time of %s", ingestionJobID, targetTime) - testutils.SucceedsSoon(t, func() error { - progress := jobutils.GetJobProgress(t, db, ingestionJobID) - replicatedTime := progress.Details.(*jobspb.Progress_LogicalReplication).LogicalReplication.ReplicatedTime - if replicatedTime.IsEmpty() { - return errors.Newf("logical replication has not recorded any progress yet, waiting to advance pos %s", - targetTime) - } - if replicatedTime.Less(targetTime) { - return errors.Newf("waiting for logical replication job replicated time %s to advance beyond %s", - replicatedTime, targetTime) - } - return nil - }) -} - -type mockBatchHandler bool - -var _ BatchHandler = mockBatchHandler(true) - -func (m mockBatchHandler) HandleBatch( - _ context.Context, _ []streampb.StreamEvent_KV, -) (batchStats, error) { - if m { - return batchStats{}, errors.New("batch processing failure") - } - return batchStats{}, nil -} -func (m mockBatchHandler) GetLastRow() cdcevent.Row { return cdcevent.Row{} } -func (m mockBatchHandler) SetSyntheticFailurePercent(_ uint32) {} -func (m mockBatchHandler) Close(context.Context) {} - -type mockDLQ int - -func (m *mockDLQ) Create(_ context.Context) error { - return nil -} - -func (m *mockDLQ) Log( - _ context.Context, - _ int64, - _ streampb.StreamEvent_KV, - _ cdcevent.Row, - _ error, - _ retryEligibility, -) error { - *m++ - return nil -} - -// TestFlushErrorHandling exercises the flush path in cases where writes fail. -func TestFlushErrorHandling(t *testing.T) { - defer leaktest.AfterTest(t)() - - ctx := context.Background() - dlq := mockDLQ(0) - lrw := &logicalReplicationWriterProcessor{ - metrics: MakeMetrics(0).(*Metrics), - getBatchSize: func() int { return 1 }, - dlqClient: &dlq, - } - lrw.purgatory.flush = lrw.flushBuffer - lrw.purgatory.bytesGauge = lrw.metrics.RetryQueueBytes - lrw.purgatory.eventsGauge = lrw.metrics.RetryQueueEvents - - lrw.bh = []BatchHandler{(mockBatchHandler(true))} - - lrw.purgatory.byteLimit = func() int64 { return 1 } - // One failure immediately means a 1-byte purgatory is full. - require.NoError(t, lrw.handleStreamBuffer(ctx, []streampb.StreamEvent_KV{skv("a")})) - require.Equal(t, int64(1), lrw.metrics.RetryQueueEvents.Value()) - require.True(t, lrw.purgatory.full()) - require.Equal(t, 0, int(dlq)) - - // Another failure causes a forced drain of purgatory, incrementing DLQ count. - require.NoError(t, lrw.handleStreamBuffer(ctx, []streampb.StreamEvent_KV{skv("b")})) - require.Equal(t, int64(1), lrw.metrics.RetryQueueEvents.Value()) - require.Equal(t, 1, int(dlq)) - - // Bump up the purgatory size limit and observe no more DLQ'ed items. - lrw.purgatory.byteLimit = func() int64 { return 1 << 20 } - require.False(t, lrw.purgatory.full()) - require.NoError(t, lrw.handleStreamBuffer(ctx, []streampb.StreamEvent_KV{skv("c")})) - require.NoError(t, lrw.handleStreamBuffer(ctx, []streampb.StreamEvent_KV{skv("d")})) - require.Equal(t, 1, int(dlq)) - require.Equal(t, int64(3), lrw.metrics.RetryQueueEvents.Value()) -} - -func TestLogicalStreamIngestionJobWithFallbackUDF(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - skip.WithIssue(t, 129569, "flakey test") - - ctx := context.Background() - server, s, dbA, dbB := setupLogicalTestServer(t, ctx, base.TestClusterArgs{ - ServerArgs: base.TestServerArgs{ - DefaultTestTenant: base.TestControlsTenantsExplicitly, - Knobs: base.TestingKnobs{ - JobsTestingKnobs: jobs.NewTestingKnobsWithShortIntervals(), - }, - }, - }, 1) - defer server.Stopper().Stop(ctx) - - lwwFunc := `CREATE OR REPLACE FUNCTION repl_apply(action STRING, proposed tab, existing tab, prev tab, existing_mvcc_timestamp DECIMAL, existing_origin_timestamp DECIMAL, proposed_mvcc_timestamp DECIMAL) - RETURNS string - AS $$ - BEGIN - SELECT crdb_internal.log((proposed).payload); - IF existing IS NULL THEN - RETURN 'accept_proposed'; - END IF; - - IF existing_origin_timestamp IS NULL THEN - IF existing_mvcc_timestamp < proposed_mvcc_timestamp THEN - SELECT crdb_internal.log('case 1'); - RETURN 'accept_proposed'; - ELSE - SELECT crdb_internal.log('case 2'); - RETURN 'ignore_proposed'; - END IF; - ELSE - IF existing_origin_timestamp < proposed_mvcc_timestamp THEN - SELECT crdb_internal.log('case 3'); - RETURN 'accept_proposed'; - ELSE - SELECT crdb_internal.log('case 4'); - RETURN 'ignore_proposed'; - END IF; - END IF; - END - $$ LANGUAGE plpgsql` - dbB.Exec(t, lwwFunc) - dbA.Exec(t, lwwFunc) - - dbAURL, cleanup := s.PGUrl(t, serverutils.DBName("a")) - defer cleanup() - dbBURL, cleanupB := s.PGUrl(t, serverutils.DBName("b")) - defer cleanupB() - - // Swap one of the URLs to external:// to verify this indirection works. - // TODO(dt): this create should support placeholder for URI. - dbB.Exec(t, "CREATE EXTERNAL CONNECTION a AS '"+dbAURL.String()+"'") - dbAURL = url.URL{ - Scheme: "external", - Host: "a", - } - - var ( - jobAID jobspb.JobID - jobBID jobspb.JobID - ) - dbA.QueryRow(t, "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab WITH FUNCTION repl_apply FOR TABLE tab", dbBURL.String()).Scan(&jobAID) - dbB.QueryRow(t, "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab WITH FUNCTION repl_apply FOR TABLE tab", dbAURL.String()).Scan(&jobBID) - - now := s.Clock().Now() - - WaitUntilReplicatedTime(t, now, dbA, jobAID) - WaitUntilReplicatedTime(t, now, dbB, jobBID) - - dbA.Exec(t, "INSERT INTO tab VALUES (2, 'potato')") - dbB.Exec(t, "INSERT INTO tab VALUES (3, 'celeriac')") - dbA.Exec(t, "UPSERT INTO tab VALUES (1, 'hello, again')") - dbB.Exec(t, "UPSERT INTO tab VALUES (1, 'goodbye, again')") - - now = s.Clock().Now() - WaitUntilReplicatedTime(t, now, dbA, jobAID) - WaitUntilReplicatedTime(t, now, dbB, jobBID) - - expectedRows := [][]string{ - {"1", "goodbye, again"}, - {"2", "potato"}, - {"3", "celeriac"}, - } - dbA.CheckQueryResults(t, "SELECT * from a.tab", expectedRows) - dbB.CheckQueryResults(t, "SELECT * from b.tab", expectedRows) -} - -func TestLogicalReplicationPlanner(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - ctx := context.Background() - - srv := serverutils.StartServerOnly(t, base.TestServerArgs{}) - defer srv.Stopper().Stop(ctx) - s := srv.ApplicationLayer() - - execCfg := s.ExecutorConfig().(sql.ExecutorConfig) - registry := s.JobRegistry().(*jobs.Registry) - - jobExecCtx, cleanup := sql.MakeJobExecContext(ctx, "test", username.RootUserName(), &sql.MemoryMetrics{}, &execCfg) - defer cleanup() - - replicationStartTime := hlc.Timestamp{WallTime: 42} - - var sj *jobs.StartableJob - id := registry.MakeJobID() - require.NoError(t, s.InternalDB().(isql.DB).Txn(ctx, func( - ctx context.Context, txn isql.Txn, - ) (err error) { - return registry.CreateStartableJobWithTxn(ctx, &sj, id, txn, jobs.Record{ - Username: username.RootUserName(), - Details: jobspb.LogicalReplicationDetails{ - ReplicationStartTime: replicationStartTime, - }, - Progress: jobspb.LogicalReplicationProgress{}, - }) - })) - asOfChan := make(chan hlc.Timestamp, 1) - client := &streamclient.MockStreamClient{ - OnPlanLogicalReplication: func(req streampb.LogicalReplicationPlanRequest) (streamclient.LogicalReplicationPlan, error) { - asOfChan <- req.PlanAsOf - return streamclient.LogicalReplicationPlan{ - Topology: streamclient.Topology{ - Partitions: []streamclient.PartitionInfo{ - { - ID: "1", - SubscriptionToken: streamclient.SubscriptionToken("1"), - Spans: []roachpb.Span{s.Codec().TenantSpan()}, - }, - }, - }, - }, nil - }, - } - requireAsOf := func(expected hlc.Timestamp) { - select { - case actual := <-asOfChan: - require.Equal(t, expected, actual) - case <-time.After(testutils.SucceedsSoonDuration()): - } - } - planner := logicalReplicationPlanner{ - job: sj.Job, - jobExecCtx: jobExecCtx, - client: client, - } - t.Run("generatePlan uses the replicationStartTime for planning if replication is unset", func(t *testing.T) { - _, _, _ = planner.generatePlan(ctx, jobExecCtx.DistSQLPlanner()) - requireAsOf(replicationStartTime) - }) - t.Run("generatePlan uses the latest replicated time for planning", func(t *testing.T) { - replicatedTime := hlc.Timestamp{WallTime: 142} - require.NoError(t, sj.Job.NoTxn().Update(ctx, func(txn isql.Txn, md jobs.JobMetadata, ju *jobs.JobUpdater) error { - prog := md.Progress.Details.(*jobspb.Progress_LogicalReplication).LogicalReplication - prog.ReplicatedTime = replicatedTime - ju.UpdateProgress(md.Progress) - return nil - })) - _, _, _ = planner.generatePlan(ctx, jobExecCtx.DistSQLPlanner()) - requireAsOf(replicatedTime) - }) -} - -func TestShowLogicalReplicationJobs(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - ctx := context.Background() - - server, s, dbA, dbB := setupLogicalTestServer(t, ctx, testClusterBaseClusterArgs, 1) - defer server.Stopper().Stop(ctx) - - dbAURL, cleanup := s.PGUrl(t, - serverutils.DBName("a"), - serverutils.UserPassword(username.RootUser, "password")) - defer cleanup() - - dbBURL, cleanupB := s.PGUrl(t, - serverutils.DBName("b"), - serverutils.UserPassword(username.RootUser, "password")) - defer cleanupB() - - redactedDbAURL := strings.Replace(dbAURL.String(), "password", `redacted`, 1) - redactedDbBURL := strings.Replace(dbBURL.String(), "password", `redacted`, 1) - - redactedJobADescription := fmt.Sprintf("LOGICAL REPLICATION STREAM into a.public.tab from %s", redactedDbBURL) - redactedJobBDescription := fmt.Sprintf("LOGICAL REPLICATION STREAM into b.public.tab from %s", redactedDbAURL) - - var ( - jobAID jobspb.JobID - jobBID jobspb.JobID - ) - dbA.QueryRow(t, - "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab on $1 INTO TABLE tab", - dbBURL.String()).Scan(&jobAID) - dbB.QueryRow(t, - "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab on $1 INTO TABLE tab WITH DEFAULT FUNCTION = 'dlq'", - dbAURL.String()).Scan(&jobBID) - - now := s.Clock().Now() - WaitUntilReplicatedTime(t, now, dbA, jobAID) - WaitUntilReplicatedTime(t, now, dbB, jobBID) - - // Sort job IDs to match rows ordered with ORDER BY clause - jobIDs := []jobspb.JobID{jobAID, jobBID} - slices.Sort(jobIDs) - - var expectedReplicatedTimes []time.Time - for _, jobID := range jobIDs { - progress := jobutils.GetJobProgress(t, dbA, jobID) - replicatedTime := progress.GetLogicalReplication().ReplicatedTime.GoTime().Round(time.Microsecond) - expectedReplicatedTimes = append(expectedReplicatedTimes, replicatedTime) - } - - var ( - jobID jobspb.JobID - status string - targets pq.StringArray - replicatedTime time.Time - replicationStartTime time.Time - conflictResolutionType string - description string - ) - - showRows := dbA.Query(t, "SELECT * FROM [SHOW LOGICAL REPLICATION JOBS] ORDER BY job_id") - defer showRows.Close() - - rowIdx := 0 - for showRows.Next() { - err := showRows.Scan(&jobID, &status, &targets, &replicatedTime) - require.NoError(t, err) - - expectedJobID := jobIDs[rowIdx] - require.Equal(t, expectedJobID, jobID) - require.Equal(t, jobs.StatusRunning, jobs.Status(status)) - - if expectedJobID == jobAID { - require.Equal(t, pq.StringArray{"a.public.tab"}, targets) - } else if expectedJobID == jobBID { - require.Equal(t, pq.StringArray{"b.public.tab"}, targets) - } - - // `SHOW LOGICAL REPLICATION JOBS` query runs after the job query in `jobutils.GetJobProgress()`, - // `LogicalReplicationProgress.ReplicatedTime` could have advanced by the time we run - // `SHOW LOGICAL REPLICATION JOBS`, therefore expectedReplicatedTime should be less than or equal to - // replicatedTime. - require.LessOrEqual(t, expectedReplicatedTimes[rowIdx], replicatedTime) - - rowIdx++ - } - require.Equal(t, 2, rowIdx) - - showWithDetailsRows := dbA.Query(t, "SELECT * FROM [SHOW LOGICAL REPLICATION JOBS WITH DETAILS] ORDER BY job_id") - defer showWithDetailsRows.Close() - - rowIdx = 0 - for showWithDetailsRows.Next() { - err := showWithDetailsRows.Scan( - &jobID, - &status, - &targets, - &replicatedTime, - &replicationStartTime, - &conflictResolutionType, - &description) - require.NoError(t, err) - - expectedJobID := jobIDs[rowIdx] - payload := jobutils.GetJobPayload(t, dbA, expectedJobID) - expectedReplicationStartTime := payload.GetLogicalReplicationDetails().ReplicationStartTime.GoTime().Round(time.Microsecond) - require.Equal(t, expectedReplicationStartTime, replicationStartTime) - - expectedConflictResolutionType := payload.GetLogicalReplicationDetails().DefaultConflictResolution.ConflictResolutionType.String() - require.Equal(t, expectedConflictResolutionType, conflictResolutionType) - - expectedJobDescription := payload.Description - - // Verify that URL is redacted in job descriptions - if jobID == jobAID { - require.Equal(t, redactedJobADescription, expectedJobDescription) - } else if jobID == jobBID { - require.Equal(t, redactedJobBDescription, expectedJobDescription) - } - - require.Equal(t, expectedJobDescription, description) - - rowIdx++ - } - require.Equal(t, 2, rowIdx) - - dbA.Exec(t, "CANCEL JOB $1", jobAID.String()) - dbA.Exec(t, "CANCEL JOB $1", jobBID.String()) - - jobutils.WaitForJobToCancel(t, dbA, jobAID) - jobutils.WaitForJobToCancel(t, dbA, jobBID) -} - -// TestUserPrivileges verifies the grants and role permissions -// needed to start and administer LDR -func TestUserPrivileges(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - clusterArgs := base.TestClusterArgs{ - ServerArgs: base.TestServerArgs{ - DefaultTestTenant: base.TestControlsTenantsExplicitly, - Knobs: base.TestingKnobs{ - JobsTestingKnobs: jobs.NewTestingKnobsWithShortIntervals(), - }, - }, - } - - server, s, dbA, _ := setupLogicalTestServer(t, ctx, clusterArgs, 1) - defer server.Stopper().Stop(ctx) - - dbBURL, cleanupB := s.PGUrl(t, serverutils.DBName("b")) - defer cleanupB() - - var jobAID jobspb.JobID - dbA.QueryRow(t, "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", dbBURL.String()).Scan(&jobAID) - - // Create user with no privileges - dbA.Exec(t, fmt.Sprintf("CREATE USER %s", username.TestUser)) - testuser := sqlutils.MakeSQLRunner(s.SQLConn(t, serverutils.User(username.TestUser), serverutils.DBName("a"))) - - t.Run("view-job", func(t *testing.T) { - showJobStmt := "select job_id from [SHOW JOBS] where job_id=$1" - showLDRJobStmt := "select job_id from [SHOW LOGICAL REPLICATION JOBS] where job_id=$1" - // NEED VIEWJOB system grant to view admin LDR jobs - result := testuser.QueryStr(t, showJobStmt, jobAID) - require.Empty(t, result, "The user should see no rows without the VIEWJOB grant when running [SHOW JOBS]") - - result = testuser.QueryStr(t, showLDRJobStmt, jobAID) - require.Empty(t, result, "The user should see no rows without the VIEWJOB grant when running [SHOW LOGICAL REPLICATION JOBS]") - - var returnedJobID jobspb.JobID - dbA.Exec(t, fmt.Sprintf("GRANT SYSTEM VIEWJOB to %s", username.TestUser)) - testuser.QueryRow(t, showJobStmt, jobAID).Scan(&returnedJobID) - require.Equal(t, returnedJobID, jobAID, "The user should see the LDR job with the VIEWJOB grant when running [SHOW JOBS]") - - testuser.QueryRow(t, showLDRJobStmt, jobAID).Scan(&returnedJobID) - require.Equal(t, returnedJobID, jobAID, "The user should see the LDR job with the VIEWJOB grant when running [SHOW LOGICAL REPLICATION JOBS]") - }) - - // Kill replication job so we can create one with the testuser for the following test - dbA.Exec(t, "CANCEL JOB $1", jobAID) - jobutils.WaitForJobToCancel(t, dbA, jobAID) - - t.Run("create-on-schema", func(t *testing.T) { - dbA.Exec(t, "CREATE SCHEMA testschema") - - testuser.ExpectErr(t, "user testuser does not have CREATE privilege on schema testschema", fmt.Sprintf(testingUDFAcceptProposedBaseWithSchema, "testschema", "tab")) - dbA.Exec(t, "GRANT CREATE ON SCHEMA testschema TO testuser") - testuser.Exec(t, fmt.Sprintf(testingUDFAcceptProposedBaseWithSchema, "testschema", "tab")) - }) - - t.Run("replication", func(t *testing.T) { - createWithUDFStmt := "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab WITH DEFAULT FUNCTION = 'testschema.repl_apply'" - testuser.ExpectErr(t, "user testuser does not have REPLICATION system privilege", createWithUDFStmt, dbBURL.String()) - dbA.Exec(t, fmt.Sprintf("GRANT SYSTEM REPLICATION TO %s", username.TestUser)) - testuser.QueryRow(t, createWithUDFStmt, dbBURL.String()).Scan(&jobAID) - }) - - t.Run("control-job", func(t *testing.T) { - pauseJobStmt := "PAUSE JOB $1" - testuser.ExpectErr(t, fmt.Sprintf("user testuser does not have privileges for job %s", jobAID), pauseJobStmt, jobAID) - - dbA.Exec(t, fmt.Sprintf("GRANT SYSTEM CONTROLJOB to %s", username.TestUser)) - testuser.Exec(t, pauseJobStmt, jobAID) - jobutils.WaitForJobToPause(t, dbA, jobAID) - }) -} - -// TestLogicalReplicationSchemaChanges verifies that only certain schema changes -// are allowed on tables participating in logical replication. -func TestLogicalReplicationSchemaChanges(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - clusterArgs := base.TestClusterArgs{ - ServerArgs: base.TestServerArgs{ - DefaultTestTenant: base.TestControlsTenantsExplicitly, - Knobs: base.TestingKnobs{ - JobsTestingKnobs: jobs.NewTestingKnobsWithShortIntervals(), - }, - }, - } - - server, s, dbA, _ := setupLogicalTestServer(t, ctx, clusterArgs, 1) - defer server.Stopper().Stop(ctx) - - dbBURL, cleanupB := s.PGUrl(t, serverutils.DBName("b")) - defer cleanupB() - - var jobAID jobspb.JobID - dbA.QueryRow(t, "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", dbBURL.String()).Scan(&jobAID) - - // Creating non-unique secondary index is allowed. - dbA.Exec(t, "CREATE INDEX idx ON tab(payload)") - - // But other schema changes are blocked. - dbA.ExpectErr(t, - "this schema change is disallowed on table tab because it is referenced by one or more logical replication jobs", - "ALTER TABLE tab ADD COLUMN newcol INT NOT NULL DEFAULT 10", - ) - - // Kill replication job and verify that schema changes work now. - dbA.Exec(t, "CANCEL JOB $1", jobAID) - jobutils.WaitForJobToCancel(t, dbA, jobAID) - dbA.Exec(t, "ALTER TABLE tab ADD COLUMN newcol INT NOT NULL DEFAULT 10") -} - -// TestLogicalReplicationCreationChecks verifies that we check that the table -// schemas are compatible when creating the replication stream. -func TestLogicalReplicationCreationChecks(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - clusterArgs := base.TestClusterArgs{ - ServerArgs: base.TestServerArgs{ - DefaultTestTenant: base.TestControlsTenantsExplicitly, - Knobs: base.TestingKnobs{ - JobsTestingKnobs: jobs.NewTestingKnobsWithShortIntervals(), - }, - }, - } - - server, s, dbA, dbB := setupLogicalTestServer(t, ctx, clusterArgs, 1) - defer server.Stopper().Stop(ctx) - - dbBURL, cleanupB := s.PGUrl(t, serverutils.DBName("b")) - defer cleanupB() - - // Column families are not allowed. - dbA.Exec(t, "ALTER TABLE tab ADD COLUMN new_col INT NOT NULL CREATE FAMILY f1") - dbB.Exec(t, "ALTER TABLE b.tab ADD COLUMN new_col INT NOT NULL") - dbA.ExpectErr(t, - "cannot create logical replication stream: table tab has more than one column family", - "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", dbBURL.String(), - ) - - // Check for mismatched numbers of columns. - dbA.Exec(t, "ALTER TABLE tab DROP COLUMN new_col") - dbA.ExpectErr(t, - "cannot create logical replication stream: destination table tab has 3 columns, but the source table tab has 4 columns", - "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", dbBURL.String(), - ) - - // Check for mismatched column types. - dbA.Exec(t, "ALTER TABLE tab ADD COLUMN new_col TEXT NOT NULL") - dbA.ExpectErr(t, - "cannot create logical replication stream: destination table tab column new_col has type STRING, but the source table tab has type INT8", - "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", dbBURL.String(), - ) - - // Check for composite type in primary key. - dbA.Exec(t, "ALTER TABLE tab DROP COLUMN new_col") - dbA.Exec(t, "ALTER TABLE tab ADD COLUMN new_col INT NOT NULL") - dbA.Exec(t, "ALTER TABLE tab ADD COLUMN composite_col DECIMAL NOT NULL") - dbB.Exec(t, "ALTER TABLE b.tab ADD COLUMN composite_col DECIMAL NOT NULL") - dbA.Exec(t, "ALTER TABLE tab ALTER PRIMARY KEY USING COLUMNS (pk, composite_col)") - dbA.ExpectErr(t, - `cannot create logical replication stream: table tab has a primary key column \(composite_col\) with composite encoding`, - "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", dbBURL.String(), - ) - - // Check for partial indexes. - dbA.Exec(t, "ALTER TABLE tab ALTER PRIMARY KEY USING COLUMNS (pk)") - dbA.Exec(t, "CREATE INDEX partial_idx ON tab(composite_col) WHERE pk > 0") - dbA.ExpectErr(t, - `cannot create logical replication stream: table tab has a partial index partial_idx`, - "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", dbBURL.String(), - ) - - // Check for virtual computed columns that are a key of a secondary index. - dbA.Exec(t, "DROP INDEX partial_idx") - dbA.Exec(t, "ALTER TABLE tab ADD COLUMN virtual_col INT NOT NULL AS (pk + 1) VIRTUAL") - dbB.Exec(t, "ALTER TABLE b.tab ADD COLUMN virtual_col INT NOT NULL AS (pk + 1) VIRTUAL") - dbA.Exec(t, "CREATE INDEX virtual_col_idx ON tab(virtual_col)") - dbA.ExpectErr(t, - `cannot create logical replication stream: table tab has a virtual computed column virtual_col that is a key of index virtual_col_idx`, - "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", dbBURL.String(), - ) - - // Check for virtual columns that are in the primary index. - dbA.Exec(t, "DROP INDEX virtual_col_idx") - dbA.Exec(t, "ALTER TABLE tab ALTER PRIMARY KEY USING COLUMNS (pk, virtual_col)") - dbA.ExpectErr(t, - `cannot create logical replication stream: table tab has a virtual computed column virtual_col that appears in the primary key`, - "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", dbBURL.String(), - ) - - // Change the primary key back, and remove the indexes that are left over from - // changing the PK. - dbA.Exec(t, "ALTER TABLE tab ALTER PRIMARY KEY USING COLUMNS (pk)") - dbA.Exec(t, "DROP INDEX tab_pk_virtual_col_key") - dbA.Exec(t, "DROP INDEX tab_pk_key") - dbA.Exec(t, "DROP INDEX tab_pk_composite_col_key") - - // Check that CHECK constraints match. - dbA.Exec(t, "ALTER TABLE tab ADD CONSTRAINT check_constraint_1 CHECK (pk > 0)") - dbB.Exec(t, "ALTER TABLE b.tab ADD CONSTRAINT check_constraint_1 CHECK (length(payload) > 1)") - dbA.ExpectErr(t, - `cannot create logical replication stream: destination table tab CHECK constraints do not match source table tab`, - "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", dbBURL.String(), - ) - - // Add missing CHECK constraints, and verify that the stream can be created. - dbA.Exec(t, "ALTER TABLE tab ADD CONSTRAINT check_constraint_2 CHECK (length(payload) > 1)") - dbB.Exec(t, "ALTER TABLE b.tab ADD CONSTRAINT check_constraint_2 CHECK (pk > 0)") - var jobAID jobspb.JobID - dbA.QueryRow(t, - "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", - dbBURL.String(), - ).Scan(&jobAID) - - // Kill replication job. - dbA.Exec(t, "CANCEL JOB $1", jobAID) - jobutils.WaitForJobToCancel(t, dbA, jobAID) - - // Verify that the stream cannot be created with user defined types. - dbA.Exec(t, "CREATE TYPE mytype AS ENUM ('a', 'b', 'c')") - dbB.Exec(t, "CREATE TYPE b.mytype AS ENUM ('a', 'b', 'c')") - dbA.Exec(t, "ALTER TABLE tab ADD COLUMN enum_col mytype NOT NULL") - dbB.Exec(t, "ALTER TABLE b.tab ADD COLUMN enum_col b.mytype NOT NULL") - dbA.ExpectErr(t, - `cannot create logical replication stream: destination table tab column enum_col has user-defined type USER DEFINED ENUM: public.mytype`, - "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", dbBURL.String(), - ) - - // Check that UNIQUE indexes match. - dbA.Exec(t, "ALTER TABLE tab DROP COLUMN enum_col") - dbB.Exec(t, "ALTER TABLE b.tab DROP COLUMN enum_col") - dbA.Exec(t, "CREATE UNIQUE INDEX payload_idx ON tab(payload)") - dbB.Exec(t, "CREATE UNIQUE INDEX multi_idx ON b.tab(composite_col, pk)") - dbA.ExpectErr(t, - `cannot create logical replication stream: destination table tab UNIQUE indexes do not match source table tab`, - "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", dbBURL.String(), - ) - - // Create the missing indexes on each side and verify the stream can be - // created. Note that the indexes don't need to be created in the same order - // for the check to pass. - dbA.Exec(t, "CREATE UNIQUE INDEX multi_idx ON tab(composite_col, pk)") - dbB.Exec(t, "CREATE UNIQUE INDEX payload_idx ON b.tab(payload)") - dbA.QueryRow(t, - "CREATE LOGICAL REPLICATION STREAM FROM TABLE tab ON $1 INTO TABLE tab", - dbBURL.String(), - ).Scan(&jobAID) - - // Kill replication job. - dbA.Exec(t, "CANCEL JOB $1", jobAID) - jobutils.WaitForJobToCancel(t, dbA, jobAID) -} diff --git a/pkg/ccl/crosscluster/logical/logical_replication_writer_processor.go b/pkg/ccl/crosscluster/logical/logical_replication_writer_processor.go deleted file mode 100644 index 46a94ada50bc..000000000000 --- a/pkg/ccl/crosscluster/logical/logical_replication_writer_processor.go +++ /dev/null @@ -1,1002 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package logical - -import ( - "context" - "fmt" - "slices" - "time" - - "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl/cdcevent" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" - "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" - "github.com/cockroachdb/cockroach/pkg/keys" - "github.com/cockroachdb/cockroach/pkg/repstream/streampb" - "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/settings" - "github.com/cockroachdb/cockroach/pkg/settings/cluster" - "github.com/cockroachdb/cockroach/pkg/sql" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/descpb" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/descs" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/tabledesc" - "github.com/cockroachdb/cockroach/pkg/sql/execinfra" - "github.com/cockroachdb/cockroach/pkg/sql/execinfrapb" - "github.com/cockroachdb/cockroach/pkg/sql/isql" - "github.com/cockroachdb/cockroach/pkg/sql/rowenc" - "github.com/cockroachdb/cockroach/pkg/sql/rowexec" - "github.com/cockroachdb/cockroach/pkg/sql/sem/tree" - "github.com/cockroachdb/cockroach/pkg/sql/sessiondata" - "github.com/cockroachdb/cockroach/pkg/sql/types" - "github.com/cockroachdb/cockroach/pkg/util/ctxgroup" - "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/cockroach/pkg/util/log/logcrash" - "github.com/cockroachdb/cockroach/pkg/util/metamorphic" - "github.com/cockroachdb/cockroach/pkg/util/protoutil" - "github.com/cockroachdb/cockroach/pkg/util/span" - "github.com/cockroachdb/cockroach/pkg/util/timeutil" - "github.com/cockroachdb/cockroach/pkg/util/tracing" - "github.com/cockroachdb/errors" - "github.com/cockroachdb/logtags" -) - -var logicalReplicationWriterResultType = []*types.T{ - types.Bytes, // jobspb.ResolvedSpans -} - -var flushBatchSize = settings.RegisterIntSetting( - settings.ApplicationLevel, - "logical_replication.consumer.batch_size", - "the number of row updates to attempt in a single KV transaction", - 32, - settings.NonNegativeInt, -) - -// logicalReplicationWriterProcessor consumes a cross-cluster replication stream -// by decoding kvs in it to logical changes and applying them by executing DMLs. -type logicalReplicationWriterProcessor struct { - execinfra.ProcessorBase - - spec execinfrapb.LogicalReplicationWriterSpec - - bh []BatchHandler - - getBatchSize func() int - - streamPartitionClient streamclient.Client - - // frontier keeps track of the progress for the spans tracked by this processor - // and is used forward resolved spans - frontier span.Frontier - - // workerGroup is a context group holding all goroutines - // related to this processor. - workerGroup ctxgroup.Group - - subscription streamclient.Subscription - subscriptionCancel context.CancelFunc - - // stopCh stops flush loop. - stopCh chan struct{} - - errCh chan error - - checkpointCh chan []jobspb.ResolvedSpan - - // metrics are monitoring all running ingestion jobs. - metrics *Metrics - - logBufferEvery log.EveryN - - debug streampb.DebugLogicalConsumerStatus - - dlqClient DeadLetterQueueClient - - purgatory purgatory -} - -var ( - _ execinfra.Processor = &logicalReplicationWriterProcessor{} - _ execinfra.RowSource = &logicalReplicationWriterProcessor{} -) - -const logicalReplicationWriterProcessorName = "logical-replication-writer-processor" - -func newLogicalReplicationWriterProcessor( - ctx context.Context, - flowCtx *execinfra.FlowCtx, - processorID int32, - spec execinfrapb.LogicalReplicationWriterSpec, - post *execinfrapb.PostProcessSpec, -) (execinfra.Processor, error) { - frontier, err := span.MakeFrontierAt(spec.PreviousReplicatedTimestamp, spec.PartitionSpec.Spans...) - if err != nil { - return nil, err - } - for _, resolvedSpan := range spec.Checkpoint.ResolvedSpans { - if _, err := frontier.Forward(resolvedSpan.Span, resolvedSpan.Timestamp); err != nil { - return nil, err - } - } - - procConfigByDestTableID := make(map[descpb.ID]sqlProcessorTableConfig) - destTableBySrcID := make(map[descpb.ID]dstTableMetadata) - for dstTableID, md := range spec.TableMetadataByDestID { - procConfigByDestTableID[descpb.ID(dstTableID)] = sqlProcessorTableConfig{ - srcDesc: tabledesc.NewBuilder(&md.SourceDescriptor).BuildImmutableTable(), - dstOID: md.DestinationFunctionOID, - } - destTableBySrcID[md.SourceDescriptor.GetID()] = dstTableMetadata{ - database: md.DestinationParentDatabaseName, - schema: md.DestinationParentSchemaName, - table: md.DestinationTableName, - tableID: descpb.ID(dstTableID), - } - } - bhPool := make([]BatchHandler, maxWriterWorkers) - for i := range bhPool { - sqlRP, err := makeSQLProcessor( - ctx, flowCtx.Cfg.Settings, procConfigByDestTableID, - jobspb.JobID(spec.JobID), - // Initialize the executor with a fresh session data - this will - // avoid creating a new copy on each executor usage. - flowCtx.Cfg.DB.Executor(isql.WithSessionData(sql.NewInternalSessionData(ctx, flowCtx.Cfg.Settings, "" /* opName */))), - ) - if err != nil { - return nil, err - } - var rp RowProcessor - if spec.Mode == jobspb.LogicalReplicationDetails_Immediate { - rp, err = newKVRowProcessor(ctx, flowCtx.Cfg, flowCtx.EvalCtx, procConfigByDestTableID, sqlRP) - if err != nil { - return nil, err - } - } else { - rp = sqlRP - } - - if streamingKnobs, ok := flowCtx.TestingKnobs().StreamingTestingKnobs.(*sql.StreamingTestingKnobs); ok { - if streamingKnobs != nil && streamingKnobs.FailureRate != 0 { - rp.SetSyntheticFailurePercent(streamingKnobs.FailureRate) - } - } - - bhPool[i] = &txnBatch{ - db: flowCtx.Cfg.DB, - rp: rp, - settings: flowCtx.Cfg.Settings, - sd: sql.NewInternalSessionData(ctx, flowCtx.Cfg.Settings, "" /* opName */), - } - } - - dlqDbExec := flowCtx.Cfg.DB.Executor(isql.WithSessionData(sql.NewInternalSessionData(ctx, flowCtx.Cfg.Settings, "" /* opName */))) - - var numTablesWithSecondaryIndexes int - for _, tc := range procConfigByDestTableID { - if len(tc.srcDesc.NonPrimaryIndexes()) > 0 { - numTablesWithSecondaryIndexes++ - } - } - - lrw := &logicalReplicationWriterProcessor{ - spec: spec, - getBatchSize: func() int { - // We want to decide whether to use implicit txns or not based on - // the schema of the dest table. Benchmarking has shown that - // implicit txns are beneficial on tables with no secondary indexes - // whereas explicit txns are beneficial when at least one secondary - // index is present. - // - // Unfortunately, if we have multiple replication pairs, we don't - // know which tables will be affected by this batch before deciding - // on the batch size, so we'll use a heuristic such that we'll use - // the implicit txns if at least half of the dest tables are - // without the secondary indexes. If we only have a single - // replication pair, then this heuristic gives us the precise - // recommendation. - // - // (Here we have access to the descriptor of the source table, but - // for now we assume that the source and the dest descriptors are - // similar.) - if 2*numTablesWithSecondaryIndexes < len(procConfigByDestTableID) && useImplicitTxns.Get(&flowCtx.Cfg.Settings.SV) { - return 1 - } - return int(flushBatchSize.Get(&flowCtx.Cfg.Settings.SV)) - }, - bh: bhPool, - frontier: frontier, - stopCh: make(chan struct{}), - checkpointCh: make(chan []jobspb.ResolvedSpan), - errCh: make(chan error, 1), - logBufferEvery: log.Every(30 * time.Second), - debug: streampb.DebugLogicalConsumerStatus{ - StreamID: streampb.StreamID(spec.StreamID), - ProcessorID: processorID, - }, - dlqClient: InitDeadLetterQueueClient(dlqDbExec, destTableBySrcID), - metrics: flowCtx.Cfg.JobRegistry.MetricsStruct().JobSpecificMetrics[jobspb.TypeLogicalReplication].(*Metrics), - } - lrw.purgatory = purgatory{ - deadline: func() time.Duration { return retryQueueAgeLimit.Get(&flowCtx.Cfg.Settings.SV) }, - delay: func() time.Duration { return retryQueueBackoff.Get(&flowCtx.Cfg.Settings.SV) }, - byteLimit: func() int64 { return retryQueueSizeLimit.Get(&flowCtx.Cfg.Settings.SV) }, - flush: lrw.flushBuffer, - checkpoint: lrw.checkpoint, - bytesGauge: lrw.metrics.RetryQueueBytes, - eventsGauge: lrw.metrics.RetryQueueEvents, - } - - if err := lrw.Init(ctx, lrw, post, logicalReplicationWriterResultType, flowCtx, processorID, nil, /* memMonitor */ - execinfra.ProcStateOpts{ - InputsToDrain: []execinfra.RowSource{}, - TrailingMetaCallback: func() []execinfrapb.ProducerMetadata { - lrw.close() - return nil - }, - }, - ); err != nil { - return nil, err - } - - return lrw, nil -} - -// Start launches a set of goroutines that read from the spans -// assigned to this processor, parses each row, and generates inserts -// or deletes to update local tables of the same name. -// -// A subscription's event stream is read by the consumeEvents loop. -// -// client.Subscribe -> consumeEvents -> Next() -// -// All errors are reported to Next() via errCh, with the first -// error winning. -// -// Start implements the RowSource interface. -func (lrw *logicalReplicationWriterProcessor) Start(ctx context.Context) { - ctx = logtags.AddTag(logtags.AddTag(ctx, "job", lrw.spec.JobID), "part", lrw.spec.PartitionSpec.PartitionID) - streampb.RegisterActiveLogicalConsumerStatus(&lrw.debug) - - ctx = lrw.StartInternal(ctx, logicalReplicationWriterProcessorName) - - lrw.metrics = lrw.FlowCtx.Cfg.JobRegistry.MetricsStruct().JobSpecificMetrics[jobspb.TypeLogicalReplication].(*Metrics) - - db := lrw.FlowCtx.Cfg.DB - - log.Infof(ctx, "starting logical replication writer for partition %s", lrw.spec.PartitionSpec.PartitionID) - - // Start the subscription for our partition. - partitionSpec := lrw.spec.PartitionSpec - token := streamclient.SubscriptionToken(partitionSpec.SubscriptionToken) - addr := partitionSpec.Address - redactedAddr, redactedErr := streamclient.RedactSourceURI(addr) - if redactedErr != nil { - log.Warning(lrw.Ctx(), "could not redact stream address") - } - streamClient, err := streamclient.NewStreamClient(ctx, crosscluster.StreamAddress(addr), db, - streamclient.WithStreamID(streampb.StreamID(lrw.spec.StreamID)), - streamclient.WithCompression(true), - streamclient.WithLogical(), - ) - if err != nil { - lrw.MoveToDrainingAndLogError(errors.Wrapf(err, "creating client for partition spec %q from %q", token, redactedAddr)) - return - } - lrw.streamPartitionClient = streamClient - - if streamingKnobs, ok := lrw.FlowCtx.TestingKnobs().StreamingTestingKnobs.(*sql.StreamingTestingKnobs); ok { - if streamingKnobs != nil && streamingKnobs.BeforeClientSubscribe != nil { - streamingKnobs.BeforeClientSubscribe(addr, string(token), lrw.frontier, lrw.spec.IgnoreCDCIgnoredTTLDeletes) - } - } - sub, err := streamClient.Subscribe(ctx, - streampb.StreamID(lrw.spec.StreamID), - int32(lrw.FlowCtx.NodeID.SQLInstanceID()), lrw.ProcessorID, - token, - lrw.spec.InitialScanTimestamp, lrw.frontier, - streamclient.WithFiltering(lrw.spec.IgnoreCDCIgnoredTTLDeletes), - streamclient.WithDiff(true), - ) - if err != nil { - lrw.MoveToDrainingAndLogError(errors.Wrapf(err, "subscribing to partition from %s", redactedAddr)) - return - } - - // We use a different context for the subscription here so - // that we can explicitly cancel it. - var subscriptionCtx context.Context - subscriptionCtx, lrw.subscriptionCancel = context.WithCancel(lrw.Ctx()) - lrw.workerGroup = ctxgroup.WithContext(lrw.Ctx()) - lrw.subscription = sub - lrw.workerGroup.GoCtx(func(_ context.Context) error { - if err := sub.Subscribe(subscriptionCtx); err != nil { - lrw.sendError(errors.Wrap(err, "subscription")) - } - return nil - }) - lrw.workerGroup.GoCtx(func(ctx context.Context) error { - defer close(lrw.checkpointCh) - if err := lrw.consumeEvents(ctx); err != nil { - lrw.sendError(errors.Wrap(err, "consume events")) - } - return nil - }) -} - -// Next is part of the RowSource interface. -func (lrw *logicalReplicationWriterProcessor) Next() ( - rowenc.EncDatumRow, - *execinfrapb.ProducerMetadata, -) { - if lrw.State != execinfra.StateRunning { - return nil, lrw.DrainHelper() - } - - select { - case resolved, ok := <-lrw.checkpointCh: - if ok { - progressUpdate := &jobspb.ResolvedSpans{ResolvedSpans: resolved} - progressBytes, err := protoutil.Marshal(progressUpdate) - if err != nil { - lrw.MoveToDrainingAndLogError(err) - return nil, lrw.DrainHelper() - } - row := rowenc.EncDatumRow{ - rowenc.DatumToEncDatum(types.Bytes, tree.NewDBytes(tree.DBytes(progressBytes))), - } - return row, nil - } else { - select { - case err := <-lrw.errCh: - lrw.MoveToDrainingAndLogError(err) - return nil, lrw.DrainHelper() - case <-time.After(10 * time.Second): - logcrash.ReportOrPanic(lrw.Ctx(), &lrw.FlowCtx.Cfg.Settings.SV, - "event channel closed but no error found on err channel after 10 seconds") - lrw.MoveToDrainingAndLogError(nil /* error */) - return nil, lrw.DrainHelper() - } - } - case err := <-lrw.errCh: - lrw.MoveToDrainingAndLogError(err) - return nil, lrw.DrainHelper() - } -} - -func (lrw *logicalReplicationWriterProcessor) MoveToDrainingAndLogError(err error) { - if err != nil { - log.Infof(lrw.Ctx(), "gracefully draining with error: %s", err) - } - lrw.MoveToDraining(err) -} - -// MustBeStreaming implements the Processor interface. -func (lrw *logicalReplicationWriterProcessor) MustBeStreaming() bool { - return true -} - -// ConsumerClosed is part of the RowSource interface. -func (lrw *logicalReplicationWriterProcessor) ConsumerClosed() { - lrw.close() -} - -func (lrw *logicalReplicationWriterProcessor) close() { - streampb.UnregisterActiveLogicalConsumerStatus(&lrw.debug) - - if lrw.Closed { - return - } - defer lrw.frontier.Release() - - if lrw.streamPartitionClient != nil { - _ = lrw.streamPartitionClient.Close(lrw.Ctx()) - } - if lrw.stopCh != nil { - close(lrw.stopCh) - } - if lrw.subscriptionCancel != nil { - lrw.subscriptionCancel() - } - - // We shouldn't need to explicitly cancel the context for members of the - // worker group. The client close and stopCh close above should result - // in exit signals being sent to all relevant goroutines. - if err := lrw.workerGroup.Wait(); err != nil { - log.Errorf(lrw.Ctx(), "error on close(): %s", err) - } - - for _, b := range lrw.bh { - b.Close(lrw.Ctx()) - } - - // Update the global retry queue gauges to reflect that this queue is going - // away, including everything in it that is included in those gauges. - lrw.purgatory.bytesGauge.Dec(lrw.purgatory.bytes) - for _, i := range lrw.purgatory.levels { - lrw.purgatory.eventsGauge.Dec(int64(len(i.events))) - } - - lrw.InternalClose() -} - -func (lrw *logicalReplicationWriterProcessor) sendError(err error) { - if err == nil { - return - } - select { - case lrw.errCh <- err: - default: - log.VInfof(lrw.Ctx(), 2, "dropping additional error: %s", err) - } -} - -// consumeEvents handles processing events on the event queue and returns once -// the event channel has closed. -func (lrw *logicalReplicationWriterProcessor) consumeEvents(ctx context.Context) error { - before := timeutil.Now() - for event := range lrw.subscription.Events() { - lrw.debug.RecordRecv(timeutil.Since(before)) - before = timeutil.Now() - if err := lrw.handleEvent(ctx, event); err != nil { - return err - } - } - return lrw.subscription.Err() -} - -func (lrw *logicalReplicationWriterProcessor) handleEvent( - ctx context.Context, event crosscluster.Event, -) error { - if streamingKnobs, ok := lrw.FlowCtx.TestingKnobs().StreamingTestingKnobs.(*sql.StreamingTestingKnobs); ok { - if streamingKnobs != nil && streamingKnobs.RunAfterReceivingEvent != nil { - if err := streamingKnobs.RunAfterReceivingEvent(lrw.Ctx()); err != nil { - return err - } - } - } - - switch event.Type() { - case crosscluster.KVEvent: - if err := lrw.handleStreamBuffer(ctx, event.GetKVs()); err != nil { - return err - } - case crosscluster.CheckpointEvent: - if err := lrw.maybeCheckpoint(ctx, event.GetResolvedSpans()); err != nil { - return err - } - case crosscluster.SSTableEvent, crosscluster.DeleteRangeEvent: - // TODO(ssd): Handle SSTableEvent here eventually. I'm not sure - // we'll ever want to truly handle DeleteRangeEvent since - // currently those are only used by DROP which should be handled - // via whatever mechanism handles schema changes. - return errors.Newf("unexpected event for online stream: %v", event) - case crosscluster.SplitEvent: - log.Infof(lrw.Ctx(), "SplitEvent received on logical replication stream") - default: - return errors.Newf("unknown streaming event type %v", event.Type()) - } - return nil -} - -func (lrw *logicalReplicationWriterProcessor) maybeCheckpoint( - ctx context.Context, resolvedSpans []jobspb.ResolvedSpan, -) error { - // If purgatory is non-empty, it intercepts the checkpoint and then we can try - // to drain it. - if !lrw.purgatory.Empty() { - lrw.purgatory.Checkpoint(ctx, resolvedSpans) - return lrw.purgatory.Drain(ctx) - } - - return lrw.checkpoint(ctx, resolvedSpans) -} - -func (lrw *logicalReplicationWriterProcessor) checkpoint( - ctx context.Context, resolvedSpans []jobspb.ResolvedSpan, -) error { - if streamingKnobs, ok := lrw.FlowCtx.TestingKnobs().StreamingTestingKnobs.(*sql.StreamingTestingKnobs); ok { - if streamingKnobs != nil && streamingKnobs.ElideCheckpointEvent != nil { - if streamingKnobs.ElideCheckpointEvent(lrw.FlowCtx.NodeID.SQLInstanceID(), lrw.frontier.Frontier()) { - return nil - } - } - } - - if resolvedSpans == nil { - return errors.New("checkpoint event expected to have resolved spans") - } - - for _, resolvedSpan := range resolvedSpans { - _, err := lrw.frontier.Forward(resolvedSpan.Span, resolvedSpan.Timestamp) - if err != nil { - return errors.Wrap(err, "unable to forward checkpoint frontier") - } - } - - select { - case lrw.checkpointCh <- resolvedSpans: - case <-ctx.Done(): - return ctx.Err() - case <-lrw.stopCh: - // we need to select on stopCh here because the reader - // of checkpointCh is the caller of Next(). But there - // might never be another Next() call since it may - // have exited based on an error. - return nil - } - lrw.metrics.CheckpointEvents.Inc(1) - return nil -} - -// handleStreamBuffer handles a buffer of KV events from the incoming stream. -func (lrw *logicalReplicationWriterProcessor) handleStreamBuffer( - ctx context.Context, kvs []streampb.StreamEvent_KV, -) error { - const notRetry = false - unapplied, unappliedBytes, err := lrw.flushBuffer(ctx, kvs, notRetry, lrw.purgatory.Enabled()) - if err != nil { - return err - } - // Put any events that failed to apply into purgatory (flushing if needed). - if err := lrw.purgatory.Store(ctx, unapplied, unappliedBytes); err != nil { - return err - } - - return nil -} - -func filterRemaining(kvs []streampb.StreamEvent_KV) []streampb.StreamEvent_KV { - remaining := kvs - var j int - for i := range kvs { - if len(kvs[i].KeyValue.Key) != 0 { - remaining[j] = kvs[i] - j++ - } - } - // If remaining shrunk by half or more, reallocate it to avoid aliasing. - if j < len(kvs)/2 { - return append(remaining[:0:0], remaining[:j]...) - } - return remaining[:j] -} - -const maxWriterWorkers = 32 - -// flushBuffer processes some or all of the events in the passed buffer, and -// zeros out each event in the passed buffer for which it successfully completed -// processing either by applying it or by sending it to a DLQ. If mustProcess is -// true it must process every event in the buffer, one way or another, while if -// it is false it may elect to leave an event in the buffer to indicate that -// processing of that event did not complete, for example if application failed -// but it was not sent to the DLQ, and thus should remain buffered for a later -// retry. -func (lrw *logicalReplicationWriterProcessor) flushBuffer( - ctx context.Context, kvs []streampb.StreamEvent_KV, isRetry bool, canRetry retryEligibility, -) (notProcessed []streampb.StreamEvent_KV, notProcessedByteSize int64, _ error) { - ctx, sp := tracing.ChildSpan(ctx, "logical-replication-writer-flush") - defer sp.Finish() - - if len(kvs) == 0 { - return nil, 0, nil - } - - preFlushTime := timeutil.Now() - - // Inform the debugging helper that a flush is starting and configure failure - // injection if it indicates it is requested. - testingFailPercent := lrw.debug.RecordFlushStart(preFlushTime, int64(len(kvs))) - if testingFailPercent > 0 { - for i := range lrw.bh { - lrw.bh[i].SetSyntheticFailurePercent(testingFailPercent) - } - defer func() { - for i := range lrw.bh { - lrw.bh[i].SetSyntheticFailurePercent(0) - } - }() - } - - // k returns the row key for some KV event, truncated if needed to the row key - // prefix. - k := func(kv streampb.StreamEvent_KV) roachpb.Key { - if p, err := keys.EnsureSafeSplitKey(kv.KeyValue.Key); err == nil { - return p - } - return kv.KeyValue.Key - } - - firstKeyTS := kvs[0].KeyValue.Value.Timestamp.GoTime() - - slices.SortFunc(kvs, func(a, b streampb.StreamEvent_KV) int { - if c := k(a).Compare(k(b)); c != 0 { - return c - } - return a.KeyValue.Value.Timestamp.Compare(b.KeyValue.Value.Timestamp) - }) - - const minChunkSize = 64 - chunkSize := max((len(kvs)/len(lrw.bh))+1, minChunkSize) - - perChunkStats := make([]flushStats, len(lrw.bh)) - - todo := kvs - g := ctxgroup.WithContext(ctx) - for worker := range lrw.bh { - if len(todo) == 0 { - break - } - // The chunk should end after the first new key after chunk size. - chunkEnd := min(chunkSize, len(todo)) - for chunkEnd < len(todo) && k(todo[chunkEnd-1]).Equal(k(todo[chunkEnd])) { - chunkEnd++ - } - chunk := todo[0:chunkEnd] - todo = todo[len(chunk):] - bh := lrw.bh[worker] - - if err := ctx.Err(); err != nil { - // Bail early if ctx is canceled. NB: we break rather than return the err - // now since we still need to Wait() to avoid leaking a goroutine. We will - // re-check for any ctx errors after the Wait() in case all workers had - // completed without error as of this break. - break - } - - g.GoCtx(func(ctx context.Context) error { - s, err := lrw.flushChunk(ctx, bh, chunk, canRetry) - if err != nil { - return err - } - perChunkStats[worker] = s - lrw.metrics.OptimisticInsertConflictCount.Inc(s.optimisticInsertConflicts) - lrw.metrics.KVWriteFallbackCount.Inc(s.kvWriteFallbacks) - return nil - }) - } - - if err := g.Wait(); err != nil { - return nil, 0, err - } - - if err := ctx.Err(); err != nil { - return nil, 0, err - } - - var stats flushStats - for _, i := range perChunkStats { - stats.Add(i) - } - - if stats.notProcessed.count > 0 { - notProcessed = filterRemaining(kvs) - } - - flushTime := timeutil.Since(preFlushTime).Nanoseconds() - lrw.debug.RecordFlushComplete(flushTime, int64(len(kvs)), stats.processed.bytes) - - lrw.metrics.AppliedRowUpdates.Inc(stats.processed.success) - lrw.metrics.DLQedRowUpdates.Inc(stats.processed.dlq) - - lrw.metrics.CommitToCommitLatency.RecordValue(timeutil.Since(firstKeyTS).Nanoseconds()) - - if isRetry { - lrw.metrics.RetriedApplySuccesses.Inc(stats.processed.success) - lrw.metrics.RetriedApplyFailures.Inc(stats.notProcessed.count + stats.processed.dlq) - } else { - lrw.metrics.InitialApplySuccesses.Inc(stats.processed.success) - lrw.metrics.InitialApplyFailures.Inc(stats.notProcessed.count + stats.processed.dlq) - lrw.metrics.StreamBatchNanosHist.RecordValue(flushTime) - lrw.metrics.StreamBatchRowsHist.RecordValue(int64(len(kvs))) - lrw.metrics.StreamBatchBytesHist.RecordValue(stats.processed.bytes + stats.notProcessed.bytes) - lrw.metrics.ReceivedLogicalBytes.Inc(stats.processed.bytes + stats.notProcessed.bytes) - } - return notProcessed, stats.notProcessed.bytes, nil -} - -type retryEligibility int - -const ( - retryAllowed retryEligibility = iota - noSpace - tooOld - errType -) - -func (r retryEligibility) String() string { - switch r { - case retryAllowed: - return "allowed" - case noSpace: - return "size limit" - case tooOld: - return "age limit" - case errType: - return "not retryable" - } - return "unknown" -} - -type replicationMutationType int - -const ( - insertMutation replicationMutationType = iota - deleteMutation - updateMutation -) - -func (t replicationMutationType) String() string { - switch t { - case insertMutation: - return "insert" - case deleteMutation: - return "delete" - case updateMutation: - return "update" - default: - return fmt.Sprintf("Unrecognized replicationMutationType(%d)", int(t)) - } -} - -// flushChunk is the per-thread body of flushBuffer; see flushBuffer's contract. -func (lrw *logicalReplicationWriterProcessor) flushChunk( - ctx context.Context, bh BatchHandler, chunk []streampb.StreamEvent_KV, canRetry retryEligibility, -) (flushStats, error) { - batchSize := lrw.getBatchSize() - - var stats flushStats - // TODO: The batching here in production would need to be much - // smarter. Namely, we don't want to include updates to the - // same key in the same batch. Also, it's possible batching - // will make things much worse in practice. - for len(chunk) > 0 { - batch := chunk[:min(batchSize, len(chunk))] - chunk = chunk[len(batch):] - - // Make sure we're not ingesting events with origin TS in the future. - if lrw.FlowCtx != nil { // Some unit tests don't set this and that's fine. - hlcNow := lrw.FlowCtx.Cfg.DB.KV().Clock().Now() - logClock := true - for _, kv := range batch { - if ts := kv.KeyValue.Value.Timestamp; ts.After(hlcNow) { - if logClock || log.V(1) { - log.Warningf(ctx, "event timestamp %s is ahead of local clock %s; delaying batch...", ts, hlcNow) - logClock = false - } - if err := lrw.FlowCtx.Cfg.DB.KV().Clock().SleepUntil(ctx, ts); err != nil { - return flushStats{}, err - } - } - } - } - - preBatchTime := timeutil.Now() - - if s, err := bh.HandleBatch(ctx, batch); err != nil { - if ctxErr := ctx.Err(); ctxErr != nil { - return flushStats{}, ctxErr - } - - // If it already failed while applying on its own, handle the failure. - if len(batch) == 1 { - if eligibility := lrw.shouldRetryLater(err, canRetry); eligibility != retryAllowed { - if err := lrw.dlq(ctx, batch[0], bh.GetLastRow(), err, eligibility); err != nil { - return flushStats{}, err - } - stats.processed.dlq++ - } else { - stats.notProcessed.count++ - stats.notProcessed.bytes += int64(batch[0].Size()) - } - } else { - // If there were multiple events in the batch, give each its own chance - // to apply on its own before switching to handle its failure. - for i := range batch { - if singleStats, err := bh.HandleBatch(ctx, batch[i:i+1]); err != nil { - if ctxErr := ctx.Err(); ctxErr != nil { - return flushStats{}, ctxErr - } - if eligibility := lrw.shouldRetryLater(err, canRetry); eligibility != retryAllowed { - if err := lrw.dlq(ctx, batch[i], bh.GetLastRow(), err, eligibility); err != nil { - return flushStats{}, err - } - stats.processed.dlq++ - } else { - stats.notProcessed.count++ - stats.notProcessed.bytes += int64(batch[i].Size()) - } - } else { - stats.optimisticInsertConflicts += singleStats.optimisticInsertConflicts - stats.kvWriteFallbacks += singleStats.kvWriteFallbacks - batch[i] = streampb.StreamEvent_KV{} - stats.processed.success++ - stats.processed.bytes += int64(batch[i].Size()) - } - } - } - } else { - stats.optimisticInsertConflicts += s.optimisticInsertConflicts - stats.kvWriteFallbacks += s.kvWriteFallbacks - stats.processed.success += int64(len(batch)) - // Clear the event to indicate successful application. - for i := range batch { - stats.processed.bytes += int64(batch[i].Size()) - batch[i] = streampb.StreamEvent_KV{} - } - } - - batchTime := timeutil.Since(preBatchTime) - lrw.debug.RecordBatchApplied(batchTime, int64(len(batch))) - lrw.metrics.ApplyBatchNanosHist.RecordValue(batchTime.Nanoseconds()) - } - return stats, nil -} - -// shouldRetryLater returns true if a given error encountered by an attempt to -// process an event may be resolved if processing of that event is reattempted -// again at a later time. This could be the case, for example, if that time is -// after the parent side of an FK relationship is ingested by another processor. -func (lrw *logicalReplicationWriterProcessor) shouldRetryLater( - err error, eligibility retryEligibility, -) retryEligibility { - if eligibility != retryAllowed { - return eligibility - } - - if errors.Is(err, errInjected) { - return tooOld - } - - // TODO(dt): maybe this should only be constraint violation errors? - return retryAllowed -} - -const logAllDLQs = true - -// dlq handles a row update that fails to apply by durably recording it in a DLQ -// or returns an error if it cannot. The decoded row should be passed to it if -// it is available, and dlq may persist it in addition to the event if -// row.IsInitialized() is true. -// -// TODO(dt): implement something here. -// TODO(dt): plumb the cdcevent.Row to this. -func (lrw *logicalReplicationWriterProcessor) dlq( - ctx context.Context, - event streampb.StreamEvent_KV, - row cdcevent.Row, - applyErr error, - eligibility retryEligibility, -) error { - if log.V(1) || logAllDLQs { - if row.IsInitialized() { - log.Infof(ctx, "DLQ'ing row update due to %s (%s): %s", applyErr, eligibility, row.DebugString()) - } else { - log.Infof(ctx, "DLQ'ing KV due to %s (%s): %s", applyErr, eligibility, event) - } - } - // We don't inc the total DLQ'ed metric here as that is done by flushBuffer - // instead, using a single Inc() for the total. We could accumulate these in - // the flushStats to do the same but DLQs are rare enough not to worry about - // an inc for each. - switch eligibility { - case tooOld: - lrw.metrics.DLQedDueToAge.Inc(1) - case noSpace: - lrw.metrics.DLQedDueToQueueSpace.Inc(1) - case errType: - lrw.metrics.DLQedDueToErrType.Inc(1) - } - return lrw.dlqClient.Log(ctx, lrw.spec.JobID, event, row, applyErr, eligibility) -} - -type batchStats struct { - optimisticInsertConflicts int64 - kvWriteFallbacks int64 -} -type flushStats struct { - processed struct { - success, dlq, bytes int64 - } - notProcessed struct { - count, bytes int64 - } - optimisticInsertConflicts, kvWriteFallbacks int64 -} - -func (b *flushStats) Add(o flushStats) { - b.processed.success += o.processed.success - b.processed.dlq += o.processed.dlq - b.processed.bytes += o.processed.bytes - b.notProcessed.count += o.notProcessed.count - b.notProcessed.bytes += o.notProcessed.bytes - b.optimisticInsertConflicts += o.optimisticInsertConflicts - b.kvWriteFallbacks += o.kvWriteFallbacks -} - -type BatchHandler interface { - // HandleBatch handles one batch, i.e. a set of 1 or more KVs, that should be - // decoded to rows and committed in a single txn, i.e. that all succeed to apply - // or are not applied as a group. If the batch is a single KV it may use an - // implicit txn. - HandleBatch(context.Context, []streampb.StreamEvent_KV) (batchStats, error) - GetLastRow() cdcevent.Row - SetSyntheticFailurePercent(uint32) - Close(context.Context) -} - -// RowProcessor knows how to process a single row from an event stream. -type RowProcessor interface { - // ProcessRow processes a single KV update by inserting or deleting a row. - // Txn argument can be nil. The provided value is the "previous value", - // before the change was applied on the source. - ProcessRow(context.Context, isql.Txn, roachpb.KeyValue, roachpb.Value) (batchStats, error) - GetLastRow() cdcevent.Row - SetSyntheticFailurePercent(uint32) - Close(context.Context) -} - -type txnBatch struct { - db descs.DB - rp RowProcessor - settings *cluster.Settings - sd *sessiondata.SessionData -} - -var useImplicitTxns = settings.RegisterBoolSetting( - settings.ApplicationLevel, - "logical_replication.consumer.use_implicit_txns.enabled", - "determines whether the consumer processes each row in a separate implicit txn", - metamorphic.ConstantWithTestBool("logical_replication.consumer.use_implicit_txns.enabled", true), -) - -func (t *txnBatch) HandleBatch( - ctx context.Context, batch []streampb.StreamEvent_KV, -) (batchStats, error) { - ctx, sp := tracing.ChildSpan(ctx, "txnBatch.HandleBatch") - defer sp.Finish() - - stats := batchStats{} - var err error - if len(batch) == 1 { - s, err := t.rp.ProcessRow(ctx, nil /* txn */, batch[0].KeyValue, batch[0].PrevValue) - if err != nil { - return stats, err - } - stats.optimisticInsertConflicts += s.optimisticInsertConflicts - } else { - err = t.db.Txn(ctx, func(ctx context.Context, txn isql.Txn) error { - for _, kv := range batch { - s, err := t.rp.ProcessRow(ctx, txn, kv.KeyValue, kv.PrevValue) - if err != nil { - return err - } - stats.optimisticInsertConflicts += s.optimisticInsertConflicts - } - return nil - }, isql.WithSessionData(t.sd)) - } - return stats, err -} - -func (t *txnBatch) GetLastRow() cdcevent.Row { - return t.rp.GetLastRow() -} - -func (t *txnBatch) SetSyntheticFailurePercent(rate uint32) { - t.rp.SetSyntheticFailurePercent(rate) -} - -func (t *txnBatch) Close(ctx context.Context) { - t.rp.Close(ctx) -} - -func init() { - rowexec.NewLogicalReplicationWriterProcessor = newLogicalReplicationWriterProcessor -} diff --git a/pkg/ccl/crosscluster/logical/lww_kv_processor.go b/pkg/ccl/crosscluster/logical/lww_kv_processor.go deleted file mode 100644 index f0fc49a26cab..000000000000 --- a/pkg/ccl/crosscluster/logical/lww_kv_processor.go +++ /dev/null @@ -1,391 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package logical - -import ( - "context" - - "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl/cdcevent" - "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl/changefeedbase" - "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" - "github.com/cockroachdb/cockroach/pkg/keys" - "github.com/cockroachdb/cockroach/pkg/kv" - "github.com/cockroachdb/cockroach/pkg/kv/kvpb" - "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/sql/catalog" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/descpb" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/lease" - "github.com/cockroachdb/cockroach/pkg/sql/execinfra" - "github.com/cockroachdb/cockroach/pkg/sql/isql" - "github.com/cockroachdb/cockroach/pkg/sql/row" - "github.com/cockroachdb/cockroach/pkg/sql/sem/eval" - "github.com/cockroachdb/cockroach/pkg/sql/sem/tree" - "github.com/cockroachdb/cockroach/pkg/util/admission/admissionpb" - "github.com/cockroachdb/cockroach/pkg/util/hlc" - "github.com/cockroachdb/errors" -) - -// A kvRowProcessor is a RowProcessor that bypasses SQL execution and directly -// writes KV pairs for replicated events. -type kvRowProcessor struct { - decoder cdcevent.Decoder - lastRow cdcevent.Row - alloc *tree.DatumAlloc - cfg *execinfra.ServerConfig - evalCtx *eval.Context - - dstBySrc map[descpb.ID]descpb.ID - writers map[descpb.ID]*kvTableWriter - - fallback *sqlRowProcessor - failureInjector -} - -// newKVRowProcessor returns a RowProcessor that operates by writing KV pairs -// directly to the db, bypassing SQL Query execution. -func newKVRowProcessor( - ctx context.Context, - cfg *execinfra.ServerConfig, - evalCtx *eval.Context, - procConfigByDestID map[descpb.ID]sqlProcessorTableConfig, - fallback *sqlRowProcessor, -) (*kvRowProcessor, error) { - cdcEventTargets := changefeedbase.Targets{} - srcTablesBySrcID := make(map[descpb.ID]catalog.TableDescriptor, len(procConfigByDestID)) - dstBySrc := make(map[descpb.ID]descpb.ID, len(procConfigByDestID)) - - for dstID, s := range procConfigByDestID { - dstBySrc[s.srcDesc.GetID()] = dstID - srcTablesBySrcID[s.srcDesc.GetID()] = s.srcDesc - cdcEventTargets.Add(changefeedbase.Target{ - Type: jobspb.ChangefeedTargetSpecification_EACH_FAMILY, - TableID: s.srcDesc.GetID(), - StatementTimeName: changefeedbase.StatementTimeName(s.srcDesc.GetName()), - }) - } - - prefixlessCodec := keys.SystemSQLCodec - rfCache, err := cdcevent.NewFixedRowFetcherCache( - ctx, prefixlessCodec, evalCtx.Settings, cdcEventTargets, srcTablesBySrcID, - ) - if err != nil { - return nil, err - } - - p := &kvRowProcessor{ - cfg: cfg, - evalCtx: evalCtx, - dstBySrc: dstBySrc, - writers: make(map[descpb.ID]*kvTableWriter, len(procConfigByDestID)), - decoder: cdcevent.NewEventDecoderWithCache(ctx, rfCache, false, false), - alloc: &tree.DatumAlloc{}, - fallback: fallback, - } - return p, nil -} - -var originID1Options = &kvpb.WriteOptions{OriginID: 1} - -func (p *kvRowProcessor) ProcessRow( - ctx context.Context, txn isql.Txn, keyValue roachpb.KeyValue, prevValue roachpb.Value, -) (batchStats, error) { - var err error - keyValue.Key, err = keys.StripTenantPrefix(keyValue.Key) - if err != nil { - return batchStats{}, errors.Wrap(err, "stripping tenant prefix") - } - - row, err := p.decoder.DecodeKV(ctx, keyValue, cdcevent.CurrentRow, keyValue.Value.Timestamp, false) - if err != nil { - p.lastRow = cdcevent.Row{} - return batchStats{}, errors.Wrap(err, "decoding KeyValue") - } - p.lastRow = row - - if err = p.injectFailure(); err != nil { - return batchStats{}, err - } - - // TODO(dt, ssd): the rangefeed prev value does not include its mvcc ts, which - // is a problem for us if we want to use CPut to replace the old row with the - // new row, because our local version of the old row is likely to have the - // remote version's mvcc timestamp in its origin ts column, i.e. in the value. - // Without knowing the remote previous row's ts, we cannot exactly reconstruct - // the value of our local row to put in the expected value for a CPut. - // Instead, for now, we just don't use the direct CPut for anything other than - // inserts. If/when we have a LDR-flavor CPut (or if we move the TS out and - // decide that equal values negate LWW) we can remove this. - if prevValue.IsPresent() || row.IsDeleted() { - return p.fallback.processParsedRow(ctx, txn, row, keyValue.Key, prevValue) - } - - if err := p.processParsedRow(ctx, txn, row, keyValue, prevValue); err != nil { - stats, err := p.fallback.processParsedRow(ctx, txn, row, keyValue.Key, prevValue) - if err == nil { - stats.kvWriteFallbacks += 1 - } - return stats, err - } - return batchStats{}, nil - -} - -func (p *kvRowProcessor) processParsedRow( - ctx context.Context, txn isql.Txn, row cdcevent.Row, k roachpb.KeyValue, prevValue roachpb.Value, -) error { - dstTableID, ok := p.dstBySrc[row.TableID] - if !ok { - return errors.AssertionFailedf("replication configuration missing for table %d / %q", row.TableID, row.TableName) - } - - makeBatch := func(txn *kv.Txn) *kv.Batch { - b := txn.NewBatch() - b.Header.WriteOptions = originID1Options - b.AdmissionHeader.Priority = int32(admissionpb.BulkLowPri) - b.AdmissionHeader.Source = kvpb.AdmissionHeader_FROM_SQL - return b - } - - if txn == nil { - if err := p.cfg.DB.KV().Txn(ctx, func(ctx context.Context, txn *kv.Txn) error { - b := makeBatch(txn) - - if err := p.addToBatch(ctx, txn, b, dstTableID, row, k, prevValue); err != nil { - return err - } - return txn.CommitInBatch(ctx, b) - }); err != nil { - return err - } - - return nil - } - - kvTxn := txn.KV() - b := makeBatch(kvTxn) - - if err := p.addToBatch(ctx, kvTxn, b, dstTableID, row, k, prevValue); err != nil { - return err - } - return txn.KV().Run(ctx, b) -} - -func (p *kvRowProcessor) addToBatch( - ctx context.Context, - txn *kv.Txn, - b *kv.Batch, - dstTableID descpb.ID, - row cdcevent.Row, - keyValue roachpb.KeyValue, - prevValue roachpb.Value, -) error { - w, err := p.getWriter(ctx, dstTableID, txn.ProvisionalCommitTimestamp()) - if err != nil { - return err - } - // This batch should only commit if it can do so prior to the expiration of - // the lease of the descriptor used to encode it. - if err := txn.UpdateDeadline(ctx, w.leased.Expiration(ctx)); err != nil { - return err - } - - prevRow, err := p.decoder.DecodeKV(ctx, roachpb.KeyValue{ - Key: keyValue.Key, - Value: prevValue, - }, cdcevent.PrevRow, prevValue.Timestamp, false) - if err != nil { - return err - } - - if row.IsDeleted() { - if err := w.deleteRow(ctx, b, prevRow, row); err != nil { - return err - } - } else { - if prevValue.IsPresent() { - if err := w.updateRow(ctx, b, prevRow, row); err != nil { - return err - } - } else { - if err := w.insertRow(ctx, b, row); err != nil { - return err - } - } - } - - return nil -} - -// GetLastRow implements the RowProcessor interface. -func (p *kvRowProcessor) GetLastRow() cdcevent.Row { - return p.lastRow -} - -// SetSyntheticFailurePercent implements the RowProcessor interface. -func (p *kvRowProcessor) SetSyntheticFailurePercent(rate uint32) { - p.rate = rate -} - -func (p *kvRowProcessor) Close(ctx context.Context) { - for _, w := range p.writers { - w.leased.Release(ctx) - } -} - -func (p *kvRowProcessor) getWriter( - ctx context.Context, id descpb.ID, ts hlc.Timestamp, -) (*kvTableWriter, error) { - w, ok := p.writers[id] - if ok { - // If the lease is still valid, just use the writer. - if w.leased.Expiration(ctx).After(ts) { - return w, nil - } - // The lease is invalid; we'll be getting a new one so release this one. - w.leased.Release(ctx) - } - - l, err := p.cfg.LeaseManager.(*lease.Manager).Acquire(ctx, ts, id) - if err != nil { - return nil, err - } - - // If the new lease just so happened to be the same version, we can just swap - // the lease in the existing writer. - if ok && l.Underlying().GetVersion() == w.leased.Underlying().GetVersion() { - w.leased = l - return w, nil - } - - // New lease and desc version; make a new writer. - w, err = newKVTableWriter(ctx, l, p.alloc, p.evalCtx) - if err != nil { - return nil, err - } - - p.writers[id] = w - return w, nil -} - -// kvTableWriter writes row changes for a specific table using a leased desc for -// that table to a passed batch. An instance of a kvTableWriter should not be -// used past the expiration of the lease used to construct it, and batches that -// it populates should commit no later than the expiration of said lease. -type kvTableWriter struct { - leased lease.LeasedDescriptor - newVals, oldVals []tree.Datum - ru row.Updater - ri row.Inserter - rd row.Deleter - scratchTS tree.DDecimal -} - -func newKVTableWriter( - ctx context.Context, leased lease.LeasedDescriptor, a *tree.DatumAlloc, evalCtx *eval.Context, -) (*kvTableWriter, error) { - - tableDesc := leased.Underlying().(catalog.TableDescriptor) - - const internal = true - - // TODO(dt): figure out the right sets of columns here and in fillNew/fillOld. - readCols, writeCols := tableDesc.PublicColumns(), tableDesc.PublicColumns() - - // TODO(dt): pass these some sort fo flag to have them use versions of CPut - // or a new LWW KV API. For now they're not detecting/handling conflicts. - ri, err := row.MakeInserter(ctx, nil, evalCtx.Codec, tableDesc, writeCols, a, &evalCtx.Settings.SV, internal, nil) - if err != nil { - return nil, err - } - rd := row.MakeDeleter(evalCtx.Codec, tableDesc, readCols, &evalCtx.Settings.SV, internal, nil) - ru, err := row.MakeUpdater( - ctx, nil, evalCtx.Codec, tableDesc, readCols, writeCols, row.UpdaterDefault, a, &evalCtx.Settings.SV, internal, nil, - ) - if err != nil { - return nil, err - } - - return &kvTableWriter{ - leased: leased, - oldVals: make([]tree.Datum, len(readCols)), - newVals: make([]tree.Datum, len(writeCols)), - ri: ri, - rd: rd, - ru: ru, - }, nil -} - -func (p *kvTableWriter) insertRow(ctx context.Context, b *kv.Batch, after cdcevent.Row) error { - if err := p.fillNew(after); err != nil { - return err - } - - var ph row.PartialIndexUpdateHelper - // TODO(dt): support partial indexes. - - return p.ri.InsertRow(ctx, &row.KVBatchAdapter{Batch: b}, p.newVals, ph, false, false) -} - -func (p *kvTableWriter) updateRow( - ctx context.Context, b *kv.Batch, before, after cdcevent.Row, -) error { - if err := p.fillOld(before); err != nil { - return err - } - if err := p.fillNew(after); err != nil { - return err - } - - var ph row.PartialIndexUpdateHelper - // TODO(dt): support partial indexes. - - _, err := p.ru.UpdateRow(ctx, b, p.oldVals, p.newVals, ph, false) - return err -} - -func (p *kvTableWriter) deleteRow( - ctx context.Context, b *kv.Batch, before, after cdcevent.Row, -) error { - if err := p.fillOld(before); err != nil { - return err - } - - var ph row.PartialIndexUpdateHelper - // TODO(dt): support partial indexes. - - return p.rd.DeleteRow(ctx, b, p.oldVals, ph, false) -} - -func (p *kvTableWriter) fillOld(vals cdcevent.Row) error { - p.oldVals = p.oldVals[:0] - if err := vals.ForAllColumns().Datum(func(d tree.Datum, col cdcevent.ResultColumn) error { - // TODO(dt): add indirection from col ID to offset. - p.oldVals = append(p.oldVals, d) - return nil - }); err != nil { - return err - } - return nil -} - -func (p *kvTableWriter) fillNew(vals cdcevent.Row) error { - p.newVals = p.newVals[:0] - if err := vals.ForAllColumns().Datum(func(d tree.Datum, col cdcevent.ResultColumn) error { - // TODO(dt): add indirection from col ID to offset. - if col.Name == originTimestampColumnName { - p.scratchTS.Decimal = eval.TimestampToDecimal(vals.MvccTimestamp) - d = &p.scratchTS - } - p.newVals = append(p.newVals, d) - return nil - }); err != nil { - return err - } - return nil -} diff --git a/pkg/ccl/crosscluster/logical/lww_row_processor.go b/pkg/ccl/crosscluster/logical/lww_row_processor.go deleted file mode 100644 index 69b0d04424f2..000000000000 --- a/pkg/ccl/crosscluster/logical/lww_row_processor.go +++ /dev/null @@ -1,758 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package logical - -import ( - "context" - "fmt" - "strings" - - "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl/cdcevent" - "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl/changefeedbase" - "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" - "github.com/cockroachdb/cockroach/pkg/keys" - "github.com/cockroachdb/cockroach/pkg/kv" - "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/settings" - "github.com/cockroachdb/cockroach/pkg/settings/cluster" - "github.com/cockroachdb/cockroach/pkg/sql/catalog" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/descpb" - "github.com/cockroachdb/cockroach/pkg/sql/isql" - "github.com/cockroachdb/cockroach/pkg/sql/lexbase" - "github.com/cockroachdb/cockroach/pkg/sql/parser" - "github.com/cockroachdb/cockroach/pkg/sql/parser/statements" - "github.com/cockroachdb/cockroach/pkg/sql/pgwire/pgcode" - "github.com/cockroachdb/cockroach/pkg/sql/pgwire/pgerror" - "github.com/cockroachdb/cockroach/pkg/sql/sem/catconstants" - "github.com/cockroachdb/cockroach/pkg/sql/sem/catid" - "github.com/cockroachdb/cockroach/pkg/sql/sem/eval" - "github.com/cockroachdb/cockroach/pkg/sql/sem/tree" - "github.com/cockroachdb/cockroach/pkg/sql/sessiondata" - "github.com/cockroachdb/cockroach/pkg/sql/sessiondatapb" - "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/cockroach/pkg/util/metamorphic" - "github.com/cockroachdb/cockroach/pkg/util/randutil" - "github.com/cockroachdb/errors" -) - -const ( - originTimestampColumnName = "crdb_replication_origin_timestamp" -) - -// A sqlRowProcessor is a RowProcessor that handles rows using the -// provided querier. -type sqlRowProcessor struct { - decoder cdcevent.Decoder - querier querier - settings *cluster.Settings - ie isql.Executor - lastRow cdcevent.Row - - // testing knobs. - failureInjector -} - -// A querier handles rows for any table that has previously been added -// to the querier using the passed isql.Txn and internal executor. -type querier interface { - AddTable(destDescID int32, tc sqlProcessorTableConfig) error - InsertRow(ctx context.Context, txn isql.Txn, ie isql.Executor, row cdcevent.Row, prevRow *cdcevent.Row, likelyInsert bool) (batchStats, error) - DeleteRow(ctx context.Context, txn isql.Txn, ie isql.Executor, row cdcevent.Row, prevRow *cdcevent.Row) (batchStats, error) - RequiresParsedBeforeRow(catid.DescID) bool -} - -type queryBuilder struct { - // stmts are parsed SQL statements. They should have the same number - // of inputs. - stmts []statements.Statement[tree.Statement] - - // TODO(ssd): It would almost surely be better to track this by column IDs than name. - // - // TODO(ssd): The management of MVCC Origin Timestamp column is a bit messy. The mess - // is caused by column families that don't have that row in the datum. - // - // If the query requires the origin timestamp column, inputColumns should not include the column. - // Rather, the query should set needsOriginTimestamp. - inputColumns []string - needsOriginTimestamp bool - - // scratch allows us to reuse some allocations between multiple calls to - // insertRow and deleteRow. - scratchDatums []interface{} - scratchTS tree.DDecimal -} - -func (q *queryBuilder) Reset() { - q.scratchDatums = q.scratchDatums[:0] -} - -func (q *queryBuilder) AddRow(row cdcevent.Row) error { - it, err := row.DatumsNamed(q.inputColumns) - if err != nil { - return err - } - if err := it.Datum(func(d tree.Datum, col cdcevent.ResultColumn) error { - q.scratchDatums = append(q.scratchDatums, d) - return nil - }); err != nil { - return err - } - if q.needsOriginTimestamp { - q.scratchTS.Decimal = eval.TimestampToDecimal(row.MvccTimestamp) - q.scratchDatums = append(q.scratchDatums, &q.scratchTS) - } - return nil -} - -func (q *queryBuilder) AddRowDefaultNull(row *cdcevent.Row) error { - if row == nil { - for range q.inputColumns { - q.scratchDatums = append(q.scratchDatums, tree.DNull) - } - } - - for _, n := range q.inputColumns { - it, err := row.DatumNamed(n) - if err != nil { - q.scratchDatums = append(q.scratchDatums, tree.DNull) - continue - } - if err := it.Datum(func(d tree.Datum, col cdcevent.ResultColumn) error { - q.scratchDatums = append(q.scratchDatums, d) - return nil - }); err != nil { - return err - } - } - - if q.needsOriginTimestamp { - q.scratchTS.Decimal = eval.TimestampToDecimal(row.MvccTimestamp) - q.scratchDatums = append(q.scratchDatums, &q.scratchTS) - } - return nil -} - -func (q *queryBuilder) Query( - variant int, -) (statements.Statement[tree.Statement], []interface{}, error) { - return q.stmts[variant], q.scratchDatums, nil -} - -type queryBuffer struct { - deleteQueries map[catid.DescID]queryBuilder - insertQueries map[catid.DescID]map[catid.FamilyID]queryBuilder - applierQueries map[catid.DescID]map[catid.FamilyID]queryBuilder -} - -func (q *queryBuffer) DeleteQueryForRow(row cdcevent.Row) (queryBuilder, error) { - dq, ok := q.deleteQueries[row.TableID] - if !ok { - return queryBuilder{}, errors.Errorf("no pre-generated delete query for table %d", row.TableID) - } - dq.Reset() - return dq, nil -} - -func (q *queryBuffer) InsertQueryForRow(row cdcevent.Row) (queryBuilder, error) { - insertQueriesForTable, ok := q.insertQueries[row.TableID] - if !ok { - return queryBuilder{}, errors.Errorf("no pre-generated insert query for table %d", row.TableID) - } - insertQueryBuilder, ok := insertQueriesForTable[row.FamilyID] - if !ok { - return queryBuilder{}, errors.Errorf("no pre-generated insert query for table %d column family %d", row.TableID, row.FamilyID) - } - insertQueryBuilder.Reset() - return insertQueryBuilder, nil -} - -func (q *queryBuffer) ApplierQueryForRow(row cdcevent.Row) (queryBuilder, error) { - applierQueriesForTable, ok := q.applierQueries[row.TableID] - if !ok { - return queryBuilder{}, errors.Errorf("no pre-generated apply query for table %d", row.TableID) - } - applierQueryBuilder, ok := applierQueriesForTable[row.FamilyID] - if !ok { - return queryBuilder{}, errors.Errorf("no pre-generated apply query for table %d column family %d", row.TableID, row.FamilyID) - } - applierQueryBuilder.Reset() - return applierQueryBuilder, nil -} - -type sqlProcessorTableConfig struct { - srcDesc catalog.TableDescriptor - dstOID uint32 -} - -func makeSQLProcessorFromQuerier( - ctx context.Context, - settings *cluster.Settings, - tableConfigByDestID map[descpb.ID]sqlProcessorTableConfig, - ie isql.Executor, - querier querier, -) (*sqlRowProcessor, error) { - cdcEventTargets := changefeedbase.Targets{} - tableDescsBySrcID := make(map[descpb.ID]catalog.TableDescriptor, len(tableConfigByDestID)) - - for descID, tabConfig := range tableConfigByDestID { - srcDesc := tabConfig.srcDesc - tableDescsBySrcID[srcDesc.GetID()] = srcDesc - if err := querier.AddTable(int32(descID), tabConfig); err != nil { - return nil, err - } - cdcEventTargets.Add(changefeedbase.Target{ - Type: jobspb.ChangefeedTargetSpecification_EACH_FAMILY, - TableID: srcDesc.GetID(), - StatementTimeName: changefeedbase.StatementTimeName(srcDesc.GetName()), - }) - } - - prefixlessCodec := keys.SystemSQLCodec - rfCache, err := cdcevent.NewFixedRowFetcherCache(ctx, prefixlessCodec, settings, cdcEventTargets, tableDescsBySrcID) - if err != nil { - return nil, err - } - - return &sqlRowProcessor{ - querier: querier, - decoder: cdcevent.NewEventDecoderWithCache(ctx, rfCache, false, false), - settings: settings, - ie: ie, - }, nil -} - -func (*sqlRowProcessor) Close(ctx context.Context) {} - -var errInjected = errors.New("injected synthetic error") - -type failureInjector struct { - rate uint32 -} - -func (p *failureInjector) SetSyntheticFailurePercent(rate uint32) { - p.rate = rate -} - -func (p *failureInjector) injectFailure() error { - if p.rate != 0 { - if randutil.FastUint32()%100 < p.rate { - return errInjected - } - } - return nil -} - -func (srp *sqlRowProcessor) ProcessRow( - ctx context.Context, txn isql.Txn, kv roachpb.KeyValue, prevValue roachpb.Value, -) (batchStats, error) { - if err := srp.injectFailure(); err != nil { - return batchStats{}, err - } - var err error - kv.Key, err = keys.StripTenantPrefix(kv.Key) - if err != nil { - return batchStats{}, errors.Wrap(err, "stripping tenant prefix") - } - - row, err := srp.decoder.DecodeKV(ctx, kv, cdcevent.CurrentRow, kv.Value.Timestamp, false) - if err != nil { - srp.lastRow = cdcevent.Row{} - return batchStats{}, errors.Wrap(err, "decoding KeyValue") - } - srp.lastRow = row - - return srp.processParsedRow(ctx, txn, row, kv.Key, prevValue) -} - -func (srp *sqlRowProcessor) processParsedRow( - ctx context.Context, txn isql.Txn, row cdcevent.Row, key roachpb.Key, prevValue roachpb.Value, -) (batchStats, error) { - var parsedBeforeRow *cdcevent.Row - if srp.querier.RequiresParsedBeforeRow(row.TableID) { - before, err := srp.decoder.DecodeKV(ctx, roachpb.KeyValue{ - Key: key, - Value: prevValue, - }, cdcevent.PrevRow, prevValue.Timestamp, false) - if err != nil { - return batchStats{}, err - } - parsedBeforeRow = &before - } - - if row.IsDeleted() { - return srp.querier.DeleteRow(ctx, txn, srp.ie, row, parsedBeforeRow) - } - return srp.querier.InsertRow(ctx, txn, srp.ie, row, parsedBeforeRow, prevValue.RawBytes == nil) -} - -func (srp *sqlRowProcessor) GetLastRow() cdcevent.Row { - return srp.lastRow -} - -var ( - forceGenericPlan = sessiondatapb.PlanCacheModeForceGeneric - ieOverrideBase = sessiondata.InternalExecutorOverride{ - // The OriginIDForLogicalDataReplication session variable will bind the - // origin ID 1 to each per-statement batch request header sent by the - // internal executor. This metadata will be plumbed to the MVCCValueHeader - // of each written kv, and will be used by source side rangefeeds to filter - // these replicated events, preventing data looping. - // - // Note that a similar ingestion side plumbing strategy will be used for - // OriginTimestamp even though each ingested row may have a different - // timestamp. We can still bind the OriginTimestamp to the Internal Executor - // session before each query because 1) each IE query creates a new session; - // 2) we do not plan to use multi row insert statements during LDR ingestion - // via sql. - OriginIDForLogicalDataReplication: 1, - // Use generic query plans since our queries are extremely simple and - // won't benefit from custom plans. - PlanCacheMode: &forceGenericPlan, - // We've observed in the CPU profiles that the default goroutine stack - // of the connExecutor goroutine is insufficient for evaluation of the - // ingestion queries, so we grow the stack right away to 32KiB. - GrowStackSize: true, - // We don't get any benefits from generating plan gists for internal - // queries, so we disable them. - DisablePlanGists: true, - QualityOfService: &sessiondatapb.BulkLowQoS, - } -) - -const ( - replicatedOptimisticInsertOpName = "replicated-optimistic-insert" - replicatedInsertOpName = "replicated-insert" - replicatedDeleteOpName = "replicated-delete" - replicatedApplyUDFOpName = "replicated-apply-udf" -) - -func getIEOverride(opName string, jobID jobspb.JobID) sessiondata.InternalExecutorOverride { - o := ieOverrideBase - // We want the ingestion queries to show up on the SQL Activity page - // alongside with the foreground traffic by default. We can achieve this - // by using the same naming scheme as AttributeToUser feature of the IE - // override (effectively, we opt out of using the "external" metrics for - // the ingestion queries). - o.ApplicationName = fmt.Sprintf("%s-%s-%d", catconstants.AttributedToUserInternalAppNamePrefix, opName, jobID) - return o -} - -func init() { -} - -var tryOptimisticInsertEnabled = settings.RegisterBoolSetting( - settings.ApplicationLevel, - "logical_replication.consumer.try_optimistic_insert.enabled", - "determines whether the consumer attempts to execute the 'optimistic' INSERT "+ - "first (when there was no previous value on the source) which will succeed only "+ - "if there is no conflict with an existing row", - metamorphic.ConstantWithTestBool("logical_replication.consumer.try_optimistic_insert.enabled", true), -) - -// insertQueries stores a mapping from the table ID to a mapping from the -// column family ID to two INSERT statements (one optimistic that assumes -// there is no conflicting row in the table, and another pessimistic one). -const ( - defaultQuery = 0 - - insertQueriesOptimisticIndex = 0 - insertQueriesPessimisticIndex = 1 -) - -func makeSQLProcessor( - ctx context.Context, - settings *cluster.Settings, - tableConfigByDestID map[descpb.ID]sqlProcessorTableConfig, - jobID jobspb.JobID, - ie isql.Executor, -) (*sqlRowProcessor, error) { - - needUDFQuerier := false - shouldUseUDF := make(map[catid.DescID]bool, len(tableConfigByDestID)) - for _, tc := range tableConfigByDestID { - shouldUseUDF[tc.srcDesc.GetID()] = tc.dstOID != 0 - needUDFQuerier = needUDFQuerier || tc.dstOID != 0 - } - - lwwQuerier := &lwwQuerier{ - settings: settings, - queryBuffer: queryBuffer{ - deleteQueries: make(map[catid.DescID]queryBuilder, len(tableConfigByDestID)), - insertQueries: make(map[catid.DescID]map[catid.FamilyID]queryBuilder, len(tableConfigByDestID)), - }, - ieOverrideOptimisticInsert: getIEOverride(replicatedOptimisticInsertOpName, jobID), - ieOverrideInsert: getIEOverride(replicatedInsertOpName, jobID), - ieOverrideDelete: getIEOverride(replicatedDeleteOpName, jobID), - } - var udfQuerier querier - if needUDFQuerier { - udfQuerier = makeApplierQuerier(ctx, settings, tableConfigByDestID, jobID, ie) - } - - return makeSQLProcessorFromQuerier(ctx, settings, tableConfigByDestID, ie, &muxQuerier{ - shouldUseUDF: shouldUseUDF, - lwwQuerier: lwwQuerier, - udfQuerier: udfQuerier, - }) - -} - -// muxQuerier is a querier that dispatches to either an LWW querier or a UDF -// querier. -type muxQuerier struct { - shouldUseUDF map[catid.DescID]bool - lwwQuerier querier - udfQuerier querier -} - -func (m *muxQuerier) AddTable(destDescID int32, tc sqlProcessorTableConfig) error { - if m.shouldUseUDF[tc.srcDesc.GetID()] { - return m.udfQuerier.AddTable(destDescID, tc) - } - return m.lwwQuerier.AddTable(destDescID, tc) -} - -func (m *muxQuerier) InsertRow( - ctx context.Context, - txn isql.Txn, - ie isql.Executor, - row cdcevent.Row, - prevRow *cdcevent.Row, - likelyInsert bool, -) (batchStats, error) { - if m.shouldUseUDF[row.TableID] { - return m.udfQuerier.InsertRow(ctx, txn, ie, row, prevRow, likelyInsert) - } - return m.lwwQuerier.InsertRow(ctx, txn, ie, row, prevRow, likelyInsert) -} - -func (m *muxQuerier) DeleteRow( - ctx context.Context, txn isql.Txn, ie isql.Executor, row cdcevent.Row, prevRow *cdcevent.Row, -) (batchStats, error) { - if m.shouldUseUDF[row.TableID] { - return m.udfQuerier.DeleteRow(ctx, txn, ie, row, prevRow) - } - return m.lwwQuerier.DeleteRow(ctx, txn, ie, row, prevRow) -} - -func (m *muxQuerier) RequiresParsedBeforeRow(id catid.DescID) bool { - return m.shouldUseUDF[id] -} - -// lwwQuerier is a querier that implements partial -// last-write-wins semantics using SQL queries. We assume that the table has an -// crdb_replication_origin_timestamp column defined as: -// -// crdb_replication_origin_timestamp DECIMAL NOT VISIBLE DEFAULT NULL ON UPDATE NULL -// -// This row is explicitly set by the INSERT query using the MVCC timestamp of -// the inbound write. -// -// Known issues: -// -// 1. An UPDATE and a DELETE may be applied out of order because we have no way -// from SQL of knowing the write timestamp of the deletion tombstone. -// 2. The crdb_replication_origin_timestamp requires modifying the user's schema. -// -// See the design document for possible solutions to both of these problems. -type lwwQuerier struct { - settings *cluster.Settings - queryBuffer queryBuffer - - ieOverrideOptimisticInsert sessiondata.InternalExecutorOverride - ieOverrideInsert sessiondata.InternalExecutorOverride - ieOverrideDelete sessiondata.InternalExecutorOverride -} - -func (lww *lwwQuerier) AddTable(targetDescID int32, tc sqlProcessorTableConfig) error { - td := tc.srcDesc - var err error - lww.queryBuffer.insertQueries[td.GetID()], err = makeLWWInsertQueries(targetDescID, td) - if err != nil { - return err - } - lww.queryBuffer.deleteQueries[td.GetID()], err = makeLWWDeleteQuery(targetDescID, td) - if err != nil { - return err - } - return nil -} - -func (lww *lwwQuerier) RequiresParsedBeforeRow(catid.DescID) bool { - return false -} - -func (lww *lwwQuerier) InsertRow( - ctx context.Context, - txn isql.Txn, - ie isql.Executor, - row cdcevent.Row, - prevRow *cdcevent.Row, - likelyInsert bool, -) (batchStats, error) { - var kvTxn *kv.Txn - if txn != nil { - kvTxn = txn.KV() - } - insertQueryBuilder, err := lww.queryBuffer.InsertQueryForRow(row) - if err != nil { - return batchStats{}, err - } - if err := insertQueryBuilder.AddRow(row); err != nil { - return batchStats{}, err - } - - shouldTryOptimisticInsert := likelyInsert && tryOptimisticInsertEnabled.Get(&lww.settings.SV) - var optimisticInsertConflicts int64 - if shouldTryOptimisticInsert { - stmt, datums, err := insertQueryBuilder.Query(insertQueriesOptimisticIndex) - if err != nil { - return batchStats{}, err - } - if _, err = ie.ExecParsed(ctx, replicatedOptimisticInsertOpName, kvTxn, lww.ieOverrideOptimisticInsert, stmt, datums...); err != nil { - // If the optimistic insert failed with unique violation, we have to - // fall back to the pessimistic path. If we got a different error, - // then we bail completely. - if pgerror.GetPGCode(err) != pgcode.UniqueViolation { - log.Warningf(ctx, "replicated optimistic insert failed (query: %s): %s", stmt.SQL, err.Error()) - return batchStats{}, err - } - optimisticInsertConflicts++ - } else { - // There was no conflict - we're done. - return batchStats{}, nil - } - } - - stmt, datums, err := insertQueryBuilder.Query(insertQueriesPessimisticIndex) - if err != nil { - return batchStats{}, err - } - if _, err = ie.ExecParsed(ctx, replicatedInsertOpName, kvTxn, lww.ieOverrideInsert, stmt, datums...); err != nil { - log.Warningf(ctx, "replicated insert failed (query: %s): %s", stmt.SQL, err.Error()) - return batchStats{}, err - } - return batchStats{optimisticInsertConflicts: optimisticInsertConflicts}, nil -} - -func (lww *lwwQuerier) DeleteRow( - ctx context.Context, txn isql.Txn, ie isql.Executor, row cdcevent.Row, prevRow *cdcevent.Row, -) (batchStats, error) { - var kvTxn *kv.Txn - if txn != nil { - kvTxn = txn.KV() - } - deleteQuery, err := lww.queryBuffer.DeleteQueryForRow(row) - if err != nil { - return batchStats{}, err - } - - if err := deleteQuery.AddRow(row); err != nil { - return batchStats{}, err - } - - stmt, datums, err := deleteQuery.Query(defaultQuery) - if err != nil { - return batchStats{}, err - } - - if _, err := ie.ExecParsed(ctx, replicatedDeleteOpName, kvTxn, lww.ieOverrideDelete, stmt, datums...); err != nil { - log.Warningf(ctx, "replicated delete failed (query: %s): %s", stmt.SQL, err.Error()) - return batchStats{}, err - } - return batchStats{}, nil -} - -const ( - insertQueryOptimistic = `INSERT INTO [%d AS t] (%s) VALUES (%s)` - insertQueryPessimistic = ` -INSERT INTO [%d AS t] (%s) -VALUES (%s) -ON CONFLICT (%s) -DO UPDATE SET -%s -WHERE (t.crdb_internal_mvcc_timestamp <= excluded.crdb_replication_origin_timestamp - AND t.crdb_replication_origin_timestamp IS NULL) - OR (t.crdb_replication_origin_timestamp <= excluded.crdb_replication_origin_timestamp - AND t.crdb_replication_origin_timestamp IS NOT NULL)` -) - -func sqlEscapedJoin(parts []string, sep string) string { - switch len(parts) { - case 0: - return "" - case 1: - return lexbase.EscapeSQLIdent(parts[0]) - default: - var s strings.Builder - s.WriteString(lexbase.EscapeSQLIdent(parts[0])) - for _, p := range parts[1:] { - s.WriteString(sep) - s.WriteString(lexbase.EscapeSQLIdent(p)) - } - return s.String() - } -} - -func insertColumnNamesForFamily( - td catalog.TableDescriptor, family *descpb.ColumnFamilyDescriptor, includeComputed bool, -) ([]string, error) { - inputColumnNames := make([]string, 0) - seenIds := make(map[catid.ColumnID]struct{}) - publicColumns := td.PublicColumns() - colOrd := catalog.ColumnIDToOrdinalMap(publicColumns) - addColumn := func(colID catid.ColumnID) error { - ord, ok := colOrd.Get(colID) - if !ok { - return errors.AssertionFailedf("expected to find column %d", colID) - } - col := publicColumns[ord] - if col.IsComputed() && !includeComputed { - return nil - } - colName := col.GetName() - // We will set crdb_replication_origin_timestamp ourselves from the MVCC timestamp of the incoming datum. - // We should never see this on the rangefeed as a non-null value as that would imply we've looped data around. - if colName == originTimestampColumnName { - return nil - } - if _, seen := seenIds[colID]; seen { - return nil - } - if colName != originTimestampColumnName { - inputColumnNames = append(inputColumnNames, colName) - } - seenIds[colID] = struct{}{} - return nil - } - - primaryIndex := td.GetPrimaryIndex() - for i := 0; i < primaryIndex.NumKeyColumns(); i++ { - if err := addColumn(primaryIndex.GetKeyColumnID(i)); err != nil { - return nil, err - } - } - - for i := range family.ColumnNames { - if err := addColumn(family.ColumnIDs[i]); err != nil { - return nil, err - } - } - return inputColumnNames, nil -} - -func valueStringForNumItems(count int, startIndex int) string { - var valueString strings.Builder - for i := 0; i < count; i++ { - if i == 0 { - fmt.Fprintf(&valueString, "$%d", i+startIndex) - } else { - fmt.Fprintf(&valueString, ", $%d", i+startIndex) - } - - } - return valueString.String() -} - -func makeLWWInsertQueries( - dstTableDescID int32, td catalog.TableDescriptor, -) (map[catid.FamilyID]queryBuilder, error) { - queryBuilders := make(map[catid.FamilyID]queryBuilder, td.NumFamilies()) - if err := td.ForeachFamily(func(family *descpb.ColumnFamilyDescriptor) error { - var columnNames strings.Builder - var onConflictUpdateClause strings.Builder - argIdx := 1 - addColToQueryParts := func(colName string) { - colName = lexbase.EscapeSQLIdent(colName) - if argIdx == 1 { - columnNames.WriteString(colName) - fmt.Fprintf(&onConflictUpdateClause, "%s = excluded.%[1]s", colName) - } else { - fmt.Fprintf(&columnNames, ", %s", colName) - fmt.Fprintf(&onConflictUpdateClause, ",\n%s = excluded.%[1]s", colName) - } - argIdx++ - } - inputColumnNames, err := insertColumnNamesForFamily(td, family, false) - if err != nil { - return err - } - for _, name := range inputColumnNames { - addColToQueryParts(name) - } - - addColToQueryParts(originTimestampColumnName) - valStr := valueStringForNumItems(len(inputColumnNames)+1, 1) - parsedOptimisticQuery, err := parser.ParseOne(fmt.Sprintf(insertQueryOptimistic, - dstTableDescID, - columnNames.String(), - valStr, - )) - if err != nil { - return err - } - - parsedPessimisticQuery, err := parser.ParseOne(fmt.Sprintf(insertQueryPessimistic, - dstTableDescID, - columnNames.String(), - valStr, - sqlEscapedJoin(td.TableDesc().PrimaryIndex.KeyColumnNames, ","), - onConflictUpdateClause.String(), - )) - if err != nil { - return err - } - - queryBuilders[family.ID] = queryBuilder{ - stmts: []statements.Statement[tree.Statement]{ - parsedOptimisticQuery, - parsedPessimisticQuery, - }, - needsOriginTimestamp: true, - inputColumns: inputColumnNames, - scratchDatums: make([]interface{}, len(inputColumnNames)+1), - } - return err - }); err != nil { - return nil, err - } - return queryBuilders, nil -} - -func makeLWWDeleteQuery(dstTableDescID int32, td catalog.TableDescriptor) (queryBuilder, error) { - var whereClause strings.Builder - names := td.TableDesc().PrimaryIndex.KeyColumnNames - for i := range names { - colName := lexbase.EscapeSQLIdent(names[i]) - if i == 0 { - fmt.Fprintf(&whereClause, "%s = $%d", colName, i+1) - } else { - fmt.Fprintf(&whereClause, "AND %s = $%d", colName, i+1) - } - } - originTSIdx := len(names) + 1 - baseQuery := ` -DELETE FROM [%d as t] WHERE %s - AND ((t.crdb_internal_mvcc_timestamp < $%[3]d - AND t.crdb_replication_origin_timestamp IS NULL) - OR (t.crdb_replication_origin_timestamp < $%[3]d - AND t.crdb_replication_origin_timestamp IS NOT NULL))` - stmt, err := parser.ParseOne( - fmt.Sprintf(baseQuery, dstTableDescID, whereClause.String(), originTSIdx)) - if err != nil { - return queryBuilder{}, err - } - - return queryBuilder{ - stmts: []statements.Statement[tree.Statement]{stmt}, - inputColumns: names, - needsOriginTimestamp: true, - scratchDatums: make([]interface{}, len(names)+1), - }, nil -} diff --git a/pkg/ccl/crosscluster/logical/lww_row_processor_test.go b/pkg/ccl/crosscluster/logical/lww_row_processor_test.go deleted file mode 100644 index 4cc291658dbc..000000000000 --- a/pkg/ccl/crosscluster/logical/lww_row_processor_test.go +++ /dev/null @@ -1,490 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package logical - -import ( - "context" - "fmt" - "testing" - "time" - - "github.com/cockroachdb/cockroach/pkg/base" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationtestutils" - "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" - "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/sql" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/descpb" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/descs" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/desctestutils" - "github.com/cockroachdb/cockroach/pkg/sql/execinfra" - "github.com/cockroachdb/cockroach/pkg/sql/isql" - "github.com/cockroachdb/cockroach/pkg/sql/sem/eval" - "github.com/cockroachdb/cockroach/pkg/testutils" - "github.com/cockroachdb/cockroach/pkg/testutils/serverutils" - "github.com/cockroachdb/cockroach/pkg/testutils/sqlutils" - "github.com/cockroachdb/cockroach/pkg/util/hlc" - "github.com/cockroachdb/cockroach/pkg/util/leaktest" - "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/cockroach/pkg/util/timeutil" - "github.com/stretchr/testify/require" -) - -func TestLWWInsertQueryGeneration(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - ctx := context.Background() - - srv, sqlDB, _ := serverutils.StartServer(t, base.TestServerArgs{}) - defer srv.Stopper().Stop(ctx) - s := srv.ApplicationLayer() - - runner := sqlutils.MakeSQLRunner(sqlDB) - - type testCase struct { - name string - schemaTmpl string - row []interface{} - } - - testCases := []testCase{ - { - name: "column with special characters", - schemaTmpl: `CREATE TABLE %s (pk int primary key, "payload-col" string)`, - row: []interface{}{1, "hello"}, - }, - { - name: "primary constraint with special characters", - schemaTmpl: `CREATE TABLE %s (pk int, payload string, CONSTRAINT "primary-idx" PRIMARY KEY (pk ASC))`, - row: []interface{}{1, "hello"}, - }, - { - name: "multi-column primary key", - schemaTmpl: `CREATE TABLE %s (pk1 int, pk2 int, payload string, CONSTRAINT "primary-idx" PRIMARY KEY (pk1 ASC, pk2 ASC))`, - row: []interface{}{1, 1, "hello"}, - }, - } - - tableNumber := 0 - createTable := func(t *testing.T, stmt string) string { - tableName := fmt.Sprintf("tab%d", tableNumber) - runner.Exec(t, fmt.Sprintf(stmt, tableName)) - runner.Exec(t, fmt.Sprintf( - "ALTER TABLE %s "+lwwColumnAdd, - tableName)) - tableNumber++ - return tableName - } - - setup := func(t *testing.T, schemaTmpl string) (*sqlRowProcessor, func(...interface{}) roachpb.KeyValue) { - tableNameSrc := createTable(t, schemaTmpl) - tableNameDst := createTable(t, schemaTmpl) - srcDesc := desctestutils.TestingGetPublicTableDescriptor(s.DB(), s.Codec(), "defaultdb", tableNameSrc) - dstDesc := desctestutils.TestingGetPublicTableDescriptor(s.DB(), s.Codec(), "defaultdb", tableNameDst) - rp, err := makeSQLProcessor(ctx, s.ClusterSettings(), map[descpb.ID]sqlProcessorTableConfig{ - dstDesc.GetID(): { - srcDesc: srcDesc, - }, - }, jobspb.JobID(1), s.InternalExecutor().(isql.Executor)) - require.NoError(t, err) - return rp, func(datums ...interface{}) roachpb.KeyValue { - kv := replicationtestutils.EncodeKV(t, s.Codec(), srcDesc, datums...) - kv.Value.Timestamp = hlc.Timestamp{WallTime: timeutil.Now().UnixNano()} - return kv - } - } - - for _, tc := range testCases { - t.Run(fmt.Sprintf("%s/insert", tc.name), func(t *testing.T) { - runner.Exec(t, "SET CLUSTER SETTING logical_replication.consumer.try_optimistic_insert.enabled=true") - defer runner.Exec(t, "RESET CLUSTER SETTING logical_replication.consumer.try_optimistic_insert.enabled") - rp, encoder := setup(t, tc.schemaTmpl) - keyValue := encoder(tc.row...) - require.NoError(t, s.InternalDB().(isql.DB).Txn(ctx, func(ctx context.Context, txn isql.Txn) error { - _, err := rp.ProcessRow(ctx, txn, keyValue, roachpb.Value{}) - return err - })) - }) - t.Run(fmt.Sprintf("%s/insert-without-optimistic-insert", tc.name), func(t *testing.T) { - runner.Exec(t, "SET CLUSTER SETTING logical_replication.consumer.try_optimistic_insert.enabled=false") - defer runner.Exec(t, "RESET CLUSTER SETTING logical_replication.consumer.try_optimistic_insert.enabled") - rp, encoder := setup(t, tc.schemaTmpl) - keyValue := encoder(tc.row...) - require.NoError(t, s.InternalDB().(isql.DB).Txn(ctx, func(ctx context.Context, txn isql.Txn) error { - _, err := rp.ProcessRow(ctx, txn, keyValue, roachpb.Value{}) - return err - })) - }) - t.Run(fmt.Sprintf("%s/delete", tc.name), func(t *testing.T) { - rp, encoder := setup(t, tc.schemaTmpl) - keyValue := encoder(tc.row...) - keyValue.Value.RawBytes = nil - require.NoError(t, s.InternalDB().(isql.DB).Txn(ctx, func(ctx context.Context, txn isql.Txn) error { - _, err := rp.ProcessRow(ctx, txn, keyValue, roachpb.Value{}) - return err - })) - }) - } -} - -func BenchmarkLWWInsertBatch(b *testing.B) { - defer leaktest.AfterTest(b)() - defer log.Scope(b).Close(b) - - ctx := context.Background() - srv, sqlDB, kvDB := serverutils.StartServer(b, base.TestServerArgs{ - DefaultTestTenant: base.TestControlsTenantsExplicitly, - }) - defer srv.Stopper().Stop(ctx) - s := srv.ApplicationLayer() - - // batchSize determines the number of INSERTs within a single iteration of - // the benchmark. - batchSize := int(flushBatchSize.Get(&s.ClusterSettings().SV)) - - runner := sqlutils.MakeSQLRunner(sqlDB) - tableName := "tab" - runner.Exec(b, "CREATE TABLE tab (pk INT PRIMARY KEY, payload STRING)") - runner.Exec(b, "ALTER TABLE tab "+lwwColumnAdd) - - desc := desctestutils.TestingGetPublicTableDescriptor(kvDB, s.Codec(), "defaultdb", tableName) - // Simulate how we set up the row processor on the main code path. - sd := sql.NewInternalSessionData(ctx, s.ClusterSettings(), "" /* opName */) - rp, err := makeSQLProcessor(ctx, s.ClusterSettings(), map[descpb.ID]sqlProcessorTableConfig{ - desc.GetID(): { - srcDesc: desc, - }, - }, jobspb.JobID(1), s.InternalDB().(isql.DB).Executor(isql.WithSessionData(sd))) - require.NoError(b, err) - - // In some configs, we'll be simulating processing the same INSERT over and - // over in the loop. - sameKV := replicationtestutils.EncodeKV(b, s.Codec(), desc, 1, "hello") - sameKV.Value.Timestamp = hlc.Timestamp{WallTime: timeutil.Now().UnixNano()} - advanceTS := func(keyValue roachpb.KeyValue) roachpb.KeyValue { - keyValue.Value.Timestamp.WallTime += 1 - return keyValue - } - // In other configs, we'll be simulating an INSERT with a constantly - // increasing PK. To make generation of the key easier, we start out with a - // value that needs 4 bytes when encoded. As a result, we'll have about 2^24 - // values before getting into "5-bytes-encoded integers" land. - getDifferentKV := func() roachpb.KeyValue { - differentKV := replicationtestutils.EncodeKV(b, s.Codec(), desc, 0xffff+1, "hello") - differentKV.Value.Timestamp = hlc.Timestamp{WallTime: timeutil.Now().UnixNano()} - return differentKV - } - // advanceKeyAndTS assumes that it works on the KVs that started with the - // one returned by getDifferentKV. - advanceKeyAndTS := func(keyValue roachpb.KeyValue) roachpb.KeyValue { - // Key is of the form - // []byte{240, 137, 248, 1, 0, 0, 136} - // where: - // - first two bytes are TableID / IndexID pair - // - third byte is integer marker for using 4 bytes total - // - fourth through sixth bytes indicate the integer value - // - seventh byte is the column family marker. - // In order to advance the key, we need to increment sixth byte with a - // carryover into fifth and possibly fourth. - keyValue.Key[5]++ - if keyValue.Key[5] == 0 { - keyValue.Key[4]++ - if keyValue.Key[4] == 0 { - keyValue.Key[3]++ - } - } - keyValue.Value.Timestamp.WallTime += 1 - return keyValue - } - // The contents of prevValue don't matter as long as RawBytes is non-nil. - prevValue := roachpb.Value{RawBytes: make([]byte, 1)} - for _, tc := range []struct { - name string - implicitTxn bool - // keyValue specifies the KV used on the first ProcessRow call. - keyValue roachpb.KeyValue - // afterEachRow will be invoked after each ProcessRow call. It should be - // a quick function that takes the KV used on a previous call and - // returns the KV for the next one. - afterEachRow func(roachpb.KeyValue) roachpb.KeyValue - // prevValue will be passed to ProcessRow. - prevValue roachpb.Value - }{ - // A set of configs that repeatedly processes the same KV resulting in - // a conflict. - { - name: "conflict/implicit/noPrevValue", - implicitTxn: true, - keyValue: sameKV, - afterEachRow: advanceTS, - }, - { - name: "conflict/implicit/withPrevValue", - implicitTxn: true, - keyValue: sameKV, - afterEachRow: advanceTS, - prevValue: prevValue, - }, - { - name: "conflict/explicit/noPrevValue", - keyValue: sameKV, - afterEachRow: advanceTS, - }, - { - name: "conflict/explicit/withPrevValue", - keyValue: sameKV, - afterEachRow: advanceTS, - prevValue: prevValue, - }, - // A set of configs that processes a new KV on each iteration resulting - // in a non-conflicting write. - { - name: "noConflict/implicit/noPrevValue", - implicitTxn: true, - keyValue: getDifferentKV(), - afterEachRow: advanceKeyAndTS, - }, - { - name: "noConflict/implicit/withPrevValue", - implicitTxn: true, - keyValue: getDifferentKV(), - afterEachRow: advanceKeyAndTS, - prevValue: prevValue, - }, - { - name: "noConflict/explicit/noPrevValue", - keyValue: getDifferentKV(), - afterEachRow: advanceKeyAndTS, - }, - { - name: "noConflict/explicit/withPrevValue", - keyValue: getDifferentKV(), - afterEachRow: advanceKeyAndTS, - prevValue: prevValue, - }, - } { - b.Run(tc.name, func(b *testing.B) { - // Ensure that any previous writes are deleted. - runner.Exec(b, "DELETE FROM tab WHERE true") - b.ResetTimer() - b.ReportAllocs() - var lastRowErr error - keyValue := tc.keyValue - if tc.implicitTxn { - OUTER: - for i := 0; i < b.N; i++ { - for j := 0; j < batchSize; j++ { - _, lastRowErr = rp.ProcessRow(ctx, nil /* txn */, keyValue, tc.prevValue) - if lastRowErr != nil { - break OUTER - } - keyValue = tc.afterEachRow(keyValue) - } - } - } else { - var lastTxnErr error - for i := 0; i < b.N; i++ { - lastTxnErr = s.InternalDB().(isql.DB).Txn(ctx, func(ctx context.Context, txn isql.Txn) error { - for j := 0; j < batchSize; j++ { - _, lastRowErr = rp.ProcessRow(ctx, txn, keyValue, tc.prevValue) - if lastRowErr != nil { - return lastRowErr - } - keyValue = tc.afterEachRow(keyValue) - } - return nil - }, isql.WithSessionData(sd)) - } - require.NoError(b, lastTxnErr) - } - require.NoError(b, lastRowErr) - }) - } -} - -// TestLWWConflictResolution tests how write conflicts are handled under the default -// last write wins mode. -func TestLWWConflictResolution(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - ctx := context.Background() - - srv, sqlDB, _ := serverutils.StartServer(t, base.TestServerArgs{}) - defer srv.Stopper().Stop(ctx) - s := srv.ApplicationLayer() - - runner := sqlutils.MakeSQLRunner(sqlDB) - - // Create new tables for each test to prevent conflicts between tests - tableNumber := 0 - createTable := func(t *testing.T) string { - tableName := fmt.Sprintf("tab%d", tableNumber) - runner.Exec(t, fmt.Sprintf(`CREATE TABLE %s (pk int primary key, payload string)`, tableName)) - runner.Exec(t, fmt.Sprintf( - "ALTER TABLE %s "+lwwColumnAdd, - tableName)) - tableNumber++ - return tableName - } - - // The encoderFn takes an origin timestamp and a row and converts into a Key-Value format that - // can be ingested by the RowProcessor - type encoderFn func(originTimestamp hlc.Timestamp, datums ...interface{}) roachpb.KeyValue - - setup := func(t *testing.T, useKVProc bool) (string, RowProcessor, encoderFn) { - tableNameSrc := createTable(t) - tableNameDst := createTable(t) - srcDesc := desctestutils.TestingGetPublicTableDescriptor(s.DB(), s.Codec(), "defaultdb", tableNameSrc) - dstDesc := desctestutils.TestingGetPublicTableDescriptor(s.DB(), s.Codec(), "defaultdb", tableNameDst) - - // We need the SQL row processor even when testing the KW row processor since it's the fallback - var rp RowProcessor - rp, err := makeSQLProcessor(ctx, s.ClusterSettings(), map[descpb.ID]sqlProcessorTableConfig{ - dstDesc.GetID(): { - srcDesc: srcDesc, - }, - }, jobspb.JobID(1), s.InternalExecutor().(isql.Executor)) - require.NoError(t, err) - - if useKVProc { - rp, err = newKVRowProcessor(ctx, - &execinfra.ServerConfig{ - DB: s.InternalDB().(descs.DB), - LeaseManager: s.LeaseManager(), - }, &eval.Context{ - Codec: s.Codec(), - Settings: s.ClusterSettings(), - }, map[descpb.ID]sqlProcessorTableConfig{ - dstDesc.GetID(): { - srcDesc: srcDesc, - }, - }, - rp.(*sqlRowProcessor)) - require.NoError(t, err) - } - return tableNameDst, rp, func(originTimestamp hlc.Timestamp, datums ...interface{}) roachpb.KeyValue { - kv := replicationtestutils.EncodeKV(t, s.Codec(), srcDesc, datums...) - kv.Value.Timestamp = originTimestamp - return kv - } - } - - insertRow := func(rp RowProcessor, keyValue roachpb.KeyValue, prevValue roachpb.Value) error { - return s.InternalDB().(isql.DB).Txn(ctx, func(ctx context.Context, txn isql.Txn) error { - _, err := rp.ProcessRow(ctx, txn, keyValue, prevValue) - return err - }) - } - - timeNow := hlc.Timestamp{WallTime: timeutil.Now().UnixNano()} - timeNowPlusOne := hlc.Timestamp{WallTime: timeutil.Now().Add(time.Microsecond).UnixNano()} - timeOneDayForward := hlc.Timestamp{WallTime: timeutil.Now().Add(time.Hour * 24).UnixNano()} - timeOneDayBackward := hlc.Timestamp{WallTime: timeutil.Now().Add(time.Hour * -24).UnixNano()} - row1 := []interface{}{1, "row1"} - row2 := []interface{}{1, "row2"} - row3 := []interface{}{1, "row3"} - - // Run with both the SQL row processor and the KV row processor. Note that currently, - // KV row proc write conflicts result in a fallback to the SQL row processor. - testutils.RunTrueAndFalse(t, "useKVProc", func(t *testing.T, useKVProc bool) { - // All of those combinations are tested with both optimistic inserts and standard inserts. - testutils.RunTrueAndFalse(t, "optimistic_insert", func(t *testing.T, optimisticInsert bool) { - runner.Exec(t, fmt.Sprintf("SET CLUSTER SETTING logical_replication.consumer.try_optimistic_insert.enabled=%t", optimisticInsert)) - - // Write to both the remote and the local table and see how conflicts are handled - // When a remote insert conflicts with a local write, the mvcc timestamp of the remote - // write is compared with the mvcc timestamp of the local write - t.Run("cross-cluster-insert", func(t *testing.T) { - tableNameDst, rp, encoder := setup(t, useKVProc) - - runner.Exec(t, fmt.Sprintf("INSERT INTO %s VALUES ($1, $2)", tableNameDst), row1...) - - keyValue2 := encoder(timeOneDayBackward, row2...) - require.NoError(t, insertRow(rp, keyValue2, roachpb.Value{})) - - expectedRows := [][]string{ - {"1", "row1"}, - } - runner.CheckQueryResults(t, fmt.Sprintf("SELECT * from %s", tableNameDst), expectedRows) - - keyValue3 := encoder(timeOneDayForward, row2...) - require.NoError(t, insertRow(rp, keyValue3, keyValue2.Value)) - - expectedRows = [][]string{ - {"1", "row2"}, - } - runner.CheckQueryResults(t, fmt.Sprintf("SELECT * from %s", tableNameDst), expectedRows) - }) - - // Receive multiple updates remotely and handle conflicts between them. When a row is received, - // its mvcc timestamp is compared against the local value of crdb_replication_origin_timestamp - t.Run("remote-update", func(t *testing.T) { - tableNameDst, rp, encoder := setup(t, useKVProc) - - keyValue1 := encoder(timeNow, row1...) - require.NoError(t, insertRow(rp, keyValue1, roachpb.Value{})) - - keyValue2 := encoder(timeOneDayForward, row2...) - require.NoError(t, insertRow(rp, keyValue2, keyValue1.Value)) - - expectedRows := [][]string{ - {"1", "row2"}, - } - runner.CheckQueryResults(t, fmt.Sprintf("SELECT * from %s", tableNameDst), expectedRows) - - // Simulate a rangefeed retransmission by sending the older row again - require.NoError(t, insertRow(rp, keyValue1, roachpb.Value{})) - runner.CheckQueryResults(t, fmt.Sprintf("SELECT * from %s", tableNameDst), expectedRows) - - // Validate that the remote timestamp is used to handle the conflict between two remote rows. - // Try to add a row with a slightly higher MVCC timestamp than any currently in the table, however - // this value will still be lower than crdb_replication_origin_timestamp for row2 and row2 should persist - var maxMVCC float64 - runner.QueryRow(t, fmt.Sprintf("SELECT max(crdb_internal_mvcc_timestamp) FROM %s", tableNameDst)).Scan(&maxMVCC) - - keyValue3 := encoder(hlc.Timestamp{WallTime: int64(maxMVCC) + 1}, row3...) - require.NoError(t, insertRow(rp, keyValue3, keyValue2.Value)) - expectedRows = [][]string{ - {"1", "row2"}, - } - runner.CheckQueryResults(t, fmt.Sprintf("SELECT * from %s", tableNameDst), expectedRows) - }) - - // From the perspective of the row processor, once the first row is processed, the next incoming event from the - // remote rangefeed should have a "previous row" that matches the row currently in the local table. If writes on - // the local and remote table occur too close together, both tables will attempt to propagate to the other, and - //the winner of the conflict will depend on the MVCC timestamp just like the cross cluster write scenario - t.Run("outdated-write-conflict", func(t *testing.T) { - tableNameDst, rp, encoder := setup(t, useKVProc) - - keyValue1 := encoder(timeNow, row1...) - require.NoError(t, insertRow(rp, keyValue1, roachpb.Value{})) - - runner.Exec(t, fmt.Sprintf("UPSERT INTO %s VALUES ($1, $2)", tableNameDst), row2...) - - // The remote cluster sends another write, but the local write wins the conflict - keyValue1QuickUpdate := encoder(timeNowPlusOne, row3...) - require.NoError(t, insertRow(rp, keyValue1QuickUpdate, keyValue1.Value)) - - expectedRows := [][]string{ - {"1", "row2"}, - } - runner.CheckQueryResults(t, fmt.Sprintf("SELECT * from %s", tableNameDst), expectedRows) - - // This time the remote write should win the conflict - keyValue3 := encoder(timeOneDayForward, row3...) - require.NoError(t, insertRow(rp, keyValue3, keyValue1QuickUpdate.Value)) - - expectedRows = [][]string{ - {"1", "row3"}, - } - runner.CheckQueryResults(t, fmt.Sprintf("SELECT * from %s", tableNameDst), expectedRows) - }) - }) - }) -} diff --git a/pkg/ccl/crosscluster/logical/metrics.go b/pkg/ccl/crosscluster/logical/metrics.go deleted file mode 100644 index f964dd2b8bc9..000000000000 --- a/pkg/ccl/crosscluster/logical/metrics.go +++ /dev/null @@ -1,253 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package logical - -import ( - "time" - - "github.com/cockroachdb/cockroach/pkg/util/metric" -) - -var ( - // Top-line metrics. - metaAppliedRowUpdates = metric.Metadata{ - Name: "logical_replication.events_ingested", - Help: "Events ingested by all replication jobs", - Measurement: "Events", - Unit: metric.Unit_COUNT, - } - metaDLQedRowUpdates = metric.Metadata{ - Name: "logical_replication.events_dlqed", - Help: "Row update events sent to DLQ", - Measurement: "Failures", - Unit: metric.Unit_COUNT, - } - metaReceivedLogicalBytes = metric.Metadata{ - Name: "logical_replication.logical_bytes", - Help: "Logical bytes (sum of keys + values) received by all replication jobs", - Measurement: "Bytes", - Unit: metric.Unit_BYTES, - } - metaCommitToCommitLatency = metric.Metadata{ - Name: "logical_replication.commit_latency", - Help: "Event commit latency: a difference between event MVCC timestamp " + - "and the time it was flushed into disk. If we batch events, then the difference " + - "between the oldest event in the batch and flush is recorded", - Measurement: "Nanoseconds", - Unit: metric.Unit_NANOSECONDS, - } - metaReplicatedTimeSeconds = metric.Metadata{ - Name: "logical_replication.replicated_time_seconds", - Help: "The replicated time of the logical replication stream in seconds since the unix epoch.", - Measurement: "Seconds", - Unit: metric.Unit_SECONDS, - } - - // User-visible health and ops metrics. - metaRetryQueueBytes = metric.Metadata{ - Name: "logical_replication.retry_queue_bytes", - Help: "The replicated time of the logical replication stream in seconds since the unix epoch.", - Measurement: "Bytes", - Unit: metric.Unit_BYTES, - } - metaRetryQueueEvents = metric.Metadata{ - Name: "logical_replication.retry_queue_events", - Help: "The replicated time of the logical replication stream in seconds since the unix epoch.", - Measurement: "Events", - Unit: metric.Unit_COUNT, - } - metaApplyBatchNanosHist = metric.Metadata{ - Name: "logical_replication.batch_hist_nanos", - Help: "Time spent flushing a batch", - Measurement: "Nanoseconds", - Unit: metric.Unit_NANOSECONDS, - } - metaInitialApplySuccess = metric.Metadata{ - Name: "logical_replication.events_initial_success", - Help: "Successful applications of an incoming row update", - Measurement: "Failures", - Unit: metric.Unit_COUNT, - } - metaInitialApplyFailures = metric.Metadata{ - Name: "logical_replication.events_initial_failure", - Help: "Failed attempts to apply an incoming row update", - Measurement: "Failures", - Unit: metric.Unit_COUNT, - } - metaRetriedApplySuccesses = metric.Metadata{ - Name: "logical_replication.events_retry_success", - Help: "Row update events applied after one or more retries", - Measurement: "Failures", - Unit: metric.Unit_COUNT, - } - metaRetriedApplyFailures = metric.Metadata{ - Name: "logical_replication.events_retry_failure", - Help: "Failed re-attempts to apply a row update", - Measurement: "Failures", - Unit: metric.Unit_COUNT, - } - - metaDLQedDueToAge = metric.Metadata{ - Name: "logical_replication.events_dlqed_age", - Help: "Row update events sent to DLQ due to reaching the maximum time allowed in the retry queue", - Measurement: "Failures", - Unit: metric.Unit_COUNT, - } - metaDLQedDueToQueueSpace = metric.Metadata{ - Name: "logical_replication.events_dlqed_space", - Help: "Row update events sent to DLQ due to capacity of the retry queue", - Measurement: "Failures", - Unit: metric.Unit_COUNT, - } - metaDLQedDueToErrType = metric.Metadata{ - Name: "logical_replication.events_dlqed_errtype", - Help: "Row update events sent to DLQ due to an error not considered retryable", - Measurement: "Failures", - Unit: metric.Unit_COUNT, - } - - // Internal metrics. - metaCheckpointEvents = metric.Metadata{ - Name: "logical_replication.checkpoint_events_ingested", - Help: "Checkpoint events ingested by all replication jobs", - Measurement: "Events", - Unit: metric.Unit_COUNT, - } - metaStreamBatchRowsHist = metric.Metadata{ - Name: "logical_replication.flush_row_count", - Help: "Number of rows in a given flush", - Measurement: "Rows", - Unit: metric.Unit_COUNT, - } - metaStreamBatchBytesHist = metric.Metadata{ - Name: "logical_replication.flush_bytes", - Help: "Number of bytes in a given flush", - Measurement: "Logical bytes", - Unit: metric.Unit_BYTES, - } - metaStreamBatchNanosHist = metric.Metadata{ - Name: "logical_replication.flush_hist_nanos", - Help: "Time spent flushing messages across all replication streams", - Measurement: "Nanoseconds", - Unit: metric.Unit_NANOSECONDS, - } - metaOptimisticInsertConflictCount = metric.Metadata{ - Name: "logical_replication.optimistic_insert_conflict_count", - Help: "Total number of times the optimistic insert encountered a conflict", - Measurement: "Events", - Unit: metric.Unit_COUNT, - } - metaKVWriteFallbackCount = metric.Metadata{ - Name: "logical_replication.kv_write_fallback_count", - Help: "Total number of times the kv write path could not handle a row update and fell back to SQL instead", - Measurement: "Events", - Unit: metric.Unit_COUNT, - } - metaDistSQLReplanCount = metric.Metadata{ - Name: "logical_replication.replan_count", - Help: "Total number of dist sql replanning events", - Measurement: "Events", - Unit: metric.Unit_COUNT, - } -) - -// Metrics are for production monitoring of logical replication jobs. -type Metrics struct { - // Top-line user-facing numbers that how many events and how much data are - // bring moved and applied/rejected/etc. - AppliedRowUpdates *metric.Counter - DLQedRowUpdates *metric.Counter - ReceivedLogicalBytes *metric.Counter - CommitToCommitLatency metric.IHistogram - ReplicatedTimeSeconds *metric.Gauge - - // User-surfaced information about the health/operation of the stream; this - // should be a narrow subset of numbers that are actually relevant to a user - // such as the latency of application as that could be their supplied UDF. - RetryQueueBytes *metric.Gauge - RetryQueueEvents *metric.Gauge - ApplyBatchNanosHist metric.IHistogram - - DLQedDueToAge *metric.Counter - DLQedDueToQueueSpace *metric.Counter - DLQedDueToErrType *metric.Counter - - InitialApplySuccesses *metric.Counter - InitialApplyFailures *metric.Counter - RetriedApplySuccesses *metric.Counter - RetriedApplyFailures *metric.Counter - - // Internal numbers that are useful for determining why a stream is behaving - // a specific way. - CheckpointEvents *metric.Counter - // TODO(dt): are these stream batch size or latency numbers useful? - StreamBatchRowsHist metric.IHistogram - StreamBatchBytesHist metric.IHistogram - StreamBatchNanosHist metric.IHistogram - OptimisticInsertConflictCount *metric.Counter - KVWriteFallbackCount *metric.Counter - ReplanCount *metric.Counter -} - -// MetricStruct implements the metric.Struct interface. -func (*Metrics) MetricStruct() {} - -// MakeMetrics makes the metrics for logical replication job monitoring. -func MakeMetrics(histogramWindow time.Duration) metric.Struct { - return &Metrics{ - AppliedRowUpdates: metric.NewCounter(metaAppliedRowUpdates), - DLQedRowUpdates: metric.NewCounter(metaDLQedRowUpdates), - ReceivedLogicalBytes: metric.NewCounter(metaReceivedLogicalBytes), - CommitToCommitLatency: metric.NewHistogram(metric.HistogramOptions{ - Mode: metric.HistogramModePrometheus, - Metadata: metaCommitToCommitLatency, - Duration: histogramWindow, - BucketConfig: metric.LongRunning60mLatencyBuckets, - }), - ReplicatedTimeSeconds: metric.NewGauge(metaReplicatedTimeSeconds), - ApplyBatchNanosHist: metric.NewHistogram(metric.HistogramOptions{ - Mode: metric.HistogramModePrometheus, - Metadata: metaApplyBatchNanosHist, - Duration: histogramWindow, - BucketConfig: metric.IOLatencyBuckets, - }), - RetryQueueBytes: metric.NewGauge(metaRetryQueueBytes), - RetryQueueEvents: metric.NewGauge(metaRetryQueueEvents), - DLQedDueToAge: metric.NewCounter(metaDLQedDueToAge), - DLQedDueToQueueSpace: metric.NewCounter(metaDLQedDueToQueueSpace), - DLQedDueToErrType: metric.NewCounter(metaDLQedDueToErrType), - - InitialApplySuccesses: metric.NewCounter(metaInitialApplySuccess), - InitialApplyFailures: metric.NewCounter(metaInitialApplyFailures), - RetriedApplySuccesses: metric.NewCounter(metaRetriedApplySuccesses), - RetriedApplyFailures: metric.NewCounter(metaRetriedApplyFailures), - CheckpointEvents: metric.NewCounter(metaCheckpointEvents), - StreamBatchRowsHist: metric.NewHistogram(metric.HistogramOptions{ - Mode: metric.HistogramModePrometheus, - Metadata: metaStreamBatchRowsHist, - Duration: histogramWindow, - BucketConfig: metric.DataCount16MBuckets, - }), - StreamBatchBytesHist: metric.NewHistogram(metric.HistogramOptions{ - Mode: metric.HistogramModePrometheus, - Metadata: metaStreamBatchBytesHist, - Duration: histogramWindow, - BucketConfig: metric.MemoryUsage64MBBuckets, - }), - StreamBatchNanosHist: metric.NewHistogram(metric.HistogramOptions{ - Mode: metric.HistogramModePrometheus, - Metadata: metaStreamBatchNanosHist, - Duration: histogramWindow, - BucketConfig: metric.IOLatencyBuckets, - }), - OptimisticInsertConflictCount: metric.NewCounter(metaOptimisticInsertConflictCount), - KVWriteFallbackCount: metric.NewCounter(metaKVWriteFallbackCount), - ReplanCount: metric.NewCounter(metaDistSQLReplanCount), - } -} diff --git a/pkg/ccl/crosscluster/logical/purgatory.go b/pkg/ccl/crosscluster/logical/purgatory.go deleted file mode 100644 index 4b992dd96f92..000000000000 --- a/pkg/ccl/crosscluster/logical/purgatory.go +++ /dev/null @@ -1,171 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package logical - -import ( - "context" - "time" - - "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" - "github.com/cockroachdb/cockroach/pkg/repstream/streampb" - "github.com/cockroachdb/cockroach/pkg/settings" - "github.com/cockroachdb/cockroach/pkg/util/metric" - "github.com/cockroachdb/cockroach/pkg/util/timeutil" -) - -var retryQueueAgeLimit = settings.RegisterDurationSetting( - settings.ApplicationLevel, - "logical_replication.consumer.retry_queue_duration", - "maximum time an incoming update can be retried before it is sent to the DLQ", - time.Minute, -) - -var retryQueueBackoff = settings.RegisterDurationSetting( - settings.ApplicationLevel, - "logical_replication.consumer.retry_queue_backoff", - "minimum delay between retries of items in the retry queue", - time.Second*3, -) - -var retryQueueSizeLimit = settings.RegisterByteSizeSetting( - settings.ApplicationLevel, - "logical_replication.consumer.retry_queue_partition_size_limit", - "total byte size of all retry queues for all replication streams after which events must be sent to DLQ on failure to apply", - 16<<20, -) - -// purgatory is an ordered list of purgatory levels, each consisting of some -// number of events that need to be durably processed to finish that level and -// an optional checkpoint that can be applied when it is fully processed. If -// purgatory is non-empty, incoming checkpoints must go to purgatory instead -// of being emitted, and will be emitted when the purgatory level is processed -// instead. -type purgatory struct { - // configuration provided at construction. - delay func() time.Duration // delay to wait between attempts of a level. - deadline func() time.Duration // age of a level after which drain is mandatory. - byteLimit func() int64 - flush func(context.Context, []streampb.StreamEvent_KV, bool, retryEligibility) ([]streampb.StreamEvent_KV, int64, error) - checkpoint func(context.Context, []jobspb.ResolvedSpan) error - - // internally managed state. - bytes int64 - levels []purgatoryLevel - eventsGauge, bytesGauge *metric.Gauge -} - -type purgatoryLevel struct { - bytes int64 - events []streampb.StreamEvent_KV - willResolve []jobspb.ResolvedSpan - closedAt, lastAttempted time.Time -} - -func (p *purgatory) Checkpoint(ctx context.Context, checkpoint []jobspb.ResolvedSpan) { - if len(p.levels) == 0 || p.levels[len(p.levels)-1].willResolve != nil { - // If the current purgatory level is already closed, make a new one. - p.levels = append(p.levels, purgatoryLevel{}) - } - // Close the current layer and mark it as resolving this checkpoint. - p.levels[len(p.levels)-1].willResolve = checkpoint - p.levels[len(p.levels)-1].closedAt = timeutil.Now() -} - -func (p *purgatory) Store( - ctx context.Context, events []streampb.StreamEvent_KV, byteSize int64, -) error { - if len(events) == 0 { - return nil - } - - if p.full() { - if err := p.Drain(ctx); err != nil { - return err - } - } - - p.levels = append(p.levels, purgatoryLevel{events: events, bytes: byteSize}) - p.levels[len(p.levels)-1].closedAt = timeutil.Now() - p.bytes += byteSize - p.bytesGauge.Inc(byteSize) - p.eventsGauge.Inc(int64(len(events))) - return nil -} - -func (p *purgatory) Drain(ctx context.Context) error { - var resolved int - - for i, lvl := range p.levels { - // If we need to make space, or if the events have been in purgatory for too - // long, we will tell flush that it *must* process events. - allowRetry := retryAllowed - if p.full() { - allowRetry = noSpace - } else if p.deadline != nil && !lvl.closedAt.IsZero() && timeutil.Since(lvl.closedAt) > p.deadline() { - allowRetry = tooOld - } - - // If tried to flush this purgatory recently and it isn't required to flush - // now, wait a until next time to try again. - if p.delay != nil && allowRetry == retryAllowed && timeutil.Since(lvl.lastAttempted) < p.delay() { - break - } - p.levels[i].lastAttempted = timeutil.Now() - - const isRetry = true - levelBytes, levelCount := p.levels[i].bytes, len(p.levels[i].events) - remaining, remainingSize, err := p.flush(ctx, p.levels[i].events, isRetry, allowRetry) - if err != nil { - return err - } - if len(remaining) > 0 { - p.levels[i].events, p.levels[i].bytes = remaining, remainingSize - p.bytes -= levelBytes - p.levels[i].bytes - } else { - p.levels[i].events, p.levels[i].bytes = nil, 0 - p.bytes -= levelBytes - } - - p.bytesGauge.Dec(levelBytes - p.levels[i].bytes) - p.eventsGauge.Dec(int64(levelCount - len(remaining))) - - // If we have resolved every prior level and all events in this level were - // handled, we can resolve this level and emit its checkpoint, if any. - if resolved == i && len(remaining) == 0 { - resolved++ - if p.levels[i].willResolve != nil { - if err := p.checkpoint(ctx, p.levels[i].willResolve); err != nil { - return err - } - } - } - } - - // Remove all levels that were resolved. - p.levels = p.levels[resolved:] - return nil -} - -func (p purgatory) Empty() bool { - return len(p.levels) == 0 -} - -func (p *purgatory) full() bool { - if p.byteLimit == nil || p.bytesGauge == nil { - return false - } - return p.bytesGauge.Value() >= p.byteLimit() -} - -func (p *purgatory) Enabled() retryEligibility { - if p != nil && p.byteLimit != nil && p.byteLimit() != 0 { - return retryAllowed - } - return noSpace -} diff --git a/pkg/ccl/crosscluster/logical/purgatory_test.go b/pkg/ccl/crosscluster/logical/purgatory_test.go deleted file mode 100644 index 820e49d249b5..000000000000 --- a/pkg/ccl/crosscluster/logical/purgatory_test.go +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package logical - -import ( - "context" - "testing" - "time" - - "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" - "github.com/cockroachdb/cockroach/pkg/repstream/streampb" - "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/util/hlc" - "github.com/cockroachdb/cockroach/pkg/util/leaktest" - "github.com/cockroachdb/cockroach/pkg/util/metric" - "github.com/stretchr/testify/require" -) - -func skv(k string) streampb.StreamEvent_KV { - return streampb.StreamEvent_KV{KeyValue: roachpb.KeyValue{Key: roachpb.Key(k)}} -} - -func ts(i int64) []jobspb.ResolvedSpan { - return []jobspb.ResolvedSpan{{Timestamp: hlc.Timestamp{WallTime: i}}} -} - -func TestPurgatory(t *testing.T) { - defer leaktest.AfterTest(t)() - ctx := context.Background() - - var flushed, resolved int - p := &purgatory{ - byteLimit: func() int64 { return 5 << 20 }, - delay: func() time.Duration { return 0 }, - deadline: func() time.Duration { return 0 }, - bytesGauge: metric.NewGauge(metric.Metadata{}), - eventsGauge: metric.NewGauge(metric.Metadata{}), - flush: func( - _ context.Context, ev []streampb.StreamEvent_KV, _ bool, _ retryEligibility, - ) ([]streampb.StreamEvent_KV, int64, error) { - var unappliedBytes int64 - for i := range ev { - if i%2 == 0 { - flushed++ - t.Logf("flush %s", ev[i].KeyValue.Key) - ev[i] = streampb.StreamEvent_KV{} - } else { - unappliedBytes += int64(ev[i].Size()) - } - } - return filterRemaining(ev), unappliedBytes, nil - }, - checkpoint: func(_ context.Context, sp []jobspb.ResolvedSpan) error { - resolved = int(sp[0].Timestamp.WallTime) - return nil - }, - } - - sz := int64((&streampb.StreamEvent_KV{KeyValue: roachpb.KeyValue{Key: roachpb.Key("a")}}).Size()) - t.Logf("size of one kv: %d", sz) - // Adding events makes it non-empty. - require.True(t, p.Empty()) - require.NoError(t, p.Store(ctx, []streampb.StreamEvent_KV{skv("a"), skv("b")}, sz*2)) - require.Equal(t, sz*2, p.bytes) - require.NoError(t, p.Store(ctx, []streampb.StreamEvent_KV{skv("c"), skv("d")}, sz*2)) - require.Equal(t, sz*4, p.bytes) - p.Checkpoint(ctx, ts(1)) - - require.NoError(t, p.Store(ctx, []streampb.StreamEvent_KV{skv("e"), skv("f"), skv("g"), skv("h")}, sz*4)) - require.Equal(t, int64(8), p.eventsGauge.Value()) - require.Equal(t, sz*8, p.bytes) - p.Checkpoint(ctx, ts(2)) - - require.NoError(t, p.Store(ctx, []streampb.StreamEvent_KV{skv("x")}, sz*1)) - require.False(t, p.Empty()) - require.Equal(t, 4, len(p.levels)) - require.Equal(t, sz*9, p.bytes) - require.Equal(t, sz*9, p.bytesGauge.Value()) - - // Nothing has drained yet, so no movement in flushed or resolved. - require.Equal(t, 0, flushed) - require.Equal(t, 0, resolved) - - // Draining drains half the events, but no checkpoints yet. - require.NoError(t, p.Drain(ctx)) - require.Equal(t, 5, flushed) - require.Equal(t, int64(4), p.eventsGauge.Value()) - require.Equal(t, 0, resolved) - require.Equal(t, sz*4, p.bytes) - require.Equal(t, sz*4, p.bytesGauge.Value()) - - // Draining drains half the events, now checkpointing after lvl 2. - require.NoError(t, p.Drain(ctx)) - require.Equal(t, 8, flushed) - require.Equal(t, 1, resolved) - require.Equal(t, sz*1, p.bytes) - require.False(t, p.Empty()) - - require.NoError(t, p.Drain(ctx)) - require.Equal(t, 9, flushed) - require.Equal(t, 2, resolved) - require.Equal(t, sz*0, p.bytes) - require.True(t, p.Empty()) - require.Equal(t, int64(0), p.eventsGauge.Value()) - require.Equal(t, sz*0, p.bytesGauge.Value()) -} diff --git a/pkg/ccl/crosscluster/logical/udf_row_processor.go b/pkg/ccl/crosscluster/logical/udf_row_processor.go deleted file mode 100644 index 48fa037b42bf..000000000000 --- a/pkg/ccl/crosscluster/logical/udf_row_processor.go +++ /dev/null @@ -1,467 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package logical - -import ( - "context" - "fmt" - "strings" - - "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl/cdcevent" - "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" - "github.com/cockroachdb/cockroach/pkg/kv" - "github.com/cockroachdb/cockroach/pkg/settings/cluster" - "github.com/cockroachdb/cockroach/pkg/sql/catalog" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/descpb" - "github.com/cockroachdb/cockroach/pkg/sql/isql" - "github.com/cockroachdb/cockroach/pkg/sql/lexbase" - "github.com/cockroachdb/cockroach/pkg/sql/parser" - "github.com/cockroachdb/cockroach/pkg/sql/parser/statements" - "github.com/cockroachdb/cockroach/pkg/sql/sem/catid" - "github.com/cockroachdb/cockroach/pkg/sql/sem/eval" - "github.com/cockroachdb/cockroach/pkg/sql/sem/tree" - "github.com/cockroachdb/cockroach/pkg/sql/sessiondata" - "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/errors" -) - -type applierDecision string - -const ( - noDecision applierDecision = "" - // ignoreProposed indicates that the mutation should not be applied. - ignoreProposed applierDecision = "ignore_proposed" - // acceptProposed indicates that the mutation should be applied. An insert - // or update will be upserted. A delete will be deleted. - acceptProposed applierDecision = "accept_proposed" - // upsertProposed indicates that an insert or update mutation should be applied. - upsertProposed applierDecision = "upsert_proposed" - deleteProposed applierDecision = "delete_proposed" -) - -const ( - insertQuery = 0 - updateQuery = 1 - deleteQuery = 2 -) - -const ( - applierQueryBase = ` -WITH data (%s) -AS (VALUES (%s)) -SELECT [FUNCTION %d]('%s', data, existing, ROW(%s), existing.crdb_internal_mvcc_timestamp, existing.crdb_replication_origin_timestamp, $%d) AS decision -FROM data LEFT JOIN [%d as existing] -%s` - applierUpsertQueryBase = `UPSERT INTO [%d as t] (%s) VALUES (%s)` - applierDeleteQueryBase = `DELETE FROM [%d as t] WHERE %s` -) - -// applierQuerier is a SQL querier that applies rows only after -// defering to a user-provided UDF. -// -// The UDF receives the proposed action, proposed row, and existing row -// and then returns an indication of how to handle the proposed action. -// -// It would be nice if the response to the user's decision could be handled in -// the same query. But currently we issue two queries after doing some dispatch -// based on the user's decision. -// -// Current caveats: -// -// - We don't support tables with hidden columns. This includes -// columns such as rowid or crdb_region. -// -// - The user can only issue 1 action in response to 1 mutation because -// plpgsql doesn't support SETOF returns. -// -// - Compute columns will always be NULL in the proposed value -// passed to the UDF. -type applierQuerier struct { - settings *cluster.Settings - queryBuffer queryBuffer - - ieoInsert, ieoDelete, ieoApplyUDF sessiondata.InternalExecutorOverride - - // Used for the applier query to reduce allocations. - proposedMVCCTs tree.DDecimal -} - -func makeApplierQuerier( - ctx context.Context, - settings *cluster.Settings, - tableConfigByDestID map[descpb.ID]sqlProcessorTableConfig, - jobID jobspb.JobID, - ie isql.Executor, -) *applierQuerier { - return &applierQuerier{ - queryBuffer: queryBuffer{ - deleteQueries: make(map[catid.DescID]queryBuilder, len(tableConfigByDestID)), - insertQueries: make(map[catid.DescID]map[catid.FamilyID]queryBuilder, len(tableConfigByDestID)), - applierQueries: make(map[catid.DescID]map[catid.FamilyID]queryBuilder, len(tableConfigByDestID)), - }, - settings: settings, - ieoInsert: getIEOverride(replicatedInsertOpName, jobID), - ieoDelete: getIEOverride(replicatedDeleteOpName, jobID), - ieoApplyUDF: getIEOverride(replicatedApplyUDFOpName, jobID), - } -} - -func (aq *applierQuerier) AddTable(targetDescID int32, tc sqlProcessorTableConfig) error { - var err error - td := tc.srcDesc - if tc.dstOID == 0 { - return errors.AssertionFailedf("empty function name") - } - aq.queryBuffer.applierQueries[td.GetID()], err = makeApplierApplyQueries(targetDescID, td, tc.dstOID) - if err != nil { - return err - } - aq.queryBuffer.insertQueries[td.GetID()], err = makeApplierInsertQueries(targetDescID, td) - if err != nil { - return err - } - aq.queryBuffer.deleteQueries[td.GetID()], err = makeApplierDeleteQuery(targetDescID, td) - return err -} - -func (aq *applierQuerier) RequiresParsedBeforeRow(catid.DescID) bool { return true } - -func (aq *applierQuerier) InsertRow( - ctx context.Context, - txn isql.Txn, - ie isql.Executor, - row cdcevent.Row, - prevRow *cdcevent.Row, - likelyInsert bool, -) (batchStats, error) { - mutType := updateMutation - if likelyInsert { - mutType = insertMutation - } - return aq.processRow(ctx, txn, ie, row, prevRow, mutType) -} - -func (aq *applierQuerier) DeleteRow( - ctx context.Context, txn isql.Txn, ie isql.Executor, row cdcevent.Row, prevRow *cdcevent.Row, -) (batchStats, error) { - return aq.processRow(ctx, txn, ie, row, prevRow, deleteMutation) -} - -func (aq *applierQuerier) processRow( - ctx context.Context, - txn isql.Txn, - ie isql.Executor, - row cdcevent.Row, - prevRow *cdcevent.Row, - mutType replicationMutationType, -) (batchStats, error) { - var kvTxn *kv.Txn - if txn != nil { - kvTxn = txn.KV() - } - decision, err := aq.applyUDF(ctx, kvTxn, ie, mutType, row, prevRow) - if err != nil { - return batchStats{}, err - } - return aq.applyDecision(ctx, kvTxn, ie, row, decision) -} - -func (aq *applierQuerier) applyUDF( - ctx context.Context, - txn *kv.Txn, - ie isql.Executor, - mutType replicationMutationType, - row cdcevent.Row, - prevRow *cdcevent.Row, -) (applierDecision, error) { - applyQueryBuilder, err := aq.queryBuffer.ApplierQueryForRow(row) - if err != nil { - return noDecision, err - } - if err := applyQueryBuilder.AddRowDefaultNull(&row); err != nil { - return noDecision, err - } - if err := applyQueryBuilder.AddRowDefaultNull(prevRow); err != nil { - return noDecision, err - } - - var query int - switch mutType { - case insertMutation: - query = insertQuery - case updateMutation: - query = updateQuery - case deleteMutation: - query = deleteQuery - } - - stmt, datums, err := applyQueryBuilder.Query(query) - if err != nil { - return noDecision, err - } - - aq.proposedMVCCTs.Decimal = eval.TimestampToDecimal(row.MvccTimestamp) - datums = append(datums, &aq.proposedMVCCTs) - decisionRow, err := aq.queryRowExParsed( - ctx, replicatedApplyUDFOpName, txn, ie, aq.ieoApplyUDF, stmt, - datums..., - ) - if err != nil { - return noDecision, err - } - if len(decisionRow) != 1 { - return noDecision, errors.Errorf("unexpected number of return values from custom UDF: %d", len(decisionRow)) - } - decisionStr, ok := decisionRow[0].(*tree.DString) - if !ok { - return noDecision, errors.Errorf("unexpected return type for first return value from custom UDF: %v", decisionRow[0]) - } - decision := applierDecision(*decisionStr) - if decision == acceptProposed { - switch mutType { - case deleteMutation: - decision = deleteProposed - default: - decision = upsertProposed - } - } - return decision, nil -} - -func (aq *applierQuerier) applyDecision( - ctx context.Context, txn *kv.Txn, ie isql.Executor, row cdcevent.Row, decision applierDecision, -) (batchStats, error) { - switch decision { - case ignoreProposed: - return batchStats{}, nil - case deleteProposed: - dq, err := aq.queryBuffer.DeleteQueryForRow(row) - if err != nil { - return batchStats{}, err - } - if err := dq.AddRow(row); err != nil { - return batchStats{}, err - } - stmt, datums, err := dq.Query(defaultQuery) - if err != nil { - return batchStats{}, err - } - if err := aq.execParsed(ctx, replicatedDeleteOpName, txn, ie, aq.ieoDelete, stmt, datums...); err != nil { - return batchStats{}, err - } - return batchStats{}, nil - case upsertProposed: - q, err := aq.queryBuffer.InsertQueryForRow(row) - if err != nil { - return batchStats{}, err - } - if err := q.AddRow(row); err != nil { - return batchStats{}, err - } - stmt, datums, err := q.Query(defaultQuery) - if err != nil { - return batchStats{}, err - } - if err := aq.execParsed(ctx, replicatedInsertOpName, txn, ie, aq.ieoInsert, stmt, datums...); err != nil { - return batchStats{}, err - } - return batchStats{}, nil - default: - return batchStats{}, errors.Errorf("unimplemented or unknown decision: %s", decision) - } -} - -func (aq *applierQuerier) execParsed( - ctx context.Context, - opName string, - txn *kv.Txn, - ie isql.Executor, - o sessiondata.InternalExecutorOverride, - stmt statements.Statement[tree.Statement], - datums ...interface{}, -) error { - if _, err := ie.ExecParsed(ctx, opName, txn, o, stmt, datums...); err != nil { - log.Warningf(ctx, "%s failed (query: %s): %s", opName, stmt.SQL, err.Error()) - return err - } - return nil -} - -func (aq *applierQuerier) queryRowExParsed( - ctx context.Context, - opName string, - txn *kv.Txn, - ie isql.Executor, - o sessiondata.InternalExecutorOverride, - stmt statements.Statement[tree.Statement], - datums ...interface{}, -) (tree.Datums, error) { - if row, err := ie.QueryRowExParsed(ctx, opName, txn, o, stmt, datums...); err != nil { - log.Warningf(ctx, "%s failed (query: %s): %s", opName, stmt.SQL, err.Error()) - return nil, err - } else { - return row, nil - } -} - -// makeApplierJoinClause creates a join clause for all primary keys. It would -// be _nice_ if we could instead use the 'USING(...)' syntax here but it appears -// that NOT VISIBLE columns can't be referenced in a USING clause. -// -// Ref: https://github.com/cockroachdb/cockroach/issues/126767 -func makeApplierJoinClause(pkColumns []string) string { - var joinClause strings.Builder - joinClause.WriteString("ON ") - addJoinColumn := func(name string) { - name = lexbase.EscapeSQLIdent(name) - fmt.Fprintf(&joinClause, "data.%s = existing.%s", name, name) - } - - addJoinColumn(pkColumns[0]) - if len(pkColumns) > 1 { - for _, name := range pkColumns[1:] { - joinClause.WriteString(" AND ") - addJoinColumn(name) - } - } - return joinClause.String() -} - -func escapedColumnNameList(names []string) string { - if len(names) < 1 { - return "" - } - var nameList strings.Builder - nameList.WriteString(lexbase.EscapeSQLIdent(names[0])) - if len(names) > 1 { - for _, name := range names[1:] { - nameList.WriteString(",") - nameList.WriteString(lexbase.EscapeSQLIdent(name)) - } - } - return nameList.String() -} - -func makeApplierApplyQueries( - dstTableDescID int32, td catalog.TableDescriptor, udfOID uint32, -) (map[catid.FamilyID]queryBuilder, error) { - if td.NumFamilies() > 1 { - return nil, errors.Errorf("multiple-column familes not supported by the custom-UDF applier") - } - - // We pass all Visible columns into the applier. We can't pass non-visible - // columns currently as we are using the implicit record type for the table - // as the argument type for the UDF. Implicit record types only contain - // visible columns. As a result, we can't currently support tables that have - // a hidden rowid column using this applier. - visColumns := td.VisibleColumns() - inputColumnNames := make([]string, len(visColumns)) - for i := range visColumns { - inputColumnNames[i] = visColumns[i].GetName() - } - - var ( - colCount = len(inputColumnNames) - colNames = escapedColumnNameList(inputColumnNames) - valStr = valueStringForNumItems(colCount, 1) - prevValStr = valueStringForNumItems(colCount, colCount+1) - remoteMVCCIdx = (colCount * 2) + 1 - ) - - joinClause := makeApplierJoinClause(td.TableDesc().PrimaryIndex.KeyColumnNames) - - statements := make([]statements.Statement[tree.Statement], 3) - for statementIdx, mutType := range map[int]replicationMutationType{ - insertQuery: insertMutation, - updateQuery: updateMutation, - deleteQuery: deleteMutation, - } { - q := fmt.Sprintf(applierQueryBase, - colNames, - valStr, - udfOID, - mutType, - prevValStr, - remoteMVCCIdx, - dstTableDescID, - joinClause, - ) - var err error - statements[statementIdx], err = parser.ParseOne(q) - if err != nil { - return nil, errors.Wrapf(err, "parsing %s", q) - } - } - return map[catid.FamilyID]queryBuilder{ - 0: { - stmts: statements, - inputColumns: inputColumnNames, - scratchDatums: make([]interface{}, len(inputColumnNames)+1), - }}, nil -} - -func makeApplierInsertQueries( - dstTableDescID int32, td catalog.TableDescriptor, -) (map[catid.FamilyID]queryBuilder, error) { - queryBuilders := make(map[catid.FamilyID]queryBuilder, td.NumFamilies()) - if err := td.ForeachFamily(func(family *descpb.ColumnFamilyDescriptor) error { - inputColumnNames, err := insertColumnNamesForFamily(td, family, false) - if err != nil { - return err - } - colNames := escapedColumnNameList(append(inputColumnNames, originTimestampColumnName)) - valStr := valueStringForNumItems(len(inputColumnNames)+1, 1) - upsertQuery, err := parser.ParseOne(fmt.Sprintf(applierUpsertQueryBase, - dstTableDescID, - colNames, - valStr, - )) - if err != nil { - return err - } - - queryBuilders[family.ID] = queryBuilder{ - stmts: []statements.Statement[tree.Statement]{upsertQuery}, - needsOriginTimestamp: true, - inputColumns: inputColumnNames, - scratchDatums: make([]interface{}, len(inputColumnNames)+1), - } - return err - }); err != nil { - return nil, err - } - return queryBuilders, nil -} - -func makeApplierDeleteQuery( - dstTableDescID int32, td catalog.TableDescriptor, -) (queryBuilder, error) { - var whereClause strings.Builder - names := td.TableDesc().PrimaryIndex.KeyColumnNames - for i := range names { - colName := lexbase.EscapeSQLIdent(names[i]) - if i == 0 { - fmt.Fprintf(&whereClause, "%s = $%d", colName, i+1) - } else { - fmt.Fprintf(&whereClause, "AND %s = $%d", colName, i+1) - } - } - stmt, err := parser.ParseOne( - fmt.Sprintf(applierDeleteQueryBase, dstTableDescID, whereClause.String())) - if err != nil { - return queryBuilder{}, err - } - - return queryBuilder{ - stmts: []statements.Statement[tree.Statement]{stmt}, - inputColumns: names, - // 2 extra datum slots for the proposed and previous MVCC timestamp. - scratchDatums: make([]interface{}, len(names)+2), - }, nil -} diff --git a/pkg/ccl/crosscluster/logical/udf_row_processor_test.go b/pkg/ccl/crosscluster/logical/udf_row_processor_test.go deleted file mode 100644 index 20ff16d031b7..000000000000 --- a/pkg/ccl/crosscluster/logical/udf_row_processor_test.go +++ /dev/null @@ -1,209 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package logical - -import ( - "context" - "fmt" - "testing" - - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationtestutils" - "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" - "github.com/cockroachdb/cockroach/pkg/sql/randgen" - "github.com/cockroachdb/cockroach/pkg/sql/sem/tree" - "github.com/cockroachdb/cockroach/pkg/testutils/serverutils" - "github.com/cockroachdb/cockroach/pkg/testutils/skip" - "github.com/cockroachdb/cockroach/pkg/util/leaktest" - "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/cockroach/pkg/util/randutil" - "github.com/stretchr/testify/require" -) - -var ( - testingUDFAcceptProposedBase = ` -CREATE OR REPLACE FUNCTION repl_apply(action STRING, data %[1]s, existing %[1]s, prev %[1]s, existing_mvcc_timestamp DECIMAL, existing_origin_timestamp DECIMAL, proposed_mvcc_timetamp DECIMAL) -RETURNS string -AS $$ -BEGIN - RETURN 'accept_proposed'; -END; -$$ LANGUAGE plpgsql` - - testingUDFAcceptProposedBaseWithSchema = ` -CREATE OR REPLACE FUNCTION %[1]s.repl_apply(action STRING, data %[2]s, existing %[2]s, prev %[2]s, existing_mvcc_timestamp DECIMAL, existing_origin_timestamp DECIMAL, proposed_mvcc_timetamp DECIMAL) -RETURNS string -AS $$ -BEGIN - RETURN 'accept_proposed'; -END; -$$ LANGUAGE plpgsql` -) - -func TestUDFWithRandomTables(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - skip.WithIssue(t, 127315, "composite types generated by randgen currently unsupported by LDR") - ctx := context.Background() - - tc, s, runnerA, runnerB := setupLogicalTestServer(t, ctx, testClusterBaseClusterArgs, 1) - defer tc.Stopper().Stop(ctx) - - tableName := "rand_table" - rng, _ := randutil.NewPseudoRand() - createStmt := randgen.RandCreateTableWithName( - ctx, - rng, - tableName, - 1, - false, /* isMultiregion */ - // We do not have full support for column families. - randgen.SkipColumnFamilyMutation(), - randgen.RequirePrimaryIndex(), - ) - stmt := tree.SerializeForDisplay(createStmt) - t.Log(stmt) - runnerA.Exec(t, stmt) - runnerB.Exec(t, stmt) - runnerB.Exec(t, fmt.Sprintf(testingUDFAcceptProposedBase, tableName)) - - // TODO(ssd): We have to turn off randomized_anchor_key - // because this, in combination of optimizer difference that - // might prevent CommitInBatch, could result in the replicated - // transaction being too large to commit. - runnerA.Exec(t, "SET CLUSTER SETTING kv.transaction.randomized_anchor_key.enabled=false") - - // Workaround for the behaviour described in #127321. This - // ensures that we are generating rows using similar - // optimization decisions to our replication process. - runnerA.Exec(t, "SET plan_cache_mode=force_generic_plan") - - sqlA := s.SQLConn(t, serverutils.DBName("a")) - numInserts := 20 - _, err := randgen.PopulateTableWithRandData(rng, - sqlA, tableName, numInserts, nil) - require.NoError(t, err) - - addCol := fmt.Sprintf(`ALTER TABLE %s `+lwwColumnAdd, tableName) - runnerA.Exec(t, addCol) - runnerB.Exec(t, addCol) - - dbAURL, cleanup := s.PGUrl(t, serverutils.DBName("a")) - defer cleanup() - - streamStartStmt := fmt.Sprintf("CREATE LOGICAL REPLICATION STREAM FROM TABLE %[1]s ON $1 INTO TABLE %[1]s WITH FUNCTION repl_apply FOR TABLE %[1]s", tableName) - var jobBID jobspb.JobID - runnerB.QueryRow(t, streamStartStmt, dbAURL.String()).Scan(&jobBID) - - WaitUntilReplicatedTime(t, s.Clock().Now(), runnerB, jobBID) - runnerA.Exec(t, fmt.Sprintf("DELETE FROM %s LIMIT 5", tableName)) - WaitUntilReplicatedTime(t, s.Clock().Now(), runnerB, jobBID) - require.NoError(t, replicationtestutils.CheckEmptyDLQs(ctx, runnerB.DB, "b")) - compareReplicatedTables(t, s, "a", "b", tableName, runnerA, runnerB) -} - -func TestUDFInsertOnly(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - tc, s, runnerA, runnerB := setupLogicalTestServer(t, ctx, testClusterBaseClusterArgs, 1) - defer tc.Stopper().Stop(ctx) - - tableName := "tallies" - stmt := "CREATE TABLE tallies(pk INT PRIMARY KEY, v INT)" - runnerA.Exec(t, stmt) - runnerA.Exec(t, "INSERT INTO tallies VALUES (1, 10), (2, 22), (3, 33), (4, 44)") - runnerB.Exec(t, stmt) - runnerB.Exec(t, "CREATE SCHEMA funcs") - runnerB.Exec(t, ` - CREATE OR REPLACE FUNCTION funcs.repl_apply(action STRING, proposed tallies, existing tallies, prev tallies, existing_mvcc_timestamp DECIMAL, existing_origin_timestamp DECIMAL, proposed_mvcc_timetamp DECIMAL) - RETURNS string - AS $$ - BEGIN - IF action = 'insert' THEN - RETURN 'accept_proposed'; - END IF; - RETURN 'ignore_proposed'; - END - $$ LANGUAGE plpgsql - `) - - addCol := fmt.Sprintf(`ALTER TABLE %s `+lwwColumnAdd, tableName) - runnerA.Exec(t, addCol) - runnerB.Exec(t, addCol) - - dbAURL, cleanup := s.PGUrl(t, serverutils.DBName("a")) - defer cleanup() - - streamStartStmt := fmt.Sprintf("CREATE LOGICAL REPLICATION STREAM FROM TABLE %[1]s ON $1 INTO TABLE %[1]s WITH DEFAULT FUNCTION = 'funcs.repl_apply'", tableName) - var jobBID jobspb.JobID - runnerB.QueryRow(t, streamStartStmt, dbAURL.String()).Scan(&jobBID) - - WaitUntilReplicatedTime(t, s.Clock().Now(), runnerB, jobBID) - runnerA.Exec(t, "INSERT INTO tallies VALUES (5, 55)") - runnerA.Exec(t, "DELETE FROM tallies WHERE pk = 4") - runnerA.Exec(t, "UPDATE tallies SET v = 333 WHERE pk = 3") - WaitUntilReplicatedTime(t, s.Clock().Now(), runnerB, jobBID) - - runnerB.CheckQueryResults(t, "SELECT * FROM tallies", [][]string{ - {"1", "10"}, - {"2", "22"}, - {"3", "33"}, - {"4", "44"}, - {"5", "55"}, - }) -} - -func TestUDFPreviousValue(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - tc, s, runnerA, runnerB := setupLogicalTestServer(t, ctx, testClusterBaseClusterArgs, 1) - defer tc.Stopper().Stop(ctx) - - tableName := "tallies" - stmt := "CREATE TABLE tallies(pk INT PRIMARY KEY, v INT)" - runnerA.Exec(t, stmt) - runnerA.Exec(t, "INSERT INTO tallies VALUES (1, 10)") - runnerB.Exec(t, stmt) - runnerB.Exec(t, "INSERT INTO tallies VALUES (1, 20)") - runnerB.Exec(t, ` - CREATE OR REPLACE FUNCTION repl_apply(action STRING, proposed tallies, existing tallies, prev tallies, existing_mvcc_timestamp DECIMAL, existing_origin_timestamp DECIMAL, proposed_mvcc_timetamp DECIMAL) - RETURNS string - AS $$ - BEGIN - IF action = 'update' THEN - UPDATE tallies SET v = v + ((proposed).v-(prev).v) WHERE pk = (proposed).pk; - END IF; - RETURN 'ignore_proposed'; - END - $$ LANGUAGE plpgsql - `) - - addCol := fmt.Sprintf(`ALTER TABLE %s `+lwwColumnAdd, tableName) - runnerA.Exec(t, addCol) - runnerB.Exec(t, addCol) - - dbAURL, cleanup := s.PGUrl(t, serverutils.DBName("a")) - defer cleanup() - - streamStartStmt := fmt.Sprintf("CREATE LOGICAL REPLICATION STREAM FROM TABLE %[1]s ON $1 INTO TABLE %[1]s WITH FUNCTION repl_apply FOR TABLE %[1]s", tableName) - var jobBID jobspb.JobID - runnerB.QueryRow(t, streamStartStmt, dbAURL.String()).Scan(&jobBID) - - WaitUntilReplicatedTime(t, s.Clock().Now(), runnerB, jobBID) - runnerA.Exec(t, "UPDATE tallies SET v = 15 WHERE pk = 1") - WaitUntilReplicatedTime(t, s.Clock().Now(), runnerB, jobBID) - - runnerB.CheckQueryResults(t, "SELECT * FROM tallies", [][]string{ - {"1", "25"}, - }) -} diff --git a/pkg/ccl/crosscluster/physical/main_test.go b/pkg/ccl/crosscluster/physical/main_test.go deleted file mode 100644 index 94cd7926f311..000000000000 --- a/pkg/ccl/crosscluster/physical/main_test.go +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2020 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package physical_test - -import ( - "os" - "testing" - - "github.com/cockroachdb/cockroach/pkg/ccl" - _ "github.com/cockroachdb/cockroach/pkg/ccl/storageccl" - "github.com/cockroachdb/cockroach/pkg/security/securityassets" - "github.com/cockroachdb/cockroach/pkg/security/securitytest" - "github.com/cockroachdb/cockroach/pkg/server" - "github.com/cockroachdb/cockroach/pkg/testutils/serverutils" - "github.com/cockroachdb/cockroach/pkg/testutils/testcluster" - "github.com/cockroachdb/cockroach/pkg/util/randutil" -) - -func TestMain(m *testing.M) { - defer ccl.TestingEnableEnterprise()() - securityassets.SetLoader(securitytest.EmbeddedAssets) - randutil.SeedForTests() - serverutils.InitTestServerFactory(server.TestServerFactory) - serverutils.InitTestClusterFactory(testcluster.TestClusterFactory) - os.Exit(m.Run()) -} - -//go:generate ../../../util/leaktest/add-leaktest.sh *_test.go diff --git a/pkg/ccl/crosscluster/physical/stream_ingestion_frontier_processor_test.go b/pkg/ccl/crosscluster/physical/stream_ingestion_frontier_processor_test.go deleted file mode 100644 index a5600f5ab5a9..000000000000 --- a/pkg/ccl/crosscluster/physical/stream_ingestion_frontier_processor_test.go +++ /dev/null @@ -1,95 +0,0 @@ -// Copyright 2023 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package physical - -import ( - "context" - "testing" - - "github.com/cockroachdb/cockroach/pkg/util/hlc" - "github.com/cockroachdb/cockroach/pkg/util/leaktest" - "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/errors" - "github.com/stretchr/testify/require" -) - -func TestLaggingNodeErrorHandler(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - - type testCase struct { - name string - replicatedTime int64 - previousReplicatedTimeOnLag int64 - inputLagErr error - - expectedNewReplicatedTimeOnLag int64 - expectedErrMsg string - } - - for _, tc := range []testCase{ - { - name: "no more lag", - previousReplicatedTimeOnLag: 1, - expectedNewReplicatedTimeOnLag: 0, - }, - { - name: "new lag", - previousReplicatedTimeOnLag: 0, - replicatedTime: 1, - expectedNewReplicatedTimeOnLag: 1, - inputLagErr: ErrNodeLagging, - }, - { - name: "repeated lag, no hwm advance", - previousReplicatedTimeOnLag: 1, - replicatedTime: 1, - expectedNewReplicatedTimeOnLag: 1, - inputLagErr: ErrNodeLagging, - expectedErrMsg: ErrNodeLagging.Error(), - }, - { - name: "repeated lag, with hwm advance", - previousReplicatedTimeOnLag: 1, - replicatedTime: 2, - expectedNewReplicatedTimeOnLag: 2, - inputLagErr: ErrNodeLagging, - }, - { - name: "non lag error", - inputLagErr: errors.New("unexpected"), - expectedErrMsg: "unexpected", - }, - { - name: "unhandlable lag error", - previousReplicatedTimeOnLag: 2, - replicatedTime: 1, - expectedNewReplicatedTimeOnLag: 2, - inputLagErr: ErrNodeLagging, - expectedErrMsg: "unable to handle replanning", - }, - } { - tc := tc - t.Run(tc.name, func(t *testing.T) { - sf := streamIngestionFrontier{ - persistedReplicatedTime: hlc.Timestamp{WallTime: tc.replicatedTime}, - replicatedTimeAtLastPositiveLagNodeCheck: hlc.Timestamp{WallTime: tc.previousReplicatedTimeOnLag}, - } - err := sf.handleLaggingNodeError(ctx, tc.inputLagErr) - if tc.expectedErrMsg == "" { - require.NoError(t, err) - } else { - require.ErrorContains(t, err, tc.expectedErrMsg) - } - require.Equal(t, hlc.Timestamp{WallTime: tc.expectedNewReplicatedTimeOnLag}, sf.replicatedTimeAtLastPositiveLagNodeCheck) - }) - } -} diff --git a/pkg/ccl/crosscluster/producer/replication_manager.go b/pkg/ccl/crosscluster/producer/replication_manager.go deleted file mode 100644 index 7bff1c0ed009..000000000000 --- a/pkg/ccl/crosscluster/producer/replication_manager.go +++ /dev/null @@ -1,299 +0,0 @@ -// Copyright 2021 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package producer - -import ( - "context" - "sort" - "strings" - - "github.com/cockroachdb/cockroach/pkg/ccl/utilccl" - "github.com/cockroachdb/cockroach/pkg/jobs/jobsprotectedts" - "github.com/cockroachdb/cockroach/pkg/keys" - "github.com/cockroachdb/cockroach/pkg/kv/kvserver" - "github.com/cockroachdb/cockroach/pkg/kv/kvserver/protectedts/ptpb" - "github.com/cockroachdb/cockroach/pkg/repstream" - "github.com/cockroachdb/cockroach/pkg/repstream/streampb" - "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/sql" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/descpb" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/descs" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/resolver" - "github.com/cockroachdb/cockroach/pkg/sql/clusterunique" - "github.com/cockroachdb/cockroach/pkg/sql/parser" - "github.com/cockroachdb/cockroach/pkg/sql/pgwire/pgcode" - "github.com/cockroachdb/cockroach/pkg/sql/pgwire/pgerror" - "github.com/cockroachdb/cockroach/pkg/sql/privilege" - "github.com/cockroachdb/cockroach/pkg/sql/sem/eval" - "github.com/cockroachdb/cockroach/pkg/sql/sem/tree" - "github.com/cockroachdb/cockroach/pkg/sql/syntheticprivilege" - "github.com/cockroachdb/cockroach/pkg/util/hlc" - "github.com/cockroachdb/cockroach/pkg/util/uuid" - "github.com/cockroachdb/errors" -) - -type replicationStreamManagerImpl struct { - evalCtx *eval.Context - resolver resolver.SchemaResolver - txn descs.Txn - sessionID clusterunique.ID -} - -// StartReplicationStream implements streaming.ReplicationStreamManager interface. -func (r *replicationStreamManagerImpl) StartReplicationStream( - ctx context.Context, tenantName roachpb.TenantName, req streampb.ReplicationProducerRequest, -) (streampb.ReplicationProducerSpec, error) { - if err := r.checkLicense(); err != nil { - return streampb.ReplicationProducerSpec{}, err - } - return StartReplicationProducerJob(ctx, r.evalCtx, r.txn, tenantName, req, false) -} - -// StartReplicationStreamForTables implements streaming.ReplicationStreamManager interface. -func (r *replicationStreamManagerImpl) StartReplicationStreamForTables( - ctx context.Context, req streampb.ReplicationProducerRequest, -) (streampb.ReplicationProducerSpec, error) { - if err := r.checkLicense(); err != nil { - return streampb.ReplicationProducerSpec{}, err - } - - execConfig := r.evalCtx.Planner.ExecutorConfig().(*sql.ExecutorConfig) - - if execConfig.Codec.IsSystem() && !kvserver.RangefeedEnabled.Get(&execConfig.Settings.SV) { - return streampb.ReplicationProducerSpec{}, errors.Errorf("kv.rangefeed.enabled must be enabled on the source cluster for logical replication") - } - - var replicationStartTime hlc.Timestamp - if !req.ReplicationStartTime.IsEmpty() { - replicationStartTime = req.ReplicationStartTime - } else { - replicationStartTime = hlc.Timestamp{ - WallTime: r.evalCtx.GetStmtTimestamp().UnixNano(), - } - } - - // Resolve table names to tableIDs and spans. - spans := make([]roachpb.Span, 0, len(req.TableNames)) - tableDescs := make(map[string]descpb.TableDescriptor, len(req.TableNames)) - for _, name := range req.TableNames { - uon, err := parser.ParseTableName(name) - if err != nil { - return streampb.ReplicationProducerSpec{}, err - } - tn := uon.ToTableName() - _, td, err := resolver.ResolveMutableExistingTableObject(ctx, r.resolver, &tn, true, tree.ResolveRequireTableDesc) - if err != nil { - return streampb.ReplicationProducerSpec{}, err - } - spans = append(spans, td.PrimaryIndexSpan(r.evalCtx.Codec)) - tableDescs[name] = td.TableDescriptor - } - - registry := execConfig.JobRegistry - ptsID := uuid.MakeV4() - jr := makeProducerJobRecordForLogicalReplication( - registry, - defaultExpirationWindow, - r.evalCtx.SessionData().User(), - ptsID, - spans, - strings.Join(req.TableNames, ",")) - - // TODO(ssd): Update this to protect the right set of - // tables. Perhaps we can just protect the tables and depend - // on something else to protect the namespace and descriptor - // tables. - deprecatedSpansToProtect := roachpb.Spans(spans) - targetToProtect := ptpb.MakeClusterTarget() - pts := jobsprotectedts.MakeRecord(ptsID, int64(jr.JobID), replicationStartTime, - deprecatedSpansToProtect, jobsprotectedts.Jobs, targetToProtect) - - ptp := execConfig.ProtectedTimestampProvider.WithTxn(r.txn) - if err := ptp.Protect(ctx, pts); err != nil { - return streampb.ReplicationProducerSpec{}, err - } - - if _, err := registry.CreateAdoptableJobWithTxn(ctx, jr, jr.JobID, r.txn); err != nil { - return streampb.ReplicationProducerSpec{}, err - } - return streampb.ReplicationProducerSpec{ - StreamID: streampb.StreamID(jr.JobID), - SourceClusterID: r.evalCtx.ClusterID, - ReplicationStartTime: replicationStartTime, - TableDescriptors: tableDescs, - }, nil -} - -func (r *replicationStreamManagerImpl) PlanLogicalReplication( - ctx context.Context, req streampb.LogicalReplicationPlanRequest, -) (*streampb.ReplicationStreamSpec, error) { - _, tenID, err := keys.DecodeTenantPrefix(r.evalCtx.Codec.TenantPrefix()) - if err != nil { - return nil, err - } - - spans := make([]roachpb.Span, 0, len(req.TableIDs)) - tableDescs := make([]descpb.TableDescriptor, 0, len(req.TableIDs)) - for _, requestedTableID := range req.TableIDs { - td, err := r.txn.Descriptors().MutableByID(r.txn.KV()).Table(ctx, descpb.ID(requestedTableID)) - if err != nil { - return nil, err - } - spans = append(spans, td.PrimaryIndexSpan(r.evalCtx.Codec)) - tableDescs = append(tableDescs, td.TableDescriptor) - } - spec, err := buildReplicationStreamSpec(ctx, r.evalCtx, tenID, false, spans) - if err != nil { - return nil, err - } - spec.TableDescriptors = tableDescs - spec.TableSpans = spans - return spec, nil -} - -// HeartbeatReplicationStream implements streaming.ReplicationStreamManager interface. -func (r *replicationStreamManagerImpl) HeartbeatReplicationStream( - ctx context.Context, streamID streampb.StreamID, frontier hlc.Timestamp, -) (streampb.StreamReplicationStatus, error) { - if err := r.checkLicense(); err != nil { - return streampb.StreamReplicationStatus{}, err - } - return heartbeatReplicationStream(ctx, r.evalCtx, r.txn, streamID, frontier) -} - -// StreamPartition implements streaming.ReplicationStreamManager interface. -func (r *replicationStreamManagerImpl) StreamPartition( - ctx context.Context, streamID streampb.StreamID, opaqueSpec []byte, -) (eval.ValueGenerator, error) { - if err := r.checkLicense(); err != nil { - return nil, err - } - - if !r.evalCtx.SessionData().AvoidBuffering { - return nil, errors.New("partition streaming requires 'SET avoid_buffering = true' option") - } - - if !r.evalCtx.TxnIsSingleStmt { - return nil, pgerror.Newf(pgcode.InvalidParameterValue, - "crdb_internal.stream_partition not allowed in explicit or multi-statement transaction") - } - - // We release the descriptor collection state because stream_partitions - // runs forever. - r.txn.Descriptors().ReleaseAll(ctx) - - // We also commit the planner's transaction. Nothing should be using it after - // this point and the stream itself is non-transactional. - if err := r.txn.KV().Commit(ctx); err != nil { - return nil, err - } - return streamPartition(r.evalCtx, streamID, opaqueSpec) -} - -// GetPhysicalReplicationStreamSpec implements streaming.ReplicationStreamManager interface. -func (r *replicationStreamManagerImpl) GetPhysicalReplicationStreamSpec( - ctx context.Context, streamID streampb.StreamID, -) (*streampb.ReplicationStreamSpec, error) { - if err := r.checkLicense(); err != nil { - return nil, err - } - return getPhysicalReplicationStreamSpec(ctx, r.evalCtx, r.txn, streamID) -} - -// CompleteReplicationStream implements ReplicationStreamManager interface. -func (r *replicationStreamManagerImpl) CompleteReplicationStream( - ctx context.Context, streamID streampb.StreamID, successfulIngestion bool, -) error { - if err := r.checkLicense(); err != nil { - return err - } - return completeReplicationStream(ctx, r.evalCtx, r.txn, streamID, successfulIngestion) -} - -func (r *replicationStreamManagerImpl) SetupSpanConfigsStream( - ctx context.Context, tenantName roachpb.TenantName, -) (eval.ValueGenerator, error) { - if err := r.checkLicense(); err != nil { - return nil, err - } - return setupSpanConfigsStream(ctx, r.evalCtx, r.txn, tenantName) -} - -func (r *replicationStreamManagerImpl) DebugGetProducerStatuses( - ctx context.Context, -) []*streampb.DebugProducerStatus { - // NB: we don't check license here since if a stream started but the license - // expired or was removed, we still want visibility into it during debugging. - - // TODO(dt): ideally we store pointers to open readers in a map in some field - // of some struct off of server (job registry?) so that each VC just sees the - // ones it is running, but for now we're using a global singleton map but that - // is not the end of the world since only the system tenant can run these so - // as long as it is the only one that can see into the singleton we're ok. - if !r.evalCtx.Codec.ForSystemTenant() { - return nil - } - - res := streampb.GetActiveProducerStatuses() - sort.Slice(res, func(i, j int) bool { - return res[i].Spec.ConsumerNode < res[j].Spec.ConsumerNode || - (res[i].Spec.ConsumerNode == res[j].Spec.ConsumerNode && res[i].Spec.ConsumerProc < res[j].Spec.ConsumerProc) - }) - return res -} - -// DebugGetLogicalConsumerStatuses gets all logical consumer debug statuses in -// active in this process. -func (r *replicationStreamManagerImpl) DebugGetLogicalConsumerStatuses( - ctx context.Context, -) []*streampb.DebugLogicalConsumerStatus { - // NB: we don't check license here since if a stream started but the license - // expired or was removed, we still want visibility into it during debugging. - - // TODO(dt): since this is per-process, not per-server, we can only let the - // the sys tenant inspect it; remove this when we move this into job registry. - if !r.evalCtx.Codec.ForSystemTenant() { - return nil - } - - res := streampb.GetActiveLogicalConsumerStatuses() - - sort.Slice(res, func(i, j int) bool { - return res[i].ProcessorID < res[j].ProcessorID - }) - - return res -} - -func newReplicationStreamManagerWithPrivilegesCheck( - ctx context.Context, - evalCtx *eval.Context, - sc resolver.SchemaResolver, - txn descs.Txn, - sessionID clusterunique.ID, -) (eval.ReplicationStreamManager, error) { - if err := evalCtx.SessionAccessor.CheckPrivilege(ctx, - syntheticprivilege.GlobalPrivilegeObject, - privilege.REPLICATION); err != nil { - return nil, err - } - return &replicationStreamManagerImpl{evalCtx: evalCtx, txn: txn, sessionID: sessionID, resolver: sc}, nil -} - -func (r *replicationStreamManagerImpl) checkLicense() error { - if err := utilccl.CheckEnterpriseEnabled(r.evalCtx.Settings, "REPLICATION"); err != nil { - return pgerror.Wrap(err, - pgcode.CCLValidLicenseRequired, "physical replication requires an enterprise license on the primary (and secondary) cluster") - } - return nil -} - -func init() { - repstream.GetReplicationStreamManagerHook = newReplicationStreamManagerWithPrivilegesCheck -} diff --git a/pkg/ccl/crosscluster/producer/stream_lifetime_test.go b/pkg/ccl/crosscluster/producer/stream_lifetime_test.go deleted file mode 100644 index 7e4358d4bd2b..000000000000 --- a/pkg/ccl/crosscluster/producer/stream_lifetime_test.go +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package producer - -import ( - "fmt" - "sort" - "testing" - - "github.com/cockroachdb/cockroach/pkg/base" - "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/sql" - "github.com/cockroachdb/cockroach/pkg/util/leaktest" - "github.com/stretchr/testify/require" -) - -func TestRepartition(t *testing.T) { - defer leaktest.AfterTest(t)() - - p := func(node, parts, start int) sql.SpanPartition { - spans := make([]roachpb.Span, parts) - for i := range spans { - spans[i].Key = roachpb.Key(fmt.Sprintf("n%d-%d-a", node, i+start)) - spans[i].EndKey = roachpb.Key(fmt.Sprintf("n%d-%d-b", node, i+start)) - } - return sql.SpanPartition{SQLInstanceID: base.SQLInstanceID(node), Spans: spans} - } - for _, parts := range []int{1, 4, 100} { - for _, input := range [][]sql.SpanPartition{ - {p(1, 43, 0), p(2, 44, 0), p(3, 41, 0)}, - {p(1, 1, 0), p(2, 1, 0), p(3, 1, 0)}, - {p(1, 43, 0), p(2, 44, 0), p(3, 38, 0)}, - } { - got := repartitionSpans(input, parts) - - var expectedParts int - var expectedSpans, gotSpans roachpb.Spans - for _, part := range input { - expectedParts += min(parts, len(part.Spans)) - expectedSpans = append(expectedSpans, part.Spans...) - } - for _, part := range got { - gotSpans = append(gotSpans, part.Spans...) - } - require.Equal(t, expectedParts, len(got)) - - // Regardless of how we partitioned, make sure we have all the spans. - sort.Sort(expectedSpans) - sort.Sort(gotSpans) - require.Equal(t, len(expectedSpans), len(gotSpans)) - require.Equal(t, expectedSpans, gotSpans) - } - } -} diff --git a/pkg/ccl/crosscluster/replicationtestutils/logical.go b/pkg/ccl/crosscluster/replicationtestutils/logical.go deleted file mode 100644 index bf55355bd88d..000000000000 --- a/pkg/ccl/crosscluster/replicationtestutils/logical.go +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package replicationtestutils - -import ( - "context" - "fmt" - - "github.com/cockroachdb/cockroach/pkg/testutils/sqlutils" - "github.com/cockroachdb/errors" -) - -func CheckEmptyDLQs(ctx context.Context, db sqlutils.DBHandle, dbName string) error { - dlqNameQuery := fmt.Sprintf("SELECT table_name FROM [SHOW TABLES FROM %s] where schema_name = 'crdb_replication'", dbName) - rows, err := db.QueryContext(ctx, dlqNameQuery) - if err != nil { - return errors.Wrapf(err, "failed to query dlq table name for database %s", dbName) - } - defer rows.Close() - - var dlqTableName string - var dlqRowCount int - for rows.Next() { - if err := rows.Scan(&dlqTableName); err != nil { - return errors.Wrapf(err, "failed to scan dlq table name for database %s", dbName) - } - if err := db.QueryRowContext(ctx, fmt.Sprintf("SELECT count(*) FROM %s.crdb_replication.%s", dbName, dlqTableName)).Scan(&dlqRowCount); err != nil { - return err - } - if dlqRowCount != 0 { - return fmt.Errorf("expected DLQ to be empty, but found %d rows", dlqRowCount) - } - } - if dlqTableName == "" { - return errors.Newf("didn't find any any dlq tables in database %s", dbName) - } - return nil -} diff --git a/pkg/ccl/crosscluster/streamclient/heartbeat_sender.go b/pkg/ccl/crosscluster/streamclient/heartbeat_sender.go deleted file mode 100644 index 0f29a09d8d35..000000000000 --- a/pkg/ccl/crosscluster/streamclient/heartbeat_sender.go +++ /dev/null @@ -1,139 +0,0 @@ -// Copyright 2020 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package streamclient - -import ( - "context" - "time" - - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" - "github.com/cockroachdb/cockroach/pkg/repstream/streampb" - "github.com/cockroachdb/cockroach/pkg/util/ctxgroup" - "github.com/cockroachdb/cockroach/pkg/util/hlc" - "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/cockroach/pkg/util/timeutil" - "github.com/cockroachdb/errors" -) - -// HeartbeatSender periodically sends a heartbeat for the given -// streamID to the given client. -type HeartbeatSender struct { - client Client - streamID streampb.StreamID - frequencyGetter func() time.Duration - - lastSent time.Time - frontier hlc.Timestamp - // cg runs the HeartbeatSender thread. - cg ctxgroup.Group - // cancel stops heartbeat sender. - cancel func() - - // HeartbeatSender closes this channel when it stops. - StoppedChan chan struct{} - FrontierUpdates chan hlc.Timestamp -} - -// NewHeartbeatSender creates a new HeartbeatSender. -func NewHeartbeatSender( - ctx context.Context, - client Client, - streamID streampb.StreamID, - frequencyGetter func() time.Duration, -) *HeartbeatSender { - return &HeartbeatSender{ - client: client, - streamID: streamID, - frequencyGetter: frequencyGetter, - cancel: func() {}, - FrontierUpdates: make(chan hlc.Timestamp), - StoppedChan: make(chan struct{}), - } -} - -func (h *HeartbeatSender) Start(ctx context.Context, ts timeutil.TimeSource) { - ctx, cancel := context.WithCancel(ctx) - h.cancel = cancel - h.cg = ctxgroup.WithContext(ctx) - h.cg.GoCtx(func(ctx context.Context) error { - sendHeartbeats := func() error { - // The heartbeat thread send heartbeats when there is a frontier update, - // and it has been a while since last time we sent it, or when we need - // to heartbeat to keep the stream alive even if the frontier has no update. - timer := ts.NewTimer() - timer.Reset(h.frequencyGetter()) - defer timer.Stop() - unknownStreamStatusRetryErr := log.Every(1 * time.Minute) - for { - select { - case <-ctx.Done(): - return ctx.Err() - case <-timer.Ch(): - timer.MarkRead() - timer.Reset(h.frequencyGetter()) - case frontier := <-h.FrontierUpdates: - h.frontier.Forward(frontier) - } - - sent, streamStatus, err := h.maybeHeartbeat(ctx, ts, h.frontier, h.frequencyGetter()) - if err != nil { - log.Errorf(ctx, "replication stream %d received an error from the producer job: %v", h.streamID, err) - continue - } - - if !sent || streamStatus.StreamStatus == streampb.StreamReplicationStatus_STREAM_ACTIVE { - continue - } - - if streamStatus.StreamStatus == streampb.StreamReplicationStatus_UNKNOWN_STREAM_STATUS_RETRY { - if unknownStreamStatusRetryErr.ShouldLog() { - log.Warningf(ctx, "replication stream %d has unknown stream status error and will retry later", h.streamID) - } - continue - } - // The replication stream is either paused or inactive. - return crosscluster.NewStreamStatusErr(h.streamID, streamStatus.StreamStatus) - } - } - err := sendHeartbeats() - close(h.StoppedChan) - return err - }) -} - -func (h *HeartbeatSender) maybeHeartbeat( - ctx context.Context, - ts timeutil.TimeSource, - frontier hlc.Timestamp, - heartbeatFrequency time.Duration, -) (bool, streampb.StreamReplicationStatus, error) { - if h.lastSent.Add(heartbeatFrequency).After(ts.Now()) { - return false, streampb.StreamReplicationStatus{}, nil - } - h.lastSent = ts.Now() - s, err := h.client.Heartbeat(ctx, h.streamID, frontier) - return true, s, err -} - -// Stop the heartbeat loop and returns any error at time of HeartbeatSender's exit. -// Can be called multiple times. -func (h *HeartbeatSender) Stop() error { - h.cancel() - return h.Wait() -} - -// Wait for HeartbeatSender to be stopped and returns any error. -func (h *HeartbeatSender) Wait() error { - err := h.cg.Wait() - // We expect to see context cancelled when shutting down. - if errors.Is(err, context.Canceled) { - return nil - } - return err -} diff --git a/pkg/ccl/crosscluster/streamclient/heartbeat_sender_test.go b/pkg/ccl/crosscluster/streamclient/heartbeat_sender_test.go deleted file mode 100644 index 247eeb749b5b..000000000000 --- a/pkg/ccl/crosscluster/streamclient/heartbeat_sender_test.go +++ /dev/null @@ -1,156 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package streamclient - -import ( - "context" - "testing" - "time" - - "github.com/cockroachdb/cockroach/pkg/repstream/streampb" - "github.com/cockroachdb/cockroach/pkg/util/hlc" - "github.com/cockroachdb/cockroach/pkg/util/leaktest" - "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/cockroach/pkg/util/timeutil" - "github.com/cockroachdb/errors" - "github.com/stretchr/testify/require" -) - -func TestHeartbeatSender(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - - mt := timeutil.NewManualTime(timeutil.Now()) - client := &MockStreamClient{} - hbs := &HeartbeatSender{ - lastSent: timeutil.Now().Add(-2 * time.Second), - client: client, - } - - done, _, err := hbs.maybeHeartbeat(ctx, mt, hlc.Timestamp{WallTime: timeutil.Now().UnixNano()}, time.Second) - require.NoError(t, err) - require.True(t, done) - - done, _, err = hbs.maybeHeartbeat(ctx, mt, hlc.Timestamp{WallTime: timeutil.Now().UnixNano()}, time.Second) - require.NoError(t, err) - require.False(t, done) - - mt.Advance(2 * time.Second) - - e := errors.New("heartbeat test error") - client.HeartbeatErr = e - done, _, err = hbs.maybeHeartbeat(ctx, mt, hlc.Timestamp{WallTime: timeutil.Now().UnixNano()}, time.Second) - require.ErrorIs(t, err, e) - require.True(t, done) -} - -func TestHeartbeatLoop(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - heartbeatCh := make(chan struct{}) - - type testCase struct { - err error - status streampb.StreamReplicationStatus_StreamStatus - expectedRetry bool - expectedErr string - } - - for _, tc := range []testCase{ - { - err: errors.New("heartbeat test error"), - status: streampb.StreamReplicationStatus_STREAM_INACTIVE, - expectedRetry: true, - expectedErr: "", - }, - { - err: nil, - status: streampb.StreamReplicationStatus_STREAM_ACTIVE, - expectedRetry: true, - expectedErr: "", - }, - { - err: nil, - status: streampb.StreamReplicationStatus_UNKNOWN_STREAM_STATUS_RETRY, - expectedRetry: true, - expectedErr: "", - }, - { - err: nil, - status: streampb.StreamReplicationStatus_STREAM_INACTIVE, - expectedRetry: false, - expectedErr: "replication stream 7 is not running, status is STREAM_INACTIVE", - }, - { - err: nil, - status: streampb.StreamReplicationStatus_STREAM_PAUSED, - expectedRetry: false, - expectedErr: "replication stream 7 is not running, status is STREAM_PAUSED", - }, - } { - if tc.expectedRetry { - // Test cases should not have an error set if a retry is expected. - require.Empty(t, tc.expectedErr) - } else { - // Test cases must have an error set because a retry is not expected. - require.NotEmpty(t, tc.expectedErr) - } - - retryCount := 0 - now := timeutil.Now() - mt := timeutil.NewManualTime(now) - - client := &MockStreamClient{ - OnHeartbeat: func() (streampb.StreamReplicationStatus, error) { - heartbeatCh <- struct{}{} - defer func() { retryCount++ }() - if tc.expectedRetry { - // We have an error that will be retried forever, which is ok, but we - // need to make sure the test finishes, so we're retuning an INACTIVE - // status on the second execution. - if retryCount == 0 { - return streampb.StreamReplicationStatus{StreamStatus: tc.status}, tc.err - } - return streampb.StreamReplicationStatus{StreamStatus: streampb.StreamReplicationStatus_STREAM_INACTIVE}, nil - } else { - // The error should not be retried, verified Heartbeat was called only once. - require.Equal(t, 0, retryCount) - return streampb.StreamReplicationStatus{StreamStatus: tc.status}, tc.err - } - }, - } - hbs := &HeartbeatSender{ - lastSent: now.Add(-5 * time.Second), - client: client, - streamID: 7, - frequencyGetter: func() time.Duration { - return 0 - }, - FrontierUpdates: make(chan hlc.Timestamp), - StoppedChan: make(chan struct{}), - } - - hbs.Start(ctx, mt) - // Heartbeat should be called at least once. - <-heartbeatCh - if tc.expectedRetry { - // We're expecting a retry, therefore Heartbeat should be called again. - <-heartbeatCh - // Sanity check - make sure we see the error we use in order to end the infinite retries. - require.ErrorContains(t, hbs.Wait(), "replication stream 7 is not running, status is STREAM_INACTIVE") - } else { - // No retry, we should get the expected error. - require.ErrorContains(t, hbs.Wait(), tc.expectedErr) - } - } -} diff --git a/pkg/ccl/crosscluster/streamclient/mock_stream_client.go b/pkg/ccl/crosscluster/streamclient/mock_stream_client.go deleted file mode 100644 index 3fe569ed854e..000000000000 --- a/pkg/ccl/crosscluster/streamclient/mock_stream_client.go +++ /dev/null @@ -1,173 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package streamclient - -import ( - "context" - - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" - "github.com/cockroachdb/cockroach/pkg/repstream/streampb" - "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/util/hlc" - "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/cockroach/pkg/util/span" - "github.com/cockroachdb/errors" -) - -// MockStreamClient will return the slice of events associated to the stream -// partition being consumed. Stream partitions are identified by unique -// partition addresses. -type MockStreamClient struct { - PartitionEvents map[string][]crosscluster.Event - DoneCh chan struct{} - HeartbeatErr error - HeartbeatStatus streampb.StreamReplicationStatus - OnHeartbeat func() (streampb.StreamReplicationStatus, error) - OnPlanLogicalReplication func(streampb.LogicalReplicationPlanRequest) (LogicalReplicationPlan, error) -} - -var _ Client = &MockStreamClient{} - -// CreateForTenant implements the Client interface. -func (m *MockStreamClient) CreateForTenant( - _ context.Context, _ roachpb.TenantName, _ streampb.ReplicationProducerRequest, -) (streampb.ReplicationProducerSpec, error) { - panic("unimplemented") -} - -// Dial implements the Client interface. -func (m *MockStreamClient) Dial(_ context.Context) error { - panic("unimplemented") -} - -// Heartbeat implements the Client interface. -func (m *MockStreamClient) Heartbeat( - _ context.Context, _ streampb.StreamID, _ hlc.Timestamp, -) (streampb.StreamReplicationStatus, error) { - if m.OnHeartbeat != nil { - return m.OnHeartbeat() - } - return m.HeartbeatStatus, m.HeartbeatErr -} - -// PlanPhysicalReplication implements the Client interface. -func (m *MockStreamClient) PlanPhysicalReplication( - _ context.Context, _ streampb.StreamID, -) (Topology, error) { - panic("unimplemented mock method") -} - -type mockSubscription struct { - eventsCh chan crosscluster.Event -} - -// Subscribe implements the Subscription interface. -func (m *mockSubscription) Subscribe(_ context.Context) error { - return nil -} - -// Events implements the Subscription interface. -func (m *mockSubscription) Events() <-chan crosscluster.Event { - return m.eventsCh -} - -// Err implements the Subscription interface. -func (m *mockSubscription) Err() error { - return nil -} - -// Subscribe implements the Client interface. -func (m *MockStreamClient) Subscribe( - ctx context.Context, - _ streampb.StreamID, - _, _ int32, - token SubscriptionToken, - initialScanTime hlc.Timestamp, - _ span.Frontier, - _ ...SubscribeOption, -) (Subscription, error) { - var events []crosscluster.Event - var ok bool - if events, ok = m.PartitionEvents[string(token)]; !ok { - return nil, errors.Newf("no events found for partition %s", string(token)) - } - log.Infof(ctx, "%q beginning subscription from time %v ", string(token), initialScanTime) - - log.Infof(ctx, "%q emitting %d events", string(token), len(events)) - eventCh := make(chan crosscluster.Event, len(events)) - for _, event := range events { - log.Infof(ctx, "%q emitting event %v", string(token), event) - eventCh <- event - } - log.Infof(ctx, "%q done emitting %d events", string(token), len(events)) - go func() { - if m.DoneCh != nil { - log.Infof(ctx, "%q waiting for doneCh", string(token)) - <-m.DoneCh - log.Infof(ctx, "%q received event on doneCh", string(token)) - } - close(eventCh) - }() - return &mockSubscription{eventsCh: eventCh}, nil -} - -// Close implements the Client interface. -func (m *MockStreamClient) Close(_ context.Context) error { - return nil -} - -// Complete implements the streamclient.Client interface. -func (m *MockStreamClient) Complete(_ context.Context, _ streampb.StreamID, _ bool) error { - return nil -} - -// PriorReplicationDetails implements the streamclient.Client interface. -func (m *MockStreamClient) PriorReplicationDetails( - _ context.Context, _ roachpb.TenantName, -) (string, string, hlc.Timestamp, error) { - return "", "", hlc.Timestamp{}, nil -} - -func (p *MockStreamClient) PlanLogicalReplication( - _ context.Context, req streampb.LogicalReplicationPlanRequest, -) (LogicalReplicationPlan, error) { - if p.OnPlanLogicalReplication != nil { - return p.OnPlanLogicalReplication(req) - } - return LogicalReplicationPlan{}, errors.AssertionFailedf("no onPlanLogicalReplication callback provided") -} - -func (p *MockStreamClient) CreateForTables( - ctx context.Context, req *streampb.ReplicationProducerRequest, -) (*streampb.ReplicationProducerSpec, error) { - return nil, errors.AssertionFailedf("unimplemented") -} - -// ErrorStreamClient always returns an error when consuming a partition. -type ErrorStreamClient struct{ MockStreamClient } - -var _ Client = &ErrorStreamClient{} - -// ConsumePartition implements the streamclient.Client interface. -func (m *ErrorStreamClient) Subscribe( - _ context.Context, - _ streampb.StreamID, - _, _ int32, - _ SubscriptionToken, - _ hlc.Timestamp, - _ span.Frontier, - _ ...SubscribeOption, -) (Subscription, error) { - return nil, errors.New("this client always returns an error") -} - -// Complete implements the streamclient.Client interface. -func (m *ErrorStreamClient) Complete(_ context.Context, _ streampb.StreamID, _ bool) error { - return nil -} diff --git a/pkg/ccl/crosscluster/streamclient/randclient/BUILD.bazel b/pkg/ccl/crosscluster/streamclient/randclient/BUILD.bazel deleted file mode 100644 index 41ef0a6110ff..000000000000 --- a/pkg/ccl/crosscluster/streamclient/randclient/BUILD.bazel +++ /dev/null @@ -1,50 +0,0 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") - -go_library( - name = "randclient", - srcs = ["random_stream_client.go"], - importpath = "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient/randclient", - visibility = ["//visibility:public"], - deps = [ - "//pkg/ccl/crosscluster", - "//pkg/ccl/crosscluster/streamclient", - "//pkg/jobs/jobspb", - "//pkg/keys", - "//pkg/kv/kvpb", - "//pkg/repstream/streampb", - "//pkg/roachpb", - "//pkg/security/username", - "//pkg/sql", - "//pkg/sql/catalog", - "//pkg/sql/catalog/catalogkeys", - "//pkg/sql/catalog/catpb", - "//pkg/sql/catalog/descpb", - "//pkg/sql/catalog/descs", - "//pkg/sql/catalog/tabledesc", - "//pkg/sql/randgen", - "//pkg/sql/rowenc", - "//pkg/sql/sem/catid", - "//pkg/sql/sem/tree", - "//pkg/util/bufalloc", - "//pkg/util/hlc", - "//pkg/util/log", - "//pkg/util/randutil", - "//pkg/util/span", - "//pkg/util/syncutil", - "//pkg/util/timeutil", - "@com_github_cockroachdb_errors//:errors", - ], -) - -go_test( - name = "randclient_test", - srcs = ["random_stream_client_test.go"], - embed = [":randclient"], - deps = [ - "//pkg/ccl/crosscluster/streamclient", - "//pkg/util/leaktest", - "//pkg/util/log", - "@com_github_cockroachdb_errors//:errors", - "@com_github_stretchr_testify//require", - ], -) diff --git a/pkg/ccl/crosscluster/streamclient/randclient/random_stream_client_test.go b/pkg/ccl/crosscluster/streamclient/randclient/random_stream_client_test.go deleted file mode 100644 index 70ef1ba73280..000000000000 --- a/pkg/ccl/crosscluster/streamclient/randclient/random_stream_client_test.go +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package randclient - -import ( - "context" - "net/url" - "testing" - - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" - "github.com/cockroachdb/cockroach/pkg/util/leaktest" - "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/errors" - "github.com/stretchr/testify/require" -) - -// TestGetFirstActiveClient tests GetFirstActiveClient. It exists in this package -// to avoid circular dependencies. -func TestGetFirstActiveClient(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - client := streamclient.GetRandomStreamClientSingletonForTesting() - defer func() { - require.NoError(t, client.Close(context.Background())) - }() - - streamAddresses := []string{ - "randomgen://test0/", - "", - "randomgen://test2/", - "invalidScheme://test3", - "randomgen://test4/", - "randomgen://test5/", - "randomgen://test6/", - } - addressDialCount := map[string]int{} - for _, addr := range streamAddresses { - addressDialCount[addr] = 0 - } - - // Track dials and error for all but test3 and test4 - client.RegisterDialInterception(func(streamURL *url.URL) error { - addr := streamURL.String() - addressDialCount[addr]++ - if addr != streamAddresses[3] && addr != streamAddresses[4] { - return errors.Errorf("injected dial error") - } - return nil - }) - - activeClient, err := streamclient.GetFirstActiveClient(context.Background(), streamAddresses, nil) - require.NoError(t, err) - - // Should've dialed the valid schemes up to the 5th one where it should've - // succeeded - require.Equal(t, 1, addressDialCount[streamAddresses[0]]) - require.Equal(t, 0, addressDialCount[streamAddresses[1]]) - require.Equal(t, 1, addressDialCount[streamAddresses[2]]) - require.Equal(t, 0, addressDialCount[streamAddresses[3]]) - require.Equal(t, 1, addressDialCount[streamAddresses[4]]) - require.Equal(t, 0, addressDialCount[streamAddresses[5]]) - require.Equal(t, 0, addressDialCount[streamAddresses[6]]) - - // The 5th should've succeded as it was a valid scheme and succeeded Dial - require.Equal(t, activeClient.(streamclient.RandomClient).URL(), streamAddresses[4]) -} diff --git a/pkg/ccl/crosscluster/streamclient/random_client.go b/pkg/ccl/crosscluster/streamclient/random_client.go deleted file mode 100644 index fb3f75a5cf66..000000000000 --- a/pkg/ccl/crosscluster/streamclient/random_client.go +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package streamclient - -import ( - "net/url" - - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" - "github.com/cockroachdb/cockroach/pkg/kv/kvpb" - "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/descs" - "github.com/cockroachdb/cockroach/pkg/util/hlc" - "github.com/cockroachdb/errors" -) - -// RandomGenScheme is the URI scheme used to create a test load. -const RandomGenScheme = "randomgen" - -// InterceptFn is a function that will intercept events emitted by -// an InterceptableStreamClient -type InterceptFn func(event crosscluster.Event, spec SubscriptionToken) - -// DialInterceptFn is a function that will intercept Dial calls made to an -// InterceptableStreamClient -type DialInterceptFn func(streamURL *url.URL) error - -// HeartbeatInterceptFn is a function that will intercept calls to a client's -// Heartbeat. -type HeartbeatInterceptFn func(timestamp hlc.Timestamp) - -// SSTableMakerFn is a function that generates RangeFeedSSTable event -// with a given list of roachpb.KeyValue. -type SSTableMakerFn func(keyValues []roachpb.KeyValue) kvpb.RangeFeedSSTable - -type RandomClient interface { - Client - - // RegisterInterception registers a interceptor to be called after - // an event is emitted from the client. - RegisterInterception(fn InterceptFn) - - // RegisterDialInterception registers a interceptor to be called - // whenever Dial is called on the client. - RegisterDialInterception(fn DialInterceptFn) - - // RegisterHeartbeatInterception registers an interceptor to be called - // whenever Heartbeat is called on the client. - RegisterHeartbeatInterception(fn HeartbeatInterceptFn) - - // RegisterSSTableGenerator registers a functor to be called - // whenever an SSTable event is to be generated. - RegisterSSTableGenerator(fn SSTableMakerFn) - - // ClearInterceptors clears all registered interceptors on the client. - ClearInterceptors() - - URL() string -} - -var ( - RandomGenClientBuilder func(*url.URL, descs.DB) (Client, error) = func(*url.URL, descs.DB) (Client, error) { - return nil, errors.AssertionFailedf("to use the randomgen scheme include pkg/ccl/crosscluster/streamclient/randclient") - } - - // GetRandomStreamClientSingletonForTesting returns the singleton instance of - // the client. This is to be used in testing, when interceptors can be - // registered on the client to observe events. - GetRandomStreamClientSingletonForTesting func() RandomClient = func() RandomClient { - panic("to use the randomgen scheme include pkg/ccl/crosscluster/streamclient/randclient") - } -) diff --git a/pkg/ccl/gssapiccl/gssapi.go b/pkg/ccl/gssapiccl/gssapi.go index 44f4ce10129a..5d5c9f9524d4 100644 --- a/pkg/ccl/gssapiccl/gssapi.go +++ b/pkg/ccl/gssapiccl/gssapi.go @@ -41,7 +41,6 @@ const ( func authGSS( _ context.Context, c pgwire.AuthConn, - _ username.SQLUsername, _ tls.ConnectionState, execCfg *sql.ExecutorConfig, entry *hba.Entry, @@ -57,7 +56,11 @@ func authGSS( // Update the incoming connection with the GSS username. We'll expect // to see this value come back to the mapper function below. - behaviors.SetReplacementIdentity(gssUser) + if u, err := username.MakeSQLUsernameFromUserInput(gssUser, username.PurposeValidation); err != nil { + return nil, err + } else { + behaviors.SetReplacementIdentity(u) + } // We enforce that the "map" and/or "include_realm=0" options are set // in the HBA validation function below. @@ -80,7 +83,7 @@ func authGSS( } behaviors.SetAuthenticator(func( - _ context.Context, _ string, _ bool, _ pgwire.PasswordRetrievalFn, _ *ldap.DN, + _ context.Context, _ username.SQLUsername, _ bool, _ pgwire.PasswordRetrievalFn, _ *ldap.DN, ) error { // Enforce krb_realm option, if any. if realms := entry.GetOptions("krb_realm"); len(realms) > 0 { @@ -138,16 +141,19 @@ func checkEntry(_ *settings.Values, entry hba.Entry) error { } // stripRealm removes the realm data, if any, from the provided username. -func stripRealm(u string) (username.SQLUsername, error) { - if idx := strings.Index(u, "@"); idx != -1 { - u = u[:idx] +func stripRealm(u username.SQLUsername) (username.SQLUsername, error) { + norm := u.Normalized() + if idx := strings.Index(norm, "@"); idx != -1 { + norm = norm[:idx] } - return username.MakeSQLUsernameFromUserInput(u, username.PurposeValidation) + return username.MakeSQLUsernameFromUserInput(norm, username.PurposeValidation) } // stripRealmMapper is a pgwire.RoleMapper that just strips the trailing // realm information, if any, from the gssapi username. -func stripRealmMapper(_ context.Context, systemIdentity string) ([]username.SQLUsername, error) { +func stripRealmMapper( + _ context.Context, systemIdentity username.SQLUsername, +) ([]username.SQLUsername, error) { ret, err := stripRealm(systemIdentity) return []username.SQLUsername{ret}, err } @@ -156,12 +162,12 @@ func stripRealmMapper(_ context.Context, systemIdentity string) ([]username.SQLU // the incoming identity has its realm information stripped before the // next mapping is applied. func stripAndDelegateMapper(delegate pgwire.RoleMapper) pgwire.RoleMapper { - return func(ctx context.Context, systemIdentity string) ([]username.SQLUsername, error) { + return func(ctx context.Context, systemIdentity username.SQLUsername) ([]username.SQLUsername, error) { next, err := stripRealm(systemIdentity) if err != nil { return nil, err } - return delegate(ctx, next.Normalized()) + return delegate(ctx, next) } } diff --git a/pkg/ccl/jobsccl/jobsprotectedtsccl/jobs_protected_ts_test.go b/pkg/ccl/jobsccl/jobsprotectedtsccl/jobs_protected_ts_test.go index 835015559a2f..39f2996c0101 100644 --- a/pkg/ccl/jobsccl/jobsprotectedtsccl/jobs_protected_ts_test.go +++ b/pkg/ccl/jobsccl/jobsprotectedtsccl/jobs_protected_ts_test.go @@ -41,6 +41,18 @@ import ( "github.com/stretchr/testify/require" ) +// Register a fake job resumer for the test. We don't want the job to do +// anything. +func init() { + jobs.RegisterConstructor( + jobspb.TypeSchemaChangeGC, + func(_ *jobs.Job, _ *cluster.Settings) jobs.Resumer { + return fakeResumer{} + }, + jobs.UsesTenantCostControl, + ) +} + type fakeResumer struct{} func (f fakeResumer) Resume(ctx context.Context, _ interface{}) error { @@ -68,49 +80,48 @@ func testJobsProtectedTimestamp( ) { t.Helper() + mkJobRec := func() jobs.Record { + return jobs.Record{ + Description: "testing", + Statements: []string{"SELECT 1"}, + Username: username.RootUserName(), + Details: jobspb.SchemaChangeGCDetails{ + Tables: []jobspb.SchemaChangeGCDetails_DroppedID{ + { + ID: 42, + DropTime: clock.PhysicalNow(), + }, + }, + }, + Progress: jobspb.SchemaChangeGCProgress{}, + DescriptorIDs: []descpb.ID{42}, + } + } insqlDB := execCfg.InternalDB - mkJobAndRecord := func(f func(context.Context, isql.Txn, *jobs.Job) error) (rec *ptpb.Record) { + mkJobAndRecord := func() (j *jobs.Job, rec *ptpb.Record) { ts := clock.Now() jobID := jr.MakeJobID() - require.NoError(t, insqlDB.Txn(ctx, func(ctx context.Context, txn isql.Txn) error { - jobRec := jobs.Record{ - Description: "testing", - Statements: []string{"SELECT 1"}, - Username: username.RootUserName(), - Details: jobspb.SchemaChangeGCDetails{ - Tables: []jobspb.SchemaChangeGCDetails_DroppedID{ - { - ID: 42, - DropTime: clock.PhysicalNow(), - }, - }, - }, - Progress: jobspb.SchemaChangeGCProgress{}, - DescriptorIDs: []descpb.ID{42}, - } - - j, err := jr.CreateJobWithTxn(ctx, jobRec, jobID, txn) - if err != nil { + require.NoError(t, insqlDB.Txn(ctx, func(ctx context.Context, txn isql.Txn) (err error) { + if j, err = jr.CreateJobWithTxn(ctx, mkJobRec(), jobID, txn); err != nil { return err } deprecatedSpansToProtect := roachpb.Spans{{Key: keys.MinKey, EndKey: keys.MaxKey}} targetToProtect := ptpb.MakeClusterTarget() rec = jobsprotectedts.MakeRecord(uuid.MakeV4(), int64(jobID), ts, deprecatedSpansToProtect, jobsprotectedts.Jobs, targetToProtect) - if err := ptp.WithTxn(txn).Protect(ctx, rec); err != nil { - return err - } - return f(ctx, txn, j) + return ptp.WithTxn(txn).Protect(ctx, rec) })) - return rec + return j, rec } - recMovedToFailed := mkJobAndRecord(func(ctx context.Context, txn isql.Txn, j *jobs.Job) error { - return jr.UnsafeFailed(ctx, txn, j.ID(), io.ErrUnexpectedEOF) - }) - recFinished := mkJobAndRecord(func(ctx context.Context, txn isql.Txn, j *jobs.Job) error { - return jr.Succeeded(ctx, txn, j.ID()) - }) - recRemains := mkJobAndRecord(func(context.Context, isql.Txn, *jobs.Job) error { return nil }) + jMovedToFailed, recMovedToFailed := mkJobAndRecord() + require.NoError(t, insqlDB.Txn(ctx, func(ctx context.Context, txn isql.Txn) error { + return jr.UnsafeFailed(ctx, txn, jMovedToFailed.ID(), io.ErrUnexpectedEOF) + })) + jFinished, recFinished := mkJobAndRecord() + require.NoError(t, insqlDB.Txn(ctx, func(ctx context.Context, txn isql.Txn) error { + return jr.Succeeded(ctx, txn, jFinished.ID()) + })) + _, recRemains := mkJobAndRecord() ensureNotExists := func(ctx context.Context, txn isql.Txn, ptsID uuid.UUID) (err error) { _, err = ptp.WithTxn(txn).GetRecord(ctx, ptsID) if err == nil { @@ -153,13 +164,6 @@ func TestJobsProtectedTimestamp(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) - defer jobs.TestingRegisterConstructor( - jobspb.TypeSchemaChangeGC, - func(_ *jobs.Job, _ *cluster.Settings) jobs.Resumer { - return fakeResumer{} - }, - jobs.UsesTenantCostControl)() - ctx := context.Background() s0, db, _ := serverutils.StartServer(t, base.TestServerArgs{ DefaultTestTenant: base.TestControlsTenantsExplicitly, @@ -282,13 +286,6 @@ func TestSchedulesProtectedTimestamp(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) - defer jobs.TestingRegisterConstructor( - jobspb.TypeSchemaChangeGC, - func(_ *jobs.Job, _ *cluster.Settings) jobs.Resumer { - return fakeResumer{} - }, - jobs.UsesTenantCostControl)() - ctx := context.Background() s0, db, _ := serverutils.StartServer(t, base.TestServerArgs{ DefaultTestTenant: base.TestControlsTenantsExplicitly, diff --git a/pkg/ccl/jwtauthccl/BUILD.bazel b/pkg/ccl/jwtauthccl/BUILD.bazel index 5d8ea3aa5806..e9b2c91e9f59 100644 --- a/pkg/ccl/jwtauthccl/BUILD.bazel +++ b/pkg/ccl/jwtauthccl/BUILD.bazel @@ -21,11 +21,8 @@ go_library( "//pkg/util/syncutil", "//pkg/util/uuid", "@com_github_cockroachdb_errors//:errors", - "@com_github_cockroachdb_redact//:redact", - "@com_github_lestrrat_go_jwx_v2//jwk", - "@com_github_lestrrat_go_jwx_v2//jws", - "@com_github_lestrrat_go_jwx_v2//jwt", - "@org_golang_x_exp//maps", + "@com_github_lestrrat_go_jwx//jwk", + "@com_github_lestrrat_go_jwx//jwt", ], ) @@ -42,7 +39,6 @@ go_test( deps = [ "//pkg/base", "//pkg/ccl", - "//pkg/security/certnames", "//pkg/security/securityassets", "//pkg/security/securitytest", "//pkg/security/username", @@ -51,17 +47,15 @@ go_test( "//pkg/testutils", "//pkg/testutils/serverutils", "//pkg/testutils/testcluster", - "//pkg/util/httputil", "//pkg/util/leaktest", "//pkg/util/log", "//pkg/util/randutil", "//pkg/util/timeutil", "@com_github_cockroachdb_errors//:errors", "@com_github_cockroachdb_errors//oserror", - "@com_github_cockroachdb_redact//:redact", - "@com_github_lestrrat_go_jwx_v2//jwa", - "@com_github_lestrrat_go_jwx_v2//jwk", - "@com_github_lestrrat_go_jwx_v2//jwt", + "@com_github_lestrrat_go_jwx//jwa", + "@com_github_lestrrat_go_jwx//jwk", + "@com_github_lestrrat_go_jwx//jwt", "@com_github_stretchr_testify//require", ], ) diff --git a/pkg/ccl/jwtauthccl/authentication_jwt.go b/pkg/ccl/jwtauthccl/authentication_jwt.go index b23f0e385bc3..eaf92d7f158d 100644 --- a/pkg/ccl/jwtauthccl/authentication_jwt.go +++ b/pkg/ccl/jwtauthccl/authentication_jwt.go @@ -26,10 +26,8 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/syncutil" "github.com/cockroachdb/cockroach/pkg/util/uuid" "github.com/cockroachdb/errors" - "github.com/cockroachdb/redact" - "github.com/lestrrat-go/jwx/v2/jwk" - "github.com/lestrrat-go/jwx/v2/jws" - "github.com/lestrrat-go/jwx/v2/jwt" + "github.com/lestrrat-go/jwx/jwk" + "github.com/lestrrat-go/jwx/jwt" ) const ( @@ -69,12 +67,10 @@ type jwtAuthenticator struct { type jwtAuthenticatorConf struct { audience []string enabled bool - issuersConf issuerURLConf - issuerCA string + issuers []string jwks jwk.Set claim string jwksAutoFetchEnabled bool - httpClient *httputil.Client } // reloadConfig locks mutex and then refreshes the values in conf from the cluster settings. @@ -88,20 +84,13 @@ func (authenticator *jwtAuthenticator) reloadConfig(ctx context.Context, st *clu func (authenticator *jwtAuthenticator) reloadConfigLocked( ctx context.Context, st *cluster.Settings, ) { - clientTimeout := JWTAuthClientTimeout.Get(&st.SV) conf := jwtAuthenticatorConf{ audience: mustParseValueOrArray(JWTAuthAudience.Get(&st.SV)), enabled: JWTAuthEnabled.Get(&st.SV), - issuersConf: mustParseJWTIssuersConf(JWTAuthIssuersConfig.Get(&st.SV)), - issuerCA: JWTAuthIssuerCustomCA.Get(&st.SV), + issuers: mustParseValueOrArray(JWTAuthIssuers.Get(&st.SV)), jwks: mustParseJWKS(JWTAuthJWKS.Get(&st.SV)), claim: JWTAuthClaim.Get(&st.SV), jwksAutoFetchEnabled: JWKSAutoFetchEnabled.Get(&st.SV), - httpClient: httputil.NewClient( - httputil.WithClientTimeout(clientTimeout), - httputil.WithDialerTimeout(clientTimeout), - httputil.WithCustomCAPEM(JWTAuthIssuerCustomCA.Get(&st.SV)), - ), } if !authenticator.mu.conf.enabled && conf.enabled { @@ -148,7 +137,7 @@ func (authenticator *jwtAuthenticator) ValidateJWTLogin( user username.SQLUsername, tokenBytes []byte, identMap *identmap.Conf, -) (detailedErrorMsg redact.RedactableString, authError error) { +) (detailedErrorMsg string, authError error) { authenticator.mu.Lock() defer authenticator.mu.Unlock() @@ -158,13 +147,9 @@ func (authenticator *jwtAuthenticator) ValidateJWTLogin( telemetry.Inc(beginAuthUseCounter) - // Validate the token as below: - // 1. Check the token format and extract issuer - // jwx/v2 library mandates signature verification with Parse, - // so use ParseInsecure instead - // 2. Fetch JWKS corresponding to the issuer - // 3. Use Parse for signature verification - unverifiedToken, err := jwt.ParseInsecure(tokenBytes) + // Just parse the token to check the format is valid and issuer is present. + // The token will be parsed again later to actually verify the signature. + unverifiedToken, err := jwt.Parse(tokenBytes) if err != nil { return "", errors.WithDetailf( errors.Newf("JWT authentication: invalid token"), @@ -172,17 +157,27 @@ func (authenticator *jwtAuthenticator) ValidateJWTLogin( } // Check for issuer match against configured issuers. - tokenIssuer := unverifiedToken.Issuer() - if err = authenticator.mu.conf.issuersConf.checkIssuerConfigured(tokenIssuer); err != nil { - return "", errors.WithDetailf(err, "token issued by %s", tokenIssuer) + issuerUrl := "" + issuerMatch := false + for _, issuer := range authenticator.mu.conf.issuers { + if issuer == unverifiedToken.Issuer() { + issuerMatch = true + issuerUrl = issuer + break + } + } + if !issuerMatch { + return "", errors.WithDetailf( + errors.Newf("JWT authentication: invalid issuer"), + "token issued by %s", unverifiedToken.Issuer()) } var jwkSet jwk.Set - // If auto-fetch is enabled, fetch the JWKS remotely from the issuer's well known jwks URI. + // If auto-fetch is enabled, fetch the JWKS remotely from the issuer's well known jwks url. if authenticator.mu.conf.jwksAutoFetchEnabled { - jwkSet, err = authenticator.remoteFetchJWKS(ctx, tokenIssuer) + jwkSet, err = authenticator.remoteFetchJWKS(ctx, issuerUrl) if err != nil { - return redact.Sprintf("unable to fetch jwks: %v", err), + return fmt.Sprintf("unable to fetch jwks: %v", err), errors.Newf("JWT authentication: unable to validate token") } } else { @@ -190,7 +185,7 @@ func (authenticator *jwtAuthenticator) ValidateJWTLogin( } // Now that both the issuer and key-id are matched, parse the token again to validate the signature. - parsedToken, err := jwt.Parse(tokenBytes, jwt.WithKeySet(jwkSet, jws.WithInferAlgorithmFromKey(true)), jwt.WithValidate(true)) + parsedToken, err := jwt.Parse(tokenBytes, jwt.WithKeySet(jwkSet), jwt.WithValidate(true), jwt.InferAlgorithmFromKey(true)) if err != nil { return "", errors.WithDetailf( errors.Newf("JWT authentication: invalid token"), @@ -283,27 +278,16 @@ func (authenticator *jwtAuthenticator) ValidateJWTLogin( return "", nil } -// remoteFetchJWKS fetches the JWKS URI from the provided issuer URL. +// remoteFetchJWKS fetches the JWKS from the provided URI. func (authenticator *jwtAuthenticator) remoteFetchJWKS( - ctx context.Context, issuerURL string, + ctx context.Context, issuerUrl string, ) (jwk.Set, error) { - var jwksURI string - // if JWKS URI is configured in JWTAuthIssuersConfig use that instead of URL - // from issuer's well-known endpoint - err := authenticator.mu.conf.issuersConf.checkJWKSConfigured() + jwksUrl, err := authenticator.getJWKSUrl(ctx, issuerUrl) if err != nil { - jwksURI, err = authenticator.getJWKSURI(ctx, issuerURL) - if err != nil { - return nil, err - } - } else { - jwksURI, err = authenticator.mu.conf.issuersConf.getJWKSURI(issuerURL) - if err != nil { - return nil, err - } + return nil, err } - body, err := getHttpResponse(ctx, jwksURI, authenticator) + body, err := getHttpResponse(ctx, jwksUrl, authenticator) if err != nil { return nil, err } @@ -314,8 +298,8 @@ func (authenticator *jwtAuthenticator) remoteFetchJWKS( return jwkSet, nil } -// getJWKSURI returns the JWKS URI from the OpenID configuration endpoint. -func (authenticator *jwtAuthenticator) getJWKSURI( +// getJWKSUrl returns the JWKS URI from the OpenID configuration endpoint. +func (authenticator *jwtAuthenticator) getJWKSUrl( ctx context.Context, issuerUrl string, ) (string, error) { type OIDCConfigResponse struct { @@ -343,7 +327,11 @@ func getOpenIdConfigEndpoint(issuerUrl string) string { } var getHttpResponse = func(ctx context.Context, url string, authenticator *jwtAuthenticator) ([]byte, error) { - resp, err := authenticator.mu.conf.httpClient.Get(context.Background(), url) + // TODO(souravcrl): cache the http client in a callback attached to customCA + // and other http client cluster settings as re parsing the custom CA every + // time is expensive + httpClient := httputil.NewClientWithTimeout(httputil.StandardHTTPTimeout) + resp, err := httpClient.Get(context.Background(), url) if err != nil { return nil, err } @@ -373,10 +361,7 @@ var ConfigureJWTAuth = func( JWTAuthEnabled.SetOnChange(&st.SV, func(ctx context.Context) { authenticator.reloadConfig(ambientCtx.AnnotateCtx(ctx), st) }) - JWTAuthIssuersConfig.SetOnChange(&st.SV, func(ctx context.Context) { - authenticator.reloadConfig(ambientCtx.AnnotateCtx(ctx), st) - }) - JWTAuthIssuerCustomCA.SetOnChange(&st.SV, func(ctx context.Context) { + JWTAuthIssuers.SetOnChange(&st.SV, func(ctx context.Context) { authenticator.reloadConfig(ambientCtx.AnnotateCtx(ctx), st) }) JWTAuthJWKS.SetOnChange(&st.SV, func(ctx context.Context) { diff --git a/pkg/ccl/jwtauthccl/authentication_jwt_test.go b/pkg/ccl/jwtauthccl/authentication_jwt_test.go index 03818dca1132..78da1ec0f8b8 100644 --- a/pkg/ccl/jwtauthccl/authentication_jwt_test.go +++ b/pkg/ccl/jwtauthccl/authentication_jwt_test.go @@ -14,37 +14,29 @@ import ( "crypto/elliptic" "crypto/rand" "crypto/rsa" - "crypto/tls" "encoding/json" "fmt" - "io" "net/http" "net/http/httptest" "net/url" "os" - "path/filepath" - "regexp" "strings" "testing" "time" "github.com/cockroachdb/cockroach/pkg/base" - "github.com/cockroachdb/cockroach/pkg/security/certnames" - "github.com/cockroachdb/cockroach/pkg/security/securityassets" "github.com/cockroachdb/cockroach/pkg/security/username" "github.com/cockroachdb/cockroach/pkg/sql/pgwire/identmap" "github.com/cockroachdb/cockroach/pkg/testutils" "github.com/cockroachdb/cockroach/pkg/testutils/serverutils" - "github.com/cockroachdb/cockroach/pkg/util/httputil" "github.com/cockroachdb/cockroach/pkg/util/leaktest" "github.com/cockroachdb/cockroach/pkg/util/log" "github.com/cockroachdb/cockroach/pkg/util/timeutil" "github.com/cockroachdb/errors" "github.com/cockroachdb/errors/oserror" - "github.com/cockroachdb/redact" - "github.com/lestrrat-go/jwx/v2/jwa" - "github.com/lestrrat-go/jwx/v2/jwk" - "github.com/lestrrat-go/jwx/v2/jwt" + "github.com/lestrrat-go/jwx/jwa" + "github.com/lestrrat-go/jwx/jwk" + "github.com/lestrrat-go/jwx/jwt" "github.com/stretchr/testify/require" ) @@ -72,8 +64,8 @@ func createJWKS(t *testing.T) (jwk.Set, jwk.Key, jwk.Key) { pubKey2, err := key2.PublicKey() require.NoError(t, err) set := jwk.NewSet() - require.NoError(t, set.AddKey(pubKey1)) - require.NoError(t, set.AddKey(pubKey2)) + set.Add(pubKey1) + set.Add(pubKey2) return set, key1, key2 } @@ -81,7 +73,7 @@ func createJWKS(t *testing.T) (jwk.Set, jwk.Key, jwk.Key) { func createECDSAKey(t *testing.T, keyID string) jwk.Key { raw, err := ecdsa.GenerateKey(elliptic.P384(), rand.Reader) require.NoError(t, err) - key, err := jwk.FromRaw(raw) + key, err := jwk.New(raw) require.NoError(t, err) require.NoError(t, key.Set(jwk.KeyIDKey, keyID)) require.NoError(t, key.Set(jwk.AlgorithmKey, jwa.ES384)) @@ -91,7 +83,7 @@ func createECDSAKey(t *testing.T, keyID string) jwk.Key { func createRSAKey(t *testing.T, keyID string) jwk.Key { raw, err := rsa.GenerateKey(rand.Reader, 2048) require.NoError(t, err) - key, err := jwk.FromRaw(raw) + key, err := jwk.New(raw) require.NoError(t, err) require.NoError(t, key.Set(jwk.KeyIDKey, keyID)) require.NoError(t, key.Set(jwk.AlgorithmKey, jwa.RS256)) @@ -117,7 +109,7 @@ func createJWT( if customClaimName != "" { require.NoError(t, token.Set(customClaimName, customClaimValue)) } - signedTokenBytes, err := jwt.Sign(token, jwt.WithKey(algorithm, key)) + signedTokenBytes, err := jwt.Sign(token, algorithm, key) require.NoError(t, err) return signedTokenBytes } @@ -181,13 +173,13 @@ func TestJWTSingleKey(t *testing.T) { jwkPublicKey := serializePublicKey(t, publicKey) // Configure issuer as it gets checked even before the token validity check. - JWTAuthIssuersConfig.Override(ctx, &s.ClusterSettings().SV, issuer1) + JWTAuthIssuers.Override(ctx, &s.ClusterSettings().SV, issuer1) // When JWKSAutoFetchEnabled JWKS fetch should be attempted and fail for configured issuer. JWKSAutoFetchEnabled.Override(ctx, &s.ClusterSettings().SV, true) detailedErrorMsg, err := verifier.ValidateJWTLogin(ctx, s.ClusterSettings(), username.MakeSQLUsernameFromPreNormalizedString(invalidUsername), token, identMap) require.ErrorContains(t, err, "JWT authentication: unable to validate token") - require.EqualValues(t, redact.RedactableString(`unable to fetch jwks: ‹Get "issuer1/.well-known/openid-configuration"›: ‹unsupported protocol scheme ""›`), detailedErrorMsg) + require.EqualValues(t, "unable to fetch jwks: Get \"issuer1/.well-known/openid-configuration\": unsupported protocol scheme \"\"", detailedErrorMsg) // Set the JWKS cluster setting. JWKSAutoFetchEnabled.Override(ctx, &s.ClusterSettings().SV, false) @@ -221,7 +213,7 @@ func TestJWTSingleKeyWithoutKeyAlgorithm(t *testing.T) { jwkPublicKey := serializePublicKey(t, publicKey) // Configure issuer as it gets checked even before the token validity check. - JWTAuthIssuersConfig.Override(ctx, &s.ClusterSettings().SV, issuer1) + JWTAuthIssuers.Override(ctx, &s.ClusterSettings().SV, issuer1) // When JWKSAutoFetchEnabled, JWKS fetch should be attempted and fail for configured issuer. JWKSAutoFetchEnabled.Override(ctx, &s.ClusterSettings().SV, true) @@ -251,13 +243,13 @@ func TestJWTMultiKey(t *testing.T) { // Make sure jwt auth is enabled. JWTAuthEnabled.Override(ctx, &s.ClusterSettings().SV, true) // Configure issuer as it gets checked even before the token validity check. - JWTAuthIssuersConfig.Override(ctx, &s.ClusterSettings().SV, issuer1) + JWTAuthIssuers.Override(ctx, &s.ClusterSettings().SV, issuer1) keySet, key, key2 := createJWKS(t) token := createJWT(t, username1, audience1, issuer1, timeutil.Now().Add(time.Hour), key2, jwa.ES384, "", "") publicKey, err := key.PublicKey() require.NoError(t, err) keySetWithOneKey := jwk.NewSet() - require.NoError(t, keySetWithOneKey.AddKey(publicKey)) + keySetWithOneKey.Add(publicKey) // Set the JWKS to only include jwk1. JWTAuthJWKS.Override(ctx, &s.ClusterSettings().SV, serializePublicKeySet(t, keySetWithOneKey)) @@ -292,7 +284,7 @@ func TestExpiredToken(t *testing.T) { // Make sure jwt auth is enabled and accepts valid signing keys. JWTAuthEnabled.Override(ctx, &s.ClusterSettings().SV, true) // Configure issuer as it gets checked even before the token validity check. - JWTAuthIssuersConfig.Override(ctx, &s.ClusterSettings().SV, issuer1) + JWTAuthIssuers.Override(ctx, &s.ClusterSettings().SV, issuer1) keySet, key, _ := createJWKS(t) token := createJWT(t, username1, audience1, issuer1, timeutil.Now().Add(-1*time.Second), key, jwa.RS256, "", "") JWTAuthJWKS.Override(ctx, &s.ClusterSettings().SV, serializePublicKeySet(t, keySet)) @@ -301,7 +293,7 @@ func TestExpiredToken(t *testing.T) { // Validation fails with an invalid token error for tokens with an expiration date in the past. _, err = verifier.ValidateJWTLogin(ctx, s.ClusterSettings(), username.MakeSQLUsernameFromPreNormalizedString(username1), token, identMap) require.ErrorContains(t, err, "JWT authentication: invalid token") - require.EqualValues(t, "unable to parse token: \"exp\" not satisfied", errors.GetAllDetails(err)[0]) + require.EqualValues(t, "unable to parse token: exp not satisfied", errors.GetAllDetails(err)[0]) } func TestKeyIdMismatch(t *testing.T) { @@ -323,7 +315,7 @@ func TestKeyIdMismatch(t *testing.T) { JWTAuthJWKS.Override(ctx, &s.ClusterSettings().SV, serializePublicKeySet(t, keySet)) verifier := ConfigureJWTAuth(ctx, s.AmbientCtx(), s.ClusterSettings(), s.StorageClusterID()) // Configure issuer as it gets checked even before the token validity check. - JWTAuthIssuersConfig.Override(ctx, &s.ClusterSettings().SV, issuer1) + JWTAuthIssuers.Override(ctx, &s.ClusterSettings().SV, issuer1) // When JWKSAutoFetchEnabled the jwks fetch should be attempted and fail. _, err = verifier.ValidateJWTLogin(ctx, s.ClusterSettings(), username.MakeSQLUsernameFromPreNormalizedString(username1), token, identMap) @@ -364,7 +356,7 @@ func TestIssuerCheck(t *testing.T) { require.ErrorContains(t, err, "JWT authentication: invalid issuer") require.EqualValues(t, "token issued by issuer1", errors.GetAllDetails(err)[0]) - JWTAuthIssuersConfig.Override(ctx, &s.ClusterSettings().SV, issuer2) + JWTAuthIssuers.Override(ctx, &s.ClusterSettings().SV, issuer2) // Validation fails with an issuer error when the issuer in the token is not in cluster's accepted issuers. _, err = verifier.ValidateJWTLogin(ctx, s.ClusterSettings(), username.MakeSQLUsernameFromPreNormalizedString(invalidUsername), token1, identMap) require.ErrorContains(t, err, "JWT authentication: invalid issuer") @@ -376,7 +368,7 @@ func TestIssuerCheck(t *testing.T) { require.EqualValues(t, "token issued for [test_user1] and login was for invalid_user", errors.GetAllDetails(err)[0]) // Set the cluster setting to accept issuer values of either "issuer" or "issuer2". - JWTAuthIssuersConfig.Override(ctx, &s.ClusterSettings().SV, "[\""+issuer1+"\", \""+issuer2+"\"]") + JWTAuthIssuers.Override(ctx, &s.ClusterSettings().SV, "[\""+issuer1+"\", \""+issuer2+"\"]") // Validation succeeds when the issuer in the token is an element of the cluster's accepted issuers. _, err = verifier.ValidateJWTLogin(ctx, s.ClusterSettings(), username.MakeSQLUsernameFromPreNormalizedString(invalidUsername), token1, identMap) @@ -406,7 +398,7 @@ func TestSubjectCheck(t *testing.T) { JWTAuthEnabled.Override(ctx, &s.ClusterSettings().SV, true) JWTAuthJWKS.Override(ctx, &s.ClusterSettings().SV, serializePublicKeySet(t, keySet)) verifier := ConfigureJWTAuth(ctx, s.AmbientCtx(), s.ClusterSettings(), s.StorageClusterID()) - JWTAuthIssuersConfig.Override(ctx, &s.ClusterSettings().SV, issuer2) + JWTAuthIssuers.Override(ctx, &s.ClusterSettings().SV, issuer2) // Validation fails with a subject error when a user tries to log in with a user named // "invalid" but the token is for the user "test2". @@ -438,7 +430,7 @@ func TestClaimMissing(t *testing.T) { JWTAuthEnabled.Override(ctx, &s.ClusterSettings().SV, true) JWTAuthJWKS.Override(ctx, &s.ClusterSettings().SV, serializePublicKeySet(t, keySet)) verifier := ConfigureJWTAuth(ctx, s.AmbientCtx(), s.ClusterSettings(), s.StorageClusterID()) - JWTAuthIssuersConfig.Override(ctx, &s.ClusterSettings().SV, issuer2) + JWTAuthIssuers.Override(ctx, &s.ClusterSettings().SV, issuer2) JWTAuthClaim.Override(ctx, &s.ClusterSettings().SV, customClaimName) // Validation fails with missing claim @@ -465,7 +457,7 @@ func TestIntegerClaimValue(t *testing.T) { JWTAuthEnabled.Override(ctx, &s.ClusterSettings().SV, true) JWTAuthJWKS.Override(ctx, &s.ClusterSettings().SV, serializePublicKeySet(t, keySet)) verifier := ConfigureJWTAuth(ctx, s.AmbientCtx(), s.ClusterSettings(), s.StorageClusterID()) - JWTAuthIssuersConfig.Override(ctx, &s.ClusterSettings().SV, issuer2) + JWTAuthIssuers.Override(ctx, &s.ClusterSettings().SV, issuer2) JWTAuthClaim.Override(ctx, &s.ClusterSettings().SV, customClaimName) // the integer claim is implicitly cast to a string @@ -491,7 +483,7 @@ func TestSingleClaim(t *testing.T) { JWTAuthEnabled.Override(ctx, &s.ClusterSettings().SV, true) JWTAuthJWKS.Override(ctx, &s.ClusterSettings().SV, serializePublicKeySet(t, keySet)) verifier := ConfigureJWTAuth(ctx, s.AmbientCtx(), s.ClusterSettings(), s.StorageClusterID()) - JWTAuthIssuersConfig.Override(ctx, &s.ClusterSettings().SV, issuer2) + JWTAuthIssuers.Override(ctx, &s.ClusterSettings().SV, issuer2) JWTAuthClaim.Override(ctx, &s.ClusterSettings().SV, customClaimName) // Validation fails with a subject error when a user tries to log in with a user named @@ -523,7 +515,7 @@ func TestMultipleClaim(t *testing.T) { JWTAuthEnabled.Override(ctx, &s.ClusterSettings().SV, true) JWTAuthJWKS.Override(ctx, &s.ClusterSettings().SV, serializePublicKeySet(t, keySet)) verifier := ConfigureJWTAuth(ctx, s.AmbientCtx(), s.ClusterSettings(), s.StorageClusterID()) - JWTAuthIssuersConfig.Override(ctx, &s.ClusterSettings().SV, issuer2) + JWTAuthIssuers.Override(ctx, &s.ClusterSettings().SV, issuer2) JWTAuthClaim.Override(ctx, &s.ClusterSettings().SV, customClaimName) // Validation fails with a subject error when a user tries to log in with a user named @@ -560,7 +552,7 @@ func TestSubjectMappingCheck(t *testing.T) { JWTAuthEnabled.Override(ctx, &s.ClusterSettings().SV, true) JWTAuthJWKS.Override(ctx, &s.ClusterSettings().SV, serializePublicKeySet(t, keySet)) verifier := ConfigureJWTAuth(ctx, s.AmbientCtx(), s.ClusterSettings(), s.StorageClusterID()) - JWTAuthIssuersConfig.Override(ctx, &s.ClusterSettings().SV, issuer2) + JWTAuthIssuers.Override(ctx, &s.ClusterSettings().SV, issuer2) // Validation fails with a subject error when a user tries to log in when their user is mapped to username2 // but they try to log in with username1. @@ -598,7 +590,7 @@ func TestSubjectReservedUser(t *testing.T) { JWTAuthEnabled.Override(ctx, &s.ClusterSettings().SV, true) JWTAuthJWKS.Override(ctx, &s.ClusterSettings().SV, serializePublicKeySet(t, keySet)) verifier := ConfigureJWTAuth(ctx, s.AmbientCtx(), s.ClusterSettings(), s.StorageClusterID()) - JWTAuthIssuersConfig.Override(ctx, &s.ClusterSettings().SV, "[\""+issuer1+"\", \""+issuer2+"\"]") + JWTAuthIssuers.Override(ctx, &s.ClusterSettings().SV, "[\""+issuer1+"\", \""+issuer2+"\"]") // You cannot log in as root or other reserved users using token based auth when mapped to root. _, err = verifier.ValidateJWTLogin(ctx, s.ClusterSettings(), username.MakeSQLUsernameFromPreNormalizedString("root"), token, identMap) @@ -626,7 +618,7 @@ func TestAudienceCheck(t *testing.T) { // Make sure jwt auth is enabled and accepts jwk1 or jwk2 as valid signing keys. JWTAuthEnabled.Override(ctx, &s.ClusterSettings().SV, true) JWTAuthJWKS.Override(ctx, &s.ClusterSettings().SV, serializePublicKeySet(t, keySet)) - JWTAuthIssuersConfig.Override(ctx, &s.ClusterSettings().SV, issuer2) + JWTAuthIssuers.Override(ctx, &s.ClusterSettings().SV, issuer2) // Set audience field to audience2. JWTAuthAudience.Override(ctx, &s.ClusterSettings().SV, audience2) @@ -681,7 +673,7 @@ func createJWKSFromFile(t *testing.T, fileName string) jwk.Set { return jwkSet } -// test that jwks URI is used when JWKSAutoFetchEnabled is true. +// test that jwks url is used when JWKSAutoFetchEnabled is true. func Test_JWKSFetchWorksWhenEnabled(t *testing.T) { defer leaktest.AfterTest(t)() // Intercept the call to getHttpResponse and return the mockGetHttpResponse @@ -699,16 +691,16 @@ func Test_JWKSFetchWorksWhenEnabled(t *testing.T) { require.NoError(t, err) // Create key from a file. This key will be used to sign the token. - // Matching public key available in jwks URI is used to verify token. + // Matching public key available in jwks url is used to verify token. keySet := createJWKSFromFile(t, "testdata/www.idp1apis.com_oauth2_v3_certs_private") - key, _ := keySet.Key(0) + key, _ := keySet.Get(0) validIssuer := "https://accounts.idp1.com" token := createJWT(t, username1, audience1, validIssuer, timeutil.Now().Add(time.Hour), key, jwa.RS256, "", "") // Make sure jwt auth is enabled and accepts jwk1 or jwk2 as valid signing keys. JWTAuthEnabled.Override(ctx, &s.ClusterSettings().SV, true) //JWTAuthJWKS.Override(ctx, &s.ClusterSettings().SV, serializePublicKeySet(t, keySet)) - JWTAuthIssuersConfig.Override(ctx, &s.ClusterSettings().SV, validIssuer) + JWTAuthIssuers.Override(ctx, &s.ClusterSettings().SV, validIssuer) // Set audience field to audience2. JWTAuthAudience.Override(ctx, &s.ClusterSettings().SV, audience2) @@ -735,7 +727,7 @@ func Test_JWKSFetchWorksWhenEnabled(t *testing.T) { require.NoError(t, err) } -// test jwks URI is used when JWKSAutoFetchEnabled and static jwks ignored. +// test jwks url is used when JWKSAutoFetchEnabled and static jwks ignored. func Test_JWKSFetchWorksWhenEnabledIgnoresTheStaticJWKS(t *testing.T) { defer leaktest.AfterTest(t)() // Intercept the call to getHttpResponse and return the mockGetHttpResponse @@ -753,9 +745,9 @@ func Test_JWKSFetchWorksWhenEnabledIgnoresTheStaticJWKS(t *testing.T) { require.NoError(t, err) // Create key from a file. This key will be used to sign the token. - // Matching public key available in jwks URI is used to verify token. + // Matching public key available in jwks url is used to verify token. keySetUsedForSigning := createJWKSFromFile(t, "testdata/www.idp1apis.com_oauth2_v3_certs_private") - key, _ := keySetUsedForSigning.Key(0) + key, _ := keySetUsedForSigning.Get(0) validIssuer := "https://accounts.idp1.com" token := createJWT(t, username1, audience1, validIssuer, timeutil.Now().Add(time.Hour), key, jwa.RS256, "", "") @@ -765,7 +757,7 @@ func Test_JWKSFetchWorksWhenEnabledIgnoresTheStaticJWKS(t *testing.T) { // Configure cluster setting with a key that is not used for signing. keySetNotUsedForSigning, _, _ := createJWKS(t) JWTAuthJWKS.Override(ctx, &s.ClusterSettings().SV, serializePublicKeySet(t, keySetNotUsedForSigning)) - JWTAuthIssuersConfig.Override(ctx, &s.ClusterSettings().SV, validIssuer) + JWTAuthIssuers.Override(ctx, &s.ClusterSettings().SV, validIssuer) // Set audience field to audience2. JWTAuthAudience.Override(ctx, &s.ClusterSettings().SV, audience2) @@ -810,341 +802,7 @@ func TestJWTAuthCanUseHTTPProxy(t *testing.T) { })() authenticator := jwtAuthenticator{} - authenticator.mu.Lock() - defer authenticator.mu.Unlock() - authenticator.mu.conf.httpClient = httputil.NewClientWithTimeout(httputil.StandardHTTPTimeout) - res, err := getHttpResponse(ctx, "http://my-server/.well-known/openid-configuration", &authenticator) require.NoError(t, err) require.EqualValues(t, "proxied-http://my-server/.well-known/openid-configuration", string(res)) } - -func TestJWTAuthWithCustomCACert(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - - // Initiate a test JWKS server locally over HTTPS. - testServer := httptest.NewUnstartedServer(nil) - testServerURL := "https://" + testServer.Listener.Addr().String() - - mux := http.NewServeMux() - mux.HandleFunc( - "GET /.well-known/openid-configuration", - func(w http.ResponseWriter, r *http.Request) { - // Serve the response locally from testdata. - dataBytes, err := os.ReadFile("testdata/accounts.idp1.com_.well-known_openid-configuration") - require.NoError(t, err) - - type providerJSON struct { - Issuer string `json:"issuer"` - AuthURL string `json:"authorization_endpoint"` - TokenURL string `json:"token_endpoint"` - JWKSURI string `json:"jwks_uri"` - UserInfoURL string `json:"userinfo_endpoint"` - Algorithms []string `json:"id_token_signing_alg_values_supported"` - } - - var p providerJSON - err = json.Unmarshal(dataBytes, &p) - require.NoError(t, err) - - // We need to update the 'jwks_uri' to point to the local test server. - p.JWKSURI = testServerURL + "/jwks" - - updatedBytes, err := json.Marshal(p) - require.NoError(t, err) - _, err = w.Write(updatedBytes) - require.NoError(t, err) - }, - ) - mux.HandleFunc( - "GET /jwks", - func(w http.ResponseWriter, r *http.Request) { - // Serve the JWKS response locally from testdata. - dataBytes, err := os.ReadFile("testdata/www.idp1apis.com_oauth2_v3_certs") - require.NoError(t, err) - _, err = w.Write(dataBytes) - require.NoError(t, err) - }, - ) - - testServer.Config = &http.Server{ - Handler: mux, - } - - certPEMBlock, err := securityassets.GetLoader().ReadFile( - filepath.Join(certnames.EmbeddedCertsDir, certnames.EmbeddedNodeCert)) - require.NoError(t, err) - keyPEMBlock, err := securityassets.GetLoader().ReadFile( - filepath.Join(certnames.EmbeddedCertsDir, certnames.EmbeddedNodeKey)) - require.NoError(t, err) - tlsCert, err := tls.X509KeyPair(certPEMBlock, keyPEMBlock) - require.NoError(t, err) - - testServer.TLS = &tls.Config{Certificates: []tls.Certificate{tlsCert}} - testServer.StartTLS() - defer testServer.Close() - - s := serverutils.StartServerOnly(t, base.TestServerArgs{}) - defer s.Stopper().Stop(ctx) - - identMapString := "" - identMap, err := identmap.From(strings.NewReader(identMapString)) - require.NoError(t, err) - - // Create a key to sign the token using testdata. - // The same will be fetched through the JWKS URI to verify the token. - keySet := createJWKSFromFile(t, "testdata/www.idp1apis.com_oauth2_v3_certs_private") - key, _ := keySet.Key(0) - issuer := testServerURL - token := createJWT( - t, username1, audience1, issuer, timeutil.Now().Add(time.Hour), key, jwa.RS256, "", "") - - JWTAuthEnabled.Override(ctx, &s.ClusterSettings().SV, true) - JWTAuthIssuersConfig.Override(ctx, &s.ClusterSettings().SV, issuer) - JWKSAutoFetchEnabled.Override(ctx, &s.ClusterSettings().SV, true) - JWTAuthAudience.Override(ctx, &s.ClusterSettings().SV, audience1) - - verifier := ConfigureJWTAuth(ctx, s.AmbientCtx(), s.ClusterSettings(), s.StorageClusterID()) - - for _, testCase := range []struct { - testName string - // caCertName is the name of the certificate looked up within `test_certs`. - // Empty value is treated as no certificate. - caCertName string - assertFn func(t require.TestingT, err error, msgAndArgs ...interface{}) - }{ - { - testName: "fail if no CA certificate is provided", - caCertName: "", - assertFn: require.Error, - }, - { - testName: "fail if an incorrect CA certificate is provided", - caCertName: certnames.EmbeddedTestUserCert, - assertFn: require.Error, - }, - { - testName: "success if the correct CA certificate is provided", - caCertName: certnames.EmbeddedCACert, - assertFn: require.NoError, - }, - } { - t.Run(testCase.testName, func(t *testing.T) { - if testCase.caCertName != "" { - publicKeyPEM, err := securityassets.GetLoader().ReadFile( - filepath.Join(certnames.EmbeddedCertsDir, testCase.caCertName)) - require.NoError(t, err) - JWTAuthIssuerCustomCA.Override(ctx, &s.ClusterSettings().SV, string(publicKeyPEM)) - } - - _, err = verifier.ValidateJWTLogin( - ctx, - s.ClusterSettings(), - username.MakeSQLUsernameFromPreNormalizedString(username1), - token, - identMap, - ) - testCase.assertFn(t, err) - }) - } -} - -func TestJWTAuthClientTimeout(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - - // Initiate a test JWKS server locally. - testServer := httptest.NewUnstartedServer(nil) - waitChan := make(chan struct{}, 1) - - mux := http.NewServeMux() - mux.HandleFunc( - "GET /jwks", - func(w http.ResponseWriter, r *http.Request) { - // Hang the request handler to enforce HTTP client timeout. - <-waitChan - }, - ) - - testServer.Config = &http.Server{ - Handler: mux, - } - testServer.Start() - defer func() { - waitChan <- struct{}{} - close(waitChan) - testServer.Close() - }() - - mockGetHttpResponse := func(ctx context.Context, url string, authenticator *jwtAuthenticator) ([]byte, error) { - if strings.Contains(url, "/.well-known/openid-configuration") { - return mockGetHttpResponseWithLocalFileContent(ctx, url, authenticator) - } else if strings.Contains(url, "/oauth2/v3/certs") { - // For fetching JWKS, point to the local test server. - resp, err := authenticator.mu.conf.httpClient.Get( - context.Background(), - testServer.URL+"/jwks", - ) - if err != nil { - return nil, err - } - defer resp.Body.Close() - - body, err := io.ReadAll(resp.Body) - if err != nil { - return nil, err - } - return body, nil - } - return nil, errors.Newf("unsupported route: %s", url) - } - getHttpResponseTestHook := testutils.TestingHook(&getHttpResponse, mockGetHttpResponse) - defer getHttpResponseTestHook() - - s := serverutils.StartServerOnly(t, base.TestServerArgs{}) - defer s.Stopper().Stop(ctx) - - identMapString := "" - identMap, err := identmap.From(strings.NewReader(identMapString)) - require.NoError(t, err) - - // Create a key to sign the token using testdata. - // The same will be fetched through the JWKS URI to verify the token. - keySet := createJWKSFromFile(t, "testdata/www.idp1apis.com_oauth2_v3_certs_private") - key, _ := keySet.Key(0) - validIssuer := "https://accounts.idp1.com" - token := createJWT( - t, username1, audience1, validIssuer, timeutil.Now().Add(time.Hour), key, jwa.RS256, "", "") - - JWTAuthEnabled.Override(ctx, &s.ClusterSettings().SV, true) - JWTAuthIssuersConfig.Override(ctx, &s.ClusterSettings().SV, validIssuer) - JWKSAutoFetchEnabled.Override(ctx, &s.ClusterSettings().SV, true) - JWTAuthAudience.Override(ctx, &s.ClusterSettings().SV, audience1) - JWTAuthClientTimeout.Override(ctx, &s.ClusterSettings().SV, time.Millisecond) - - verifier := ConfigureJWTAuth(ctx, s.AmbientCtx(), s.ClusterSettings(), s.StorageClusterID()) - errMsg, err := verifier.ValidateJWTLogin( - ctx, - s.ClusterSettings(), - username.MakeSQLUsernameFromPreNormalizedString(username1), - token, - identMap, - ) - require.Regexp( - t, - regexp.MustCompile(`unable to fetch jwks:.*\(Client.Timeout exceeded while awaiting headers\)`), - errMsg, - ) - require.ErrorContains(t, err, "JWT authentication: unable to validate token") -} - -func TestJWTAuthWithIssuerJWKSConfAutoFetchJWKS(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - - // Initiate a test OIDC/JWKS server locally over HTTP. - testServer := httptest.NewUnstartedServer(nil) - testServerURL := "http://" + testServer.Listener.Addr().String() - - mux := http.NewServeMux() - mux.HandleFunc( - "GET /.well-known/openid-configuration", - func(w http.ResponseWriter, r *http.Request) { - // Serve the response locally mocking openid config. - dataBytes := map[string]string{"invalid-key": "invalid-value"} - updatedBytes, _ := json.Marshal(dataBytes) - _, err := w.Write(updatedBytes) - require.NoError(t, err) - }, - ) - mux.HandleFunc( - "GET /jwks", - func(w http.ResponseWriter, r *http.Request) { - // Serve the JWKS response locally from testdata. - dataBytes, err := os.ReadFile("testdata/www.idp1apis.com_oauth2_v3_certs") - require.NoError(t, err) - _, err = w.Write(dataBytes) - require.NoError(t, err) - }, - ) - - testServer.Config = &http.Server{ - Handler: mux, - } - testServer.Start() - defer testServer.Close() - - s := serverutils.StartServerOnly(t, base.TestServerArgs{}) - defer s.Stopper().Stop(ctx) - - // Create a key to sign the token using testdata. - // The same will be fetched through the JWKS URI to verify the token. - keySet := createJWKSFromFile(t, "testdata/www.idp1apis.com_oauth2_v3_certs_private") - key, _ := keySet.Key(0) - issuer := testServerURL - token := createJWT( - t, username1, audience1, issuer, timeutil.Now().Add(time.Hour), key, jwa.RS256, "", "") - - JWTAuthEnabled.Override(ctx, &s.ClusterSettings().SV, true) - JWKSAutoFetchEnabled.Override(ctx, &s.ClusterSettings().SV, true) - JWTAuthAudience.Override(ctx, &s.ClusterSettings().SV, audience1) - - verifier := ConfigureJWTAuth(ctx, s.AmbientCtx(), s.ClusterSettings(), s.StorageClusterID()) - identMapString := "" - identMap, err := identmap.From(strings.NewReader(identMapString)) - require.NoError(t, err) - - for _, testCase := range []struct { - testName string - issuerConfSetting string - assertFn func(t require.TestingT, err error, msgAndArgs ...interface{}) - expectedErr string - expectedErrDetails string - detailedErrMsg string - }{ - { - testName: "fail if issuer not set", - issuerConfSetting: "", - assertFn: require.Error, - expectedErr: "JWT authentication: invalid issuer", - expectedErrDetails: "token issued by " + testServerURL, - }, - { - testName: "fail if issuer provided without JWKS URI mapping", - issuerConfSetting: testServerURL, - assertFn: require.Error, - expectedErr: "JWT authentication: unable to validate token", - detailedErrMsg: "unable to fetch jwks: no JWKS URI found in OpenID configuration", - }, - { - testName: "success if issuer to jwks URI provided", - issuerConfSetting: "{\"issuer_jwks_map\": {\"" + testServerURL + "\": \"" + testServerURL + "/jwks" + "\"}}", - assertFn: require.NoError, - }, - } { - t.Run(testCase.testName, func(t *testing.T) { - // set the issuer configuration cluster setting - JWTAuthIssuersConfig.Override(ctx, &s.ClusterSettings().SV, testCase.issuerConfSetting) - detailedErrMsg, err := verifier.ValidateJWTLogin( - ctx, - s.ClusterSettings(), - username.MakeSQLUsernameFromPreNormalizedString(username1), - token, - identMap, - ) - testCase.assertFn(t, err) - if err != nil { - require.Equal(t, testCase.expectedErr, err.Error()) - require.Equal(t, testCase.expectedErrDetails, errors.FlattenDetails(err)) - require.Equal(t, detailedErrMsg, redact.RedactableString(testCase.detailedErrMsg)) - } - }) - } -} diff --git a/pkg/ccl/jwtauthccl/settings.go b/pkg/ccl/jwtauthccl/settings.go index 5ce13d3d58c3..995415fcf663 100644 --- a/pkg/ccl/jwtauthccl/settings.go +++ b/pkg/ccl/jwtauthccl/settings.go @@ -10,29 +10,22 @@ package jwtauthccl import ( "bytes" - "crypto/x509" "encoding/json" - "slices" - "time" "github.com/cockroachdb/cockroach/pkg/settings" "github.com/cockroachdb/errors" - "github.com/lestrrat-go/jwx/v2/jwk" - "golang.org/x/exp/maps" + "github.com/lestrrat-go/jwx/jwk" ) // All cluster settings necessary for the JWT authentication feature. const ( - baseJWTAuthSettingName = "server.jwt_authentication." - JWTAuthAudienceSettingName = baseJWTAuthSettingName + "audience" - JWTAuthEnabledSettingName = baseJWTAuthSettingName + "enabled" - JWTAuthIssuersSettingName = baseJWTAuthSettingName + "issuers" - JWTAuthJWKSSettingName = baseJWTAuthSettingName + "jwks" - JWTAuthClaimSettingName = baseJWTAuthSettingName + "claim" - JWKSAutoFetchEnabledSettingName = baseJWTAuthSettingName + "jwks_auto_fetch.enabled" - jwtAuthIssuerCustomCASettingName = baseJWTAuthSettingName + "issuers.custom_ca" - jwtAuthClientTimeoutSettingName = baseJWTAuthSettingName + "client.timeout" - jwtAuthIssuersConfigSettingName = JWTAuthIssuersSettingName + ".configuration" + baseJWTAuthSettingName = "server.jwt_authentication." + JWTAuthAudienceSettingName = baseJWTAuthSettingName + "audience" + JWTAuthEnabledSettingName = baseJWTAuthSettingName + "enabled" + JWTAuthIssuersSettingName = baseJWTAuthSettingName + "issuers" + JWTAuthJWKSSettingName = baseJWTAuthSettingName + "jwks" + JWTAuthClaimSettingName = baseJWTAuthSettingName + "claim" + JWKSAutoFetchEnabledSettingName = baseJWTAuthSettingName + "jwks_auto_fetch.enabled" ) // JWTAuthClaim sets the JWT claim that is parsed to get the username. @@ -42,7 +35,6 @@ var JWTAuthClaim = settings.RegisterStringSetting( "sets the JWT claim that is parsed to get the username", "", settings.WithReportable(true), - settings.WithPublic, ) // JWTAuthAudience sets accepted audience values for JWT logins over the SQL interface. @@ -52,7 +44,6 @@ var JWTAuthAudience = settings.RegisterStringSetting( "sets accepted audience values for JWT logins over the SQL interface", "", settings.WithValidateString(validateJWTAuthAudiences), - settings.WithPublic, ) // JWTAuthEnabled enables or disabled JWT login over the SQL interface. @@ -62,7 +53,6 @@ var JWTAuthEnabled = settings.RegisterBoolSetting( "enables or disables JWT login for the SQL interface", false, settings.WithReportable(true), - settings.WithPublic, ) // JWTAuthJWKS is the public key set for JWT logins over the SQL interface. @@ -72,167 +62,42 @@ var JWTAuthJWKS = settings.RegisterStringSetting( "sets the public key set for JWT logins over the SQL interface (JWKS format)", "{\"keys\":[]}", settings.WithValidateString(validateJWTAuthJWKS), - settings.WithPublic, ) -// JWTAuthIssuersConfig contains the configuration of all JWT issuers whose -// tokens are allowed for JWT logins over the SQL interface. This can be set to -// one of the following values: -// 1. Simple string that Go can parse as a valid issuer URL. -// 2. String that can be parsed as valid JSON array of issuer URLs list. -// 3. String that can be parsed as valid JSON and deserialized into a map of -// issuer URLs to corresponding JWKS URIs. -// In the third case we will be overriding the JWKS URI present in the issuer's -// well-known endpoint. -// Example valid values: -// - 'https://accounts.google.com' -// - ['example.com/adfs','https://accounts.google.com'] -// - '{ -// "issuer_jwks_map": { -// "https://accounts.google.com": "https://www.googleapis.com/oauth2/v3/certs", -// "example.com/adfs": "https://example.com/adfs/discovery/keys" -// } -// }' -// -// When issuer_jwks_map is set, we directly use the JWKS URI to get the key set. -// In all other cases where JWKSAutoFetchEnabled is set we obtain the JWKS URI -// first from issuer's well-known endpoint and the use this endpoint. -var JWTAuthIssuersConfig = settings.RegisterStringSetting( +// JWTAuthIssuers is the list of "issuer" values that are accepted for JWT logins over the SQL interface. +var JWTAuthIssuers = settings.RegisterStringSetting( settings.ApplicationLevel, JWTAuthIssuersSettingName, - "sets accepted issuer values for JWT logins over the SQL interface which can "+ - "be a single issuer URL string or a JSON string containing an array of "+ - "issuer URLs or a JSON object containing map of issuer URLS to JWKS URIs", - "", - settings.WithValidateString(validateJWTAuthIssuersConf), - settings.WithName(jwtAuthIssuersConfigSettingName), - settings.WithPublic, -) - -// JWTAuthIssuerCustomCA is the custom root CA for verifying certificates while -// fetching JWKS from the JWT issuers. -var JWTAuthIssuerCustomCA = settings.RegisterStringSetting( - settings.ApplicationLevel, - jwtAuthIssuerCustomCASettingName, - "sets the PEM encoded custom root CA for verifying certificates while fetching JWKS", + "sets accepted issuer values for JWT logins over the SQL interface either as a string or as a JSON "+ + "string with an array of issuer strings in it", "", - settings.WithReportable(false), - settings.Sensitive, - settings.WithValidateString(validateJWTAuthIssuerCACert), - settings.WithPublic, + settings.WithValidateString(validateJWTAuthIssuers), ) -// JWKSAutoFetchEnabled enables or disables automatic fetching of JWKS either -// from JWKS URI present in the issuer's well-known endpoint or value set in -// JWTAuthIssuersConfig for JWKS URI corresponding to the issuer from presented -// JWT token for JWT login over SQL interface. +// JWKSAutoFetchEnabled enables or disables automatic fetching of JWKs from the issuer's well-known endpoint. var JWKSAutoFetchEnabled = settings.RegisterBoolSetting( settings.ApplicationLevel, JWKSAutoFetchEnabledSettingName, - "enables or disables automatic fetching of JWKS from the issuer's well-known "+ - "endpoint or JWKS URI set in JWTAuthIssuersConfig. If this is enabled, the "+ - "server.jwt_authentication.jwks will be ignored.", + "enables or disables automatic fetching of JWKs from the issuer's well-known endpoint. "+ + "If this is enabled, the server.jwt_authentication.jwks will be ignored.", false, settings.WithReportable(true), - settings.WithPublic, ) -// JWTAuthClientTimeout is the client timeout for all the external calls made -// during JWT authentication (e.g. fetching JWKS, etc.). -var JWTAuthClientTimeout = settings.RegisterDurationSetting( - settings.ApplicationLevel, - jwtAuthClientTimeoutSettingName, - "sets the client timeout for external calls made during JWT authentication "+ - "(e.g. fetching JWKS, etc.)", - 15*time.Second, - settings.NonNegativeDuration, - settings.WithPublic, -) - -// getJSONDecoder generates a new decoder from provided json string. This is -// necessary as currently the offset for decoder can't be reset after Decode(). -func getJSONDecoder(s string) *json.Decoder { - decoder := json.NewDecoder(bytes.NewReader([]byte(s))) - decoder.DisallowUnknownFields() - return decoder -} - -type issuerURLConf struct { - ijMap *issuerJWKSMap - issuers []string -} - -func (conf *issuerURLConf) checkIssuerConfigured(issuer string) error { - if !slices.Contains(conf.issuers, issuer) { - return errors.Newf("JWT authentication: invalid issuer") - } - return nil -} - -func (conf *issuerURLConf) checkJWKSConfigured() error { - if conf.ijMap == nil || len(conf.ijMap.Mappings) == 0 { - return errors.Newf("JWT authentication: no jwks mappings configured") - } - return nil -} - -func (conf *issuerURLConf) getJWKSURI(issuer string) (jwksURI string, err error) { - var ok bool - if jwksURI, ok = conf.ijMap.Mappings[issuer]; !ok { - return "", errors.Newf("JWT authentication: no jwks uri set for issuer") - } - return jwksURI, nil -} - -// issuerJWKSMap is a struct that defines a valid JSON body for the -// OIDCRedirectURL cluster setting in multi-region environments. -type issuerJWKSMap struct { - Mappings map[string]string `json:"issuer_jwks_map"` -} - -// mustParseJWTIssuersConf will read in a string that's from the -// JWTAuthIssuersConfig setting. We know from the validation that runs on that -// setting that any value that's not valid JSON that deserializes into the -// issuerJWKSMap struct will be either a list of issuer URLs or a single issuer -// URL which will populate and return issuerURLConf. -func mustParseJWTIssuersConf(s string) issuerURLConf { - var ijMap = issuerJWKSMap{} - var issuers []string - decoder := getJSONDecoder(s) - err := decoder.Decode(&ijMap) - if err == nil { - issuers = append(issuers, maps.Keys(ijMap.Mappings)...) - return issuerURLConf{ijMap: &ijMap, issuers: issuers} - } - - decoder = getJSONDecoder(s) - err = decoder.Decode(&issuers) - if err == nil { - return issuerURLConf{issuers: issuers} - } - return issuerURLConf{issuers: []string{s}} -} - -func validateJWTAuthIssuersConf(values *settings.Values, s string) error { +func validateJWTAuthIssuers(values *settings.Values, s string) error { var issuers []string - var ijMap = issuerJWKSMap{} var jsonCheck json.RawMessage if json.Unmarshal([]byte(s), &jsonCheck) != nil { // If we know the string is *not* valid JSON, fall back to assuming basic - // string to use a single valid issuer. + // string to use a single valid issuer return nil } - decoder := getJSONDecoder(s) - issuerListErr := decoder.Decode(&issuers) - decoder = getJSONDecoder(s) - issuerJWKSMapErr := decoder.Decode(&ijMap) - if issuerListErr != nil && issuerJWKSMapErr != nil { - return errors.Wrap( - errors.Join(issuerListErr, issuerJWKSMapErr), - "JWT authentication: issuers JSON not valid", - ) + decoder := json.NewDecoder(bytes.NewReader([]byte(s))) + decoder.DisallowUnknownFields() + if err := decoder.Decode(&issuers); err != nil { + return errors.Wrap(err, "JWT authentication issuers JSON not valid") } return nil } @@ -268,7 +133,7 @@ func mustParseValueOrArray(rawString string) []string { var jsonCheck json.RawMessage if json.Unmarshal([]byte(rawString), &jsonCheck) != nil { // If we know the string is *not* valid JSON, fall back to assuming basic - // string to use a single valid issuer. + // string to use a single valid. return []string{rawString} } @@ -286,12 +151,3 @@ func mustParseJWKS(jwks string) jwk.Set { } return keySet } - -func validateJWTAuthIssuerCACert(values *settings.Values, s string) error { - if len(s) != 0 { - if ok := x509.NewCertPool().AppendCertsFromPEM([]byte(s)); !ok { - return errors.Newf("JWT authentication issuer custom CA certificate not valid") - } - } - return nil -} diff --git a/pkg/ccl/jwtauthccl/settings_test.go b/pkg/ccl/jwtauthccl/settings_test.go index 82d6825e08fa..106ce30dfce1 100644 --- a/pkg/ccl/jwtauthccl/settings_test.go +++ b/pkg/ccl/jwtauthccl/settings_test.go @@ -18,53 +18,41 @@ import ( func TestValidateAndParseJWTAuthIssuers(t *testing.T) { defer leaktest.AfterTest(t)() tests := []struct { - name string - setting string - wantErr bool - expectedIssuers []string - expectedIssuerJWKSMap map[string]string + name string + setting string + wantErr bool + expectedIssuers []string }{ - {name: "empty string", - expectedIssuers: []string{""}}, - {name: "string constant", - setting: "issuer1", - expectedIssuers: []string{"issuer1"}}, - {name: "odd string constant", - setting: "issuer1{}`[]!@#%#^$&*", - expectedIssuers: []string{"issuer1{}`[]!@#%#^$&*"}}, - {name: "empty json", - setting: "[]", - expectedIssuers: []string{}}, - {name: "single element json", - setting: "[\"issuer 1\"]", - expectedIssuers: []string{"issuer 1"}}, - {name: "multiple element json", - setting: "[\"issuer 1\", \"issuer 2\", \"issuer 3\", \"issuer 4\", \"issuer 5\"]", - expectedIssuers: []string{"issuer 1", "issuer 2", "issuer 3", "issuer 4", "issuer 5"}}, - {name: "json but invalid in this context", - setting: "{\"redirect_urls\": {\"key\":\"http://example.com\"}}", wantErr: true}, - {name: "json object valid in this context single mapping", - setting: "{\"issuer_jwks_map\": {\"https://accounts.google.com\": \"https://www.googleapis.com/oauth2/v3/certs\"}}", - expectedIssuers: []string{"https://accounts.google.com"}, - expectedIssuerJWKSMap: map[string]string{"https://accounts.google.com": "https://www.googleapis.com/oauth2/v3/certs"}}, - {name: "json object valid in this context multiple mapping", - setting: "{\"issuer_jwks_map\": {\"https://accounts.google.com\": \"https://www.googleapis.com/oauth2/v3/certs\"" + - ",\"example.com/adfs\": \"https://example.com/adfs/discovery/keys\"}}", - expectedIssuers: []string{"https://accounts.google.com", "example.com/adfs"}, - expectedIssuerJWKSMap: map[string]string{"https://accounts.google.com": "https://www.googleapis.com/oauth2/v3/certs", - "example.com/adfs": "https://example.com/adfs/discovery/keys"}}, + {"empty string", + "", false, + []string{""}}, + {"string constant", + "issuer1", false, + []string{"issuer1"}}, + {"odd string constant", + "issuer1{}`[]!@#%#^$&*", false, + []string{"issuer1{}`[]!@#%#^$&*"}}, + {"empty json", + "[]", false, + []string{}}, + {"single element json", + "[\"issuer 1\"]", false, + []string{"issuer 1"}}, + {"multiple element json", + "[\"issuer 1\", \"issuer 2\", \"issuer 3\", \"issuer 4\", \"issuer 5\"]", false, + []string{"issuer 1", "issuer 2", "issuer 3", "issuer 4", "issuer 5"}}, + {"json but invalid in this context", + "{\"redirect_urls\": {\"key\":\"http://example.com\"}}", true, + nil}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - if err := validateJWTAuthIssuersConf(nil, tt.setting); (err != nil) != tt.wantErr { + if err := validateJWTAuthIssuers(nil, tt.setting); (err != nil) != tt.wantErr { t.Errorf("validateJWTAuthIssuers() error = %v, wantErr %v", err, tt.wantErr) } if !tt.wantErr { - parsedIssuersConf := mustParseJWTIssuersConf(tt.setting) - require.ElementsMatch(t, parsedIssuersConf.issuers, tt.expectedIssuers) - if parsedIssuersConf.ijMap != nil { - require.Equal(t, parsedIssuersConf.ijMap.Mappings, tt.expectedIssuerJWKSMap) - } + parsedIssuers := mustParseValueOrArray(tt.setting) + require.Equal(t, parsedIssuers, tt.expectedIssuers) } }) } diff --git a/pkg/ccl/kvccl/kvfollowerreadsccl/followerreads.go b/pkg/ccl/kvccl/kvfollowerreadsccl/followerreads.go index 790b48be5877..e784eb972c3f 100644 --- a/pkg/ccl/kvccl/kvfollowerreadsccl/followerreads.go +++ b/pkg/ccl/kvccl/kvfollowerreadsccl/followerreads.go @@ -84,7 +84,7 @@ func isEnterpriseEnabled(st *cluster.Settings) bool { return utilccl.IsEnterpriseEnabled(st, "follower reads") } -func checkFollowerReadsEnabled(ctx context.Context, st *cluster.Settings) bool { +func checkFollowerReadsEnabled(st *cluster.Settings) bool { if !kvserver.FollowerReadsEnabled.Get(&st.SV) { return false } @@ -106,7 +106,6 @@ func evalFollowerReadOffset(st *cluster.Settings) (time.Duration, error) { // serviceable as a follower read were the request to be sent to a follower // replica. func closedTimestampLikelySufficient( - ctx context.Context, st *cluster.Settings, clock *hlc.Clock, ctPolicy roachpb.RangeClosedTimestampPolicy, @@ -128,17 +127,15 @@ func closedTimestampLikelySufficient( // canSendToFollower implements the logic for checking whether a batch request // may be sent to a follower. func canSendToFollower( - ctx context.Context, st *cluster.Settings, clock *hlc.Clock, ctPolicy roachpb.RangeClosedTimestampPolicy, ba *kvpb.BatchRequest, ) bool { - result := kvserver.BatchCanBeEvaluatedOnFollower(ctx, ba) && - closedTimestampLikelySufficient(ctx, st, clock, ctPolicy, ba.RequiredFrontier()) && + return kvserver.BatchCanBeEvaluatedOnFollower(ba) && + closedTimestampLikelySufficient(st, clock, ctPolicy, ba.RequiredFrontier()) && // NOTE: this call can be expensive, so perform it last. See #62447. - checkFollowerReadsEnabled(ctx, st) - return result + checkFollowerReadsEnabled(st) } type followerReadOracle struct { @@ -167,7 +164,7 @@ func (o *followerReadOracle) ChoosePreferredReplica( queryState replicaoracle.QueryState, ) (_ roachpb.ReplicaDescriptor, ignoreMisplannedRanges bool, _ error) { var oracle replicaoracle.Oracle - if o.useClosestOracle(ctx, txn, ctPolicy) { + if o.useClosestOracle(txn, ctPolicy) { oracle = o.closest } else { oracle = o.binPacking @@ -176,7 +173,7 @@ func (o *followerReadOracle) ChoosePreferredReplica( } func (o *followerReadOracle) useClosestOracle( - ctx context.Context, txn *kv.Txn, ctPolicy roachpb.RangeClosedTimestampPolicy, + txn *kv.Txn, ctPolicy roachpb.RangeClosedTimestampPolicy, ) bool { // NOTE: this logic is almost identical to canSendToFollower, except that it // operates on a *kv.Txn instead of a kvpb.BatchRequest. As a result, the @@ -192,9 +189,9 @@ func (o *followerReadOracle) useClosestOracle( // BatchRequests in the DistSender. This would hurt performance, but would // not violate correctness. return txn != nil && - closedTimestampLikelySufficient(ctx, o.st, o.clock, ctPolicy, txn.RequiredFrontier()) && + closedTimestampLikelySufficient(o.st, o.clock, ctPolicy, txn.RequiredFrontier()) && // NOTE: this call can be expensive, so perform it last. See #62447. - checkFollowerReadsEnabled(ctx, o.st) + checkFollowerReadsEnabled(o.st) } // followerReadOraclePolicy is a leaseholder choosing policy that detects @@ -263,7 +260,7 @@ func (r bulkOracle) ChoosePreferredReplica( _ roachpb.RangeClosedTimestampPolicy, qs replicaoracle.QueryState, ) (_ roachpb.ReplicaDescriptor, ignoreMisplannedRanges bool, _ error) { - if leaseholder != nil && !checkFollowerReadsEnabled(ctx, r.cfg.Settings) { + if leaseholder != nil && !checkFollowerReadsEnabled(r.cfg.Settings) { return *leaseholder, false, nil } diff --git a/pkg/ccl/kvccl/kvfollowerreadsccl/followerreads_test.go b/pkg/ccl/kvccl/kvfollowerreadsccl/followerreads_test.go index 1d8764eb0d61..0580367aca05 100644 --- a/pkg/ccl/kvccl/kvfollowerreadsccl/followerreads_test.go +++ b/pkg/ccl/kvccl/kvfollowerreadsccl/followerreads_test.go @@ -45,7 +45,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/hlc" "github.com/cockroachdb/cockroach/pkg/util/leaktest" "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/cockroach/pkg/util/randutil" "github.com/cockroachdb/cockroach/pkg/util/stop" "github.com/cockroachdb/cockroach/pkg/util/tracing/tracingpb" "github.com/cockroachdb/errors" @@ -482,13 +481,13 @@ func TestCanSendToFollower(t *testing.T) { closedts.TargetDuration.Override(ctx, &st.SV, 0) } - can := canSendToFollower(ctx, st, clock, c.ctPolicy, c.ba) + can := canSendToFollower(st, clock, c.ctPolicy, c.ba) require.Equal(t, c.exp, can) }) } } -// mockNodeStore implements the kvclient.NodeDescStore interface. +// mockNodeStore implements the kvcoord.NodeDescStore interface. type mockNodeStore []roachpb.NodeDescriptor func (s mockNodeStore) GetNodeDescriptor(id roachpb.NodeID) (*roachpb.NodeDescriptor, error) { @@ -538,9 +537,9 @@ func TestOracle(t *testing.T) { {NodeID: 3, Address: util.MakeUnresolvedAddr("tcp", "3"), Locality: region("c")}, } replicas := []roachpb.ReplicaDescriptor{ - {NodeID: 1, StoreID: 1, ReplicaID: 1}, - {NodeID: 2, StoreID: 2, ReplicaID: 2}, - {NodeID: 3, StoreID: 3, ReplicaID: 3}, + {NodeID: 1, StoreID: 1}, + {NodeID: 2, StoreID: 2}, + {NodeID: 3, StoreID: 3}, } desc := &roachpb.RangeDescriptor{ InternalReplicas: replicas, @@ -824,12 +823,10 @@ func TestFollowerReadsWithStaleDescriptor(t *testing.T) { historicalQuery.Store(`SELECT * FROM test AS OF SYSTEM TIME follower_read_timestamp() WHERE k=2`) recCh := make(chan tracingpb.Recording, 1) - settings := cluster.MakeClusterSettings() tc := testcluster.StartTestCluster(t, 4, base.TestClusterArgs{ ReplicationMode: base.ReplicationManual, ServerArgs: base.TestServerArgs{ - Settings: settings, DefaultTestTenant: base.TODOTestTenantDisabled, UseDatabase: "t", }, @@ -868,10 +865,6 @@ func TestFollowerReadsWithStaleDescriptor(t *testing.T) { }) defer tc.Stopper().Stop(ctx) - // Further down, we'll set up the test to pin the lease to store 1. Turn off - // load based rebalancing to make sure it doesn't move. - kvserver.LoadBasedRebalancingMode.Override(ctx, &settings.SV, kvserver.LBRebalancingOff) - n1 := sqlutils.MakeSQLRunner(tc.Conns[0]) n1.Exec(t, `CREATE DATABASE t`) n1.Exec(t, `CREATE TABLE test (k INT PRIMARY KEY)`) @@ -896,7 +889,7 @@ func TestFollowerReadsWithStaleDescriptor(t *testing.T) { n1.QueryRow(t, `SELECT id from system.namespace WHERE name='test'`).Scan(&tableID) tablePrefix := keys.MustAddr(keys.SystemSQLCodec.TablePrefix(tableID)) n4Cache := tc.Server(3).DistSenderI().(*kvcoord.DistSender).RangeDescriptorCache() - entry, err := n4Cache.TestingGetCached(ctx, tablePrefix, false, roachpb.LAG_BY_CLUSTER_SETTING) + entry, err := n4Cache.TestingGetCached(ctx, tablePrefix, false /* inverted */) require.NoError(t, err) require.False(t, entry.Lease.Empty()) require.Equal(t, roachpb.StoreID(1), entry.Lease.Replica.StoreID) @@ -919,7 +912,7 @@ func TestFollowerReadsWithStaleDescriptor(t *testing.T) { rec := <-recCh require.False(t, kv.OnlyFollowerReads(rec), "query was served through follower reads: %s", rec) // Check that the cache was properly updated. - entry, err = n4Cache.TestingGetCached(ctx, tablePrefix, false, roachpb.LAG_BY_CLUSTER_SETTING) + entry, err = n4Cache.TestingGetCached(ctx, tablePrefix, false /* inverted */) require.NoError(t, err) require.False(t, entry.Lease.Empty()) require.Equal(t, roachpb.StoreID(1), entry.Lease.Replica.StoreID) @@ -962,7 +955,7 @@ func TestFollowerReadsWithStaleDescriptor(t *testing.T) { n3 := sqlutils.MakeSQLRunner(tc.Conns[2]) n3.Exec(t, "SELECT * from test WHERE k=1") n3Cache := tc.Server(2).DistSenderI().(*kvcoord.DistSender).RangeDescriptorCache() - entry, err = n3Cache.TestingGetCached(ctx, tablePrefix, false, roachpb.LAG_BY_CLUSTER_SETTING) + entry, err = n3Cache.TestingGetCached(ctx, tablePrefix, false /* inverted */) require.NoError(t, err) require.False(t, entry.Lease.Empty()) require.Equal(t, roachpb.StoreID(1), entry.Lease.Replica.StoreID) @@ -1025,7 +1018,6 @@ func TestSecondaryTenantFollowerReadsRouting(t *testing.T) { skip.UnderRace(t, "times out") skip.UnderDeadlock(t) - rng, _ := randutil.NewTestRand() for _, testCase := range []struct { name string sharedProcess bool @@ -1084,15 +1076,8 @@ func TestSecondaryTenantFollowerReadsRouting(t *testing.T) { systemSQL := sqlutils.MakeSQLRunner(tc.Conns[0]) systemSQL.Exec(t, `SET CLUSTER SETTING kv.closed_timestamp.target_duration = '0.1s'`) systemSQL.Exec(t, `SET CLUSTER SETTING kv.closed_timestamp.side_transport_interval = '0.1s'`) - // Disable the store rebalancer to make sure leases stay where they are; - // the test cares about this. - systemSQL.Exec(t, `SET CLUSTER SETTING kv.allocator.load_based_rebalancing = off`) historicalQuery := `SELECT * FROM t.test AS OF SYSTEM TIME follower_read_timestamp() WHERE k=2` - useExplainAnalyze := rng.Float64() < 0.5 - if useExplainAnalyze { - historicalQuery = "EXPLAIN ANALYZE " + historicalQuery - } recCh := make(chan tracingpb.Recording, 1) var tenants [numNodes]serverutils.ApplicationLayerInterface @@ -1216,7 +1201,7 @@ func TestSecondaryTenantFollowerReadsRouting(t *testing.T) { tenantSQL.Exec(t, `SELECT * FROM t.test WHERE k = 1`) tablePrefix := keys.MustAddr(codec.TenantPrefix()) cache := tenants[gatewayNode].DistSenderI().(*kvcoord.DistSender).RangeDescriptorCache() - entry, err := cache.TestingGetCached(ctx, tablePrefix, false, roachpb.LAG_BY_CLUSTER_SETTING) + entry, err := cache.TestingGetCached(ctx, tablePrefix, false /* inverted */) require.NoError(t, err) require.False(t, entry.Lease.Empty()) require.Equal(t, roachpb.StoreID(1), entry.Lease.Replica.StoreID) @@ -1226,7 +1211,7 @@ func TestSecondaryTenantFollowerReadsRouting(t *testing.T) { {NodeID: 3, StoreID: 3, ReplicaID: 3}, }, entry.Desc.Replicas().Descriptors()) - rows := tenantSQL.QueryStr(t, historicalQuery) + tenantSQL.Exec(t, historicalQuery) rec := <-recCh // Look at the trace and check that the follower read was served by @@ -1244,20 +1229,6 @@ func TestSecondaryTenantFollowerReadsRouting(t *testing.T) { } require.Equal(t, numFRs, 1, "query wasn't served through follower reads: %s", rec) require.Equal(t, numN2FRs, 1, "follower read wasn't served by n2: %s", rec) - - if useExplainAnalyze { - frMessage, historicalMessage := "used follower read", "historical" - var foundFRMessage, foundHistoricalMessage bool - for _, row := range rows { - if strings.TrimSpace(row[0]) == frMessage { - foundFRMessage = true - } else if strings.HasPrefix(strings.TrimSpace(row[0]), historicalMessage) { - foundHistoricalMessage = true - } - } - require.True(t, foundFRMessage, "didn't see %q message in EXPLAIN ANALYZE: %v", frMessage, rows) - require.True(t, foundHistoricalMessage, "didn't see %q message in EXPLAIN ANALYZE: %v", historicalMessage, rows) - } }) } } diff --git a/pkg/ccl/kvccl/kvtenantccl/upgradeccl/BUILD.bazel b/pkg/ccl/kvccl/kvtenantccl/upgradeccl/BUILD.bazel index 976e15d470c8..0c985b6bad52 100644 --- a/pkg/ccl/kvccl/kvtenantccl/upgradeccl/BUILD.bazel +++ b/pkg/ccl/kvccl/kvtenantccl/upgradeccl/BUILD.bazel @@ -30,6 +30,7 @@ go_test( "//pkg/testutils/sqlutils", "//pkg/upgrade", "//pkg/upgrade/upgradebase", + "//pkg/util", "//pkg/util/leaktest", "//pkg/util/log", "//pkg/util/randutil", diff --git a/pkg/ccl/kvccl/kvtenantccl/upgradeccl/tenant_upgrade_test.go b/pkg/ccl/kvccl/kvtenantccl/upgradeccl/tenant_upgrade_test.go index a0f777fda5d2..b525a0a179d8 100644 --- a/pkg/ccl/kvccl/kvtenantccl/upgradeccl/tenant_upgrade_test.go +++ b/pkg/ccl/kvccl/kvtenantccl/upgradeccl/tenant_upgrade_test.go @@ -30,27 +30,15 @@ import ( "github.com/cockroachdb/cockroach/pkg/testutils/sqlutils" "github.com/cockroachdb/cockroach/pkg/upgrade" "github.com/cockroachdb/cockroach/pkg/upgrade/upgradebase" + "github.com/cockroachdb/cockroach/pkg/util" "github.com/cockroachdb/cockroach/pkg/util/leaktest" "github.com/cockroachdb/cockroach/pkg/util/log" "github.com/cockroachdb/cockroach/pkg/util/stop" "github.com/stretchr/testify/require" ) -// autoUpgradeClusterSetting wraps data about an auto-upgrade related -// cluster setting that should lead to the auto upgrade process not -// being able to run while the setting is active, due to the given -// upgrade status. -type autoUpgradeClusterSetting struct { - name string - value any - upgradeStatus int -} - -// testTenantAutoUpgrades exercises the auto upgrade logic for -// tenants. If a `clusterSetting` is passed, they are set on the -// tenant before any upgrade takes place, and reset prior to the point -// where the tenant auto upgrade should kick in. -func testTenantAutoUpgrade(t *testing.T, clusterSetting *autoUpgradeClusterSetting) { +func TestTenantAutoUpgradeRespectsAutoUpgradeEnabledSetting(t *testing.T) { + defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) skip.UnderRace(t) @@ -62,7 +50,8 @@ func testTenantAutoUpgrade(t *testing.T, clusterSetting *autoUpgradeClusterSetti false, // initializeVersion ) // Initialize the version to v0. - require.NoError(t, clusterversion.Initialize(ctx, v0.Version(), &settings.SV)) + require.NoError(t, clusterversion.Initialize(ctx, + v0.Version(), &settings.SV)) ts := serverutils.StartServerOnly(t, base.TestServerArgs{ DefaultTestTenant: base.TestControlsTenantsExplicitly, @@ -70,7 +59,7 @@ func testTenantAutoUpgrade(t *testing.T, clusterSetting *autoUpgradeClusterSetti Knobs: base.TestingKnobs{ Server: &server.TestingKnobs{ DisableAutomaticVersionUpgrade: make(chan struct{}), - ClusterVersionOverride: v0.Version(), + BinaryVersionOverride: v0.Version(), }, SQLEvalContext: &eval.TestingKnobs{ // When the host binary version is not equal to its cluster version, tenant logical version is set @@ -84,7 +73,6 @@ func testTenantAutoUpgrade(t *testing.T, clusterSetting *autoUpgradeClusterSetti sysDB := sqlutils.MakeSQLRunner(ts.SQLConn(t, serverutils.DBName(""))) expectedInitialTenantVersion := v0.Version() - expectedFinalTenantVersion := clusterversion.Latest.Version() tenantSettings := cluster.MakeTestingClusterSettingsWithVersions( clusterversion.Latest.Version(), @@ -103,9 +91,8 @@ func testTenantAutoUpgrade(t *testing.T, clusterSetting *autoUpgradeClusterSetti TenantName: roachpb.TenantName(name), Knobs: base.TestingKnobs{ Server: &server.TestingKnobs{ - TenantAutoUpgradeInfo: upgradeInfoCh, - TenantAutoUpgradeLoopFrequency: time.Second, - ClusterVersionOverride: v0.Version(), + TenantAutoUpgradeInfo: upgradeInfoCh, + BinaryVersionOverride: v0.Version(), }, }, } @@ -115,7 +102,7 @@ func testTenantAutoUpgrade(t *testing.T, clusterSetting *autoUpgradeClusterSetti } // Create a shared process tenant and its SQL server. - const tenantName = "app" + const tenantName = "marhaba-crdb" tenantDB := mkTenant(t, tenantName) tenantRunner := sqlutils.MakeSQLRunner(tenantDB) @@ -123,86 +110,132 @@ func testTenantAutoUpgrade(t *testing.T, clusterSetting *autoUpgradeClusterSetti tenantRunner.Exec(t, "CREATE TABLE t (i INT PRIMARY KEY)") tenantRunner.Exec(t, "INSERT INTO t VALUES (1), (2)") - // Apply the cluster setting, if any. - if clusterSetting != nil { - tenantRunner.Exec(t, fmt.Sprintf("SET CLUSTER SETTING %s = $1", clusterSetting.name), clusterSetting.value) - } + // Disable cluster.auto_upgrade.enabled setting for the tenant to prevent auto upgrade. + tenantRunner.Exec(t, fmt.Sprintf("SET CLUSTER SETTING %s = false", clusterversion.AutoUpgradeEnabled.Name())) // Upgrade the host cluster. sysDB.Exec(t, "SET CLUSTER SETTING version = $1", - expectedFinalTenantVersion.String()) + clusterversion.Latest.String()) // Ensure that the tenant still works. tenantRunner.CheckQueryResults(t, "SELECT * FROM t", [][]string{{"1"}, {"2"}}) - waitForUpgradeInfo := func(expectedVersion roachpb.Version, expectedStatus int) { - succeedsSoon := 20 * time.Second - - for { - select { - case upgradeInfo := <-upgradeInfoCh: - if upgradeInfo.UpgradeTo == expectedVersion && upgradeInfo.Status == expectedStatus { - return - } - case <-time.After(succeedsSoon): - t.Fatalf( - "failed to receive the auto upgrade status for version %s and status %d after %d seconds", - expectedVersion, expectedStatus, int(succeedsSoon.Seconds()), - ) + // Wait for auto upgrade status to be received by the testing knob. + succeedsSoon := 20 * time.Second + for { + select { + case upgradeInfo := <-upgradeInfoCh: + if int(server.UpgradeDisabledByConfiguration) == upgradeInfo.Status { + return } + case <-time.After(succeedsSoon): + t.Fatalf("failed to receive the right auto upgrade status after %d seconds", int(succeedsSoon.Seconds())) } } +} + +func TestTenantAutoUpgrade(t *testing.T) { + defer leaktest.AfterTest(t)() + defer log.Scope(t).Close(t) + skip.UnderRace(t) - // Reset cluster setting, if any. - if clusterSetting != nil { - // Wait for us to receive an upgrade event indicating that we are - // not upgrading immediately after the storage cluster due to a - // cluster setting configuration. - waitForUpgradeInfo(roachpb.Version{}, clusterSetting.upgradeStatus) + v0 := clusterversion.MinSupported + ctx := context.Background() + settings := cluster.MakeTestingClusterSettingsWithVersions( + clusterversion.Latest.Version(), + v0.Version(), + false, // initializeVersion + ) + // Initialize the version to v0. + require.NoError(t, clusterversion.Initialize(ctx, v0.Version(), &settings.SV)) - tenantRunner.Exec(t, fmt.Sprintf("RESET CLUSTER SETTING %s", clusterSetting.name)) - } + ts := serverutils.StartServerOnly(t, base.TestServerArgs{ + DefaultTestTenant: base.TestControlsTenantsExplicitly, + Settings: settings, + Knobs: base.TestingKnobs{ + Server: &server.TestingKnobs{ + DisableAutomaticVersionUpgrade: make(chan struct{}), + BinaryVersionOverride: v0.Version(), + }, + SQLEvalContext: &eval.TestingKnobs{ + // When the host binary version is not equal to its cluster version, tenant logical version is set + // to the host's minimum supported binary version. We need this override to ensure that the tenant is + // created at v0. + TenantLogicalVersionKeyOverride: v0, + }, + }, + }) + defer ts.Stopper().Stop(ctx) + sysDB := sqlutils.MakeSQLRunner(ts.SQLConn(t, serverutils.DBName(""))) + + expectedInitialTenantVersion := v0.Version() + expectedFinalTenantVersion := clusterversion.Latest.Version() + + tenantSettings := cluster.MakeTestingClusterSettingsWithVersions( + clusterversion.Latest.Version(), + v0.Version(), + false, // initializeVersion + ) + require.NoError(t, clusterversion.Initialize(ctx, + expectedInitialTenantVersion, &tenantSettings.SV)) - // Wait for auto upgrade status to be received by the testing - // knob. If the min supported version and the `Latest` version are - // on the same major release, the tenant will just realize that it - // is already upgraded. Otherwise, the upgrade should be allowed to - // continue. - expectedVersion := expectedFinalTenantVersion - expectedStatus := server.UpgradeAllowed - if expectedFinalTenantVersion.Major == v0.Version().Major && - expectedFinalTenantVersion.Minor == v0.Version().Minor { - expectedVersion = roachpb.Version{} - expectedStatus = server.UpgradeAlreadyCompleted + upgradeInfoCh := make(chan struct { + Status int + UpgradeTo roachpb.Version + }, 1) + mkTenant := func(t *testing.T, name string) (tenantDB *gosql.DB) { + tenantArgs := base.TestSharedProcessTenantArgs{ + TenantName: roachpb.TenantName(name), + Knobs: base.TestingKnobs{ + Server: &server.TestingKnobs{ + TenantAutoUpgradeInfo: upgradeInfoCh, + AllowTenantAutoUpgradeOnInternalVersionChanges: true, + BinaryVersionOverride: v0.Version(), + }, + }, + } + _, tenantDB, err := ts.TenantController().StartSharedProcessTenant(ctx, tenantArgs) + require.NoError(t, err) + return tenantDB } - waitForUpgradeInfo(expectedVersion, int(expectedStatus)) -} -func TestTenantAutoUpgradeNoClusterSettings(t *testing.T) { - defer leaktest.AfterTest(t)() - skip.UnderDuress(t, "slow test") - testTenantAutoUpgrade(t, nil) -} + // Create a shared process tenant and its SQL server. + const tenantName = "hola-crdb" + tenantDB := mkTenant(t, tenantName) + tenantRunner := sqlutils.MakeSQLRunner(tenantDB) -func TestTenantAutoUpgradeWithAutoUpgradeClusterSetting(t *testing.T) { - defer leaktest.AfterTest(t)() - skip.UnderDuress(t, "slow test") - testTenantAutoUpgrade(t, &autoUpgradeClusterSetting{ - name: "cluster.auto_upgrade.enabled", - value: false, - upgradeStatus: int(server.UpgradeDisabledByConfiguration), - }) -} + // Ensure that the tenant works. + tenantRunner.Exec(t, "CREATE TABLE t (i INT PRIMARY KEY)") + tenantRunner.Exec(t, "INSERT INTO t VALUES (1), (2)") -func TestTenantAutoUpgradeWithPreserveDowngradeOptionClusterSetting(t *testing.T) { - defer leaktest.AfterTest(t)() - skip.UnderDuress(t, "slow test") - testTenantAutoUpgrade(t, &autoUpgradeClusterSetting{ - name: "cluster.preserve_downgrade_option", - value: clusterversion.MinSupported.Version().String(), - upgradeStatus: int(server.UpgradeDisabledByConfigurationToPreserveDowngrade), - }) + // Upgrade the host cluster. + sysDB.Exec(t, + "SET CLUSTER SETTING version = $1", + expectedFinalTenantVersion.String()) + + // Ensure that the tenant still works. + tenantRunner.CheckQueryResults(t, "SELECT * FROM t", [][]string{{"1"}, {"2"}}) + + var upgradeInfo struct { + Status int + UpgradeTo roachpb.Version + } + succeedsSoon := 20 * time.Second + if util.RaceEnabled || skip.Stress() { + succeedsSoon = 60 * time.Second + } + // Wait for auto upgrade status to be received by the testing knob. + for { + select { + case upgradeInfo = <-upgradeInfoCh: + if upgradeInfo.UpgradeTo == expectedFinalTenantVersion && upgradeInfo.Status == int(server.UpgradeAllowed) { + return + } + case <-time.After(succeedsSoon): + t.Fatalf("failed to receive the right auto upgrade status after %d seconds", int(succeedsSoon.Seconds())) + } + } } // TestTenantUpgrade exercises the case where a system tenant is in a @@ -232,7 +265,8 @@ func TestTenantUpgrade(t *testing.T) { false, // initializeVersion ) // Initialize the version to the MinSupportedVersion. - require.NoError(t, clusterversion.Initialize(ctx, v1, &settings.SV)) + require.NoError(t, clusterversion.Initialize(ctx, + clusterversion.MinSupported.Version(), &settings.SV)) t.Log("starting server") ts := serverutils.StartServerOnly(t, base.TestServerArgs{ @@ -241,7 +275,7 @@ func TestTenantUpgrade(t *testing.T) { Knobs: base.TestingKnobs{ Server: &server.TestingKnobs{ DisableAutomaticVersionUpgrade: make(chan struct{}), - ClusterVersionOverride: v1, + BinaryVersionOverride: v1, }, // Make the upgrade faster by accelerating jobs. JobsTestingKnobs: jobs.NewTestingKnobsWithShortIntervals(), @@ -250,6 +284,7 @@ func TestTenantUpgrade(t *testing.T) { defer ts.Stopper().Stop(ctx) sysDB := sqlutils.MakeSQLRunner(ts.SQLConn(t)) + expectedInitialTenantVersion, _, _ := v0v1v2() startAndConnectToTenant := func(t *testing.T, id uint64) (tenant serverutils.ApplicationLayerInterface, tenantDB *gosql.DB) { settings := cluster.MakeTestingClusterSettingsWithVersions( v2, @@ -257,7 +292,8 @@ func TestTenantUpgrade(t *testing.T) { false, // initializeVersion ) // Initialize the version to the minimum it could be. - require.NoError(t, clusterversion.Initialize(ctx, v1, &settings.SV)) + require.NoError(t, + clusterversion.Initialize(ctx, expectedInitialTenantVersion, &settings.SV)) tenantArgs := base.TestTenantArgs{ TenantID: roachpb.MustMakeTenantID(id), TestingKnobs: base.TestingKnobs{ @@ -281,7 +317,8 @@ func TestTenantUpgrade(t *testing.T) { db := sqlutils.MakeSQLRunner(conn) t.Log("ensure that the tenant works") - db.CheckQueryResults(t, "SHOW CLUSTER SETTING version", [][]string{{v1.String()}}) + db.CheckQueryResults(t, "SHOW CLUSTER SETTING version", + [][]string{{expectedInitialTenantVersion.String()}}) db.Exec(t, "CREATE TABLE t (i INT PRIMARY KEY)") db.Exec(t, "INSERT INTO t VALUES (1), (2)") @@ -341,6 +378,21 @@ func TestTenantUpgrade(t *testing.T) { }) } +// Returns three versions : +// - v0 corresponds to the bootstrapped version of the tenant, +// - v1, v2 correspond to adjacent releases. +func v0v1v2() (roachpb.Version, roachpb.Version, roachpb.Version) { + v0 := clusterversion.MinSupported.Version() + v1 := clusterversion.Latest.Version() + v2 := clusterversion.Latest.Version() + if v1.Internal > 2 { + v1.Internal -= 2 + } else { + v2.Internal += 2 + } + return v0, v1, v2 +} + // TestTenantUpgradeFailure exercises cases where the tenant dies // between version upgrades. func TestTenantUpgradeFailure(t *testing.T) { @@ -377,7 +429,7 @@ func TestTenantUpgradeFailure(t *testing.T) { Knobs: base.TestingKnobs{ Server: &server.TestingKnobs{ DisableAutomaticVersionUpgrade: make(chan struct{}), - ClusterVersionOverride: v0, + BinaryVersionOverride: v0, }, }, }) @@ -427,8 +479,7 @@ func TestTenantUpgradeFailure(t *testing.T) { ) error { t.Logf("v1 migration running") return nil - }, upgrade.RestoreActionNotRequired("test"), - ), true + }, "test"), true case v2: return upgrade.NewTenantUpgrade("testing next", v2, @@ -451,8 +502,7 @@ func TestTenantUpgradeFailure(t *testing.T) { } } return nil - }, upgrade.RestoreActionNotRequired("test"), - ), true + }, "test"), true default: return nil, false } diff --git a/pkg/ccl/kvccl/kvtenantccl/upgradeinterlockccl/local_test_util_test.go b/pkg/ccl/kvccl/kvtenantccl/upgradeinterlockccl/local_test_util_test.go index b7cae4dc764a..85780de45b03 100644 --- a/pkg/ccl/kvccl/kvtenantccl/upgradeinterlockccl/local_test_util_test.go +++ b/pkg/ccl/kvccl/kvtenantccl/upgradeinterlockccl/local_test_util_test.go @@ -81,7 +81,7 @@ func runTest(t *testing.T, variant sharedtestutil.TestVariant, test sharedtestut stats.AutomaticStatisticsClusterMode.Override(ctx, &s.SV, false) stats.UseStatisticsOnSystemTables.Override(ctx, &s.SV, false) stats.AutomaticStatisticsOnSystemTables.Override(ctx, &s.SV, false) - sql.DistSQLClusterExecMode.Override(ctx, &s.SV, sessiondatapb.DistSQLOff) + sql.DistSQLClusterExecMode.Override(ctx, &s.SV, int64(sessiondatapb.DistSQLOff)) } reduceLeaseDurationAndReclaimLoopInterval := func(s *cluster.Settings) { @@ -139,7 +139,7 @@ func runTest(t *testing.T, variant sharedtestutil.TestVariant, test sharedtestut DisableAutomaticVersionUpgrade: make(chan struct{}), // Initialize to the minimum supported version // so that we can perform the upgrade below. - ClusterVersionOverride: msv, + BinaryVersionOverride: msv, }, }, }, diff --git a/pkg/ccl/ldapccl/BUILD.bazel b/pkg/ccl/ldapccl/BUILD.bazel deleted file mode 100644 index ca6cc522db9f..000000000000 --- a/pkg/ccl/ldapccl/BUILD.bazel +++ /dev/null @@ -1,69 +0,0 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") - -go_library( - name = "ldapccl", - srcs = [ - "authentication_ldap.go", - "authorization_ldap.go", - "ldap_manager.go", - "ldap_test_util.go", - "ldap_util.go", - "settings.go", - ], - importpath = "github.com/cockroachdb/cockroach/pkg/ccl/ldapccl", - visibility = ["//visibility:public"], - deps = [ - "//pkg/ccl/utilccl", - "//pkg/clusterversion", - "//pkg/security", - "//pkg/security/distinguishedname", - "//pkg/security/username", - "//pkg/server/telemetry", - "//pkg/settings", - "//pkg/settings/cluster", - "//pkg/sql/lexbase", - "//pkg/sql/pgwire", - "//pkg/sql/pgwire/hba", - "//pkg/sql/pgwire/identmap", - "//pkg/sql/pgwire/pgcode", - "//pkg/sql/pgwire/pgerror", - "//pkg/util/log", - "//pkg/util/syncutil", - "//pkg/util/uuid", - "@com_github_cockroachdb_errors//:errors", - "@com_github_cockroachdb_redact//:redact", - "@com_github_go_ldap_ldap_v3//:ldap", - ], -) - -go_test( - name = "ldapccl_test", - size = "small", - srcs = [ - "authentication_ldap_test.go", - "authorization_ldap_test.go", - "main_test.go", - "settings_test.go", - ], - data = glob(["testdata/**"]), - embed = [":ldapccl"], - deps = [ - "//pkg/base", - "//pkg/ccl", - "//pkg/security/certnames", - "//pkg/security/distinguishedname", - "//pkg/security/securityassets", - "//pkg/security/securitytest", - "//pkg/security/username", - "//pkg/server", - "//pkg/testutils", - "//pkg/testutils/serverutils", - "//pkg/testutils/testcluster", - "//pkg/util/leaktest", - "//pkg/util/log", - "//pkg/util/randutil", - "@com_github_cockroachdb_errors//:errors", - "@com_github_cockroachdb_redact//:redact", - "@com_github_stretchr_testify//require", - ], -) diff --git a/pkg/ccl/ldapccl/authentication_ldap.go b/pkg/ccl/ldapccl/authentication_ldap.go deleted file mode 100644 index 3c4c8c2af1f9..000000000000 --- a/pkg/ccl/ldapccl/authentication_ldap.go +++ /dev/null @@ -1,204 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package ldapccl - -import ( - "context" - - "github.com/cockroachdb/cockroach/pkg/ccl/utilccl" - "github.com/cockroachdb/cockroach/pkg/clusterversion" - "github.com/cockroachdb/cockroach/pkg/security/distinguishedname" - "github.com/cockroachdb/cockroach/pkg/security/username" - "github.com/cockroachdb/cockroach/pkg/server/telemetry" - "github.com/cockroachdb/cockroach/pkg/settings/cluster" - "github.com/cockroachdb/cockroach/pkg/sql/lexbase" - "github.com/cockroachdb/cockroach/pkg/sql/pgwire/hba" - "github.com/cockroachdb/cockroach/pkg/sql/pgwire/identmap" - "github.com/cockroachdb/cockroach/pkg/sql/pgwire/pgcode" - "github.com/cockroachdb/cockroach/pkg/sql/pgwire/pgerror" - "github.com/cockroachdb/errors" - "github.com/cockroachdb/redact" - "github.com/go-ldap/ldap/v3" -) - -const ( - beginAuthNCounterName = counterPrefix + "begin_authentication" - loginSuccessCounterName = counterPrefix + "login_success" -) - -var ( - beginAuthNUseCounter = telemetry.GetCounterOnce(beginAuthNCounterName) - loginSuccessUseCounter = telemetry.GetCounterOnce(loginSuccessCounterName) -) - -// FetchLDAPUserDN fetches the LDAP server DN for the sql user authenticating via LDAP. -// In particular, it checks that: -// * The cluster has an enterprise license. -// * The active cluster version is 24.2 for this feature. -// * LDAP authManager is enabled after settings were reloaded. -// * The auth attempt is not for a reserved user. -// * The hba conf entry options could be parsed to obtain ldap server params. -// * All ldap server params are valid. -// * Configured bind DN and password can be used to search for the sql user DN on ldap server. -// It returns the retrievedUserDN which is the DN associated with the user in -// LDAP server, authError (which is the error sql clients will see in case of -// failures) and detailedError (which is the internal error from ldap clients -// that might contain sensitive information we do not want to send to sql -// clients but still want to log it). We do not want to send any information -// back to client which was not provided by the client. -func (authManager *ldapAuthManager) FetchLDAPUserDN( - ctx context.Context, - st *cluster.Settings, - user username.SQLUsername, - entry *hba.Entry, - _ *identmap.Conf, -) (retrievedUserDN *ldap.DN, detailedErrorMsg redact.RedactableString, authError error) { - if err := utilccl.CheckEnterpriseEnabled(st, "LDAP authentication"); err != nil { - return nil, "", err - } - if !st.Version.IsActive(ctx, clusterversion.V24_2) { - return nil, "", pgerror.Newf(pgcode.FeatureNotSupported, "LDAP authentication is only supported after v24.2 upgrade is finalized") - } - - authManager.mu.Lock() - defer authManager.mu.Unlock() - if !authManager.mu.enabled { - return nil, "", errors.Newf("LDAP authentication: not enabled") - } - - if user.IsRootUser() || user.IsReserved() { - return nil, "", errors.WithDetailf( - errors.Newf("LDAP authentication: invalid identity"), - "cannot use LDAP auth to login to a reserved user %s", user.Normalized()) - } - - if err := authManager.setLDAPConfigOptions(entry); err != nil { - return nil, redact.Sprintf("error parsing hba conf options for LDAP: %v", err), - errors.Newf("LDAP authentication: unable to parse hba conf options") - } - - if err := authManager.validateLDAPBaseOptions(); err != nil { - return nil, redact.Sprintf("error validating base hba conf options for LDAP: %v", err), - errors.Newf("LDAP authentication: unable to validate authManager base options") - } - - if err := authManager.validateLDAPUserFetchOptions(); err != nil { - return nil, redact.Sprintf("error validating authentication hba conf options for LDAP: %v", err), - errors.Newf("LDAP authentication: unable to validate authManager authentication options") - } - - // Establish a LDAPs connection with the set LDAP server and port - err := authManager.mu.util.MaybeInitLDAPsConn(ctx, authManager.mu.conf) - if err != nil { - return nil, redact.Sprintf("error when trying to create LDAP connection: %v", err), - errors.Newf("LDAP authentication: unable to establish LDAP connection") - } - - // Fetch the ldap server Distinguished Name using sql username as search value - // for ldap search attribute - userDN, err := authManager.mu.util.Search(ctx, authManager.mu.conf, user.Normalized()) - if err != nil { - return nil, redact.Sprintf("error when searching for user in LDAP server: %v", err), - errors.WithDetailf( - errors.Newf("LDAP authentication: unable to find LDAP user distinguished name"), - "cannot find provided user %s on LDAP server", user.Normalized()) - } - - retrievedUserDN, err = distinguishedname.ParseDN(lexbase.NormalizeName(userDN)) - if err != nil { - return nil, redact.Sprintf("error parsing user DN %s obtained from LDAP server: %v", userDN, err), - errors.WithDetailf( - errors.Newf("LDAP authentication: unable to parse LDAP user distinguished name"), - "cannot find provided user %s on LDAP server", user.Normalized()) - } - - return retrievedUserDN, "", nil -} - -// validateLDAPUserFetchOptions checks the ldap user search config values. -func (authManager *ldapAuthManager) validateLDAPUserFetchOptions() error { - const ldapOptionsErrorMsg = "ldap authentication params in HBA conf missing" - if authManager.mu.conf.ldapSearchFilter == "" { - return errors.New(ldapOptionsErrorMsg + " search filter") - } - if authManager.mu.conf.ldapSearchAttribute == "" { - return errors.New(ldapOptionsErrorMsg + " search attribute") - } - return nil -} - -// ValidateLDAPLogin validates an attempt to bind provided user DN to configured LDAP server. -// In particular, it checks that: -// * The cluster has an enterprise license. -// * The active cluster version is 24.2 for this feature. -// * LDAP authManager is enabled after settings were reloaded. -// * The hba conf entry options could be parsed to obtain ldap server params. -// * All ldap server params are valid. -// * LDAPs connection can be established with configured server. -// * The provided user DN could be used to bind with the password from sql connection string. -// It returns authError (which is the error sql clients will see in case of -// failures) and detailedError (which is the internal error from ldap clients -// that might contain sensitive information we do not want to send to sql -// clients but still want to log it). We do not want to send any information -// back to client which was not provided by the client. -func (authManager *ldapAuthManager) ValidateLDAPLogin( - ctx context.Context, - st *cluster.Settings, - ldapUserDN *ldap.DN, - user username.SQLUsername, - ldapPwd string, - entry *hba.Entry, - _ *identmap.Conf, -) (detailedErrorMsg redact.RedactableString, authError error) { - if err := utilccl.CheckEnterpriseEnabled(st, "LDAP authentication"); err != nil { - return "", err - } - if !st.Version.IsActive(ctx, clusterversion.V24_2) { - return "", pgerror.Newf(pgcode.FeatureNotSupported, "LDAP authentication is only supported after v24.2 upgrade is finalized") - } - - authManager.mu.Lock() - defer authManager.mu.Unlock() - - if !authManager.mu.enabled { - return "", errors.Newf("LDAP authentication: not enabled") - } - telemetry.Inc(beginAuthNUseCounter) - - if err := authManager.setLDAPConfigOptions(entry); err != nil { - return redact.Sprintf("error parsing hba conf options for LDAP: %v", err), - errors.Newf("LDAP authentication: unable to parse hba conf options") - } - - if err := authManager.validateLDAPBaseOptions(); err != nil { - return redact.Sprintf("error validating base hba conf options for LDAP: %v", err), - errors.Newf("LDAP authentication: unable to validate authManager base options") - } - - // Establish a LDAPs connection with the set LDAP server and port - err := authManager.mu.util.MaybeInitLDAPsConn(ctx, authManager.mu.conf) - if err != nil { - return redact.Sprintf("error when trying to create LDAP connection: %v", err), - errors.Newf("LDAP authentication: unable to establish LDAP connection") - } - - // Bind as the user to verify their password - err = authManager.mu.util.Bind(ctx, ldapUserDN.String(), ldapPwd) - if err != nil { - return redact.Sprintf("error when binding as user %s with DN(%s) in LDAP server: %v", - user.Normalized(), ldapUserDN, err, - ), - errors.WithDetailf( - errors.Newf("LDAP authentication: unable to bind as LDAP user"), - "credentials invalid for LDAP server user %s", user.Normalized()) - } - - telemetry.Inc(loginSuccessUseCounter) - return "", nil -} diff --git a/pkg/ccl/ldapccl/authentication_ldap_test.go b/pkg/ccl/ldapccl/authentication_ldap_test.go deleted file mode 100644 index 3c4b103de573..000000000000 --- a/pkg/ccl/ldapccl/authentication_ldap_test.go +++ /dev/null @@ -1,236 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package ldapccl - -import ( - "context" - "crypto/tls" - "fmt" - "testing" - - "github.com/cockroachdb/cockroach/pkg/base" - "github.com/cockroachdb/cockroach/pkg/security/distinguishedname" - "github.com/cockroachdb/cockroach/pkg/security/username" - "github.com/cockroachdb/cockroach/pkg/testutils" - "github.com/cockroachdb/cockroach/pkg/testutils/serverutils" - "github.com/cockroachdb/cockroach/pkg/util/leaktest" - "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/errors" - "github.com/cockroachdb/redact" - "github.com/stretchr/testify/require" -) - -func TestLDAPFetchUser(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - // Intercept the call to NewLDAPUtil and return the mocked NewLDAPUtil function - defer testutils.TestingHook( - &NewLDAPUtil, - func(ctx context.Context, conf ldapConfig) (ILDAPUtil, error) { - return &mockLDAPUtil{tlsConfig: &tls.Config{}}, nil - })() - ctx := context.Background() - s := serverutils.StartServerOnly(t, base.TestServerArgs{}) - defer s.Stopper().Stop(ctx) - manager := ConfigureLDAPAuth(ctx, s.AmbientCtx(), s.ClusterSettings(), s.StorageClusterID()) - hbaEntryBase := "host all all all ldap " - hbaConfLDAPDefaultOpts := map[string]string{ - "ldapserver": "localhost", "ldapport": "636", "ldapbasedn": "dc=localhost", "ldapbinddn": "cn=readonly,dc=localhost", - "ldapbindpasswd": "readonly_pwd", "ldapsearchattribute": "uid", "ldapsearchfilter": "(memberOf=cn=users,ou=groups,dc=localhost)", - } - testCases := []struct { - testName string - hbaConfLDAPOpts map[string]string - user string - fetchUserSuccess bool - expectedErr string - expectedErrDetails string - expectedDetailedErrMsg string - }{ - {testName: "proper hba conf and valid user cred", - user: "foo", fetchUserSuccess: true}, - {testName: "proper hba conf and root user cred", - user: "root", fetchUserSuccess: false, - expectedErr: "LDAP authentication: invalid identity", - expectedErrDetails: "cannot use LDAP auth to login to a reserved user root"}, - {testName: "proper hba conf and node user cred", - user: "node", fetchUserSuccess: false, expectedErr: "LDAP authentication: invalid identity", - expectedErrDetails: "cannot use LDAP auth to login to a reserved user node"}, - {testName: "invalid ldap option", - hbaConfLDAPOpts: map[string]string{"invalidOpt": "invalidVal"}, user: "foo", fetchUserSuccess: false, - expectedErr: "LDAP authentication: unable to parse hba conf options", - expectedDetailedErrMsg: `error parsing hba conf options for LDAP: invalid LDAP option provided in hba conf: ‹invalidOpt›`}, - {testName: "empty server", - hbaConfLDAPOpts: map[string]string{"ldapserver": emptyParam}, user: "foo", fetchUserSuccess: false, - expectedErr: "LDAP authentication: unable to validate authManager base options", - expectedDetailedErrMsg: "error validating base hba conf options for LDAP: ldap params in HBA conf missing ldap server"}, - {testName: "invalid server", - hbaConfLDAPOpts: map[string]string{"ldapserver": invalidParam}, user: "foo", fetchUserSuccess: false, - expectedErr: "LDAP authentication: unable to establish LDAP connection", - expectedDetailedErrMsg: "error when trying to create LDAP connection: LDAPs connection failed: invalid ldap server provided"}, - {testName: "empty port", - hbaConfLDAPOpts: map[string]string{"ldapport": emptyParam}, user: "foo", fetchUserSuccess: false, - expectedErr: "LDAP authentication: unable to validate authManager base options", - expectedDetailedErrMsg: "error validating base hba conf options for LDAP: ldap params in HBA conf missing ldap port"}, - {testName: "invalid port", - hbaConfLDAPOpts: map[string]string{"ldapport": invalidParam}, user: "foo", fetchUserSuccess: false, - expectedErr: "LDAP authentication: unable to establish LDAP connection", - expectedDetailedErrMsg: "error when trying to create LDAP connection: LDAPs connection failed: invalid ldap port provided"}, - {testName: "empty base dn", - hbaConfLDAPOpts: map[string]string{"ldapbasedn": emptyParam}, user: "foo", fetchUserSuccess: false, - expectedErr: "LDAP authentication: unable to validate authManager base options", - expectedDetailedErrMsg: "error validating base hba conf options for LDAP: ldap params in HBA conf missing base DN"}, - {testName: "invalid base dn", - hbaConfLDAPOpts: map[string]string{"ldapbasedn": invalidParam}, user: "foo", fetchUserSuccess: false, - expectedErr: "LDAP authentication: unable to find LDAP user distinguished name", - expectedErrDetails: "cannot find provided user foo on LDAP server", - expectedDetailedErrMsg: `error when searching for user in LDAP server: LDAP search failed: invalid base DN ‹"invalid"› provided`}, - {testName: "empty bind dn", - hbaConfLDAPOpts: map[string]string{"ldapbinddn": emptyParam}, user: "foo", fetchUserSuccess: false, - expectedErr: "LDAP authentication: unable to validate authManager base options", - expectedDetailedErrMsg: "error validating base hba conf options for LDAP: ldap params in HBA conf missing bind DN"}, - {testName: "invalid bind dn", - hbaConfLDAPOpts: map[string]string{"ldapbinddn": invalidParam}, user: "foo", fetchUserSuccess: false, - expectedErr: "LDAP authentication: unable to find LDAP user distinguished name", - expectedErrDetails: "cannot find provided user foo on LDAP server", - expectedDetailedErrMsg: "error when searching for user in LDAP server: LDAP search failed: LDAP bind failed: invalid username provided"}, - {testName: "empty bind pwd", - hbaConfLDAPOpts: map[string]string{"ldapbindpasswd": emptyParam}, user: "foo", fetchUserSuccess: false, - expectedErr: "LDAP authentication: unable to validate authManager base options", - expectedDetailedErrMsg: "error validating base hba conf options for LDAP: ldap params in HBA conf missing bind password"}, - {testName: "invalid bind pwd", - hbaConfLDAPOpts: map[string]string{"ldapbindpasswd": invalidParam}, user: "foo", fetchUserSuccess: false, - expectedErr: "LDAP authentication: unable to find LDAP user distinguished name", - expectedErrDetails: "cannot find provided user foo on LDAP server", - expectedDetailedErrMsg: "error when searching for user in LDAP server: LDAP search failed: LDAP bind failed: invalid password provided"}, - {testName: "empty search attribute", - hbaConfLDAPOpts: map[string]string{"ldapsearchattribute": emptyParam}, user: "foo", fetchUserSuccess: false, - expectedErr: "LDAP authentication: unable to validate authManager authentication options", - expectedDetailedErrMsg: "error validating authentication hba conf options for LDAP: ldap authentication params in HBA conf missing search attribute"}, - {testName: "invalid search attribute", - hbaConfLDAPOpts: map[string]string{"ldapsearchattribute": invalidParam}, user: "foo", fetchUserSuccess: false, - expectedErr: "LDAP authentication: unable to find LDAP user distinguished name", - expectedErrDetails: "cannot find provided user foo on LDAP server", - expectedDetailedErrMsg: `error when searching for user in LDAP server: LDAP search failed: invalid search attribute ‹"invalid"› provided`}, - {testName: "empty search filter", - hbaConfLDAPOpts: map[string]string{"ldapsearchfilter": emptyParam}, user: "foo", fetchUserSuccess: false, - expectedErr: "LDAP authentication: unable to validate authManager authentication options", - expectedDetailedErrMsg: "error validating authentication hba conf options for LDAP: ldap authentication params in HBA conf missing search filter"}, - {testName: "invalid search filter", - hbaConfLDAPOpts: map[string]string{"ldapsearchfilter": invalidParam}, user: "foo", fetchUserSuccess: false, - expectedErr: "LDAP authentication: unable to find LDAP user distinguished name", - expectedErrDetails: "cannot find provided user foo on LDAP server", - expectedDetailedErrMsg: `error when searching for user in LDAP server: LDAP search failed: invalid search filter ‹"invalid"› provided`}, - {testName: "invalid ldap user", - user: invalidParam, fetchUserSuccess: false, expectedErr: "LDAP authentication: unable to find LDAP user distinguished name", - expectedErrDetails: "cannot find provided user invalid on LDAP server", - expectedDetailedErrMsg: `error when searching for user in LDAP server: LDAP search failed: invalid search value ‹"invalid"› provided`}, - {testName: "no such ldap user", - user: "", fetchUserSuccess: false, expectedErr: "LDAP authentication: unable to find LDAP user distinguished name", - expectedErrDetails: "cannot find provided user on LDAP server", - expectedDetailedErrMsg: `error when searching for user in LDAP server: LDAP search failed: user ‹""› does not exist`}, - {testName: "too many matching ldap users", - user: "foo,foo2,foo3", fetchUserSuccess: false, expectedErr: "LDAP authentication: unable to find LDAP user distinguished name", - expectedErrDetails: "cannot find provided user foo,foo2,foo3 on LDAP server", - expectedDetailedErrMsg: `error when searching for user in LDAP server: LDAP search failed: too many matching entries returned for user ‹"foo,foo2,foo3"›`}, - } - for i, tc := range testCases { - t.Run(fmt.Sprintf("%d: testName:%v hbConfOpts:%v user:%v fetchUserSuccess:%v", i, tc.testName, tc.hbaConfLDAPOpts, tc.user, tc.fetchUserSuccess), func(t *testing.T) { - hbaEntry := constructHBAEntry(t, hbaEntryBase, hbaConfLDAPDefaultOpts, tc.hbaConfLDAPOpts) - _, detailedErrorMsg, err := manager.FetchLDAPUserDN( - ctx, s.ClusterSettings(), username.MakeSQLUsernameFromPreNormalizedString(tc.user), &hbaEntry, nil) - - if (err == nil) != tc.fetchUserSuccess { - t.Fatalf("expected success=%t, got err=%v", tc.fetchUserSuccess, err) - } - if err != nil { - require.Equal(t, tc.expectedErr, err.Error()) - require.Equal(t, tc.expectedErrDetails, errors.FlattenDetails(err)) - require.Equal(t, redact.RedactableString(tc.expectedDetailedErrMsg), detailedErrorMsg) - } - }) - } -} - -func TestLDAPAuthentication(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - // Intercept the call to NewLDAPUtil and return the mocked NewLDAPUtil function - defer testutils.TestingHook( - &NewLDAPUtil, - func(ctx context.Context, conf ldapConfig) (ILDAPUtil, error) { - return &mockLDAPUtil{tlsConfig: &tls.Config{}}, nil - })() - ctx := context.Background() - s := serverutils.StartServerOnly(t, base.TestServerArgs{}) - defer s.Stopper().Stop(ctx) - manager := ConfigureLDAPAuth(ctx, s.AmbientCtx(), s.ClusterSettings(), s.StorageClusterID()) - hbaEntryBase := "host all all all ldap " - hbaConfLDAPDefaultOpts := map[string]string{ - "ldapserver": "localhost", "ldapport": "636", "ldapbasedn": "dc=localhost", "ldapbinddn": "cn=readonly,dc=localhost", - "ldapbindpasswd": "readonly_pwd", "ldapsearchattribute": "uid", "ldapsearchfilter": "(memberOf=cn=users,ou=groups,dc=localhost)", - } - testCases := []struct { - testName string - hbaConfLDAPOpts map[string]string - user string - pwd string - ldapAuthSuccess bool - expectedErr string - expectedErrDetails string - expectedDetailedErrMsg string - }{ - {testName: "proper hba conf and valid user cred", - user: "foo", pwd: "bar", ldapAuthSuccess: true}, - {testName: "invalid ldap option", - hbaConfLDAPOpts: map[string]string{"invalidOpt": "invalidVal"}, user: "foo", pwd: "bar", ldapAuthSuccess: false, - expectedErr: "LDAP authentication: unable to parse hba conf options", - expectedDetailedErrMsg: `error parsing hba conf options for LDAP: invalid LDAP option provided in hba conf: ‹invalidOpt›`}, - {testName: "empty server", - hbaConfLDAPOpts: map[string]string{"ldapserver": emptyParam}, user: "foo", pwd: "bar", ldapAuthSuccess: false, - expectedErr: "LDAP authentication: unable to validate authManager base options", - expectedDetailedErrMsg: "error validating base hba conf options for LDAP: ldap params in HBA conf missing ldap server"}, - {testName: "invalid server", - hbaConfLDAPOpts: map[string]string{"ldapserver": invalidParam}, user: "foo", pwd: "bar", ldapAuthSuccess: false, - expectedErr: "LDAP authentication: unable to establish LDAP connection", - expectedDetailedErrMsg: "error when trying to create LDAP connection: LDAPs connection failed: invalid ldap server provided"}, - {testName: "empty port", - hbaConfLDAPOpts: map[string]string{"ldapport": emptyParam}, user: "foo", pwd: "bar", ldapAuthSuccess: false, - expectedErr: "LDAP authentication: unable to validate authManager base options", - expectedDetailedErrMsg: "error validating base hba conf options for LDAP: ldap params in HBA conf missing ldap port"}, - {testName: "invalid port", - hbaConfLDAPOpts: map[string]string{"ldapport": invalidParam}, user: "foo", pwd: "bar", ldapAuthSuccess: false, - expectedErr: "LDAP authentication: unable to establish LDAP connection", - expectedDetailedErrMsg: "error when trying to create LDAP connection: LDAPs connection failed: invalid ldap port provided"}, - {testName: "invalid ldap password", - user: "foo", pwd: invalidParam, ldapAuthSuccess: false, expectedErr: "LDAP authentication: unable to bind as LDAP user", - expectedErrDetails: "credentials invalid for LDAP server user foo", - expectedDetailedErrMsg: `error when binding as user ‹foo› with DN(‹cn=foo›) in LDAP server: LDAP bind failed: invalid password provided`}, - } - for i, tc := range testCases { - t.Run(fmt.Sprintf("%d: testName:%v hbConfOpts:%v user:%v password:%v", i, tc.testName, tc.hbaConfLDAPOpts, tc.user, tc.pwd), func(t *testing.T) { - hbaEntry := constructHBAEntry(t, hbaEntryBase, hbaConfLDAPDefaultOpts, tc.hbaConfLDAPOpts) - ldapUserDN, err := distinguishedname.ParseDN("cn=" + tc.user) - if err != nil { - t.Fatalf("error parsing DN string for user %s: %v", tc.user, err) - } - detailedErrorMsg, err := manager.ValidateLDAPLogin( - ctx, s.ClusterSettings(), ldapUserDN, username.MakeSQLUsernameFromPreNormalizedString(tc.user), tc.pwd, &hbaEntry, nil) - - if (err == nil) != tc.ldapAuthSuccess { - t.Fatalf("expected success=%t, got err=%v", tc.ldapAuthSuccess, err) - } - if err != nil { - require.Equal(t, tc.expectedErr, err.Error()) - require.Equal(t, tc.expectedErrDetails, errors.FlattenDetails(err)) - require.Equal(t, redact.RedactableString(tc.expectedDetailedErrMsg), detailedErrorMsg) - } - }) - } -} diff --git a/pkg/ccl/ldapccl/authorization_ldap.go b/pkg/ccl/ldapccl/authorization_ldap.go deleted file mode 100644 index bc7c3936949e..000000000000 --- a/pkg/ccl/ldapccl/authorization_ldap.go +++ /dev/null @@ -1,132 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package ldapccl - -import ( - "context" - - "github.com/cockroachdb/cockroach/pkg/ccl/utilccl" - "github.com/cockroachdb/cockroach/pkg/clusterversion" - "github.com/cockroachdb/cockroach/pkg/security/distinguishedname" - "github.com/cockroachdb/cockroach/pkg/security/username" - "github.com/cockroachdb/cockroach/pkg/server/telemetry" - "github.com/cockroachdb/cockroach/pkg/settings/cluster" - "github.com/cockroachdb/cockroach/pkg/sql/pgwire/hba" - "github.com/cockroachdb/cockroach/pkg/sql/pgwire/identmap" - "github.com/cockroachdb/cockroach/pkg/sql/pgwire/pgcode" - "github.com/cockroachdb/cockroach/pkg/sql/pgwire/pgerror" - "github.com/cockroachdb/errors" - "github.com/cockroachdb/redact" - "github.com/go-ldap/ldap/v3" -) - -const ( - beginAuthZCounterName = counterPrefix + "begin_authorization" - authZSuccessCounterName = counterPrefix + "authorization_success" -) - -var ( - beginAuthZUseCounter = telemetry.GetCounterOnce(beginAuthZCounterName) - authZSuccessCounter = telemetry.GetCounterOnce(authZSuccessCounterName) -) - -// validateLDAPAuthZOptions checks the ldap authorization config values. -func (authManager *ldapAuthManager) validateLDAPAuthZOptions() error { - const ldapOptionsErrorMsg = "ldap authorization params in HBA conf missing" - if authManager.mu.conf.ldapGroupListFilter == "" { - return errors.New(ldapOptionsErrorMsg + " group list attribute") - } - return nil -} - -// FetchLDAPGroups retrieves ldap groups for supplied ldap user DN. -// In particular, it checks that: -// * The cluster has an enterprise license. -// * The active cluster version is 24.3 for this feature. -// * The provided LDAP user distinguished name is a valid DN. -// * LDAP authManager is enabled after settings were reloaded. -// * The hba conf entry options could be parsed to obtain ldap server params. -// * All ldap server params are valid. -// * LDAPs connection can be established with configured server. -// * Configured bind DN and password can be used to fetch ldap groups for provided user DN. -// It returns the ldap groups DN list for which the user is a member, authError -// (which is the error sql clients will see in case of failures) and -// detailedError (which is the internal error from ldap clients that might -// contain sensitive information we do not want to send to sql clients but still -// want to log it). We do not want to send any information back to client which -// was not provided by the client. -func (authManager *ldapAuthManager) FetchLDAPGroups( - ctx context.Context, - st *cluster.Settings, - userDN *ldap.DN, - user username.SQLUsername, - entry *hba.Entry, - _ *identmap.Conf, -) (_ []*ldap.DN, detailedErrorMsg redact.RedactableString, authError error) { - if err := utilccl.CheckEnterpriseEnabled(st, "LDAP authorization"); err != nil { - return nil, "", err - } - if !st.Version.IsActive(ctx, clusterversion.V24_3) { - return nil, "", pgerror.Newf(pgcode.FeatureNotSupported, "LDAP authorization is only supported after v24.3 upgrade is finalized") - } - - authManager.mu.Lock() - defer authManager.mu.Unlock() - - if !authManager.mu.enabled { - return nil, "", errors.Newf("LDAP authentication: not enabled") - } - telemetry.Inc(beginAuthZUseCounter) - - if err := authManager.setLDAPConfigOptions(entry); err != nil { - return nil, redact.Sprintf("error parsing hba conf options for LDAP: %v", err), - errors.Newf("LDAP authorization: unable to parse hba conf options") - } - - if err := authManager.validateLDAPBaseOptions(); err != nil { - return nil, redact.Sprintf("error validating base hba conf options for LDAP: %v", err), - errors.Newf("LDAP authorization: unable to validate authManager base options") - } - - if err := authManager.validateLDAPAuthZOptions(); err != nil { - return nil, redact.Sprintf("error validating authorization hba conf options for LDAP: %v", err), - errors.Newf("LDAP authorization: unable to validate authManager authorization options") - } - - // Establish a LDAPs connection with the set LDAP server and port - err := authManager.mu.util.MaybeInitLDAPsConn(ctx, authManager.mu.conf) - if err != nil { - return nil, redact.Sprintf("error when trying to create LDAP connection: %v", err), - errors.Newf("LDAP authorization: unable to establish LDAP connection") - } - - // Fetch the ldap server Distinguished Name using sql username as search value - // for ldap search attribute - fetchedGroups, err := authManager.mu.util.ListGroups(ctx, authManager.mu.conf, userDN.String()) - if err != nil { - return nil, redact.Sprintf("error when fetching groups for user dn %q in LDAP server: %v", userDN.String(), err), - errors.WithDetailf( - errors.Newf("LDAP authorization: unable to fetch groups for user"), - "cannot find groups for which user is a member") - } - - ldapGroups := make([]*ldap.DN, len(fetchedGroups)) - for idx := range fetchedGroups { - ldapGroups[idx], err = distinguishedname.ParseDN(fetchedGroups[idx]) - if err != nil { - return nil, redact.Sprintf("error parsing member group DN %s obtained from LDAP server: %v", ldapGroups[idx], err), - errors.WithDetailf( - errors.Newf("LDAP authentication: unable to parse member LDAP group distinguished name"), - "cannot find provided user %s on LDAP server", user.Normalized()) - } - } - - telemetry.Inc(authZSuccessCounter) - return ldapGroups, "", nil -} diff --git a/pkg/ccl/ldapccl/authorization_ldap_test.go b/pkg/ccl/ldapccl/authorization_ldap_test.go deleted file mode 100644 index baad9db7ae3b..000000000000 --- a/pkg/ccl/ldapccl/authorization_ldap_test.go +++ /dev/null @@ -1,153 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package ldapccl - -import ( - "context" - "crypto/tls" - "fmt" - "testing" - - "github.com/cockroachdb/cockroach/pkg/base" - "github.com/cockroachdb/cockroach/pkg/security/distinguishedname" - "github.com/cockroachdb/cockroach/pkg/security/username" - "github.com/cockroachdb/cockroach/pkg/testutils" - "github.com/cockroachdb/cockroach/pkg/testutils/serverutils" - "github.com/cockroachdb/cockroach/pkg/util/leaktest" - "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/errors" - "github.com/cockroachdb/redact" - "github.com/stretchr/testify/require" -) - -func TestLDAPAuthorization(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - // Intercept the call to NewLDAPUtil and return the mocked NewLDAPUtil function - defer testutils.TestingHook( - &NewLDAPUtil, - func(ctx context.Context, conf ldapConfig) (ILDAPUtil, error) { - return &mockLDAPUtil{tlsConfig: &tls.Config{}}, nil - })() - ctx := context.Background() - s := serverutils.StartServerOnly(t, base.TestServerArgs{}) - defer s.Stopper().Stop(ctx) - manager := ConfigureLDAPAuth(ctx, s.AmbientCtx(), s.ClusterSettings(), s.StorageClusterID()) - hbaEntryBase := "host all all all ldap " - hbaConfLDAPDefaultOpts := map[string]string{ - "ldapserver": "localhost", "ldapport": "636", "ldapbasedn": "dc=localhost", "ldapbinddn": "cn=readonly,dc=localhost", - "ldapbindpasswd": "readonly_pwd", "ldapgrouplistfilter": "(objectCategory=cn=Group,cn=Schema,cn=Configuration,DC=crlcloud,DC=dev)", - } - testCases := []struct { - testName string - hbaConfLDAPOpts map[string]string - user string - authZSuccess bool - ldapGroups []string - expectedErr string - expectedErrDetails string - expectedDetailedErrMsg string - }{ - {testName: "proper hba conf and valid user cred", - user: "cn=foo", authZSuccess: true, ldapGroups: []string{"cn=foo"}}, - {testName: "proper hba conf and invalid distinguished name", - user: "cn=invalid", authZSuccess: false, - expectedErr: "LDAP authorization: unable to fetch groups for user", - expectedErrDetails: "cannot find groups for which user is a member", - expectedDetailedErrMsg: `error when fetching groups for user dn ‹"cn=invalid"› in LDAP server: LDAP groups list failed: invalid user DN ‹"cn=invalid"› provided`}, - {testName: "invalid ldap option", - hbaConfLDAPOpts: map[string]string{"invalidOpt": "invalidVal"}, user: "cn=foo", authZSuccess: false, - expectedErr: "LDAP authorization: unable to parse hba conf options", - expectedDetailedErrMsg: `error parsing hba conf options for LDAP: invalid LDAP option provided in hba conf: ‹invalidOpt›`}, - {testName: "empty server", - hbaConfLDAPOpts: map[string]string{"ldapserver": emptyParam}, user: "cn=foo", authZSuccess: false, - expectedErr: "LDAP authorization: unable to validate authManager base options", - expectedDetailedErrMsg: "error validating base hba conf options for LDAP: ldap params in HBA conf missing ldap server"}, - {testName: "invalid server", - hbaConfLDAPOpts: map[string]string{"ldapserver": invalidParam}, user: "cn=foo", authZSuccess: false, - expectedErr: "LDAP authorization: unable to establish LDAP connection", - expectedDetailedErrMsg: "error when trying to create LDAP connection: LDAPs connection failed: invalid ldap server provided"}, - {testName: "empty port", - hbaConfLDAPOpts: map[string]string{"ldapport": emptyParam}, user: "cn=foo", authZSuccess: false, - expectedErr: "LDAP authorization: unable to validate authManager base options", - expectedDetailedErrMsg: "error validating base hba conf options for LDAP: ldap params in HBA conf missing ldap port"}, - {testName: "invalid port", - hbaConfLDAPOpts: map[string]string{"ldapport": invalidParam}, user: "cn=foo", authZSuccess: false, - expectedErr: "LDAP authorization: unable to establish LDAP connection", - expectedDetailedErrMsg: "error when trying to create LDAP connection: LDAPs connection failed: invalid ldap port provided"}, - {testName: "empty base dn", - hbaConfLDAPOpts: map[string]string{"ldapbasedn": emptyParam}, user: "cn=foo", authZSuccess: false, - expectedErr: "LDAP authorization: unable to validate authManager base options", - expectedDetailedErrMsg: "error validating base hba conf options for LDAP: ldap params in HBA conf missing base DN"}, - {testName: "invalid base dn", - hbaConfLDAPOpts: map[string]string{"ldapbasedn": invalidParam}, user: "cn=foo", authZSuccess: false, - expectedErr: "LDAP authorization: unable to fetch groups for user", - expectedErrDetails: "cannot find groups for which user is a member", - expectedDetailedErrMsg: `error when fetching groups for user dn ‹"cn=foo"› in LDAP server: LDAP groups list failed: invalid base DN ‹"invalid"› provided`}, - {testName: "empty bind dn", - hbaConfLDAPOpts: map[string]string{"ldapbinddn": emptyParam}, user: "cn=foo", authZSuccess: false, - expectedErr: "LDAP authorization: unable to validate authManager base options", - expectedDetailedErrMsg: "error validating base hba conf options for LDAP: ldap params in HBA conf missing bind DN"}, - {testName: "invalid bind dn", - hbaConfLDAPOpts: map[string]string{"ldapbinddn": invalidParam}, user: "cn=foo", authZSuccess: false, - expectedErr: "LDAP authorization: unable to fetch groups for user", - expectedErrDetails: "cannot find groups for which user is a member", - expectedDetailedErrMsg: `error when fetching groups for user dn ‹"cn=foo"› in LDAP server: LDAP groups list failed: LDAP bind failed: invalid username provided`}, - {testName: "empty bind pwd", - hbaConfLDAPOpts: map[string]string{"ldapbindpasswd": emptyParam}, user: "cn=foo", authZSuccess: false, - expectedErr: "LDAP authorization: unable to validate authManager base options", - expectedDetailedErrMsg: "error validating base hba conf options for LDAP: ldap params in HBA conf missing bind password"}, - {testName: "invalid bind pwd", - hbaConfLDAPOpts: map[string]string{"ldapbindpasswd": invalidParam}, user: "cn=foo", authZSuccess: false, - expectedErr: "LDAP authorization: unable to fetch groups for user", - expectedErrDetails: "cannot find groups for which user is a member", - expectedDetailedErrMsg: `error when fetching groups for user dn ‹"cn=foo"› in LDAP server: LDAP groups list failed: LDAP bind failed: invalid password provided`}, - {testName: "empty group list filter", - hbaConfLDAPOpts: map[string]string{"ldapgrouplistfilter": emptyParam}, user: "cn=foo", authZSuccess: false, - expectedErr: "LDAP authorization: unable to validate authManager authorization options", - expectedDetailedErrMsg: "error validating authorization hba conf options for LDAP: ldap authorization params in HBA conf missing group list attribute"}, - {testName: "invalid group list filter", - hbaConfLDAPOpts: map[string]string{"ldapgrouplistfilter": invalidParam}, user: "cn=foo", authZSuccess: false, - expectedErr: "LDAP authorization: unable to fetch groups for user", - expectedErrDetails: "cannot find groups for which user is a member", - expectedDetailedErrMsg: `error when fetching groups for user dn ‹"cn=foo"› in LDAP server: LDAP groups list failed: invalid group list filter ‹"invalid"› provided`}, - {testName: "no matching ldap groups", - user: "", authZSuccess: false, expectedErr: "LDAP authorization: unable to fetch groups for user", - expectedErrDetails: "cannot find groups for which user is a member", - expectedDetailedErrMsg: `error when fetching groups for user dn ‹""› in LDAP server: LDAP groups list failed: user dn ‹""› does not belong to any groups`}, - {testName: "more than 1 matching ldap groups", - user: "o=foo,ou=foo2,cn=foo3", authZSuccess: true, ldapGroups: []string{"o=foo", "ou=foo2", "cn=foo3"}}, - } - for i, tc := range testCases { - t.Run(fmt.Sprintf("%d: testName:%v hbConfOpts:%v user:%v", i, tc.testName, tc.hbaConfLDAPOpts, tc.user), func(t *testing.T) { - hbaEntry := constructHBAEntry(t, hbaEntryBase, hbaConfLDAPDefaultOpts, tc.hbaConfLDAPOpts) - userDN, err := distinguishedname.ParseDN(tc.user) - if err != nil { - t.Fatalf("error parsing DN string for user DN %s: %v", tc.user, err) - } - - retrievedLDAPGroups, detailedErrorMsg, err := manager.FetchLDAPGroups( - ctx, s.ClusterSettings(), userDN, username.MakeSQLUsernameFromPreNormalizedString("foo"), &hbaEntry, nil) - - if (err == nil) != tc.authZSuccess { - t.Fatalf("expected success=%t, got err=%v", tc.authZSuccess, err) - } - if err != nil { - require.Equal(t, tc.expectedErr, err.Error()) - require.Equal(t, tc.expectedErrDetails, errors.FlattenDetails(err)) - require.Equal(t, redact.RedactableString(tc.expectedDetailedErrMsg), detailedErrorMsg) - } else { - require.Equal(t, len(tc.ldapGroups), len(retrievedLDAPGroups)) - for idx := range retrievedLDAPGroups { - require.Equal(t, tc.ldapGroups[idx], retrievedLDAPGroups[idx].String()) - } - } - }) - } -} diff --git a/pkg/ccl/ldapccl/ldap_manager.go b/pkg/ccl/ldapccl/ldap_manager.go deleted file mode 100644 index a97416e0ef21..000000000000 --- a/pkg/ccl/ldapccl/ldap_manager.go +++ /dev/null @@ -1,178 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package ldapccl - -import ( - "context" - - "github.com/cockroachdb/cockroach/pkg/server/telemetry" - "github.com/cockroachdb/cockroach/pkg/settings/cluster" - "github.com/cockroachdb/cockroach/pkg/sql/pgwire" - "github.com/cockroachdb/cockroach/pkg/sql/pgwire/hba" - "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/cockroach/pkg/util/syncutil" - "github.com/cockroachdb/cockroach/pkg/util/uuid" - "github.com/cockroachdb/errors" -) - -const ( - counterPrefix = "auth.ldap." - enableCounterName = counterPrefix + "enable" -) - -var enableUseCounter = telemetry.GetCounterOnce(enableCounterName) - -// ldapAuthManager is an object that is used for both: -// 1. enabling ldap connection validation that are used as part of the CRDB -// client auth flow. -// 2. facilitating authorization to fetch parent groups as part of CRDB role -// privilege resolution. -// -// The implementation uses the `go-ldap/ldap/` client package and is supported -// through a number of cluster settings defined in `ldapccl/settings.go`. These -// settings specify how the ldap auth attempt should be executed and if this -// feature is enabled. A common ldapAuthManager object is used for both authN -// and authZ to reduce redundancy of cluster settings listeners and auth -// parameter configurations. -type ldapAuthManager struct { - mu struct { - syncutil.RWMutex - // conf contains all the values that come from cluster settings. - conf ldapConfig - // util contains connection object required for interfacing with ldap server. - util ILDAPUtil - // enabled represents the present state of if this feature is enabled. It - // is set to true once ldap util is initialized. - enabled bool - } - // clusterUUID is used to check the validity of the enterprise license. It is - // set once at initialization. - clusterUUID uuid.UUID -} - -// ldapConfig contains all the values to configure LDAP authN and authZ. These -// values are set using matching cluster settings or from hba conf options for -// LDAP entry. -type ldapConfig struct { - domainCACert string - clientTLSCert string - clientTLSKey string - ldapServer string - ldapPort string - ldapBaseDN string - ldapBindDN string - ldapBindPassword string - ldapSearchFilter string - ldapSearchAttribute string - ldapGroupListFilter string -} - -// reloadConfig locks mutex and then refreshes the values in conf from the cluster settings. -func (authManager *ldapAuthManager) reloadConfig(ctx context.Context, st *cluster.Settings) { - authManager.mu.Lock() - defer authManager.mu.Unlock() - authManager.reloadConfigLocked(ctx, st) -} - -// reloadConfig refreshes the values in conf from the cluster settings without locking the mutex. -func (authManager *ldapAuthManager) reloadConfigLocked(ctx context.Context, st *cluster.Settings) { - conf := ldapConfig{ - domainCACert: LDAPDomainCACertificate.Get(&st.SV), - clientTLSCert: LDAPClientTLSCertSetting.Get(&st.SV), - clientTLSKey: LDAPClientTLSKeySetting.Get(&st.SV), - } - authManager.mu.conf = conf - - var err error - authManager.mu.util, err = NewLDAPUtil(ctx, authManager.mu.conf) - if err != nil { - log.Warningf(ctx, "LDAP auth manager: unable to initialize LDAP connection: %v", err) - return - } - - if !authManager.mu.enabled { - telemetry.Inc(enableUseCounter) - } - authManager.mu.enabled = true - log.Infof(ctx, "initialized LDAP authManager") -} - -// setLDAPConfigOptions extracts hba conf parameters required for connecting and -// querying LDAP server from hba conf entry and sets them for LDAP auth. -func (authManager *ldapAuthManager) setLDAPConfigOptions(entry *hba.Entry) error { - conf := ldapConfig{ - domainCACert: authManager.mu.conf.domainCACert, - } - for _, opt := range entry.Options { - switch opt[0] { - case "ldapserver": - conf.ldapServer = opt[1] - case "ldapport": - conf.ldapPort = opt[1] - case "ldapbasedn": - conf.ldapBaseDN = opt[1] - case "ldapbinddn": - conf.ldapBindDN = opt[1] - case "ldapbindpasswd": - conf.ldapBindPassword = opt[1] - case "ldapsearchfilter": - conf.ldapSearchFilter = opt[1] - case "ldapsearchattribute": - conf.ldapSearchAttribute = opt[1] - case "ldapgrouplistfilter": - conf.ldapGroupListFilter = opt[1] - default: - return errors.Newf("invalid LDAP option provided in hba conf: %s", opt[0]) - } - } - authManager.mu.conf = conf - return nil -} - -// validateLDAPBaseOptions checks the mandatory ldap auth config values for validity. -func (authManager *ldapAuthManager) validateLDAPBaseOptions() error { - const ldapOptionsErrorMsg = "ldap params in HBA conf missing" - if authManager.mu.conf.ldapServer == "" { - return errors.New(ldapOptionsErrorMsg + " ldap server") - } - if authManager.mu.conf.ldapPort == "" { - return errors.New(ldapOptionsErrorMsg + " ldap port") - } - if authManager.mu.conf.ldapBaseDN == "" { - return errors.New(ldapOptionsErrorMsg + " base DN") - } - if authManager.mu.conf.ldapBindDN == "" { - return errors.New(ldapOptionsErrorMsg + " bind DN") - } - if authManager.mu.conf.ldapBindPassword == "" { - return errors.New(ldapOptionsErrorMsg + " bind password") - } - return nil -} - -// ConfigureLDAPAuth initializes and returns a ldapAuthManager. It also sets up listeners so -// that the ldapAuthManager's config is updated when the cluster settings values change. -var ConfigureLDAPAuth = func( - serverCtx context.Context, - ambientCtx log.AmbientContext, - st *cluster.Settings, - clusterUUID uuid.UUID, -) pgwire.LDAPManager { - authManager := ldapAuthManager{} - authManager.clusterUUID = clusterUUID - authManager.reloadConfig(serverCtx, st) - LDAPDomainCACertificate.SetOnChange(&st.SV, func(ctx context.Context) { - authManager.reloadConfig(ambientCtx.AnnotateCtx(ctx), st) - }) - return &authManager -} - -func init() { - pgwire.ConfigureLDAPAuth = ConfigureLDAPAuth -} diff --git a/pkg/ccl/ldapccl/ldap_test_util.go b/pkg/ccl/ldapccl/ldap_test_util.go deleted file mode 100644 index ea0b7e5d8b45..000000000000 --- a/pkg/ccl/ldapccl/ldap_test_util.go +++ /dev/null @@ -1,147 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package ldapccl - -import ( - "context" - "crypto/tls" - "fmt" - "strings" - "testing" - - "github.com/cockroachdb/cockroach/pkg/sql/pgwire/hba" - "github.com/cockroachdb/errors" - "github.com/go-ldap/ldap/v3" -) - -const ( - emptyParam = "empty" - invalidParam = "invalid" -) - -type mockLDAPUtil struct { - conn *ldap.Conn - tlsConfig *tls.Config -} - -// MaybeInitLDAPsConn implements the ILDAPUtil interface. -func (lu *mockLDAPUtil) MaybeInitLDAPsConn(ctx context.Context, conf ldapConfig) error { - if strings.Contains(conf.ldapServer, invalidParam) { - return errors.Newf(ldapsFailureMessage + ": invalid ldap server provided") - } else if strings.Contains(conf.ldapPort, invalidParam) { - return errors.Newf(ldapsFailureMessage + ": invalid ldap port provided") - } - lu.conn = &ldap.Conn{} - return nil -} - -// Bind implements the ILDAPUtil interface. -func (lu *mockLDAPUtil) Bind(ctx context.Context, userDN string, ldapPwd string) error { - if strings.Contains(userDN, invalidParam) { - return errors.Newf(bindFailureMessage + ": invalid username provided") - } else if strings.Contains(ldapPwd, invalidParam) { - return errors.Newf(bindFailureMessage + ": invalid password provided") - } - - return nil -} - -// Search implements the ILDAPUtil interface. -func (lu *mockLDAPUtil) Search( - ctx context.Context, conf ldapConfig, username string, -) (userDN string, err error) { - if err := lu.Bind(ctx, conf.ldapBindDN, conf.ldapBindPassword); err != nil { - return "", errors.Wrap(err, searchFailureMessage) - } - if strings.Contains(conf.ldapBaseDN, invalidParam) { - return "", errors.Newf(searchFailureMessage+": invalid base DN %q provided", conf.ldapBaseDN) - } - if strings.Contains(conf.ldapSearchFilter, invalidParam) { - return "", errors.Newf(searchFailureMessage+": invalid search filter %q provided", conf.ldapSearchFilter) - } - if strings.Contains(conf.ldapSearchAttribute, invalidParam) { - return "", errors.Newf(searchFailureMessage+": invalid search attribute %q provided", conf.ldapSearchAttribute) - } - if strings.Contains(username, invalidParam) { - return "", errors.Newf(searchFailureMessage+": invalid search value %q provided", username) - } - commonNames := strings.Split(username, ",") - switch { - case len(username) == 0: - return "", errors.Newf(searchFailureMessage+": user %q does not exist", username) - case len(commonNames) > 1: - return "", errors.Newf(searchFailureMessage+": too many matching entries returned for user %q", username) - } - - distinguishedName := "CN=" + commonNames[0] - return distinguishedName, nil -} - -// ListGroups implements the ILDAPUtil interface. -func (lu *mockLDAPUtil) ListGroups( - ctx context.Context, conf ldapConfig, userDN string, -) (ldapGroupsDN []string, err error) { - if err := lu.Bind(ctx, conf.ldapBindDN, conf.ldapBindPassword); err != nil { - return nil, errors.Wrap(err, groupListFailureMessage) - } - if strings.Contains(conf.ldapBaseDN, invalidParam) { - return nil, errors.Newf(groupListFailureMessage+": invalid base DN %q provided", conf.ldapBaseDN) - } - if strings.Contains(conf.ldapSearchFilter, invalidParam) { - return nil, errors.Newf(groupListFailureMessage+": invalid search filter %q provided", conf.ldapSearchFilter) - } - if strings.Contains(conf.ldapGroupListFilter, invalidParam) { - return nil, errors.Newf(groupListFailureMessage+": invalid group list filter %q provided", conf.ldapGroupListFilter) - } - if strings.Contains(userDN, invalidParam) { - return nil, errors.Newf(groupListFailureMessage+": invalid user DN %q provided", userDN) - } - - if len(userDN) == 0 { - return nil, errors.Newf(groupListFailureMessage+": user dn %q does not belong to any groups", userDN) - } - - ldapGroupsDN = strings.Split(userDN, ",") - return ldapGroupsDN, nil -} - -var _ ILDAPUtil = &mockLDAPUtil{} - -func constructHBAEntry( - t *testing.T, - hbaEntryBase string, - hbaConfLDAPDefaultOpts map[string]string, - hbaConfLDAPOpts map[string]string, -) hba.Entry { - hbaEntryLDAP := hbaEntryBase - // add options from default and override default options when provided with one - for opt, value := range hbaConfLDAPDefaultOpts { - setValue := value - if hbaConfLDAPOpts[opt] == emptyParam { - continue - } else if hbaConfLDAPOpts[opt] != "" { - setValue = hbaConfLDAPOpts[opt] - } - hbaEntryLDAP += fmt.Sprintf("\"%s=%s\" ", opt, setValue) - } - // add non default options - for additionalOpt, additionalOptValue := range hbaConfLDAPOpts { - if _, ok := hbaConfLDAPDefaultOpts[additionalOpt]; !ok { - hbaEntryLDAP += fmt.Sprintf("\"%s=%s\" ", additionalOpt, additionalOptValue) - } - } - hbaConf, err := hba.ParseAndNormalize(hbaEntryLDAP) - if err != nil { - t.Fatalf("error parsing hba conf: %v", err) - } - if len(hbaConf.Entries) != 1 { - t.Fatalf("hba conf value invalid: should contain only 1 entry") - } - return hbaConf.Entries[0] -} diff --git a/pkg/ccl/ldapccl/ldap_util.go b/pkg/ccl/ldapccl/ldap_util.go deleted file mode 100644 index 2471a37c3e30..000000000000 --- a/pkg/ccl/ldapccl/ldap_util.go +++ /dev/null @@ -1,184 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package ldapccl - -import ( - "context" - "crypto/tls" - "crypto/x509" - "fmt" - - "github.com/cockroachdb/errors" - "github.com/go-ldap/ldap/v3" -) - -const ( - invalidLDAPConfMessage = "LDAP configuration invalid" - ldapsFailureMessage = "LDAPs connection failed" - bindFailureMessage = "LDAP bind failed" - searchFailureMessage = "LDAP search failed" - groupListFailureMessage = "LDAP groups list failed" -) - -type ldapUtil struct { - conn *ldap.Conn - tlsConfig *tls.Config -} - -// MaybeInitLDAPsConn implements the ILDAPUtil interface. -func (lu *ldapUtil) MaybeInitLDAPsConn(ctx context.Context, conf ldapConfig) (err error) { - // TODO(souravcrl): (Fix 1) DialTLS is slow if we do it for every authN - // attempt. We should look into ways for caching connections and avoiding - // connection timeouts in case LDAP server enforces that for idle connections. - // We still should be able to validate a large number of authN requests - // reusing the same connection(s). - // (Fix 2) Every authN attempt acquires a lock on ldapAuthManager, so - // only 1 authN attempt is possible at a given time(for entire flow of - // bind+search+bind). We should have a permanent bind connection to search for - // entries and short-lived bind attempts for requested sql authNs. - // (Fix 3) Every CRDB node currently looks into establishing a separate - // connection with LDAP servers significantly increasing total number of open - // connections. This should be capped and configurable as to how many - // connections crdb nodes can take up(either in total or on a per node basis) - // - // ldapAddress := "ldap://ldap.example.com:636" - // - if lu.conn != nil { - return nil - } - ldapAddress := conf.ldapServer + ":" + conf.ldapPort - if lu.conn, err = ldap.DialTLS("tcp", ldapAddress, lu.tlsConfig); err != nil { - return errors.Wrap(err, ldapsFailureMessage) - } - return nil -} - -// Bind implements the ILDAPUtil interface. -func (lu *ldapUtil) Bind(ctx context.Context, userDN string, ldapPwd string) (err error) { - if err = lu.conn.Bind(userDN, ldapPwd); err != nil { - return errors.Wrap(err, bindFailureMessage) - } - return nil -} - -// Search implements the ILDAPUtil interface. -func (lu *ldapUtil) Search( - ctx context.Context, conf ldapConfig, username string, -) (userDN string, err error) { - if err := lu.Bind(ctx, conf.ldapBindDN, conf.ldapBindPassword); err != nil { - return "", errors.Wrap(err, searchFailureMessage) - } - // TODO(souravcrl): Currently search could be performed at subtree level but - // this should be configurable through HBA conf using any of the scopes - // provided: https://github.com/go-ldap/ldap/blob/master/search.go#L17-L24 - searchRequest := ldap.NewSearchRequest( - conf.ldapBaseDN, - ldap.ScopeWholeSubtree, ldap.NeverDerefAliases, 0, 0, false, - fmt.Sprintf("(&%s(%s=%s))", conf.ldapSearchFilter, conf.ldapSearchAttribute, ldap.EscapeFilter(username)), - []string{}, - nil, - ) - sr, err := lu.conn.Search(searchRequest) - if err != nil { - return "", errors.Wrap(err, searchFailureMessage) - } - - switch { - case len(sr.Entries) == 0: - return "", errors.Newf(searchFailureMessage+": user %s does not exist", username) - case len(sr.Entries) > 1: - return "", errors.Newf(searchFailureMessage+": too many matching entries returned for user %s", username) - } - - return sr.Entries[0].DN, nil -} - -// ListGroups implements the ILDAPUtil interface. -func (lu *ldapUtil) ListGroups( - ctx context.Context, conf ldapConfig, userDN string, -) (_ []string, err error) { - if err := lu.Bind(ctx, conf.ldapBindDN, conf.ldapBindPassword); err != nil { - return nil, errors.Wrap(err, groupListFailureMessage) - } - // TODO(souravcrl): Currently list groups can only be performed at subtree - // level but this should be configurable through HBA conf using any of the - // scopes provided: - // https://github.com/go-ldap/ldap/blob/master/search.go#L17-L24 - searchRequest := ldap.NewSearchRequest( - conf.ldapBaseDN, - ldap.ScopeWholeSubtree, ldap.NeverDerefAliases, 0, 0, false, - fmt.Sprintf("(&%s(member=%s))", conf.ldapGroupListFilter, ldap.EscapeFilter(userDN)), - []string{}, - nil, - ) - sr, err := lu.conn.Search(searchRequest) - if err != nil { - return nil, errors.Wrap(err, groupListFailureMessage) - } - if len(sr.Entries) == 0 { - return nil, errors.Newf(groupListFailureMessage+": user dn %s does not belong to any groups", userDN) - } - - ldapGroupsDN := make([]string, len(sr.Entries)) - for idx := range sr.Entries { - ldapGroupsDN[idx] = sr.Entries[idx].DN - } - return ldapGroupsDN, nil -} - -// ILDAPUtil is an interface for the `ldapauthccl` library to wrap various LDAP -// functionalities exposed by `go-ldap` library as part of CRDB modules for -// authN and authZ. -type ILDAPUtil interface { - // MaybeInitLDAPsConn optionally creates a mTLS connection with the LDAP - // server if it does not already exist taking arguments for domain CA, ldap - // client key and cert, ldap server & port - MaybeInitLDAPsConn(ctx context.Context, conf ldapConfig) error - // Bind performs a bind given a valid DN and LDAP password - Bind(ctx context.Context, userDN string, ldapPwd string) error - // Search performs search on LDAP server binding with bindDN and bindpwd - // expecting search arguments from HBA conf and crdb database connection - // string and returns the ldap userDN. - Search(ctx context.Context, conf ldapConfig, username string) (userDN string, err error) - // ListGroups performs search on AD subtree starting from baseDN filtered by - // groupListFilter and lists groups which have provided userDN as a member - ListGroups(ctx context.Context, conf ldapConfig, userDN string) (ldapGroupsDN []string, err error) -} - -var _ ILDAPUtil = &ldapUtil{} - -// NewLDAPUtil initializes ldapUtil which implements the ILDAPUtil wrapper for -// client interface provided by `go-ldap`. This is needed for testing (to -// intercept the call to NewLDAPUtil and return the mocked NewLDAPUtil which has -// mock implementations for ILDAPUtil interface). -var NewLDAPUtil func(context.Context, ldapConfig) (ILDAPUtil, error) = func( - ctx context.Context, - conf ldapConfig, -) (ILDAPUtil, error) { - util := ldapUtil{tlsConfig: &tls.Config{}} - - if conf.domainCACert != "" { - util.tlsConfig.RootCAs = x509.NewCertPool() - if ok := util.tlsConfig.RootCAs.AppendCertsFromPEM([]byte(conf.domainCACert)); !ok { - return nil, errors.Newf(invalidLDAPConfMessage + ": set domain CA cert for ldap server is not valid") - } - } - - if conf.clientTLSCert != "" && conf.clientTLSKey != "" { - clientCert, err := tls.X509KeyPair([]byte(conf.clientTLSCert), []byte(conf.clientTLSKey)) - if err != nil { - return nil, errors.Wrap(err, invalidLDAPConfMessage+": error parsing client cert and key pair for mTLS") - } - util.tlsConfig.Certificates = []tls.Certificate{clientCert} - } else if conf.clientTLSCert != "" || conf.clientTLSKey != "" { - return nil, errors.Newf(invalidLDAPConfMessage + ": both client cert and key pair must be set for mTLS") - } - - return &util, nil -} diff --git a/pkg/ccl/ldapccl/main_test.go b/pkg/ccl/ldapccl/main_test.go deleted file mode 100644 index 894c950bb698..000000000000 --- a/pkg/ccl/ldapccl/main_test.go +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package ldapccl_test - -import ( - "os" - "testing" - - "github.com/cockroachdb/cockroach/pkg/ccl" - "github.com/cockroachdb/cockroach/pkg/security/securityassets" - "github.com/cockroachdb/cockroach/pkg/security/securitytest" - "github.com/cockroachdb/cockroach/pkg/server" - "github.com/cockroachdb/cockroach/pkg/testutils/serverutils" - "github.com/cockroachdb/cockroach/pkg/testutils/testcluster" - "github.com/cockroachdb/cockroach/pkg/util/randutil" -) - -func TestMain(m *testing.M) { - defer ccl.TestingEnableEnterprise()() - securityassets.SetLoader(securitytest.EmbeddedAssets) - randutil.SeedForTests() - serverutils.InitTestServerFactory(server.TestServerFactory) - serverutils.InitTestClusterFactory(testcluster.TestClusterFactory) - os.Exit(m.Run()) -} - -//go:generate ../../util/leaktest/add-leaktest.sh *_test.go diff --git a/pkg/ccl/ldapccl/settings.go b/pkg/ccl/ldapccl/settings.go deleted file mode 100644 index 25c0750354be..000000000000 --- a/pkg/ccl/ldapccl/settings.go +++ /dev/null @@ -1,83 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package ldapccl - -import ( - "crypto/x509" - - "github.com/cockroachdb/cockroach/pkg/security" - "github.com/cockroachdb/cockroach/pkg/settings" - "github.com/cockroachdb/errors" -) - -// All cluster settings necessary for the LDAP authN/authZ feature. -const ( - baseLDAPAuthSettingName = "server.ldap_authentication." - ldapDomainCACertificateSettingName = baseLDAPAuthSettingName + "domain.custom_ca" - ldapClientTLSCertSettingName = baseLDAPAuthSettingName + "client.tls_certificate" - ldapClientTLSKeySettingName = baseLDAPAuthSettingName + "client.tls_key" -) - -// LDAPDomainCACertificate is the CA cert PEM (appended to system's default CAs) -// for verifying LDAP server domain certificate. -var LDAPDomainCACertificate = settings.RegisterStringSetting( - settings.ApplicationLevel, - ldapDomainCACertificateSettingName, - "sets the PEM encoded custom root CA for verifying domain certificates when establishing connection with LDAP server", - "", - settings.WithPublic, - settings.WithReportable(false), - settings.Sensitive, - settings.WithValidateString(validateCertificate), -) - -// LDAPClientTLSCertSetting is the optional cert that client can use for mTLS. -var LDAPClientTLSCertSetting = settings.RegisterStringSetting( - settings.ApplicationLevel, - ldapClientTLSCertSettingName, - "sets the client certificate PEM for establishing mTLS connection with LDAP server", - "", - settings.WithPublic, - settings.WithReportable(false), - settings.Sensitive, - settings.WithValidateString(validateCertificate), -) - -// LDAPClientTLSKeySetting is the optional PEM key that client can use for mTLS. -var LDAPClientTLSKeySetting = settings.RegisterStringSetting( - settings.ApplicationLevel, - ldapClientTLSKeySettingName, - "sets the client key PEM for establishing mTLS connection with LDAP server", - "", - settings.WithPublic, - settings.WithReportable(false), - settings.Sensitive, - settings.WithValidateString(validatePrivateKey), -) - -func validateCertificate(_ *settings.Values, s string) error { - if len(s) != 0 { - if ok := x509.NewCertPool().AppendCertsFromPEM([]byte(s)); !ok { - return errors.Newf("LDAP initialization failed: invalid cert PEM block provided") - } - } - return nil -} - -// validatePrivateKey validates if post parsing private key PEM block we can -// obtain a `crypto.PrivateKey` object. It does not check if it pairs with the -// public key from provided certificate. -func validatePrivateKey(_ *settings.Values, s string) error { - if len(s) != 0 { - if _, err := security.PEMToPrivateKey([]byte(s)); err != nil { - return errors.Newf("LDAP initialization failed: invalid private key PEM provided") - } - } - return nil -} diff --git a/pkg/ccl/ldapccl/settings_test.go b/pkg/ccl/ldapccl/settings_test.go deleted file mode 100644 index 9ba4e6e20597..000000000000 --- a/pkg/ccl/ldapccl/settings_test.go +++ /dev/null @@ -1,110 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package ldapccl - -import ( - "path/filepath" - "testing" - - "github.com/cockroachdb/cockroach/pkg/security/certnames" - "github.com/cockroachdb/cockroach/pkg/security/securityassets" - "github.com/cockroachdb/cockroach/pkg/util/leaktest" - "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/stretchr/testify/require" -) - -func TestValidateLDAPDomainCACertificate(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - caCertPEMBlock, err := securityassets.GetLoader().ReadFile( - filepath.Join(certnames.EmbeddedCertsDir, certnames.EmbeddedCACert)) - require.NoError(t, err) - - tests := []struct { - name string - setting string - wantErr bool - expectedErr string - }{ - {"empty string", "", false, ""}, - {"valid CA certificate", string(caCertPEMBlock), false, ""}, - {"invalid CA certificate", "--BEGIN INVALID CERT `[]!@#%#^$&*", true, - "LDAP initialization failed: invalid cert PEM block provided"}, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - if err := validateCertificate(nil, tt.setting); (err != nil) != tt.wantErr { - t.Errorf("validateLDAPDomainCACertificate() error = %v, wantErr %v", err, tt.wantErr) - } else if err != nil { - require.Regexp(t, tt.expectedErr, err.Error()) - } - }) - } -} - -func TestValidateLDAPClientCertificate(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - clientCertPEMBlock, err := securityassets.GetLoader().ReadFile( - filepath.Join(certnames.EmbeddedCertsDir, certnames.EmbeddedRootCert)) - require.NoError(t, err) - - tests := []struct { - name string - setting string - wantErr bool - expectedErr string - }{ - {"empty string", "", false, ""}, - {"valid client certificate", string(clientCertPEMBlock), false, ""}, - {"invalid client certificate", "--BEGIN INVALID CERT `[]!@#%#^$&*", true, - "LDAP initialization failed: invalid cert PEM block provided"}, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - if err := validateCertificate(nil, tt.setting); (err != nil) != tt.wantErr { - t.Errorf("validateCertificate() error = %v, wantErr %v", err, tt.wantErr) - } else if err != nil { - require.Regexp(t, tt.expectedErr, err.Error()) - } - }) - } -} - -func TestValidateLDAPClientPrivateKey(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - clientPrivateKeyPEMBlock, err := securityassets.GetLoader().ReadFile( - filepath.Join(certnames.EmbeddedCertsDir, certnames.EmbeddedRootKey)) - require.NoError(t, err) - - tests := []struct { - name string - setting string - wantErr bool - expectedErr string - }{ - {"empty string", "", false, ""}, - {"valid client private key", string(clientPrivateKeyPEMBlock), false, ""}, - {"invalid private key certificate", "---BEGIN INVALID RSA PRIVATE KEY `[]!@#%#^$&*", true, - "LDAP initialization failed: invalid private key PEM provided"}, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - if err := validatePrivateKey(nil, tt.setting); (err != nil) != tt.wantErr { - t.Errorf("validatePrivateKey() error = %v, wantErr %v", err, tt.wantErr) - } else if err != nil { - require.Regexp(t, tt.expectedErr, err.Error()) - } - }) - } -} diff --git a/pkg/ccl/logictestccl/testdata/logic_test/alter_table_locality b/pkg/ccl/logictestccl/testdata/logic_test/alter_table_locality index 827da87aad7d..9e468c712798 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/alter_table_locality +++ b/pkg/ccl/logictestccl/testdata/logic_test/alter_table_locality @@ -30,25 +30,37 @@ CREATE TABLE regional_by_row ( query TT SHOW CREATE TABLE regional_by_row ---- -regional_by_row CREATE TABLE public.regional_by_row ( - pk INT8 NOT NULL, - i INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_i_idx (i ASC), - FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) - ) LOCALITY REGIONAL BY ROW +regional_by_row CREATE TABLE public.regional_by_row ( + pk INT8 NOT NULL, + i INT8 NULL, + crdb_region alter_locality_test.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::alter_locality_test.public.crdb_internal_region, + CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_i_idx (i ASC), + FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) +) LOCALITY REGIONAL BY ROW query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row @@ -75,25 +87,37 @@ CREATE TABLE regional_by_row_as ( query TT SHOW CREATE TABLE regional_by_row_as ---- -regional_by_row_as CREATE TABLE public.regional_by_row_as ( - pk INT8 NOT NULL, - i INT8 NULL, - cr public.crdb_internal_region NOT NULL DEFAULT 'ap-southeast-2':::public.crdb_internal_region, - CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_as_i_idx (i ASC), - FAMILY fam_0_cr_pk_i (cr, pk, i) - ) LOCALITY REGIONAL BY ROW AS cr +regional_by_row_as CREATE TABLE public.regional_by_row_as ( + pk INT8 NOT NULL, + i INT8 NULL, + cr alter_locality_test.public.crdb_internal_region NOT NULL DEFAULT 'ap-southeast-2':::alter_locality_test.public.crdb_internal_region, + CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_as_i_idx (i ASC), + FAMILY fam_0_cr_pk_i (cr, pk, i) +) LOCALITY REGIONAL BY ROW AS cr query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row_as @@ -129,12 +153,24 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_table_in_primary_region @@ -170,12 +206,24 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_table_no_region @@ -211,12 +259,24 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_table_in_us_east @@ -248,12 +308,24 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE created_as_global @@ -287,12 +359,24 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE created_as_global @@ -328,12 +412,24 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE created_as_global @@ -369,12 +465,24 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE created_as_global @@ -428,12 +536,24 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE created_as_global @@ -471,27 +591,39 @@ ALTER TABLE created_as_global SET LOCALITY REGIONAL BY ROW query TT SHOW CREATE TABLE created_as_global ---- -created_as_global CREATE TABLE public.created_as_global ( - pk INT8 NOT NULL, - i INT8 NULL, - b INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT created_as_global_pkey PRIMARY KEY (pk ASC), - INDEX created_as_global_b_idx (b ASC), - UNIQUE INDEX created_as_global_i_key (i ASC), - FAMILY fam_0_pk_i_b (pk, i, b, crdb_region) - ) LOCALITY REGIONAL BY ROW +created_as_global CREATE TABLE public.created_as_global ( + pk INT8 NOT NULL, + i INT8 NULL, + b INT8 NULL, + crdb_region alter_locality_test.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::alter_locality_test.public.crdb_internal_region, + CONSTRAINT created_as_global_pkey PRIMARY KEY (pk ASC), + INDEX created_as_global_b_idx (b ASC), + UNIQUE INDEX created_as_global_i_key (i ASC), + FAMILY fam_0_pk_i_b (pk, i, b, crdb_region) +) LOCALITY REGIONAL BY ROW query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE created_as_global @@ -566,27 +698,39 @@ ALTER TABLE created_as_global SET LOCALITY REGIONAL BY ROW query TT SHOW CREATE TABLE created_as_global ---- -created_as_global CREATE TABLE public.created_as_global ( - pk INT8 NOT NULL, - i INT8 NULL, - b INT8 NULL, - crdb_region public.crdb_internal_region NOT NULL, - CONSTRAINT created_as_global_pkey PRIMARY KEY (pk ASC), - INDEX created_as_global_b_idx (b ASC), - UNIQUE INDEX created_as_global_i_key (i ASC), - FAMILY fam_0_pk_i_b_crdb_region (pk, i, b, crdb_region) - ) LOCALITY REGIONAL BY ROW +created_as_global CREATE TABLE public.created_as_global ( + pk INT8 NOT NULL, + i INT8 NULL, + b INT8 NULL, + crdb_region alter_locality_test.public.crdb_internal_region NOT NULL, + CONSTRAINT created_as_global_pkey PRIMARY KEY (pk ASC), + INDEX created_as_global_b_idx (b ASC), + UNIQUE INDEX created_as_global_i_key (i ASC), + FAMILY fam_0_pk_i_b_crdb_region (pk, i, b, crdb_region) +) LOCALITY REGIONAL BY ROW query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE created_as_global @@ -604,16 +748,16 @@ DATABASE alter_locality_test ALTER DATABASE alter_locality_test CONFIGURE ZONE query TT SHOW CREATE TABLE created_as_global ---- -created_as_global CREATE TABLE public.created_as_global ( - pk INT8 NOT NULL, - i INT8 NULL, - b INT8 NULL, - crdb_region public.crdb_internal_region NOT NULL, - CONSTRAINT created_as_global_pkey PRIMARY KEY (pk ASC), - INDEX created_as_global_b_idx (b ASC), - UNIQUE INDEX created_as_global_i_key (i ASC), - FAMILY fam_0_pk_i_b_crdb_region (pk, i, b, crdb_region) - ) LOCALITY REGIONAL BY ROW +created_as_global CREATE TABLE public.created_as_global ( + pk INT8 NOT NULL, + i INT8 NULL, + b INT8 NULL, + crdb_region alter_locality_test.public.crdb_internal_region NOT NULL, + CONSTRAINT created_as_global_pkey PRIMARY KEY (pk ASC), + INDEX created_as_global_b_idx (b ASC), + UNIQUE INDEX created_as_global_i_key (i ASC), + FAMILY fam_0_pk_i_b_crdb_region (pk, i, b, crdb_region) +) LOCALITY REGIONAL BY ROW # Test altering to REGIONAL BY ROW AS
. statement ok @@ -657,27 +801,39 @@ ALTER TABLE created_as_global SET LOCALITY REGIONAL BY ROW AS "cr" query TT SHOW CREATE TABLE created_as_global ---- -created_as_global CREATE TABLE public.created_as_global ( - pk INT8 NOT NULL, - i INT8 NULL, - b INT8 NULL, - cr public.crdb_internal_region NOT NULL, - CONSTRAINT created_as_global_pkey PRIMARY KEY (pk ASC), - INDEX created_as_global_b_idx (b ASC), - UNIQUE INDEX created_as_global_i_key (i ASC), - FAMILY fam_0_pk_i_b_cr (pk, i, b, cr) - ) LOCALITY REGIONAL BY ROW AS cr +created_as_global CREATE TABLE public.created_as_global ( + pk INT8 NOT NULL, + i INT8 NULL, + b INT8 NULL, + cr alter_locality_test.public.crdb_internal_region NOT NULL, + CONSTRAINT created_as_global_pkey PRIMARY KEY (pk ASC), + INDEX created_as_global_b_idx (b ASC), + UNIQUE INDEX created_as_global_i_key (i ASC), + FAMILY fam_0_pk_i_b_cr (pk, i, b, cr) +) LOCALITY REGIONAL BY ROW AS cr query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE created_as_global @@ -714,12 +870,24 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_table_in_primary_region @@ -752,12 +920,24 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_table_in_primary_region @@ -790,12 +970,24 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_table_in_primary_region @@ -827,12 +1019,24 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_table_in_primary_region @@ -864,12 +1068,24 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_table_in_primary_region @@ -916,12 +1132,24 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_table_no_region @@ -964,12 +1192,24 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_table_no_region @@ -1007,12 +1247,24 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_table_no_region @@ -1043,12 +1295,24 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_table_no_region @@ -1089,15 +1353,15 @@ query TT SHOW CREATE TABLE regional_by_table_no_region ---- regional_by_table_no_region CREATE TABLE public.regional_by_table_no_region ( - pk INT8 NOT NULL, - i INT8 NULL, - b INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT regional_by_table_no_region_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_table_no_region_b_idx (b ASC), - UNIQUE INDEX regional_by_table_no_region_i_key (i ASC), - FAMILY fam_0_pk_i_b (pk, i, b, crdb_region) - ) LOCALITY REGIONAL BY ROW + pk INT8 NOT NULL, + i INT8 NULL, + b INT8 NULL, + crdb_region alter_locality_test.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::alter_locality_test.public.crdb_internal_region, + CONSTRAINT regional_by_table_no_region_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_table_no_region_b_idx (b ASC), + UNIQUE INDEX regional_by_table_no_region_i_key (i ASC), + FAMILY fam_0_pk_i_b (pk, i, b, crdb_region) +) LOCALITY REGIONAL BY ROW statement ok DROP TABLE regional_by_table_no_region; @@ -1120,12 +1384,24 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_table_no_region @@ -1165,27 +1441,39 @@ ALTER TABLE regional_by_table_no_region SET LOCALITY REGIONAL BY ROW AS "cr" query TT SHOW CREATE TABLE regional_by_table_no_region ---- -regional_by_table_no_region CREATE TABLE public.regional_by_table_no_region ( - pk INT8 NOT NULL, - i INT8 NULL, - b INT8 NULL, - cr public.crdb_internal_region NOT NULL, - CONSTRAINT regional_by_table_no_region_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_table_no_region_b_idx (b ASC), - UNIQUE INDEX regional_by_table_no_region_i_key (i ASC), - FAMILY fam_0_pk_i_b_cr (pk, i, b, cr) - ) LOCALITY REGIONAL BY ROW AS cr +regional_by_table_no_region CREATE TABLE public.regional_by_table_no_region ( + pk INT8 NOT NULL, + i INT8 NULL, + b INT8 NULL, + cr alter_locality_test.public.crdb_internal_region NOT NULL, + CONSTRAINT regional_by_table_no_region_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_table_no_region_b_idx (b ASC), + UNIQUE INDEX regional_by_table_no_region_i_key (i ASC), + FAMILY fam_0_pk_i_b_cr (pk, i, b, cr) +) LOCALITY REGIONAL BY ROW AS cr query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_table_no_region @@ -1219,12 +1507,24 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_table_in_us_east @@ -1259,12 +1559,24 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_table_in_us_east @@ -1299,12 +1611,24 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_table_in_us_east @@ -1336,12 +1660,24 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_table_in_us_east @@ -1382,26 +1718,38 @@ query TT SHOW CREATE TABLE regional_by_table_in_us_east ---- regional_by_table_in_us_east CREATE TABLE public.regional_by_table_in_us_east ( - pk INT8 NOT NULL, - i INT8 NULL, - b INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT regional_by_table_in_us_east_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_table_in_us_east_b_idx (b ASC), - UNIQUE INDEX regional_by_table_in_us_east_i_key (i ASC), - FAMILY fam_0_pk_i_b (pk, i, b, crdb_region) - ) LOCALITY REGIONAL BY ROW + pk INT8 NOT NULL, + i INT8 NULL, + b INT8 NULL, + crdb_region alter_locality_test.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::alter_locality_test.public.crdb_internal_region, + CONSTRAINT regional_by_table_in_us_east_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_table_in_us_east_b_idx (b ASC), + UNIQUE INDEX regional_by_table_in_us_east_i_key (i ASC), + FAMILY fam_0_pk_i_b (pk, i, b, crdb_region) +) LOCALITY REGIONAL BY ROW query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_table_in_us_east @@ -1441,27 +1789,39 @@ ALTER TABLE regional_by_table_in_us_east SET LOCALITY REGIONAL BY ROW AS "cr" query TT SHOW CREATE TABLE regional_by_table_in_us_east ---- -regional_by_table_in_us_east CREATE TABLE public.regional_by_table_in_us_east ( - pk INT8 NOT NULL, - i INT8 NULL, - b INT8 NULL, - cr public.crdb_internal_region NOT NULL, - CONSTRAINT regional_by_table_in_us_east_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_table_in_us_east_b_idx (b ASC), - UNIQUE INDEX regional_by_table_in_us_east_i_key (i ASC), - FAMILY fam_0_pk_i_b_cr (pk, i, b, cr) - ) LOCALITY REGIONAL BY ROW AS cr +regional_by_table_in_us_east CREATE TABLE public.regional_by_table_in_us_east ( + pk INT8 NOT NULL, + i INT8 NULL, + b INT8 NULL, + cr alter_locality_test.public.crdb_internal_region NOT NULL, + CONSTRAINT regional_by_table_in_us_east_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_table_in_us_east_b_idx (b ASC), + UNIQUE INDEX regional_by_table_in_us_east_i_key (i ASC), + FAMILY fam_0_pk_i_b_cr (pk, i, b, cr) +) LOCALITY REGIONAL BY ROW AS cr query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_table_in_us_east @@ -1485,14 +1845,14 @@ ALTER TABLE regional_by_row SET LOCALITY REGIONAL BY TABLE query TT SHOW CREATE TABLE regional_by_row ---- -regional_by_row CREATE TABLE public.regional_by_row ( - pk INT8 NOT NULL, - i INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_i_idx (i ASC), - FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) - ) LOCALITY REGIONAL BY TABLE IN PRIMARY REGION +regional_by_row CREATE TABLE public.regional_by_row ( + pk INT8 NOT NULL, + i INT8 NULL, + crdb_region alter_locality_test.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::alter_locality_test.public.crdb_internal_region, + CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_i_idx (i ASC), + FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) +) LOCALITY REGIONAL BY TABLE IN PRIMARY REGION query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] @@ -1532,14 +1892,14 @@ ALTER TABLE regional_by_row SET LOCALITY REGIONAL BY TABLE in "ap-southeast-2" query TT SHOW CREATE TABLE regional_by_row ---- -regional_by_row CREATE TABLE public.regional_by_row ( - pk INT8 NOT NULL, - i INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_i_idx (i ASC), - FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) - ) LOCALITY REGIONAL BY TABLE IN "ap-southeast-2" +regional_by_row CREATE TABLE public.regional_by_row ( + pk INT8 NOT NULL, + i INT8 NULL, + crdb_region alter_locality_test.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::alter_locality_test.public.crdb_internal_region, + CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_i_idx (i ASC), + FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) +) LOCALITY REGIONAL BY TABLE IN "ap-southeast-2" query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] @@ -1579,14 +1939,14 @@ ALTER TABLE regional_by_row SET LOCALITY REGIONAL BY TABLE IN PRIMARY REGION query TT SHOW CREATE TABLE regional_by_row ---- -regional_by_row CREATE TABLE public.regional_by_row ( - pk INT8 NOT NULL, - i INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_i_idx (i ASC), - FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) - ) LOCALITY REGIONAL BY TABLE IN PRIMARY REGION +regional_by_row CREATE TABLE public.regional_by_row ( + pk INT8 NOT NULL, + i INT8 NULL, + crdb_region alter_locality_test.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::alter_locality_test.public.crdb_internal_region, + CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_i_idx (i ASC), + FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) +) LOCALITY REGIONAL BY TABLE IN PRIMARY REGION query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] @@ -1626,14 +1986,14 @@ ALTER TABLE regional_by_row SET LOCALITY GLOBAL query TT SHOW CREATE TABLE regional_by_row ---- -regional_by_row CREATE TABLE public.regional_by_row ( +regional_by_row CREATE TABLE public.regional_by_row ( pk INT8 NOT NULL, i INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region alter_locality_test.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::alter_locality_test.public.crdb_internal_region, CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), INDEX regional_by_row_i_idx (i ASC), FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) - ) LOCALITY GLOBAL +) LOCALITY GLOBAL query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] @@ -1674,25 +2034,37 @@ ALTER TABLE regional_by_row SET LOCALITY REGIONAL BY ROW query TT SHOW CREATE TABLE regional_by_row ---- -regional_by_row CREATE TABLE public.regional_by_row ( - pk INT8 NOT NULL, - i INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_i_idx (i ASC), - FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) - ) LOCALITY REGIONAL BY ROW +regional_by_row CREATE TABLE public.regional_by_row ( + pk INT8 NOT NULL, + i INT8 NULL, + crdb_region alter_locality_test.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::alter_locality_test.public.crdb_internal_region, + CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_i_idx (i ASC), + FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) +) LOCALITY REGIONAL BY ROW query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row @@ -1713,25 +2085,37 @@ ALTER TABLE regional_by_row SET LOCALITY REGIONAL BY ROW AS crdb_region query TT SHOW CREATE TABLE regional_by_row ---- -regional_by_row CREATE TABLE public.regional_by_row ( - pk INT8 NOT NULL, - i INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_i_idx (i ASC), - FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) - ) LOCALITY REGIONAL BY ROW AS crdb_region +regional_by_row CREATE TABLE public.regional_by_row ( + pk INT8 NOT NULL, + i INT8 NULL, + crdb_region alter_locality_test.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::alter_locality_test.public.crdb_internal_region, + CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_i_idx (i ASC), + FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) +) LOCALITY REGIONAL BY ROW AS crdb_region query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row @@ -1753,25 +2137,37 @@ ALTER TABLE regional_by_row SET LOCALITY REGIONAL BY ROW query TT SHOW CREATE TABLE regional_by_row ---- -regional_by_row CREATE TABLE public.regional_by_row ( - pk INT8 NOT NULL, - i INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_i_idx (i ASC), - FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) - ) LOCALITY REGIONAL BY ROW +regional_by_row CREATE TABLE public.regional_by_row ( + pk INT8 NOT NULL, + i INT8 NULL, + crdb_region alter_locality_test.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::alter_locality_test.public.crdb_internal_region, + CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_i_idx (i ASC), + FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) +) LOCALITY REGIONAL BY ROW query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row @@ -1805,25 +2201,37 @@ query TT SHOW CREATE TABLE regional_by_row_to_regional_by_row_as ---- regional_by_row_to_regional_by_row_as CREATE TABLE public.regional_by_row_to_regional_by_row_as ( - pk INT8 NOT NULL, - i INT8 NULL, - cr public.crdb_internal_region NOT NULL DEFAULT 'ap-southeast-2':::public.crdb_internal_region, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT regional_by_row_to_regional_by_row_as_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_to_regional_by_row_as_i_idx (i ASC), - FAMILY fam_0_pk_i_cr_crdb_region (pk, i, cr, crdb_region) - ) LOCALITY REGIONAL BY ROW AS cr + pk INT8 NOT NULL, + i INT8 NULL, + cr alter_locality_test.public.crdb_internal_region NOT NULL DEFAULT 'ap-southeast-2':::alter_locality_test.public.crdb_internal_region, + crdb_region alter_locality_test.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::alter_locality_test.public.crdb_internal_region, + CONSTRAINT regional_by_row_to_regional_by_row_as_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_to_regional_by_row_as_i_idx (i ASC), + FAMILY fam_0_pk_i_cr_crdb_region (pk, i, cr, crdb_region) +) LOCALITY REGIONAL BY ROW AS cr query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row_to_regional_by_row_as @@ -1847,25 +2255,37 @@ ALTER TABLE regional_by_row_as SET LOCALITY REGIONAL BY TABLE query TT SHOW CREATE TABLE regional_by_row_as ---- -regional_by_row_as CREATE TABLE public.regional_by_row_as ( - pk INT8 NOT NULL, - i INT8 NULL, - cr public.crdb_internal_region NOT NULL DEFAULT 'ap-southeast-2':::public.crdb_internal_region, - CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_as_i_idx (i ASC), - FAMILY fam_0_cr_pk_i (cr, pk, i) - ) LOCALITY REGIONAL BY TABLE IN PRIMARY REGION +regional_by_row_as CREATE TABLE public.regional_by_row_as ( + pk INT8 NOT NULL, + i INT8 NULL, + cr alter_locality_test.public.crdb_internal_region NOT NULL DEFAULT 'ap-southeast-2':::alter_locality_test.public.crdb_internal_region, + CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_as_i_idx (i ASC), + FAMILY fam_0_cr_pk_i (cr, pk, i) +) LOCALITY REGIONAL BY TABLE IN PRIMARY REGION query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row_as @@ -1901,25 +2321,37 @@ ALTER TABLE regional_by_row_as SET LOCALITY REGIONAL BY TABLE in "ap-southeast-2 query TT SHOW CREATE TABLE regional_by_row_as ---- -regional_by_row_as CREATE TABLE public.regional_by_row_as ( - pk INT8 NOT NULL, - i INT8 NULL, - cr public.crdb_internal_region NOT NULL DEFAULT 'ap-southeast-2':::public.crdb_internal_region, - CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_as_i_idx (i ASC), - FAMILY fam_0_cr_pk_i (cr, pk, i) - ) LOCALITY REGIONAL BY TABLE IN "ap-southeast-2" +regional_by_row_as CREATE TABLE public.regional_by_row_as ( + pk INT8 NOT NULL, + i INT8 NULL, + cr alter_locality_test.public.crdb_internal_region NOT NULL DEFAULT 'ap-southeast-2':::alter_locality_test.public.crdb_internal_region, + CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_as_i_idx (i ASC), + FAMILY fam_0_cr_pk_i (cr, pk, i) +) LOCALITY REGIONAL BY TABLE IN "ap-southeast-2" query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row_as @@ -1955,25 +2387,37 @@ ALTER TABLE regional_by_row_as SET LOCALITY REGIONAL BY TABLE IN PRIMARY REGION query TT SHOW CREATE TABLE regional_by_row_as ---- -regional_by_row_as CREATE TABLE public.regional_by_row_as ( - pk INT8 NOT NULL, - i INT8 NULL, - cr public.crdb_internal_region NOT NULL DEFAULT 'ap-southeast-2':::public.crdb_internal_region, - CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_as_i_idx (i ASC), - FAMILY fam_0_cr_pk_i (cr, pk, i) - ) LOCALITY REGIONAL BY TABLE IN PRIMARY REGION +regional_by_row_as CREATE TABLE public.regional_by_row_as ( + pk INT8 NOT NULL, + i INT8 NULL, + cr alter_locality_test.public.crdb_internal_region NOT NULL DEFAULT 'ap-southeast-2':::alter_locality_test.public.crdb_internal_region, + CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_as_i_idx (i ASC), + FAMILY fam_0_cr_pk_i (cr, pk, i) +) LOCALITY REGIONAL BY TABLE IN PRIMARY REGION query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row_as @@ -2010,24 +2454,36 @@ query TT SHOW CREATE TABLE regional_by_row_as ---- regional_by_row_as CREATE TABLE public.regional_by_row_as ( - pk INT8 NOT NULL, - i INT8 NULL, - cr public.crdb_internal_region NOT NULL DEFAULT 'ap-southeast-2':::public.crdb_internal_region, - CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_as_i_idx (i ASC), - FAMILY fam_0_cr_pk_i (cr, pk, i) - ) LOCALITY GLOBAL + pk INT8 NOT NULL, + i INT8 NULL, + cr alter_locality_test.public.crdb_internal_region NOT NULL DEFAULT 'ap-southeast-2':::alter_locality_test.public.crdb_internal_region, + CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_as_i_idx (i ASC), + FAMILY fam_0_cr_pk_i (cr, pk, i) +) LOCALITY GLOBAL query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row_as @@ -2060,25 +2516,37 @@ query TT SHOW CREATE TABLE regional_by_row_as_to_regional_by_row ---- regional_by_row_as_to_regional_by_row CREATE TABLE public.regional_by_row_as_to_regional_by_row ( - pk INT8 NOT NULL, - i INT8 NULL, - cr public.crdb_internal_region NOT NULL DEFAULT 'ap-southeast-2':::public.crdb_internal_region, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT regional_by_row_as_to_regional_by_row_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_as_to_regional_by_row_i_idx (i ASC), - FAMILY fam_0_cr_pk_i (cr, pk, i, crdb_region) - ) LOCALITY REGIONAL BY ROW + pk INT8 NOT NULL, + i INT8 NULL, + cr alter_locality_test.public.crdb_internal_region NOT NULL DEFAULT 'ap-southeast-2':::alter_locality_test.public.crdb_internal_region, + crdb_region alter_locality_test.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::alter_locality_test.public.crdb_internal_region, + CONSTRAINT regional_by_row_as_to_regional_by_row_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_as_to_regional_by_row_i_idx (i ASC), + FAMILY fam_0_cr_pk_i (cr, pk, i, crdb_region) +) LOCALITY REGIONAL BY ROW query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row_as_to_regional_by_row @@ -2110,25 +2578,37 @@ ALTER TABLE regional_by_row_as SET LOCALITY REGIONAL BY ROW AS "cr" query TT SHOW CREATE TABLE regional_by_row_as ---- -regional_by_row_as CREATE TABLE public.regional_by_row_as ( - pk INT8 NOT NULL, - i INT8 NULL, - cr public.crdb_internal_region NOT NULL DEFAULT 'ap-southeast-2':::public.crdb_internal_region, - CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_as_i_idx (i ASC), - FAMILY fam_0_cr_pk_i (cr, pk, i) - ) LOCALITY REGIONAL BY ROW AS cr +regional_by_row_as CREATE TABLE public.regional_by_row_as ( + pk INT8 NOT NULL, + i INT8 NULL, + cr alter_locality_test.public.crdb_internal_region NOT NULL DEFAULT 'ap-southeast-2':::alter_locality_test.public.crdb_internal_region, + CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_as_i_idx (i ASC), + FAMILY fam_0_cr_pk_i (cr, pk, i) +) LOCALITY REGIONAL BY ROW AS cr query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row_as @@ -2153,12 +2633,24 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE rbt_table_gc_ttl @@ -2181,12 +2673,24 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE rbt_table_gc_ttl diff --git a/pkg/ccl/logictestccl/testdata/logic_test/as_of b/pkg/ccl/logictestccl/testdata/logic_test/as_of index 8f192cbc6987..327bd692a9cb 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/as_of +++ b/pkg/ccl/logictestccl/testdata/logic_test/as_of @@ -48,7 +48,7 @@ SELECT * FROM t # LSC and DSC would return slightly different error message when attempting to create a # database as of system time follower_read_timestamp() soon after a node has started. -statement error pq: (cannot execute CREATE DATABASE in a read-only transaction|referenced descriptor ID 1: looking up ID 1: descriptor not found|database \"\[1\]\" does not exist) +statement error pq: (cannot execute CREATE DATABASE in a read-only transaction|referenced descriptor ID 1: looking up ID 1: descriptor not found) CREATE DATABASE IF NOT EXISTS d2 statement error pgcode 3D000 pq: database "test" does not exist @@ -60,7 +60,7 @@ ROLLBACK statement error pq: AS OF SYSTEM TIME specified with READ WRITE mode BEGIN READ WRITE -statement error (pq: cannot execute CREATE DATABASE in a read-only transaction|database \"\[1\]\" does not exist) +statement error pq: cannot execute CREATE DATABASE in a read-only transaction BEGIN; CREATE DATABASE IF NOT EXISTS d2 statement ok @@ -92,7 +92,7 @@ SELECT * FROM t # LSC and DSC would return slightly different error message when attempting to create a # database as of system time follower_read_timestamp() soon after a node has started. -statement error pq: (cannot execute CREATE DATABASE in a read-only transaction|referenced descriptor ID 1: looking up ID 1: descriptor not found|database \"\[1\]\" does not exist) +statement error pq: (cannot execute CREATE DATABASE in a read-only transaction|referenced descriptor ID 1: looking up ID 1: descriptor not found) CREATE DATABASE IF NOT EXISTS d2 statement error pgcode 3D000 pq: database "test" does not exist @@ -104,7 +104,7 @@ ROLLBACK statement error pq: AS OF SYSTEM TIME specified with READ WRITE mode BEGIN READ WRITE -statement error (pq: cannot execute CREATE DATABASE in a read-only transaction|database \"\[1\]\" does not exist) +statement error pq: cannot execute CREATE DATABASE in a read-only transaction BEGIN; CREATE DATABASE IF NOT EXISTS d2 statement ok diff --git a/pkg/ccl/logictestccl/testdata/logic_test/auto_rehoming b/pkg/ccl/logictestccl/testdata/logic_test/auto_rehoming index b56974770c12..045ed60ae3f4 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/auto_rehoming +++ b/pkg/ccl/logictestccl/testdata/logic_test/auto_rehoming @@ -19,12 +19,12 @@ CREATE TABLE db.rbr ( query TT SHOW CREATE TABLE db.rbr ---- -db.public.rbr CREATE TABLE public.rbr ( - p INT8 NOT NULL, - s STRING NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region ON UPDATE rehome_row()::public.crdb_internal_region, - CONSTRAINT rbr_pkey PRIMARY KEY (p ASC) - ) LOCALITY REGIONAL BY ROW +db.public.rbr CREATE TABLE public.rbr ( + p INT8 NOT NULL, + s STRING NULL, + crdb_region db.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::db.public.crdb_internal_region ON UPDATE rehome_row()::db.public.crdb_internal_region, + CONSTRAINT rbr_pkey PRIMARY KEY (p ASC) +) LOCALITY REGIONAL BY ROW statement ok @@ -36,8 +36,8 @@ ALTER TABLE db.rbr_altered SET LOCALITY REGIONAL BY ROW query TT SHOW CREATE TABLE db.rbr_altered ---- -db.public.rbr_altered CREATE TABLE public.rbr_altered ( - p INT8 NOT NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region ON UPDATE rehome_row()::public.crdb_internal_region, - CONSTRAINT rbr_altered_pkey PRIMARY KEY (p ASC) - ) LOCALITY REGIONAL BY ROW +db.public.rbr_altered CREATE TABLE public.rbr_altered ( + p INT8 NOT NULL, + crdb_region db.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::db.public.crdb_internal_region ON UPDATE rehome_row()::db.public.crdb_internal_region, + CONSTRAINT rbr_altered_pkey PRIMARY KEY (p ASC) +) LOCALITY REGIONAL BY ROW diff --git a/pkg/ccl/logictestccl/testdata/logic_test/builtins b/pkg/ccl/logictestccl/testdata/logic_test/builtins index 16a15f7284a1..d87d3261b829 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/builtins +++ b/pkg/ccl/logictestccl/testdata/logic_test/builtins @@ -1,9 +1,5 @@ # LogicTest: local -statement ok -CREATE TABLE xy (x INT, y INT); -INSERT INTO xy VALUES (1, 2); - subtest protect_mvcc_history user root @@ -53,170 +49,3 @@ select crdb_internal.protect_mvcc_history(1709131929793796000.0000000000, '10ms' query TTT retry select ts as timestamp, meta_type, crdb_internal.pb_to_json( 'cockroach.protectedts.Target', target ) from system.protected_ts_records ---- - -subtest clear_query_plan_cache - -statement ok -SET TRACING = "on", cluster; - -statement ok -SELECT * FROM xy; - -statement ok -SET TRACING = "off"; - -# The first execution should miss the query cache. -query T -SELECT message FROM [SHOW TRACE FOR SESSION] WHERE message LIKE '%query cache%'; ----- -query cache miss -query cache add - -statement ok -SET TRACING = "on", cluster; - -statement ok -SELECT * FROM xy; - -statement ok -SET TRACING = "off"; - -# The second execution should hit the query cache. -query T -SELECT message FROM [SHOW TRACE FOR SESSION] WHERE message LIKE '%query cache%'; ----- -query cache hit - -statement ok -SELECT crdb_internal.clear_query_plan_cache(); - -statement ok -SET TRACING = "on", cluster; - -statement ok -SELECT * FROM xy; - -statement ok -SET TRACING = "off"; - -# After running the builtin, the query cache should be cleared. -query T -SELECT message FROM [SHOW TRACE FOR SESSION] WHERE message LIKE '%query cache%'; ----- -query cache miss -query cache add - -subtest clear_table_stats_cache - -# Add a fresh set of table stats. -statement ok -ALTER TABLE xy INJECT STATISTICS '[ - { - "columns": [ "x" ], - "created_at": "2021-07-13 14:04:42.014148", - "distinct_count": 20000, - "histo_buckets": [ - { - "distinct_range": 0, - "num_eq": 60000, - "num_range": 0, - "upper_bound": "1" - }, - { - "distinct_range": 20000, - "num_eq": 20000, - "num_range": 20000, - "upper_bound": "40000" - } - ], - "histo_col_type": "INT8", - "name": "__auto__", - "null_count": 0, - "row_count": 100000 - }, - { - "columns": [ "y" ], - "created_at": "2021-07-13 14:04:42.014148", - "distinct_count": 7000, - "histo_col_type": "", - "name": "__auto__", - "histo_buckets": [ - { - "distinct_range": 0, - "num_eq": 7000, - "num_range": 0, - "upper_bound": "1" - }, - { - "distinct_range": 7000, - "num_eq": 86000, - "num_range": 7000, - "upper_bound": "10000" - } - ], - "histo_col_type": "INT8", - "name": "__auto__", - "null_count": 0, - "row_count": 100000 - }, - { - "columns": [ "x", "y" ], - "created_at": "2021-07-13 14:04:42.014148", - "distinct_count": 20000, - "histo_col_type": "", - "name": "__auto__", - "null_count": 0, - "row_count": 100000 - } -]'; - -statement ok -SET TRACING = "on", cluster; - -statement ok -SELECT * FROM xy; - -statement ok -SET TRACING = "off"; - -# The first execution should miss the stats cache. -query T -SELECT message FROM [SHOW TRACE FOR SESSION] WHERE message LIKE '%reading statistics%'; ----- -reading statistics for table 106 -finished reading statistics for table 106 - -statement ok -SET TRACING = "on", cluster; - -statement ok -SELECT * FROM xy; - -statement ok -SET TRACING = "off"; - -# The second execution should hit the stats cache. -query T -SELECT message FROM [SHOW TRACE FOR SESSION] WHERE message LIKE '%reading statistics%'; ----- - -statement ok -SELECT crdb_internal.clear_table_stats_cache(); - -statement ok -SET TRACING = "on", cluster; - -statement ok -SELECT * FROM xy; - -statement ok -SET TRACING = "off"; - -# After executing the builtin, the last execution should miss the stats cache. -query T -SELECT message FROM [SHOW TRACE FOR SESSION] WHERE message LIKE '%reading statistics%'; ----- -reading statistics for table 106 -finished reading statistics for table 106 - -subtest end diff --git a/pkg/ccl/logictestccl/testdata/logic_test/changefeed b/pkg/ccl/logictestccl/testdata/logic_test/changefeed index 99fb1535b203..67e70f95b472 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/changefeed +++ b/pkg/ccl/logictestccl/testdata/logic_test/changefeed @@ -1,4 +1,4 @@ -# LogicTest: local +# LogicTest: local local-mixed-23.1 statement ok CREATE TABLE t () diff --git a/pkg/ccl/logictestccl/testdata/logic_test/crdb_internal b/pkg/ccl/logictestccl/testdata/logic_test/crdb_internal index 280eec80d01b..02074c148e72 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/crdb_internal +++ b/pkg/ccl/logictestccl/testdata/logic_test/crdb_internal @@ -72,7 +72,6 @@ SELECT zone_id, target FROM crdb_internal.zones ORDER BY 1 0 RANGE default 16 RANGE meta 17 RANGE system -18 RANGE timeseries 22 RANGE liveness 111 TABLE test.public.t4 111 INDEX test.public.t4@myt4index @@ -110,8 +109,6 @@ RANGE system ALTER RANGE system CONFIGURE ZONE USING num_replicas = 5, constraints = '[]', lease_preferences = '[]' -RANGE timeseries ALTER RANGE timeseries CONFIGURE ZONE USING - gc.ttlseconds = 14400 TABLE test.public.t4 ALTER TABLE test.public.t4 CONFIGURE ZONE USING num_replicas = 7 diff --git a/pkg/ccl/logictestccl/testdata/logic_test/crdb_internal_tenant b/pkg/ccl/logictestccl/testdata/logic_test/crdb_internal_tenant index fc2a888f8b76..2bc02562d709 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/crdb_internal_tenant +++ b/pkg/ccl/logictestccl/testdata/logic_test/crdb_internal_tenant @@ -1,4 +1,4 @@ -# LogicTest: 3node-tenant + # LogicTest: 3node-tenant query II SELECT count(distinct(node_id)), count(*) FROM crdb_internal.node_runtime_info @@ -55,7 +55,6 @@ crdb_internal databases table node NULL N crdb_internal default_privileges table node NULL NULL crdb_internal feature_usage table node NULL NULL crdb_internal forward_dependencies table node NULL NULL -crdb_internal fully_qualified_names view node NULL NULL crdb_internal gossip_alerts table node NULL NULL crdb_internal gossip_liveness table node NULL NULL crdb_internal gossip_network table node NULL NULL @@ -72,11 +71,8 @@ crdb_internal kv_catalog_namespace table node NULL N crdb_internal kv_catalog_zones table node NULL NULL crdb_internal kv_dropped_relations view node NULL NULL crdb_internal kv_flow_control_handles table node NULL NULL -crdb_internal kv_flow_control_handles_v2 table node NULL NULL crdb_internal kv_flow_controller table node NULL NULL -crdb_internal kv_flow_controller_v2 table node NULL NULL crdb_internal kv_flow_token_deductions table node NULL NULL -crdb_internal kv_flow_token_deductions_v2 table node NULL NULL crdb_internal kv_inherited_role_members table node NULL NULL crdb_internal kv_node_liveness table node NULL NULL crdb_internal kv_node_status table node NULL NULL @@ -86,7 +82,6 @@ crdb_internal kv_session_based_leases table node NULL N crdb_internal kv_store_status table node NULL NULL crdb_internal kv_system_privileges view node NULL NULL crdb_internal leases table node NULL NULL -crdb_internal logical_replication_node_processors table node NULL NULL crdb_internal lost_descriptors_with_data table node NULL NULL crdb_internal node_build_info table node NULL NULL crdb_internal node_contention_events table node NULL NULL @@ -222,10 +217,10 @@ SELECT * FROM crdb_internal.leases WHERE node_id < 0 node_id table_id name parent_id expiration deleted -query ITTTTTIIITTRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRBBTTTTBTTRRRRRI colnames +query ITTTTTIIITTRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRBBTTTTTRRRRRI colnames SELECT * FROM crdb_internal.node_statement_statistics WHERE node_id < 0 ---- -node_id application_name flags statement_id key anonymized count first_attempt_count max_retries last_error last_error_code rows_avg rows_var idle_lat_avg idle_lat_var parse_lat_avg parse_lat_var plan_lat_avg plan_lat_var run_lat_avg run_lat_var service_lat_avg service_lat_var overhead_lat_avg overhead_lat_var bytes_read_avg bytes_read_var rows_read_avg rows_read_var rows_written_avg rows_written_var network_bytes_avg network_bytes_var network_msgs_avg network_msgs_var max_mem_usage_avg max_mem_usage_var max_disk_usage_avg max_disk_usage_var contention_time_avg contention_time_var cpu_sql_nanos_avg cpu_sql_nanos_var mvcc_step_avg mvcc_step_var mvcc_step_internal_avg mvcc_step_internal_var mvcc_seek_avg mvcc_seek_var mvcc_seek_internal_avg mvcc_seek_internal_var mvcc_block_bytes_avg mvcc_block_bytes_var mvcc_block_bytes_in_cache_avg mvcc_block_bytes_in_cache_var mvcc_key_bytes_avg mvcc_key_bytes_var mvcc_value_bytes_avg mvcc_value_bytes_var mvcc_point_count_avg mvcc_point_count_var mvcc_points_covered_by_range_tombstones_avg mvcc_points_covered_by_range_tombstones_var mvcc_range_key_count_avg mvcc_range_key_count_var mvcc_range_key_contained_points_avg mvcc_range_key_contained_points_var mvcc_range_key_skipped_points_avg mvcc_range_key_skipped_points_var implicit_txn full_scan sample_plan database_name exec_node_ids kv_node_ids used_follower_read txn_fingerprint_id index_recommendations latency_seconds_min latency_seconds_max latency_seconds_p50 latency_seconds_p90 latency_seconds_p99 failure_count +node_id application_name flags statement_id key anonymized count first_attempt_count max_retries last_error last_error_code rows_avg rows_var idle_lat_avg idle_lat_var parse_lat_avg parse_lat_var plan_lat_avg plan_lat_var run_lat_avg run_lat_var service_lat_avg service_lat_var overhead_lat_avg overhead_lat_var bytes_read_avg bytes_read_var rows_read_avg rows_read_var rows_written_avg rows_written_var network_bytes_avg network_bytes_var network_msgs_avg network_msgs_var max_mem_usage_avg max_mem_usage_var max_disk_usage_avg max_disk_usage_var contention_time_avg contention_time_var cpu_sql_nanos_avg cpu_sql_nanos_var mvcc_step_avg mvcc_step_var mvcc_step_internal_avg mvcc_step_internal_var mvcc_seek_avg mvcc_seek_var mvcc_seek_internal_avg mvcc_seek_internal_var mvcc_block_bytes_avg mvcc_block_bytes_var mvcc_block_bytes_in_cache_avg mvcc_block_bytes_in_cache_var mvcc_key_bytes_avg mvcc_key_bytes_var mvcc_value_bytes_avg mvcc_value_bytes_var mvcc_point_count_avg mvcc_point_count_var mvcc_points_covered_by_range_tombstones_avg mvcc_points_covered_by_range_tombstones_var mvcc_range_key_count_avg mvcc_range_key_count_var mvcc_range_key_contained_points_avg mvcc_range_key_contained_points_var mvcc_range_key_skipped_points_avg mvcc_range_key_skipped_points_var implicit_txn full_scan sample_plan database_name exec_node_ids txn_fingerprint_id index_recommendations latency_seconds_min latency_seconds_max latency_seconds_p50 latency_seconds_p90 latency_seconds_p99 failure_count query ITTTIIRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR colnames SELECT * FROM crdb_internal.node_transaction_statistics WHERE node_id < 0 @@ -338,15 +333,15 @@ SELECT * FROM crdb_internal.node_inflight_trace_spans WHERE span_id < 0 ---- trace_id parent_span_id span_id goroutine_id finished start_time duration operation -query TTTBTTTTTIITITTTTTTTTTTTTTITT colnames +query TTTBTTTTTIITITTTTTTTTTTTTITT colnames SELECT * FROM crdb_internal.cluster_execution_insights WHERE query = '' ---- -session_id txn_id txn_fingerprint_id stmt_id stmt_fingerprint_id problem causes query status start_time end_time full_scan user_name app_name database_name plan_gist rows_read rows_written priority retries last_retry_reason exec_node_ids kv_node_ids contention index_recommendations implicit_txn cpu_sql_nanos error_code last_error_redactable +session_id txn_id txn_fingerprint_id stmt_id stmt_fingerprint_id problem causes query status start_time end_time full_scan user_name app_name database_name plan_gist rows_read rows_written priority retries last_retry_reason exec_node_ids contention index_recommendations implicit_txn cpu_sql_nanos error_code last_error_redactable -query TTTBTTTTTIITITTTTTTTTTTTTTITT colnames +query TTTBTTTTTIITITTTTTTTTTTTTITT colnames SELECT * FROM crdb_internal.node_execution_insights WHERE query = '' ---- -session_id txn_id txn_fingerprint_id stmt_id stmt_fingerprint_id problem causes query status start_time end_time full_scan user_name app_name database_name plan_gist rows_read rows_written priority retries last_retry_reason exec_node_ids kv_node_ids contention index_recommendations implicit_txn cpu_sql_nanos error_code last_error_redactable +session_id txn_id txn_fingerprint_id stmt_id stmt_fingerprint_id problem causes query status start_time end_time full_scan user_name app_name database_name plan_gist rows_read rows_written priority retries last_retry_reason exec_node_ids contention index_recommendations implicit_txn cpu_sql_nanos error_code last_error_redactable query TTTBTTTTTIITITTTTTITTT colnames SELECT * FROM crdb_internal.cluster_txn_execution_insights WHERE query = '' @@ -361,12 +356,12 @@ txn_id txn_fingerprint_id query implicit_txn session_id start_time end_tim query ITTI SELECT range_id, start_pretty, end_pretty, lease_holder FROM crdb_internal.ranges ---- -70 /Tenant/10 /Tenant/11 1 +69 /Tenant/10 /Tenant/11 1 query ITT SELECT range_id, start_pretty, end_pretty FROM crdb_internal.ranges_no_leases ---- -70 /Tenant/10 /Tenant/11 +69 /Tenant/10 /Tenant/11 query IT SELECT zone_id, target FROM crdb_internal.zones ORDER BY 1 @@ -410,7 +405,7 @@ select crdb_internal.get_vmodule() query T SELECT crdb_internal.release_series(crdb_internal.node_executable_version()) ---- -24.3 +24.1 query ITTT colnames,rowsort select node_id, component, field, regexp_replace(regexp_replace(value, '^\d+$', ''), e':\\d+', ':') as value from crdb_internal.node_runtime_info @@ -498,7 +493,7 @@ select * from crdb_internal.gossip_alerts query T SELECT crdb_internal.release_series(crdb_internal.node_executable_version()) ---- -24.3 +24.1 user root diff --git a/pkg/ccl/logictestccl/testdata/logic_test/explain_call_plpgsql b/pkg/ccl/logictestccl/testdata/logic_test/explain_call_plpgsql index 85c24bd696b8..42c2a64e95ef 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/explain_call_plpgsql +++ b/pkg/ccl/logictestccl/testdata/logic_test/explain_call_plpgsql @@ -152,7 +152,7 @@ priority: normal quality of service: regular · • call - sql nodes: + nodes: regions: actual row count: 0 estimated row count: 0 @@ -174,7 +174,7 @@ priority: normal quality of service: regular · • call - sql nodes: + nodes: regions: actual row count: 0 estimated row count: 0 diff --git a/pkg/ccl/logictestccl/testdata/logic_test/generic b/pkg/ccl/logictestccl/testdata/logic_test/generic index c0b4d9e07ce9..239f19396a55 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/generic +++ b/pkg/ccl/logictestccl/testdata/logic_test/generic @@ -57,13 +57,13 @@ priority: normal quality of service: regular · • filter -│ sql nodes: +│ nodes: │ regions: │ actual row count: 0 │ filter: (b = 2) AND (c = 3) │ └── • index join (streamer) - │ sql nodes: + │ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -76,8 +76,7 @@ quality of service: regular │ table: t@t_pkey │ └── • scan - sql nodes: - kv nodes: + nodes: regions: actual row count: 0 KV time: 0µs @@ -111,13 +110,13 @@ priority: normal quality of service: regular · • filter -│ sql nodes: +│ nodes: │ regions: │ actual row count: 0 │ filter: (b = 2) AND (c = 3) │ └── • index join (streamer) - │ sql nodes: + │ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -130,8 +129,7 @@ quality of service: regular │ table: t@t_pkey │ └── • scan - sql nodes: - kv nodes: + nodes: regions: actual row count: 0 KV time: 0µs @@ -168,13 +166,13 @@ priority: normal quality of service: regular · • filter -│ sql nodes: +│ nodes: │ regions: │ actual row count: 0 │ filter: (b = 2) AND (c = 3) │ └── • index join (streamer) - │ sql nodes: + │ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -187,8 +185,7 @@ quality of service: regular │ table: t@t_pkey │ └── • scan - sql nodes: - kv nodes: + nodes: regions: actual row count: 0 KV time: 0µs @@ -222,13 +219,13 @@ priority: normal quality of service: regular · • filter -│ sql nodes: +│ nodes: │ regions: │ actual row count: 0 │ filter: (b = 2) AND (c = 3) │ └── • index join (streamer) - │ sql nodes: + │ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -241,8 +238,7 @@ quality of service: regular │ table: t@t_pkey │ └── • scan - sql nodes: - kv nodes: + nodes: regions: actual row count: 0 KV time: 0µs @@ -279,8 +275,7 @@ priority: normal quality of service: regular · • scan - sql nodes: - kv nodes: + nodes: regions: actual row count: 0 KV time: 0µs @@ -314,8 +309,7 @@ priority: normal quality of service: regular · • scan - sql nodes: - kv nodes: + nodes: regions: actual row count: 0 KV time: 0µs @@ -354,7 +348,7 @@ priority: normal quality of service: regular · • lookup join -│ sql nodes: +│ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -369,8 +363,7 @@ quality of service: regular │ pred: c = "$2" │ └── • lookup join - │ sql nodes: - │ kv nodes: + │ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -383,7 +376,7 @@ quality of service: regular │ equality: ($1) = (a) │ └── • values - sql nodes: + nodes: regions: actual row count: 1 size: 2 columns, 1 row @@ -405,7 +398,7 @@ priority: normal quality of service: regular · • lookup join -│ sql nodes: +│ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -420,8 +413,7 @@ quality of service: regular │ pred: c = "$2" │ └── • lookup join - │ sql nodes: - │ kv nodes: + │ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -434,7 +426,7 @@ quality of service: regular │ equality: ($1) = (a) │ └── • values - sql nodes: + nodes: regions: actual row count: 1 size: 2 columns, 1 row @@ -459,13 +451,13 @@ priority: normal quality of service: regular · • filter -│ sql nodes: +│ nodes: │ regions: │ actual row count: 0 │ filter: c = 2 │ └── • index join (streamer) - │ sql nodes: + │ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -478,8 +470,7 @@ quality of service: regular │ table: t@t_pkey │ └── • scan - sql nodes: - kv nodes: + nodes: regions: actual row count: 0 KV time: 0µs @@ -518,7 +509,7 @@ priority: normal quality of service: regular · • lookup join -│ sql nodes: +│ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -532,8 +523,7 @@ quality of service: regular │ equality cols are key │ └── • lookup join - │ sql nodes: - │ kv nodes: + │ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -546,7 +536,7 @@ quality of service: regular │ equality: (column9) = (t) │ └── • values - sql nodes: + nodes: regions: actual row count: 1 size: 1 column, 1 row @@ -568,7 +558,7 @@ priority: normal quality of service: regular · • lookup join -│ sql nodes: +│ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -582,8 +572,7 @@ quality of service: regular │ equality cols are key │ └── • lookup join - │ sql nodes: - │ kv nodes: + │ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -596,7 +585,7 @@ quality of service: regular │ equality: (column9) = (t) │ └── • values - sql nodes: + nodes: regions: actual row count: 1 size: 1 column, 1 row @@ -624,14 +613,13 @@ priority: normal quality of service: regular · • filter -│ sql nodes: +│ nodes: │ regions: │ actual row count: 0 │ filter: s LIKE 'foo%' │ └── • scan - sql nodes: - kv nodes: + nodes: regions: actual row count: 0 KV time: 0µs @@ -667,14 +655,13 @@ priority: normal quality of service: regular · • filter -│ sql nodes: +│ nodes: │ regions: │ actual row count: 0 │ filter: c = 1 │ └── • scan - sql nodes: - kv nodes: + nodes: regions: actual row count: 0 KV time: 0µs @@ -707,14 +694,13 @@ priority: normal quality of service: regular · • filter -│ sql nodes: +│ nodes: │ regions: │ actual row count: 0 │ filter: c = 1 │ └── • scan - sql nodes: - kv nodes: + nodes: regions: actual row count: 0 KV time: 0µs @@ -756,13 +742,13 @@ priority: normal quality of service: regular · • filter -│ sql nodes: +│ nodes: │ regions: │ actual row count: 0 │ filter: (b = 2) AND (c = 3) │ └── • index join (streamer) - │ sql nodes: + │ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -775,8 +761,7 @@ quality of service: regular │ table: t@t_pkey │ └── • scan - sql nodes: - kv nodes: + nodes: regions: actual row count: 0 KV time: 0µs @@ -821,13 +806,13 @@ priority: normal quality of service: regular · • filter -│ sql nodes: +│ nodes: │ regions: │ actual row count: 0 │ filter: c = 20000 │ └── • index join (streamer) - │ sql nodes: + │ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -840,8 +825,7 @@ quality of service: regular │ table: t@t_pkey │ └── • scan - sql nodes: - kv nodes: + nodes: regions: actual row count: 0 KV time: 0µs @@ -888,7 +872,7 @@ priority: normal quality of service: regular · • lookup join (streamer) -│ sql nodes: +│ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -901,7 +885,7 @@ quality of service: regular │ equality: (k) = (a) │ └── • lookup join (streamer) - │ sql nodes: + │ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -914,13 +898,13 @@ quality of service: regular │ equality: (k) = (a) │ └── • filter - │ sql nodes: + │ nodes: │ regions: │ actual row count: 0 │ filter: c = 20000 │ └── • index join (streamer) - │ sql nodes: + │ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -933,8 +917,7 @@ quality of service: regular │ table: t@t_pkey │ └── • scan - sql nodes: - kv nodes: + nodes: regions: actual row count: 0 KV time: 0µs @@ -966,7 +949,7 @@ priority: normal quality of service: regular · • lookup join -│ sql nodes: +│ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -979,7 +962,7 @@ quality of service: regular │ equality: (k) = (a) │ └── • lookup join - │ sql nodes: + │ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -992,7 +975,7 @@ quality of service: regular │ equality: (k) = (a) │ └── • lookup join - │ sql nodes: + │ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -1007,8 +990,7 @@ quality of service: regular │ pred: c = "$2" │ └── • lookup join - │ sql nodes: - │ kv nodes: + │ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -1021,7 +1003,7 @@ quality of service: regular │ equality: ($1) = (a) │ └── • values - sql nodes: + nodes: regions: actual row count: 1 size: 2 columns, 1 row @@ -1043,7 +1025,7 @@ priority: normal quality of service: regular · • lookup join -│ sql nodes: +│ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -1056,7 +1038,7 @@ quality of service: regular │ equality: (k) = (a) │ └── • lookup join - │ sql nodes: + │ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -1069,7 +1051,7 @@ quality of service: regular │ equality: (k) = (a) │ └── • lookup join - │ sql nodes: + │ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -1084,8 +1066,7 @@ quality of service: regular │ pred: c = "$2" │ └── • lookup join - │ sql nodes: - │ kv nodes: + │ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -1098,7 +1079,7 @@ quality of service: regular │ equality: ($1) = (a) │ └── • values - sql nodes: + nodes: regions: actual row count: 1 size: 2 columns, 1 row @@ -1136,8 +1117,7 @@ priority: normal quality of service: regular · • scan - sql nodes: - kv nodes: + nodes: regions: actual row count: 0 KV time: 0µs @@ -1174,8 +1154,7 @@ quality of service: regular │ count: 10 │ └── • lookup join - │ sql nodes: - │ kv nodes: + │ nodes: │ regions: │ actual row count: 0 │ KV time: 0µs @@ -1189,7 +1168,7 @@ quality of service: regular │ equality: ($1) = (a) │ └── • values - sql nodes: + nodes: regions: actual row count: 1 size: 1 column, 1 row diff --git a/pkg/ccl/logictestccl/testdata/logic_test/mixed_version_pgvector b/pkg/ccl/logictestccl/testdata/logic_test/mixed_version_pgvector deleted file mode 100644 index 82842647c247..000000000000 --- a/pkg/ccl/logictestccl/testdata/logic_test/mixed_version_pgvector +++ /dev/null @@ -1,63 +0,0 @@ -# LogicTest: cockroach-go-testserver-24.1 - -# Verify that all nodes are running the previous version. - -query T nodeidx=0 -SELECT crdb_internal.node_executable_version() ----- -24.1 - -query T nodeidx=1 -SELECT crdb_internal.node_executable_version() ----- -24.1 - -query T nodeidx=2 -SELECT crdb_internal.node_executable_version() ----- -24.1 - -statement error syntax error -CREATE TABLE t (v VECTOR(1)) - -# Upgrade one node to 24.2 - -upgrade 0 - -# Verify that node index 0 is now running 24.2 binary. - -query T nodeidx=0 -SELECT crdb_internal.release_series(crdb_internal.node_executable_version()) ----- -24.3 - -statement error pg_vector not supported until version 24.2 -CREATE TABLE t (v VECTOR(1)) - -upgrade 1 - -upgrade 2 - -statement ok -SET CLUSTER SETTING version = crdb_internal.node_executable_version(); - -query T nodeidx=1 -SELECT crdb_internal.release_series(crdb_internal.node_executable_version()) ----- -24.3 - -query T nodeidx=2 -SELECT crdb_internal.release_series(crdb_internal.node_executable_version()) ----- -24.3 - -query B retry -SELECT crdb_internal.is_at_least_version('24.1-02') ----- -true - -# Note: the following statement would succeed if there cluster had an enterprise -# license, but the mixed version logic framework doesn't support adding one. -# This is tested normally in the vector ccl logic test. -statement error pgcode XXC02 use of vector datatype requires an enterprise license -CREATE TABLE t (v VECTOR(1)) diff --git a/pkg/ccl/logictestccl/testdata/logic_test/mixed_version_plpgsql b/pkg/ccl/logictestccl/testdata/logic_test/mixed_version_plpgsql new file mode 100644 index 000000000000..6a179f085bb1 --- /dev/null +++ b/pkg/ccl/logictestccl/testdata/logic_test/mixed_version_plpgsql @@ -0,0 +1,59 @@ +# LogicTest: cockroach-go-testserver-23.1 + +# ---------------------------------------------------------------------- +# Test PLpgSQL routines with all nodes running old binaries. +# ---------------------------------------------------------------------- + +statement error pgcode 0A000 pq: plpgsql not supported in user-defined functions +CREATE FUNCTION f() RETURNS INT AS $$ + BEGIN + RETURN 0; + END +$$ LANGUAGE PLpgSQL; + +statement error pgcode 0A000 pq: plpgsql not supported in user-defined functions +CREATE FUNCTION f(x INT) RETURNS INT AS $$ + BEGIN + RETURN x; + END +$$ LANGUAGE PLpgSQL; + +statement error pgcode 0A000 pq: plpgsql not supported in user-defined functions +CREATE FUNCTION f() RETURNS INT AS $$ + DECLARE + x INT := 100; + BEGIN + RETURN x; + END +$$ LANGUAGE PLpgSQL; + +# ---------------------------------------------------------------------- +# Test PLpgSQL routines with only the gateway running 23.2. +# ---------------------------------------------------------------------- + +upgrade 0 + +user root nodeidx=0 + +statement error pgcode 0A000 pq: unimplemented: PLpgSQL is not supported until version 23.2 +CREATE FUNCTION f() RETURNS INT AS $$ + BEGIN + RETURN 0; + END +$$ LANGUAGE PLpgSQL; + +statement error pgcode 0A000 pq: unimplemented: PLpgSQL is not supported until version 23.2 +CREATE FUNCTION f(x INT) RETURNS INT AS $$ + BEGIN + RETURN x; + END +$$ LANGUAGE PLpgSQL; + +statement error pgcode 0A000 pq: unimplemented: PLpgSQL is not supported until version 23.2 +CREATE FUNCTION f() RETURNS INT AS $$ + DECLARE + x INT := 100; + BEGIN + RETURN x; + END +$$ LANGUAGE PLpgSQL; diff --git a/pkg/ccl/logictestccl/testdata/logic_test/multi_region b/pkg/ccl/logictestccl/testdata/logic_test/multi_region index 408ff7127cf9..f6d96ed94b52 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/multi_region +++ b/pkg/ccl/logictestccl/testdata/logic_test/multi_region @@ -544,7 +544,7 @@ ALTER DATABASE system PRIMARY REGION "ap-southeast-2" # are in the system tenant. Hence the lack of error code checking and the # regex matching both possible outcomes. skipif config multiregion-9node-3region-3azs-tenant -statement error (user testuser may not modify the system database|modifying the regions of system database is not supported) +statement error user testuser may not modify the system database|modifying the regions of system database is not supported ALTER DATABASE system PRIMARY REGION "ap-southeast-2" user root @@ -1508,7 +1508,7 @@ SELECT create_statement from [SHOW CREATE TABLE t_as] create_statement CREATE TABLE public.t_as ( i INT8 NULL, - crdb_region public.crdb_internal_region NULL, + crdb_region "mr-create-table-as".public.crdb_internal_region NULL, rowid INT8 NOT VISIBLE NOT NULL DEFAULT unique_rowid(), CONSTRAINT t_as_pkey PRIMARY KEY (rowid ASC) ) LOCALITY REGIONAL BY TABLE IN PRIMARY REGION @@ -1535,7 +1535,7 @@ SELECT create_statement from [SHOW CREATE TABLE t_as] create_statement CREATE TABLE public.t_as ( i INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region "mr-create-table-as".public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::"mr-create-table-as".public.crdb_internal_region, rowid INT8 NOT VISIBLE NOT NULL DEFAULT unique_rowid(), CONSTRAINT t_as_pkey PRIMARY KEY (rowid ASC) ) LOCALITY REGIONAL BY ROW AS crdb_region @@ -1578,7 +1578,7 @@ SELECT create_statement from [SHOW CREATE TABLE t_as] create_statement CREATE TABLE public.t_as ( i INT8 NOT NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region "mr-create-table-as".public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::"mr-create-table-as".public.crdb_internal_region, CONSTRAINT t_as_pkey PRIMARY KEY (i ASC) ) LOCALITY REGIONAL BY ROW AS crdb_region @@ -1588,7 +1588,7 @@ SELECT create_statement from [SHOW CREATE TABLE t] create_statement CREATE TABLE public.t ( i INT8 NOT NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region "mr-create-table-as".public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::"mr-create-table-as".public.crdb_internal_region, CONSTRAINT t_pkey PRIMARY KEY (i ASC) ) LOCALITY REGIONAL BY ROW @@ -1614,3 +1614,4 @@ statement ok ALTER DATABASE drop_region_126549 DROP REGION "us-east-1"; subtest end + diff --git a/pkg/ccl/logictestccl/testdata/logic_test/multi_region_backup b/pkg/ccl/logictestccl/testdata/logic_test/multi_region_backup index 7d2721214334..a7a276d8ef9a 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/multi_region_backup +++ b/pkg/ccl/logictestccl/testdata/logic_test/multi_region_backup @@ -129,7 +129,7 @@ regional_by_row_table CREATE TABLE public.regional_by_row_table ( a INT8 NOT NULL, b INT8 NOT NULL, j JSONB NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region "mr-backup-1".public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::"mr-backup-1".public.crdb_internal_region, CONSTRAINT regional_by_row_table_pkey PRIMARY KEY (pk ASC), INDEX regional_by_row_table_a_idx (a ASC), UNIQUE INDEX regional_by_row_table_b_key (b ASC), @@ -299,7 +299,7 @@ regional_by_row_table CREATE TABLE public.regional_by_row_table ( a INT8 NOT NULL, b INT8 NOT NULL, j JSONB NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region "mr-backup-2".public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::"mr-backup-2".public.crdb_internal_region, CONSTRAINT regional_by_row_table_pkey PRIMARY KEY (pk ASC), INDEX regional_by_row_table_a_idx (a ASC), UNIQUE INDEX regional_by_row_table_b_key (b ASC), @@ -517,7 +517,7 @@ regional_by_row_table CREATE TABLE public.regional_by_row_table ( a INT8 NOT NULL, b INT8 NOT NULL, j JSONB NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region "mr-backup-1".public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::"mr-backup-1".public.crdb_internal_region, CONSTRAINT regional_by_row_table_pkey PRIMARY KEY (pk ASC), INDEX regional_by_row_table_a_idx (a ASC), UNIQUE INDEX regional_by_row_table_b_key (b ASC), @@ -672,7 +672,7 @@ regional_by_row_table CREATE TABLE public.regional_by_row_table ( a INT8 NOT NULL, b INT8 NOT NULL, j JSONB NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region "mr-backup-2".public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::"mr-backup-2".public.crdb_internal_region, CONSTRAINT regional_by_row_table_pkey PRIMARY KEY (pk ASC), INDEX regional_by_row_table_a_idx (a ASC), UNIQUE INDEX regional_by_row_table_b_key (b ASC), @@ -854,7 +854,7 @@ regional_by_row_table CREATE TABLE public.regional_by_row_table ( a INT8 NOT NULL, b INT8 NOT NULL, j JSONB NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region "mr-backup-1".public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::"mr-backup-1".public.crdb_internal_region, CONSTRAINT regional_by_row_table_pkey PRIMARY KEY (pk ASC), INDEX regional_by_row_table_a_idx (a ASC), UNIQUE INDEX regional_by_row_table_b_key (b ASC), @@ -983,7 +983,7 @@ regional_by_row_table CREATE TABLE public.regional_by_row_table ( a INT8 NOT NULL, b INT8 NOT NULL, j JSONB NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region "mr-backup-2".public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::"mr-backup-2".public.crdb_internal_region, CONSTRAINT regional_by_row_table_pkey PRIMARY KEY (pk ASC), INDEX regional_by_row_table_a_idx (a ASC), UNIQUE INDEX regional_by_row_table_b_key (b ASC), @@ -1116,7 +1116,7 @@ regional_by_row_table CREATE TABLE public.regional_by_row_table ( a INT8 NOT NULL, b INT8 NOT NULL, j JSONB NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region "mr-backup-2".public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::"mr-backup-2".public.crdb_internal_region, CONSTRAINT regional_by_row_table_pkey PRIMARY KEY (pk ASC), INDEX regional_by_row_table_a_idx (a ASC), UNIQUE INDEX regional_by_row_table_b_key (b ASC), @@ -1279,7 +1279,7 @@ regional_by_row_table CREATE TABLE public.regional_by_row_table ( a INT8 NOT NULL, b INT8 NOT NULL, j JSONB NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region "mr-backup-2".public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::"mr-backup-2".public.crdb_internal_region, CONSTRAINT regional_by_row_table_pkey PRIMARY KEY (pk ASC), INDEX regional_by_row_table_a_idx (a ASC), UNIQUE INDEX regional_by_row_table_b_key (b ASC), diff --git a/pkg/ccl/logictestccl/testdata/logic_test/multi_region_remote_access_error b/pkg/ccl/logictestccl/testdata/logic_test/multi_region_remote_access_error index a14fe6b8557b..9fc4e2cf74a3 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/multi_region_remote_access_error +++ b/pkg/ccl/logictestccl/testdata/logic_test/multi_region_remote_access_error @@ -348,10 +348,8 @@ sleep 5s statement ok SET enforce_home_region = true -query T noticetrace +statement ok SET enforce_home_region_follower_reads_enabled = true ----- -NOTICE: enforce_home_region_follower_reads_enabled is deprecated and will be removed in a future release # An insert with uniqueness checks which access all regions should error out. retry @@ -465,7 +463,7 @@ skipif config multiregion-9node-3region-3azs-vec-off query I retry SELECT DISTINCT range_id FROM [SHOW RANGES FROM TABLE messages_rbr] ---- -75 +74 # Update does not fail when accessing all rows in messages_rbr because lookup # join does not error out the lookup table in phase 1. @@ -1029,7 +1027,7 @@ EXPLAIN (OPT) SELECT t1.k FROM json_arr2_rbt AS t2 INNER INVERTED JOIN json_arr1 project └── inner-join (lookup json_arr1_rbt [as=t1]) ├── lookup columns are key - ├── inner-join (inverted json_arr1_rbt@j_idx,inverted [as=t1]) + ├── inner-join (inverted json_arr1_rbt@j_idx [as=t1]) │ ├── flags: force inverted join (into right side) │ ├── inverted-expr │ │ └── t1.j @> t2.j @@ -1086,7 +1084,7 @@ project │ ├── distribution: ap-southeast-2 │ ├── lookup table distribution: ap-southeast-2 │ ├── prune: (7) - │ ├── inner-join (inverted json_arr1_rbr@j_idx,inverted [as=t1]) + │ ├── inner-join (inverted json_arr1_rbr@j_idx [as=t1]) │ │ ├── columns: t2.j:3 t1.k:18 crdb_region:22 │ │ ├── flags: force inverted join (into right side) │ │ ├── prefix key columns: [17] = [22] diff --git a/pkg/ccl/logictestccl/testdata/logic_test/multi_region_stats b/pkg/ccl/logictestccl/testdata/logic_test/multi_region_stats index aaa0019f1fdf..e5b3f0a72777 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/multi_region_stats +++ b/pkg/ccl/logictestccl/testdata/logic_test/multi_region_stats @@ -125,38 +125,3 @@ WHERE stat->>'columns' = '["region"]' # Make sure we can still use the histogram in statistics_builder. statement ok INSERT INTO t124181 (region, a) VALUES ('ca-central-1', 2) - -# Verify that we don't collect partial stats on LOCALITY REGIONAL BY ROW table -# indexes when columns are unspecified since they are implicitly partitioned -# by the region column. -statement ok -CREATE TABLE multiregion_pstats (a INT PRIMARY KEY, b INT) LOCALITY REGIONAL BY ROW - -statement ok -INSERT INTO multiregion_pstats (a, b, crdb_region) VALUES (1, 1, 'ap-southeast-2'), (2, 2, 'ca-central-1'), (3, 3, 'us-east-1') - -statement ok -CREATE STATISTICS multiregion_full FROM multiregion_pstats - -statement ok -INSERT INTO multiregion_pstats (a, b, crdb_region) VALUES (4, 4, 'ap-southeast-2'), (5, 5, 'ca-central-1') - -statement ok -CREATE STATISTICS multiregion_partial FROM multiregion_pstats USING EXTREMES - -query TTIII colnames -SELECT - statistics_name, - column_names, - row_count, - distinct_count, - null_count -FROM - [SHOW STATISTICS FOR TABLE multiregion_pstats] -ORDER BY statistics_name, column_names::STRING ----- -statistics_name column_names row_count distinct_count null_count -multiregion_full {a,crdb_region} 3 3 0 -multiregion_full {a} 3 3 0 -multiregion_full {b} 3 3 0 -multiregion_full {crdb_region} 3 3 0 diff --git a/pkg/ccl/logictestccl/testdata/logic_test/multi_region_zone_configs b/pkg/ccl/logictestccl/testdata/logic_test/multi_region_zone_configs index 2f5efacb9af4..1e179f9b4240 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/multi_region_zone_configs +++ b/pkg/ccl/logictestccl/testdata/logic_test/multi_region_zone_configs @@ -158,11 +158,7 @@ DATABASE "mr-zone-configs" ALTER DATABASE "mr-zone-configs" CONFIGURE ZONE USIN statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER DATABASE "mr-zone-configs" CONFIGURE ZONE USING num_voters = 5; - -statement ok SET override_multi_region_zone_config = false statement error zone configuration for database "mr-zone-configs" contains incorrectly configured field "num_voters" @@ -203,20 +199,12 @@ ALTER DATABASE "mr-zone-configs" DROP REGION "ap-southeast-2" statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER DATABASE "mr-zone-configs" DROP REGION "ap-southeast-2"; - -statement ok SET override_multi_region_zone_config = false statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER DATABASE "mr-zone-configs" CONFIGURE ZONE USING global_reads = true; - -statement ok SET override_multi_region_zone_config = false statement error attempting to update zone configuration for database "mr-zone-configs" which contains modified field "global_reads" @@ -224,11 +212,7 @@ ALTER DATABASE "mr-zone-configs" ADD REGION "ap-southeast-2" statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER DATABASE "mr-zone-configs" ADD REGION "ap-southeast-2"; - -statement ok SET override_multi_region_zone_config = false # Zone config is unmodified now. We don't need to override. @@ -237,20 +221,12 @@ ALTER DATABASE "mr-zone-configs" DROP REGION "ap-southeast-2" statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER DATABASE "mr-zone-configs" ADD REGION "ap-southeast-2"; - -statement ok SET override_multi_region_zone_config = false statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER DATABASE "mr-zone-configs" CONFIGURE ZONE USING num_replicas = 7; - -statement ok SET override_multi_region_zone_config = false statement error attempting to update zone configuration for database "mr-zone-configs" which contains modified field "num_replicas" @@ -258,11 +234,7 @@ ALTER DATABASE "mr-zone-configs" SET PRIMARY REGION "us-east-1" statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER DATABASE "mr-zone-configs" SET PRIMARY REGION "us-east-1"; - -statement ok SET override_multi_region_zone_config = false query TT @@ -284,11 +256,7 @@ ALTER DATABASE "mr-zone-configs" CONFIGURE ZONE USING num_replicas = 7, gc.ttlse statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER DATABASE "mr-zone-configs" CONFIGURE ZONE USING num_replicas = 7, gc.ttlseconds = 100000; - -statement ok SET override_multi_region_zone_config = false statement error attempting to update zone configuration for database "mr-zone-configs" which contains modified field "num_replicas" @@ -296,20 +264,12 @@ ALTER DATABASE "mr-zone-configs" SURVIVE REGION FAILURE statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER DATABASE "mr-zone-configs" SURVIVE REGION FAILURE; - -statement ok SET override_multi_region_zone_config = false statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER DATABASE "mr-zone-configs" SURVIVE ZONE FAILURE; - -statement ok SET override_multi_region_zone_config = false statement error attempting to modify protected field "constraints" of a multi-region zone configuration @@ -317,11 +277,7 @@ ALTER DATABASE "mr-zone-configs" CONFIGURE ZONE USING constraints = '{+region=us statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER DATABASE "mr-zone-configs" CONFIGURE ZONE USING constraints = '{+region=us-east-1: 3}'; - -statement ok SET override_multi_region_zone_config = false statement error attempting to update zone configuration for database "mr-zone-configs" which contains modified field "constraints" @@ -329,11 +285,7 @@ ALTER DATABASE "mr-zone-configs" DROP REGION "ap-southeast-2" statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER DATABASE "mr-zone-configs" DROP REGION "ap-southeast-2"; - -statement ok SET override_multi_region_zone_config = false statement error attempting to modify protected field "voter_constraints" of a multi-region zone configuration @@ -341,11 +293,7 @@ ALTER DATABASE "mr-zone-configs" CONFIGURE ZONE USING voter_constraints = '[+reg statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER DATABASE "mr-zone-configs" CONFIGURE ZONE USING voter_constraints = '[+region=ap-southeast-2]'; - -statement ok SET override_multi_region_zone_config = false query TT @@ -366,11 +314,7 @@ ALTER DATABASE "mr-zone-configs" DROP REGION "ca-central-1" statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER DATABASE "mr-zone-configs" DROP REGION "ca-central-1"; - -statement ok SET override_multi_region_zone_config = false query TT @@ -391,11 +335,7 @@ ALTER DATABASE "mr-zone-configs" CONFIGURE ZONE USING lease_preferences = '[[+re statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER DATABASE "mr-zone-configs" CONFIGURE ZONE USING lease_preferences = '[[+region=ap-southeast-2]]'; - -statement ok SET override_multi_region_zone_config = false query TT @@ -416,11 +356,7 @@ ALTER DATABASE "mr-zone-configs" DROP REGION "us-east-1" statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER DATABASE "mr-zone-configs" DROP REGION "us-east-1"; - -statement ok SET override_multi_region_zone_config = false query TT @@ -495,11 +431,7 @@ ALTER table regional_by_row CONFIGURE ZONE USING num_replicas = 10 statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER table regional_by_row CONFIGURE ZONE USING num_replicas = 10; - -statement ok SET override_multi_region_zone_config = false statement error zone configuration for table regional_by_row contains incorrectly configured field "num_replicas" @@ -523,34 +455,39 @@ ALTER partition "us-east-1" of index regional_by_row@regional_by_row_pkey CONFIG statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER partition "us-east-1" of index regional_by_row@regional_by_row_pkey CONFIGURE ZONE USING num_replicas = 10; - -statement ok SET override_multi_region_zone_config = false query TTT SELECT ZONE_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_replicas = 10,\nnum_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_replicas = 10, +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 statement error attempting to update zone configuration for table regional_by_row which contains modified field "num_replicas" ALTER TABLE regional_by_row SET LOCALITY REGIONAL BY TABLE statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER TABLE regional_by_row SET LOCALITY REGIONAL BY TABLE; - -statement ok SET override_multi_region_zone_config = false statement error attempting to modify protected field "num_replicas" of a multi-region zone configuration @@ -620,11 +557,7 @@ SELECT crdb_internal.validate_multi_region_zone_configs() statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER PARTITION "ap-southeast-2" OF INDEX regional_by_row@idx CONFIGURE ZONE USING num_replicas = 10; - -statement ok SET override_multi_region_zone_config = false statement error zone configuration for partition "ap-southeast-2" of regional_by_row@idx contains incorrectly configured field "num_replicas" @@ -635,11 +568,7 @@ ALTER TABLE regional_by_row SET LOCALITY GLOBAL statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER PARTITION "ap-southeast-2" OF INDEX regional_by_row@idx CONFIGURE ZONE DISCARD; - -statement ok SET override_multi_region_zone_config = false statement error missing zone configuration for partition "ap-southeast-2" of regional_by_row@idx @@ -650,11 +579,7 @@ ALTER TABLE regional_by_row SET LOCALITY GLOBAL statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER TABLE regional_by_row SET LOCALITY GLOBAL; - -statement ok SET override_multi_region_zone_config = false statement ok @@ -664,11 +589,7 @@ SELECT crdb_internal.validate_multi_region_zone_configs() # to GLOBAL will reset it to true. statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER table regional_by_row CONFIGURE ZONE USING global_reads = false; - -statement ok SET override_multi_region_zone_config = false query TT @@ -687,11 +608,7 @@ TABLE regional_by_row ALTER TABLE regional_by_row CONFIGURE ZONE USING statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER TABLE regional_by_row SET LOCALITY GLOBAL; - -statement ok SET override_multi_region_zone_config = false query TT @@ -713,11 +630,7 @@ SELECT crdb_internal.validate_multi_region_zone_configs() statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER index regional_by_row@regional_by_row_pkey CONFIGURE ZONE USING num_replicas = 10; - -statement ok SET override_multi_region_zone_config = false statement error attempting to update zone config which contains an extra zone configuration for index regional_by_row@regional_by_row_pkey with field num_replicas populated @@ -731,11 +644,7 @@ ALTER TABLE regional_by_row SET LOCALITY REGIONAL BY ROW statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER TABLE regional_by_row SET LOCALITY REGIONAL BY ROW; - -statement ok SET override_multi_region_zone_config = false statement ok @@ -749,11 +658,7 @@ CREATE TABLE regional_by_row_as ( statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER index regional_by_row_as@regional_by_row_as_pkey CONFIGURE ZONE USING num_replicas = 10; - -statement ok SET override_multi_region_zone_config = false query TT @@ -774,11 +679,7 @@ ALTER TABLE regional_by_row_as SET LOCALITY REGIONAL BY ROW statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER TABLE regional_by_row_as SET LOCALITY REGIONAL BY ROW; - -statement ok SET override_multi_region_zone_config = false query TT @@ -800,8 +701,8 @@ SHOW CREATE TABLE regional_by_row_as regional_by_row_as CREATE TABLE public.regional_by_row_as ( pk INT8 NOT NULL, i INT8 NULL, - cr public.crdb_internal_region NOT NULL DEFAULT 'ca-central-1':::public.crdb_internal_region, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + cr "mr-zone-configs".public.crdb_internal_region NOT NULL DEFAULT 'ca-central-1':::"mr-zone-configs".public.crdb_internal_region, + crdb_region "mr-zone-configs".public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::"mr-zone-configs".public.crdb_internal_region, CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), INDEX regional_by_row_as_i_idx (i ASC), FAMILY fam_0_cr_pk_i (cr, pk, i, crdb_region) @@ -811,12 +712,24 @@ query TTT SELECT ZONE_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row_as] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_as@regional_by_row_as_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_as@regional_by_row_as_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row_as@regional_by_row_as_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row_as@regional_by_row_as_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_as@regional_by_row_as_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_as@regional_by_row_as_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row_as@regional_by_row_as_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row_as@regional_by_row_as_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FOR DATABASE "mr-zone-configs" @@ -836,11 +749,7 @@ ALTER DATABASE "mr-zone-configs" CONFIGURE ZONE DISCARD statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER DATABASE "mr-zone-configs" CONFIGURE ZONE DISCARD; - -statement ok SET override_multi_region_zone_config = false query TT @@ -862,11 +771,7 @@ ALTER PARTITION "ca-central-1" OF INDEX regional_by_row@regional_by_row_pkey CON statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER PARTITION "ca-central-1" OF INDEX regional_by_row@regional_by_row_pkey CONFIGURE ZONE DISCARD; - -statement ok SET override_multi_region_zone_config = false # Drop invalid zone config database so validation passes. @@ -980,11 +885,7 @@ CREATE TABLE tbl1 ( statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER INDEX tbl1@tbl1_i_idx CONFIGURE ZONE USING num_replicas=10; - -statement ok SET override_multi_region_zone_config = false statement error attempting to update zone config which contains an extra zone configuration for index tbl1@tbl1_i_idx with field num_replicas populated @@ -994,11 +895,7 @@ ALTER TABLE tbl1 SET LOCALITY GLOBAL # index above. statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER TABLE tbl1 SET LOCALITY GLOBAL; - -statement ok SET override_multi_region_zone_config = false # Validate that the zone configuration is gone @@ -1027,11 +924,7 @@ ALTER TABLE tbl1 SET LOCALITY GLOBAL statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER INDEX tbl1@tbl1_i_idx CONFIGURE ZONE USING num_replicas=10; - -statement ok SET override_multi_region_zone_config = false statement error attempting to update zone config which contains an extra zone configuration for index tbl1@tbl1_i_idx with field num_replicas populated @@ -1039,11 +932,7 @@ ALTER TABLE tbl1 SET LOCALITY REGIONAL BY TABLE IN "us-east-1" statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER TABLE tbl1 SET LOCALITY REGIONAL BY TABLE IN "us-east-1"; - -statement ok SET override_multi_region_zone_config = false statement ok @@ -1051,11 +940,7 @@ ALTER TABLE tbl1 SET LOCALITY GLOBAL statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER INDEX tbl1@tbl1_i_idx CONFIGURE ZONE USING num_replicas=10; - -statement ok SET override_multi_region_zone_config = false statement error attempting to update zone config which contains an extra zone configuration for index tbl1@tbl1_i_idx with field num_replicas populated @@ -1063,11 +948,7 @@ ALTER TABLE tbl1 SET LOCALITY REGIONAL BY TABLE IN PRIMARY REGION statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER TABLE tbl1 SET LOCALITY REGIONAL BY TABLE IN PRIMARY REGION; - -statement ok SET override_multi_region_zone_config = false statement ok @@ -1075,11 +956,7 @@ ALTER TABLE tbl1 SET LOCALITY REGIONAL BY ROW statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER INDEX tbl1@tbl1_i_idx CONFIGURE ZONE USING num_replicas=10; - -statement ok SET override_multi_region_zone_config = false statement error attempting to update zone config which contains an extra zone configuration for index tbl1@tbl1_i_idx with field num_replicas populated @@ -1087,11 +964,7 @@ ALTER TABLE tbl1 SET LOCALITY REGIONAL BY TABLE IN PRIMARY REGION statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER TABLE tbl1 SET LOCALITY REGIONAL BY TABLE IN PRIMARY REGION; - -statement ok SET override_multi_region_zone_config = false # Now test to ensure that the same test holds true if we're transitioning from @@ -1105,15 +978,8 @@ CREATE TABLE tbl2 ( statement ok SET override_multi_region_zone_config = true; - -statement ok -SET use_declarative_schema_changer = off; - -statement ok ALTER INDEX tbl2@tbl2_i_idx CONFIGURE ZONE USING num_replicas=10; - -statement ok -SET override_multi_region_zone_config = false; +SET override_multi_region_zone_config = false statement error attempting to update zone config which contains an extra zone configuration for index tbl2@tbl2_i_idx with field num_replicas populated ALTER TABLE tbl2 SET LOCALITY GLOBAL @@ -1136,11 +1002,7 @@ INDEX tbl2@tbl2_i_idx ALTER INDEX tbl2@tbl2_i_idx CONFIGURE ZONE USING statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER TABLE tbl2 SET LOCALITY GLOBAL; - -statement ok SET override_multi_region_zone_config = false # Validate that we don't overwrite gc.ttlseconds @@ -1163,11 +1025,7 @@ ALTER TABLE tbl2 SET LOCALITY REGIONAL BY ROW statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER TABLE tbl2 CONFIGURE ZONE USING num_replicas=10; - -statement ok SET override_multi_region_zone_config = false statement error attempting to update zone configuration for table tbl2 which contains modified field "num_replicas" @@ -1175,11 +1033,7 @@ ALTER TABLE tbl2 SET LOCALITY GLOBAL statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER TABLE tbl2 SET LOCALITY GLOBAL; - -statement ok SET override_multi_region_zone_config = false statement ok @@ -1207,11 +1061,7 @@ ALTER INDEX tbl3@tbl3_i_idx CONFIGURE ZONE USING num_replicas=10 statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER INDEX tbl3@tbl3_i_idx CONFIGURE ZONE USING num_replicas=10; - -statement ok SET override_multi_region_zone_config = false query TT @@ -1251,11 +1101,7 @@ ALTER partition "us-east-1" of index tbl3@tbl3_i_idx CONFIGURE ZONE DISCARD # ...but we should be able to override. statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER partition "us-east-1" of index tbl3@tbl3_i_idx CONFIGURE ZONE DISCARD; - -statement ok SET override_multi_region_zone_config = false # Try a similar test but on the table zone configuration. @@ -1267,11 +1113,7 @@ ALTER TABLE tbl3 CONFIGURE ZONE USING num_replicas=10 statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER TABLE tbl3 CONFIGURE ZONE USING num_replicas=10; - -statement ok SET override_multi_region_zone_config = false query TT @@ -1326,11 +1168,7 @@ ALTER INDEX tbl4@tbl4_i_idx CONFIGURE ZONE USING num_replicas=10 statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER INDEX tbl4@tbl4_i_idx CONFIGURE ZONE USING num_replicas=10; - -statement ok SET override_multi_region_zone_config = false query TT @@ -1371,11 +1209,7 @@ ALTER TABLE tbl4 CONFIGURE ZONE USING num_replicas=10 statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER TABLE tbl4 CONFIGURE ZONE USING num_replicas=10; - -statement ok SET override_multi_region_zone_config = false query TT @@ -1427,11 +1261,7 @@ ALTER INDEX tbl5@tbl5_i_idx CONFIGURE ZONE USING num_replicas=10 statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER INDEX tbl5@tbl5_i_idx CONFIGURE ZONE USING num_replicas=10; - -statement ok SET override_multi_region_zone_config = false query TT @@ -1472,11 +1302,7 @@ ALTER TABLE tbl5 CONFIGURE ZONE USING num_replicas=10 statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER TABLE tbl5 CONFIGURE ZONE USING num_replicas=10; - -statement ok SET override_multi_region_zone_config = false query TT @@ -1498,11 +1324,7 @@ ALTER TABLE tbl5 CONFIGURE ZONE DISCARD statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER TABLE tbl5 CONFIGURE ZONE DISCARD; - -statement ok SET override_multi_region_zone_config = false query TT @@ -1540,11 +1362,7 @@ ALTER INDEX tbl6@tbl6_i_idx CONFIGURE ZONE USING num_replicas=10 statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER INDEX tbl6@tbl6_i_idx CONFIGURE ZONE USING num_replicas=10; - -statement ok SET override_multi_region_zone_config = false query TT @@ -1588,11 +1406,7 @@ ALTER TABLE tbl6 CONFIGURE ZONE USING num_replicas=10 statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER TABLE tbl6 CONFIGURE ZONE USING num_replicas=10; - -statement ok SET override_multi_region_zone_config = false query TT @@ -1616,11 +1430,7 @@ ALTER TABLE tbl6 CONFIGURE ZONE DISCARD statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER TABLE tbl6 CONFIGURE ZONE DISCARD; - -statement ok SET override_multi_region_zone_config = false query TT @@ -1683,11 +1493,7 @@ PARTITION "us-east-1" OF INDEX tbl8@tbl8_pkey ALTER PARTITION "us-east-1" OF IN statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER PARTITION "us-east-1" OF INDEX tbl8@tbl8_pkey CONFIGURE ZONE DISCARD; - -statement ok SET override_multi_region_zone_config = false query TT @@ -1780,11 +1586,7 @@ SELECT crdb_internal.validate_multi_region_zone_configs() statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER TABLE tbl9 CONFIGURE ZONE USING num_replicas = 5; - -statement ok SET override_multi_region_zone_config = false query TT @@ -1825,11 +1627,7 @@ CREATE TABLE tbl10 ( statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER table tbl10 CONFIGURE ZONE DISCARD; - -statement ok SET override_multi_region_zone_config = false query TT @@ -1872,11 +1670,7 @@ SELECT crdb_internal.validate_multi_region_zone_configs() statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER TABLE tbl10 CONFIGURE ZONE USING num_replicas = 5; - -statement ok SET override_multi_region_zone_config = false query TT @@ -1980,11 +1774,7 @@ DATABASE rebuild_zc_db ALTER DATABASE rebuild_zc_db CONFIGURE ZONE USING statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER DATABASE "rebuild_zc_db" CONFIGURE ZONE USING num_replicas = 10; - -statement ok SET override_multi_region_zone_config = false query TT @@ -2024,11 +1814,7 @@ SELECT crdb_internal.validate_multi_region_zone_configs() statement ok SET override_multi_region_zone_config = true; - -statement ok ALTER DATABASE "rebuild_zc_db" CONFIGURE ZONE DISCARD; - -statement ok SET override_multi_region_zone_config = false query TT diff --git a/pkg/ccl/logictestccl/testdata/logic_test/nested_routines b/pkg/ccl/logictestccl/testdata/logic_test/nested_routines index 6b97bc752d25..6acbec535a83 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/nested_routines +++ b/pkg/ccl/logictestccl/testdata/logic_test/nested_routines @@ -1,3 +1,5 @@ +# LogicTest: !local-mixed-23.1 !local-mixed-23.2 + # Regression test for #120916 - the nested routine is not in tail-call position, # and so cannot be a target for TCO. statement ok diff --git a/pkg/ccl/logictestccl/testdata/logic_test/oidc b/pkg/ccl/logictestccl/testdata/logic_test/oidc index 69689c123f83..912b5564379e 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/oidc +++ b/pkg/ccl/logictestccl/testdata/logic_test/oidc @@ -31,7 +31,7 @@ fake_client_secret query TT rowsort SELECT variable, value FROM [show all cluster settings] -WHERE variable ILIKE 'server.oidc_authentication.client\_%' +WHERE variable ILIKE 'server.oidc_authentication.client_%' ---- server.oidc_authentication.client_id fake_client_id server.oidc_authentication.client_secret fake_client_secret @@ -59,7 +59,7 @@ SHOW CLUSTER SETTING server.oidc_authentication.client_secret query TT rowsort SELECT variable, value FROM [show all cluster settings] -WHERE variable ILIKE 'server.oidc_authentication.client\_%' +WHERE variable ILIKE 'server.oidc_authentication.client_%' ---- server.oidc_authentication.client_id server.oidc_authentication.client_secret @@ -86,7 +86,7 @@ fake_client_secret query TT rowsort SELECT variable, value FROM [show all cluster settings] -WHERE variable ILIKE 'server.oidc_authentication.client\_%' +WHERE variable ILIKE 'server.oidc_authentication.client_%' ---- server.oidc_authentication.client_id fake_client_id server.oidc_authentication.client_secret fake_client_secret @@ -114,7 +114,7 @@ SET ROLE testuser query error user testuser does not have MANAGEVIRTUALCLUSTER system privilege SELECT variable, value, origin FROM [SHOW CLUSTER SETTINGS FOR TENANT [10]] -WHERE variable ILIKE 'server.oidc_authentication.client\_%' +WHERE variable ILIKE 'server.oidc_authentication.client_%' query error user testuser does not have MANAGEVIRTUALCLUSTER system privilege SHOW CLUSTER SETTING server.oidc_authentication.client_id FOR TENANT [10] @@ -136,7 +136,7 @@ SET ROLE testuser query TTT rowsort SELECT variable, value, origin FROM [SHOW CLUSTER SETTINGS FOR TENANT [10]] -WHERE variable ILIKE 'server.oidc_authentication.client\_%' +WHERE variable ILIKE 'server.oidc_authentication.client_%' ---- server.oidc_authentication.client_id fake_tenant_client_id per-tenant-override server.oidc_authentication.client_secret fake_tenant_client_secret per-tenant-override diff --git a/pkg/ccl/logictestccl/testdata/logic_test/partitioning b/pkg/ccl/logictestccl/testdata/logic_test/partitioning index 4a80fc54f9a6..b046222d7b71 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/partitioning +++ b/pkg/ccl/logictestccl/testdata/logic_test/partitioning @@ -1411,86 +1411,3 @@ vectorized: true estimated row count: 555,555,557 - 378,667,879,137,377,664 (11% of the table; stats collected ago) table: t104434@t104434_col1_2_col1_6_col1_7_key (partial index) spans: [ - /'BOX(0.8102585814674039 -0.6055208348537393,1.2525166924090267 0.4387570127404082)') [/'BOX(0.8102585814674039 -0.6055208348537393,1.2525166924090267 0.4387570127404082)'/'2012-05-14 07:37:50.000177+00' - /'BOX(0.8102585814674039 -0.6055208348537393,1.2525166924090267 0.4387570127404082)'/'2012-05-14 07:37:50.000177+00'] (/'BOX(0.8102585814674039 -0.6055208348537393,1.2525166924090267 0.4387570127404082)' - /'BOX(0.5800044253150916 -0.631859538843543,2.166538271521436 -0.3936412129189529)') [/'BOX(0.5800044253150916 -0.631859538843543,2.166538271521436 -0.3936412129189529)'/'2012-05-14 07:37:50.000177+00' - /'BOX(0.5800044253150916 -0.631859538843543,2.166538271521436 -0.3936412129189529)'/'2012-05-14 07:37:50.000177+00'] … (35 more) - -# Regression test for #94188 in which we did not copy over the zone config in -# to the new indexes created after a truncate. -subtest zone_config - -statement ok -CREATE TABLE bar(a int primary key) PARTITION BY LIST (a) (PARTITION x VALUES IN (1), PARTITION y VALUES IN (2)); - -statement ok -ALTER PARTITION x OF TABLE bar CONFIGURE ZONE USING gc.ttlseconds=100; - -statement ok -ALTER PARTITION y OF TABLE bar CONFIGURE ZONE USING gc.ttlseconds=150; - -query TT -SHOW CREATE TABLE bar; ----- -bar CREATE TABLE public.bar ( - a INT8 NOT NULL, - CONSTRAINT bar_pkey PRIMARY KEY (a ASC) - ) PARTITION BY LIST (a) ( - PARTITION x VALUES IN ((1)), - PARTITION y VALUES IN ((2)) - ); - ALTER PARTITION x OF INDEX test.public.bar@bar_pkey CONFIGURE ZONE USING - gc.ttlseconds = 100; - ALTER PARTITION y OF INDEX test.public.bar@bar_pkey CONFIGURE ZONE USING - gc.ttlseconds = 150 - - -statement ok -TRUNCATE bar; - -query TT -SHOW CREATE TABLE bar; ----- -bar CREATE TABLE public.bar ( - a INT8 NOT NULL, - CONSTRAINT bar_pkey PRIMARY KEY (a ASC) - ) PARTITION BY LIST (a) ( - PARTITION x VALUES IN ((1)), - PARTITION y VALUES IN ((2)) - ); - ALTER PARTITION x OF INDEX test.public.bar@bar_pkey CONFIGURE ZONE USING - gc.ttlseconds = 100; - ALTER PARTITION y OF INDEX test.public.bar@bar_pkey CONFIGURE ZONE USING - gc.ttlseconds = 150 - -query TT -SHOW ZONE CONFIGURATION FOR PARTITION x OF INDEX test.public.bar@bar_pkey; ----- -PARTITION x OF INDEX test.public.bar@bar_pkey ALTER PARTITION x OF INDEX test.public.bar@bar_pkey CONFIGURE ZONE USING - range_min_bytes = 134217728, - range_max_bytes = 536870912, - gc.ttlseconds = 100, - num_replicas = 3, - constraints = '[]', - lease_preferences = '[]' - -query TT -SHOW ZONE CONFIGURATION FOR PARTITION y OF INDEX test.public.bar@bar_pkey; ----- -PARTITION y OF INDEX test.public.bar@bar_pkey ALTER PARTITION y OF INDEX test.public.bar@bar_pkey CONFIGURE ZONE USING - range_min_bytes = 134217728, - range_max_bytes = 536870912, - gc.ttlseconds = 150, - num_replicas = 3, - constraints = '[]', - lease_preferences = '[]' - -query T rowsort -WITH subzone_spans AS ( - SELECT json_array_elements(crdb_internal.pb_to_json('cockroach.config.zonepb.ZoneConfig', config) -> 'subzoneSpans') ->> 'key' AS key - FROM system.zones - WHERE id = 'bar'::REGCLASS::OID -) -SELECT crdb_internal.pretty_key(decode(key, 'base64'), 0) AS pretty_key -FROM subzone_spans; ----- -/2/1 -/2/2 - -subtest end diff --git a/pkg/ccl/logictestccl/testdata/logic_test/partitioning_hash_sharded_index_mr b/pkg/ccl/logictestccl/testdata/logic_test/partitioning_hash_sharded_index_mr index 8d44ee87dffc..970ac741beba 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/partitioning_hash_sharded_index_mr +++ b/pkg/ccl/logictestccl/testdata/logic_test/partitioning_hash_sharded_index_mr @@ -52,7 +52,7 @@ CREATE TABLE public.t_test_hsi_change_locality ( a INT8 NOT NULL, b INT8 NULL, crdb_internal_b_shard_16 INT8 NOT VISIBLE NOT NULL AS (mod(fnv32(md5(crdb_internal.datums_to_bytes(b))), 16:::INT8)) VIRTUAL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region testdb.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::testdb.public.crdb_internal_region, CONSTRAINT t_test_hsi_change_locality_pkey PRIMARY KEY (a ASC) USING HASH WITH (bucket_count=16), INDEX idx_b (b ASC) USING HASH WITH (bucket_count=16), FAMILY fam_0 (a, b, crdb_region) @@ -94,7 +94,7 @@ CREATE TABLE public.t_test_hsi_change_locality ( a INT8 NOT NULL, b INT8 NULL, crdb_internal_b_shard_16 INT8 NOT VISIBLE NOT NULL AS (mod(fnv32(md5(crdb_internal.datums_to_bytes(b))), 16:::INT8)) VIRTUAL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region testdb.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::testdb.public.crdb_internal_region, CONSTRAINT t_test_hsi_change_locality_pkey PRIMARY KEY (a ASC) USING HASH WITH (bucket_count=16), INDEX idx_b (b ASC) USING HASH WITH (bucket_count=16), FAMILY fam_0 (a, b, crdb_region) @@ -122,7 +122,7 @@ CREATE TABLE public.t_test_hsi_change_locality ( a INT8 NOT NULL, b INT8 NULL, crdb_internal_b_shard_16 INT8 NOT VISIBLE NOT NULL AS (mod(fnv32(md5(crdb_internal.datums_to_bytes(b))), 16:::INT8)) VIRTUAL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region testdb.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::testdb.public.crdb_internal_region, CONSTRAINT t_test_hsi_change_locality_pkey PRIMARY KEY (a ASC) USING HASH WITH (bucket_count=16), INDEX idx_b (b ASC) USING HASH WITH (bucket_count=16), FAMILY fam_0 (a, b, crdb_region) @@ -187,7 +187,7 @@ CREATE TABLE public.t_parent ( id INT8 NOT NULL, id2 INT8 NOT NULL, crdb_internal_id2_shard_16 INT8 NOT VISIBLE NOT NULL AS (mod(fnv32(md5(crdb_internal.datums_to_bytes(id2))), 16:::INT8)) VIRTUAL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region testdb.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::testdb.public.crdb_internal_region, CONSTRAINT t_parent_pkey PRIMARY KEY (id ASC) USING HASH WITH (bucket_count=16), UNIQUE INDEX uniq_id2 (id2 ASC) USING HASH WITH (bucket_count=16), FAMILY fam_0_id_id2 (id, id2, crdb_region) @@ -229,7 +229,7 @@ CREATE TABLE public.t_parent ( id INT8 NOT NULL, id2 INT8 NOT NULL, crdb_internal_id2_shard_16 INT8 NOT VISIBLE NOT NULL AS (mod(fnv32(md5(crdb_internal.datums_to_bytes(id2))), 16:::INT8)) VIRTUAL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region testdb.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::testdb.public.crdb_internal_region, CONSTRAINT t_parent_pkey PRIMARY KEY (id ASC) USING HASH WITH (bucket_count=16), UNIQUE INDEX uniq_id2 (id2 ASC) USING HASH WITH (bucket_count=16), FAMILY fam_0_id_id2 (id, id2, crdb_region) @@ -257,7 +257,7 @@ CREATE TABLE public.t_parent ( id INT8 NOT NULL, id2 INT8 NOT NULL, crdb_internal_id2_shard_16 INT8 NOT VISIBLE NOT NULL AS (mod(fnv32(md5(crdb_internal.datums_to_bytes(id2))), 16:::INT8)) VIRTUAL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region testdb.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::testdb.public.crdb_internal_region, CONSTRAINT t_parent_pkey PRIMARY KEY (id ASC) USING HASH WITH (bucket_count=16), UNIQUE INDEX uniq_id2 (id2 ASC) USING HASH WITH (bucket_count=16), FAMILY fam_0_id_id2 (id, id2, crdb_region) diff --git a/pkg/ccl/logictestccl/testdata/logic_test/partitioning_implicit b/pkg/ccl/logictestccl/testdata/logic_test/partitioning_implicit index 7a4d17fcddad..4c6ff7c3cc96 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/partitioning_implicit +++ b/pkg/ccl/logictestccl/testdata/logic_test/partitioning_implicit @@ -355,13 +355,13 @@ FROM pg_index WHERE indrelid = (SELECT oid FROM pg_class WHERE relname = 't') ORDER BY 1,2,3 ---- -indexrelid indrelid indkey indclass indoption indcollation -3428148192 107 2 5 0 0 2 2 0 0 -3428148194 107 5 2 3 4 0 0 0 0 2 2 2 2 0 0 0 0 -3428148195 107 2 6 0 0 2 2 0 0 -3428148196 107 2 3 0 0 2 2 0 0 -3428148197 107 2 4 0 0 2 2 0 0 -3428148199 107 2 1 0 0 2 2 0 0 +indexrelid indrelid indkey indclass indoption indcollation +3428148192 107 5 0 2 0 +3428148194 107 2 3 4 0 0 0 2 2 2 0 0 0 +3428148195 107 6 0 2 0 +3428148196 107 3 0 2 0 +3428148197 107 4 0 2 0 +3428148199 107 1 0 2 0 query TTB colnames SELECT index_name, column_name, implicit FROM crdb_internal.index_columns diff --git a/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_block b/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_block index feaa7f1a6966..c9d71dce625e 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_block +++ b/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_block @@ -1,3 +1,5 @@ +# LogicTest: !local-mixed-23.1 + statement ok CREATE TABLE ab (a INT, b INT); @@ -246,6 +248,7 @@ CREATE PROCEDURE p_nested(curs REFCURSOR) AS $$ END; $$ LANGUAGE PLpgSQL; +skipif config local-mixed-23.2 statement ok DROP FUNCTION f; CREATE FUNCTION f(n INT) RETURNS INT AS $$ @@ -281,6 +284,7 @@ $$ LANGUAGE PLpgSQL; statement ok CLOSE ALL; +skipif config local-mixed-23.2 query I SELECT f(0); ---- @@ -289,6 +293,7 @@ SELECT f(0); statement ok CLOSE ALL; +skipif config local-mixed-23.2 query I SELECT f(1); ---- @@ -297,6 +302,7 @@ SELECT f(1); statement ok CLOSE ALL; +skipif config local-mixed-23.2 query I SELECT f(2); ---- @@ -305,6 +311,7 @@ SELECT f(2); statement ok CLOSE ALL; +skipif config local-mixed-23.2 query I SELECT f(3); ---- @@ -693,40 +700,3 @@ BEGIN END IF; END; $$ LANGUAGE PLpgSQL; - -subtest multi_declare - -statement ok -DROP FUNCTION IF EXISTS f; - -statement ok -CREATE FUNCTION f() RETURNS INT AS $$ -DECLARE - x INT := 0; -DECLARE - y INT := x + 1; -BEGIN - RAISE NOTICE '% %', x, y; - RETURN 0; -END; -$$ LANGUAGE PLpgSQL; - -query T noticetrace -SELECT f(); ----- -NOTICE: 0 1 - -statement ok -DROP FUNCTION IF EXISTS f; - -statement error pgcode 42601 pq: duplicate declaration at or near "x" -CREATE FUNCTION f() RETURNS INT AS $$ -DECLARE - x INT := 0; -DECLARE - x INT := 1; -BEGIN - RAISE NOTICE '%', x; - RETURN 0; -END; -$$ LANGUAGE PLpgSQL; diff --git a/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_call b/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_call index 1b81ea71218e..c7e437e8cf5e 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_call +++ b/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_call @@ -1,3 +1,5 @@ +# LogicTest: !local-mixed-23.1 !local-mixed-23.2 + statement ok CREATE PROCEDURE p_nested() AS $$ BEGIN diff --git a/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_cursor b/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_cursor index eb02fb8e027d..f755a17f3f49 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_cursor +++ b/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_cursor @@ -1,3 +1,4 @@ +# LogicTest: !local-mixed-23.1 statement ok CREATE TABLE xy (x INT, y INT); INSERT INTO xy VALUES (1, 2), (3, 4); diff --git a/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_into b/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_into index 24b9556b8c27..4c2af3e3b1bd 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_into +++ b/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_into @@ -1,3 +1,5 @@ +# LogicTest: !local-mixed-23.1 + statement ok CREATE TABLE xy (x INT, y INT); INSERT INTO xy VALUES (1, 2), (3, 4); diff --git a/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_record b/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_record index fdee824198f2..960fd98f1e1e 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_record +++ b/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_record @@ -1,3 +1,5 @@ +# LogicTest: !local-mixed-23.1 + subtest simple_return # Infer return type for a single return statement. diff --git a/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_txn b/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_txn index 8c06b5fc4d3f..bf7b29215725 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_txn +++ b/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_txn @@ -1,3 +1,5 @@ +# LogicTest: !local-mixed-23.1 + statement ok CREATE TABLE t (x INT); @@ -873,7 +875,7 @@ CREATE PROCEDURE p() LANGUAGE PLpgSQL AS $$ END $$; -skipif config weak-iso-level-configs +skipif config local-read-committed query T noticetrace CALL p(); ---- @@ -895,7 +897,7 @@ NOTICE: read committed NOTICE: ROLLBACK; NOTICE: serializable -skipif config weak-iso-level-configs +skipif config local-read-committed query T SHOW TRANSACTION ISOLATION LEVEL; ---- diff --git a/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_unsupported b/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_unsupported index 3ea7ef507436..3ecef472554b 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_unsupported +++ b/pkg/ccl/logictestccl/testdata/logic_test/plpgsql_unsupported @@ -1,3 +1,5 @@ +# LogicTest: !local-mixed-23.1 + statement error pq: unimplemented: RECORD type for PL/pgSQL variables is not yet supported.* CREATE OR REPLACE PROCEDURE foo() AS $$ DECLARE @@ -6,47 +8,3 @@ CREATE OR REPLACE PROCEDURE foo() AS $$ RAISE NOTICE 'x: %', x; END $$ LANGUAGE PLpgSQL; - -subtest error_detail - -# Regression test for #123672 - annotate "unsupported" errors with the -# unsupported statement type. -statement ok -CREATE TABLE mytable (inserted_by TEXT, inserted TIMESTAMP); -CREATE TABLE c (checked_user TEXT, checked_date TIMESTAMP); - -statement error pgcode 0A000 DETAIL: stmt_dyn_exec is not yet supported -CREATE PROCEDURE test(checked_user TEXT, checked_date TIMESTAMP) -AS $$ -DECLARE - c INT; -BEGIN - EXECUTE 'SELECT count(*) FROM mytable WHERE inserted_by = $1 AND inserted <= $2' - INTO c - USING checked_user, checked_date; -END; -$$ LANGUAGE plpgsql; - -statement ok -CREATE TABLE t6 (a int); - -statement error pgcode 0A000 DETAIL: stmt_case is not yet supported -CREATE PROCEDURE p6(IN i int) -LANGUAGE plpgsql -AS $$ -BEGIN - INSERT INTO t6 VALUES (i); - CASE i - WHEN 6 THEN - COMMIT; - WHEN 7 THEN - ROLLBACK; - WHEN 8 THEN - COMMIT; - ELSE - ROLLBACK; - END CASE; -END; -$$; - -subtest end diff --git a/pkg/ccl/logictestccl/testdata/logic_test/procedure_params b/pkg/ccl/logictestccl/testdata/logic_test/procedure_params index 1bb26675ee8b..477536d826ae 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/procedure_params +++ b/pkg/ccl/logictestccl/testdata/logic_test/procedure_params @@ -1,3 +1,5 @@ +# LogicTest: !local-mixed-23.1 + subtest types statement ok @@ -347,7 +349,6 @@ SELECT create_statement FROM [SHOW CREATE PROCEDURE p_param_types]; ---- CREATE PROCEDURE public.p_param_types(IN p1 INT8, INOUT p2 INT8, INOUT p3 INT8, OUT p4 INT8) LANGUAGE plpgsql - SECURITY INVOKER AS $$ BEGIN SELECT p2, p3, p1; @@ -369,7 +370,6 @@ SELECT create_statement FROM [SHOW CREATE PROCEDURE p_param_types]; ---- CREATE PROCEDURE public.p_param_types(OUT param INT8) LANGUAGE plpgsql - SECURITY INVOKER AS $$ BEGIN SELECT 1; @@ -482,7 +482,6 @@ SELECT create_statement FROM [SHOW CREATE PROCEDURE p_default_names]; ---- CREATE PROCEDURE public.p_default_names(OUT INT8, OUT param2 INT8, IN INT8, OUT column3 INT8) LANGUAGE plpgsql - SECURITY INVOKER AS $$ BEGIN SELECT 3 INTO column3; @@ -508,7 +507,6 @@ SELECT create_statement FROM [SHOW CREATE PROCEDURE p_default_names]; ---- CREATE PROCEDURE public.p_default_names(OUT INT8, OUT param2 INT8, IN INT8, OUT INT8) LANGUAGE plpgsql - SECURITY INVOKER AS $$ BEGIN param2 := 2; @@ -530,7 +528,6 @@ SELECT create_statement FROM [SHOW CREATE PROCEDURE p_default_names]; ---- CREATE PROCEDURE public.p_default_names(OUT INT8, OUT param2 INT8, IN in_param INT8, OUT INT8) LANGUAGE plpgsql - SECURITY INVOKER AS $$ BEGIN SELECT in_param INTO param2; @@ -736,38 +733,56 @@ DROP PROCEDURE f; statement ok CREATE FUNCTION f1(a INT, b INT = 2) RETURNS INT AS $$ BEGIN RETURN a + b; END; $$ LANGUAGE PLpgSQL; +skipif config local-mixed-23.2 +skipif config local-mixed-23.1 statement ok CREATE PROCEDURE p2(OUT o INT, a INT, b INT = f1(1)) AS $$ BEGIN SELECT a + b INTO o; END; $$ LANGUAGE PLpgSQL; +skipif config local-mixed-23.2 +skipif config local-mixed-23.1 query I CALL p2(NULL, 1); ---- 4 +skipif config local-mixed-23.2 +skipif config local-mixed-23.1 query I CALL p2(NULL, 1, 1); ---- 2 +skipif config local-mixed-23.2 +skipif config local-mixed-23.1 statement ok CREATE OR REPLACE FUNCTION f1(a INT, b INT = 2) RETURNS INT AS $$ BEGIN RETURN a * b; END; $$ LANGUAGE PLpgSQL; +skipif config local-mixed-23.2 +skipif config local-mixed-23.1 query I CALL p2(NULL, 1); ---- 3 +skipif config local-mixed-23.2 +skipif config local-mixed-23.1 query I CALL p2(NULL, 1, 1); ---- 2 +skipif config local-mixed-23.2 +skipif config local-mixed-23.1 statement error pgcode 2BP01 cannot drop function "f1" because other objects \(\[test.public.p2\]\) still depend on it DROP FUNCTION f1; +skipif config local-mixed-23.2 +skipif config local-mixed-23.1 statement ok DROP PROCEDURE p2; +skipif config local-mixed-23.2 +skipif config local-mixed-23.1 statement ok DROP FUNCTION f1; diff --git a/pkg/ccl/logictestccl/testdata/logic_test/procedure_plpgsql b/pkg/ccl/logictestccl/testdata/logic_test/procedure_plpgsql index 1e70a337e96a..1de72f7c2cd8 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/procedure_plpgsql +++ b/pkg/ccl/logictestccl/testdata/logic_test/procedure_plpgsql @@ -1,3 +1,5 @@ +# LogicTest: !local-mixed-23.1 + statement ok CREATE TABLE t ( k INT PRIMARY KEY, @@ -641,6 +643,7 @@ statement ok CREATE PROCEDURE p_inner_o(OUT param INTEGER) AS $$ SELECT 1; $$ LANGUAGE SQL; CREATE PROCEDURE p_inner_io(INOUT param INTEGER) AS $$ SELECT 1; $$ LANGUAGE SQL; +skipif config local-mixed-23.2 statement ok CREATE PROCEDURE p_nested() AS $$ DECLARE @@ -653,33 +656,40 @@ CREATE PROCEDURE p_nested() AS $$ END $$ LANGUAGE PLpgSQL; +skipif config local-mixed-23.2 statement ok CREATE FUNCTION f() RETURNS VOID AS $$ CALL p_nested(); $$ LANGUAGE SQL; +skipif config local-mixed-23.2 query T noticetrace SELECT f(); ---- NOTICE: a: 1 NOTICE: a: 1 +skipif config local-mixed-23.2 statement ok DROP FUNCTION f; statement ok DROP PROCEDURE IF EXISTS p; +skipif config local-mixed-23.2 statement ok CREATE PROCEDURE p() AS $$ CALL p_nested(); $$ LANGUAGE SQL; +skipif config local-mixed-23.2 query T noticetrace CALL p(); ---- NOTICE: a: 1 NOTICE: a: 1 +skipif config local-mixed-23.2 statement ok DROP PROCEDURE p; +skipif config local-mixed-23.2 statement ok DROP PROCEDURE p_nested; diff --git a/pkg/ccl/logictestccl/testdata/logic_test/read_committed b/pkg/ccl/logictestccl/testdata/logic_test/read_committed index 7f29bc6b995a..e0d4c018ca39 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/read_committed +++ b/pkg/ccl/logictestccl/testdata/logic_test/read_committed @@ -1,3 +1,5 @@ +# LogicTest: !local-mixed-23.1 + subtest cursor # Verify that SQL and PL/pgSQL cursors run under READ COMMITTED correctly. @@ -84,12 +86,12 @@ SELECT aisle FROM supermarket WHERE person = 'matilda' FOR UPDATE statement ok ROLLBACK -# Use SELECT FOR UPDATE under repeatable read isolation. +# Use SELECT FOR UPDATE under snapshot isolation. statement ok -SET CLUSTER SETTING sql.txn.repeatable_read_isolation.enabled = true +SET CLUSTER SETTING sql.txn.snapshot_isolation.enabled = true statement ok -BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ +BEGIN TRANSACTION ISOLATION LEVEL SNAPSHOT query I SELECT aisle FROM supermarket WHERE person = 'matilda' FOR UPDATE @@ -100,7 +102,7 @@ statement ok ROLLBACK statement ok -RESET CLUSTER SETTING sql.txn.repeatable_read_isolation.enabled +RESET CLUSTER SETTING sql.txn.snapshot_isolation.enabled # Use SELECT FOR UPDATE in a subquery under read committed isolation. statement ok diff --git a/pkg/ccl/logictestccl/testdata/logic_test/refcursor b/pkg/ccl/logictestccl/testdata/logic_test/refcursor index 29ae97ca0a1e..fc737c735031 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/refcursor +++ b/pkg/ccl/logictestccl/testdata/logic_test/refcursor @@ -1,3 +1,5 @@ +# LogicTest: !local-mixed-23.1 + statement ok CREATE TABLE xy (x INT, y INT); diff --git a/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row b/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row index 9ba0e1259ff6..57a7a7438588 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row +++ b/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row @@ -108,7 +108,7 @@ SELECT create_statement FROM [SHOW CREATE TABLE regional_by_row_table_explicit_c CREATE TABLE public.regional_by_row_table_explicit_crdb_region_column ( pk INT8 NOT NULL, a INT8 NULL, - crdb_region public.crdb_internal_region NOT NULL, + crdb_region multi_region_test_db.public.crdb_internal_region NOT NULL, CONSTRAINT regional_by_row_table_explicit_crdb_region_column_pkey PRIMARY KEY (pk ASC), FAMILY fam_0_pk_a_crdb_region (pk, a, crdb_region) ) LOCALITY REGIONAL BY ROW @@ -117,9 +117,15 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row_table_explicit_crdb_region_column] ORDER BY partition_name, index_name ---- -num_voters = 5,\nvoter_constraints = '{+region=ap-southeast-2: 2}',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table_explicit_crdb_region_column@regional_by_row_table_explicit_crdb_region_column_pkey ap-southeast-2 -num_voters = 5,\nvoter_constraints = '{+region=ca-central-1: 2}',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_table_explicit_crdb_region_column@regional_by_row_table_explicit_crdb_region_column_pkey ca-central-1 -num_voters = 5,\nvoter_constraints = '{+region=us-east-1: 2}',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row_table_explicit_crdb_region_column@regional_by_row_table_explicit_crdb_region_column_pkey us-east-1 +num_voters = 5, +voter_constraints = '{+region=ap-southeast-2: 2}', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table_explicit_crdb_region_column@regional_by_row_table_explicit_crdb_region_column_pkey ap-southeast-2 +num_voters = 5, +voter_constraints = '{+region=ca-central-1: 2}', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_table_explicit_crdb_region_column@regional_by_row_table_explicit_crdb_region_column_pkey ca-central-1 +num_voters = 5, +voter_constraints = '{+region=us-east-1: 2}', +lease_preferences = '[[+region=us-east-1]]' regional_by_row_table_explicit_crdb_region_column@regional_by_row_table_explicit_crdb_region_column_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row_table_explicit_crdb_region_column @@ -171,35 +177,59 @@ query T SELECT create_statement FROM [SHOW CREATE TABLE regional_by_row_table] ---- CREATE TABLE public.regional_by_row_table ( - pk INT8 NOT NULL, - pk2 INT8 NOT NULL, - a INT8 NOT NULL, - b INT8 NOT NULL, - j JSONB NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT regional_by_row_table_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_table_a_idx (a ASC), - UNIQUE INDEX regional_by_row_table_b_key (b ASC), - INVERTED INDEX regional_by_row_table_j_idx (j), - FAMILY fam_0_pk_pk2_a_b_j_crdb_region (pk, pk2, a, b, j, crdb_region) + pk INT8 NOT NULL, + pk2 INT8 NOT NULL, + a INT8 NOT NULL, + b INT8 NOT NULL, + j JSONB NULL, + crdb_region multi_region_test_db.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::multi_region_test_db.public.crdb_internal_region, + CONSTRAINT regional_by_row_table_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_table_a_idx (a ASC), + UNIQUE INDEX regional_by_row_table_b_key (b ASC), + INVERTED INDEX regional_by_row_table_j_idx (j), + FAMILY fam_0_pk_pk2_a_b_j_crdb_region (pk, pk2, a, b, j, crdb_region) ) LOCALITY REGIONAL BY ROW query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row_table] ORDER BY partition_name, index_name ---- -num_voters = 5,\nvoter_constraints = '{+region=ap-southeast-2: 2}',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table@regional_by_row_table_a_idx ap-southeast-2 -num_voters = 5,\nvoter_constraints = '{+region=ap-southeast-2: 2}',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table@regional_by_row_table_b_key ap-southeast-2 -num_voters = 5,\nvoter_constraints = '{+region=ap-southeast-2: 2}',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table@regional_by_row_table_j_idx ap-southeast-2 -num_voters = 5,\nvoter_constraints = '{+region=ap-southeast-2: 2}',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table@regional_by_row_table_pkey ap-southeast-2 -num_voters = 5,\nvoter_constraints = '{+region=ca-central-1: 2}',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_table@regional_by_row_table_a_idx ca-central-1 -num_voters = 5,\nvoter_constraints = '{+region=ca-central-1: 2}',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_table@regional_by_row_table_b_key ca-central-1 -num_voters = 5,\nvoter_constraints = '{+region=ca-central-1: 2}',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_table@regional_by_row_table_j_idx ca-central-1 -num_voters = 5,\nvoter_constraints = '{+region=ca-central-1: 2}',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_table@regional_by_row_table_pkey ca-central-1 -num_voters = 5,\nvoter_constraints = '{+region=us-east-1: 2}',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row_table@regional_by_row_table_a_idx us-east-1 -num_voters = 5,\nvoter_constraints = '{+region=us-east-1: 2}',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row_table@regional_by_row_table_b_key us-east-1 -num_voters = 5,\nvoter_constraints = '{+region=us-east-1: 2}',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row_table@regional_by_row_table_j_idx us-east-1 -num_voters = 5,\nvoter_constraints = '{+region=us-east-1: 2}',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row_table@regional_by_row_table_pkey us-east-1 +num_voters = 5, +voter_constraints = '{+region=ap-southeast-2: 2}', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table@regional_by_row_table_a_idx ap-southeast-2 +num_voters = 5, +voter_constraints = '{+region=ap-southeast-2: 2}', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table@regional_by_row_table_b_key ap-southeast-2 +num_voters = 5, +voter_constraints = '{+region=ap-southeast-2: 2}', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table@regional_by_row_table_j_idx ap-southeast-2 +num_voters = 5, +voter_constraints = '{+region=ap-southeast-2: 2}', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table@regional_by_row_table_pkey ap-southeast-2 +num_voters = 5, +voter_constraints = '{+region=ca-central-1: 2}', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_table@regional_by_row_table_a_idx ca-central-1 +num_voters = 5, +voter_constraints = '{+region=ca-central-1: 2}', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_table@regional_by_row_table_b_key ca-central-1 +num_voters = 5, +voter_constraints = '{+region=ca-central-1: 2}', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_table@regional_by_row_table_j_idx ca-central-1 +num_voters = 5, +voter_constraints = '{+region=ca-central-1: 2}', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_table@regional_by_row_table_pkey ca-central-1 +num_voters = 5, +voter_constraints = '{+region=us-east-1: 2}', +lease_preferences = '[[+region=us-east-1]]' regional_by_row_table@regional_by_row_table_a_idx us-east-1 +num_voters = 5, +voter_constraints = '{+region=us-east-1: 2}', +lease_preferences = '[[+region=us-east-1]]' regional_by_row_table@regional_by_row_table_b_key us-east-1 +num_voters = 5, +voter_constraints = '{+region=us-east-1: 2}', +lease_preferences = '[[+region=us-east-1]]' regional_by_row_table@regional_by_row_table_j_idx us-east-1 +num_voters = 5, +voter_constraints = '{+region=us-east-1: 2}', +lease_preferences = '[[+region=us-east-1]]' regional_by_row_table@regional_by_row_table_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row_table @@ -251,7 +281,7 @@ CREATE TABLE public.regional_by_row_table ( a INT8 NOT NULL, b INT8 NOT NULL, j JSONB NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region multi_region_test_db.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::multi_region_test_db.public.crdb_internal_region, CONSTRAINT regional_by_row_table_pkey PRIMARY KEY (pk ASC), INDEX regional_by_row_table_a_idx (a ASC), UNIQUE INDEX regional_by_row_table_b_key (b ASC), @@ -293,7 +323,7 @@ CREATE TABLE public.regional_by_row_table ( a INT8 NOT NULL, b INT8 NOT NULL, j JSONB NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region multi_region_test_db.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::multi_region_test_db.public.crdb_internal_region, unique_col INT8 NOT NULL, CONSTRAINT regional_by_row_table_pkey PRIMARY KEY (pk ASC), INDEX regional_by_row_table_a_idx (a ASC), @@ -308,21 +338,52 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row_table] ORDER BY partition_name, index_name ---- -num_voters = 5,\nvoter_constraints = '{+region=ap-southeast-2: 2}',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table@regional_by_row_table_a_idx ap-southeast-2 -num_voters = 5,\nvoter_constraints = '{+region=ap-southeast-2: 2}',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table@regional_by_row_table_b_key ap-southeast-2 -num_voters = 5,\nvoter_constraints = '{+region=ap-southeast-2: 2}',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table@regional_by_row_table_j_idx ap-southeast-2 -num_voters = 5,\nvoter_constraints = '{+region=ap-southeast-2: 2}',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table@regional_by_row_table_pkey ap-southeast-2 -num_voters = 5,\nvoter_constraints = '{+region=ap-southeast-2: 2}',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table@regional_by_row_table_unique_col_key ap-southeast-2 -num_voters = 5,\nvoter_constraints = '{+region=ca-central-1: 2}',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_table@regional_by_row_table_a_idx ca-central-1 -num_voters = 5,\nvoter_constraints = '{+region=ca-central-1: 2}',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_table@regional_by_row_table_b_key ca-central-1 -num_voters = 5,\nvoter_constraints = '{+region=ca-central-1: 2}',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_table@regional_by_row_table_j_idx ca-central-1 -num_voters = 5,\nvoter_constraints = '{+region=ca-central-1: 2}',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_table@regional_by_row_table_pkey ca-central-1 -num_voters = 5,\nvoter_constraints = '{+region=ca-central-1: 2}',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_table@regional_by_row_table_unique_col_key ca-central-1 -gc.ttlseconds = 10,\nnum_voters = 5,\nvoter_constraints = '{+region=us-east-1: 2}',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row_table@regional_by_row_table_a_idx us-east-1 -num_voters = 5,\nvoter_constraints = '{+region=us-east-1: 2}',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row_table@regional_by_row_table_b_key us-east-1 -num_voters = 5,\nvoter_constraints = '{+region=us-east-1: 2}',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row_table@regional_by_row_table_j_idx us-east-1 -num_voters = 5,\nvoter_constraints = '{+region=us-east-1: 2}',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row_table@regional_by_row_table_pkey us-east-1 -num_voters = 5,\nvoter_constraints = '{+region=us-east-1: 2}',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row_table@regional_by_row_table_unique_col_key us-east-1 +num_voters = 5, +voter_constraints = '{+region=ap-southeast-2: 2}', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table@regional_by_row_table_a_idx ap-southeast-2 +num_voters = 5, +voter_constraints = '{+region=ap-southeast-2: 2}', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table@regional_by_row_table_b_key ap-southeast-2 +num_voters = 5, +voter_constraints = '{+region=ap-southeast-2: 2}', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table@regional_by_row_table_j_idx ap-southeast-2 +num_voters = 5, +voter_constraints = '{+region=ap-southeast-2: 2}', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table@regional_by_row_table_pkey ap-southeast-2 +num_voters = 5, +voter_constraints = '{+region=ap-southeast-2: 2}', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table@regional_by_row_table_unique_col_key ap-southeast-2 +num_voters = 5, +voter_constraints = '{+region=ca-central-1: 2}', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_table@regional_by_row_table_a_idx ca-central-1 +num_voters = 5, +voter_constraints = '{+region=ca-central-1: 2}', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_table@regional_by_row_table_b_key ca-central-1 +num_voters = 5, +voter_constraints = '{+region=ca-central-1: 2}', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_table@regional_by_row_table_j_idx ca-central-1 +num_voters = 5, +voter_constraints = '{+region=ca-central-1: 2}', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_table@regional_by_row_table_pkey ca-central-1 +num_voters = 5, +voter_constraints = '{+region=ca-central-1: 2}', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_table@regional_by_row_table_unique_col_key ca-central-1 +gc.ttlseconds = 10, +num_voters = 5, +voter_constraints = '{+region=us-east-1: 2}', +lease_preferences = '[[+region=us-east-1]]' regional_by_row_table@regional_by_row_table_a_idx us-east-1 +num_voters = 5, +voter_constraints = '{+region=us-east-1: 2}', +lease_preferences = '[[+region=us-east-1]]' regional_by_row_table@regional_by_row_table_b_key us-east-1 +num_voters = 5, +voter_constraints = '{+region=us-east-1: 2}', +lease_preferences = '[[+region=us-east-1]]' regional_by_row_table@regional_by_row_table_j_idx us-east-1 +num_voters = 5, +voter_constraints = '{+region=us-east-1: 2}', +lease_preferences = '[[+region=us-east-1]]' regional_by_row_table@regional_by_row_table_pkey us-east-1 +num_voters = 5, +voter_constraints = '{+region=us-east-1: 2}', +lease_preferences = '[[+region=us-east-1]]' regional_by_row_table@regional_by_row_table_unique_col_key us-east-1 statement ok ALTER TABLE regional_by_row_table DROP COLUMN unique_col @@ -467,7 +528,7 @@ CREATE TABLE public.regional_by_row_table ( a INT8 NOT NULL, b INT8 NOT NULL, j JSONB NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region multi_region_test_db.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::multi_region_test_db.public.crdb_internal_region, CONSTRAINT regional_by_row_table_pkey PRIMARY KEY (pk2 ASC), INDEX regional_by_row_table_a_idx (a ASC), UNIQUE INDEX regional_by_row_table_b_key (b ASC), @@ -528,9 +589,9 @@ query T SELECT create_statement FROM [SHOW CREATE TABLE regional_by_row_table_pk_defined_separately] ---- CREATE TABLE public.regional_by_row_table_pk_defined_separately ( - pk INT8 NOT NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT "primary" PRIMARY KEY (pk ASC) + pk INT8 NOT NULL, + crdb_region multi_region_test_db.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::multi_region_test_db.public.crdb_internal_region, + CONSTRAINT "primary" PRIMARY KEY (pk ASC) ) LOCALITY REGIONAL BY ROW # Tests for REGIONAL BY TABLE AS @@ -565,29 +626,47 @@ query T SELECT create_statement FROM [SHOW CREATE TABLE regional_by_row_table_as] ---- CREATE TABLE public.regional_by_row_table_as ( - pk INT8 NOT NULL, - a INT8 NULL, - b INT8 NULL, - crdb_region_col public.crdb_internal_region NOT NULL AS (CASE WHEN pk <= 10:::INT8 THEN 'us-east-1':::public.crdb_internal_region ELSE 'ap-southeast-2':::public.crdb_internal_region END) STORED, - CONSTRAINT regional_by_row_table_as_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_table_as_a_idx (a ASC), - UNIQUE INDEX regional_by_row_table_as_b_key (b ASC), - FAMILY fam_0_pk_a_b_crdb_region_col (pk, a, b, crdb_region_col) + pk INT8 NOT NULL, + a INT8 NULL, + b INT8 NULL, + crdb_region_col multi_region_test_db.public.crdb_internal_region NOT NULL AS (CASE WHEN pk <= 10:::INT8 THEN 'us-east-1':::multi_region_test_db.public.crdb_internal_region ELSE 'ap-southeast-2':::multi_region_test_db.public.crdb_internal_region END) STORED, + CONSTRAINT regional_by_row_table_as_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_table_as_a_idx (a ASC), + UNIQUE INDEX regional_by_row_table_as_b_key (b ASC), + FAMILY fam_0_pk_a_b_crdb_region_col (pk, a, b, crdb_region_col) ) LOCALITY REGIONAL BY ROW AS crdb_region_col query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row_table_as] ORDER BY partition_name, index_name ---- -num_voters = 5,\nvoter_constraints = '{+region=ap-southeast-2: 2}',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table_as@regional_by_row_table_as_a_idx ap-southeast-2 -num_voters = 5,\nvoter_constraints = '{+region=ap-southeast-2: 2}',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table_as@regional_by_row_table_as_b_key ap-southeast-2 -num_voters = 5,\nvoter_constraints = '{+region=ap-southeast-2: 2}',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table_as@regional_by_row_table_as_pkey ap-southeast-2 -num_voters = 5,\nvoter_constraints = '{+region=ca-central-1: 2}',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_table_as@regional_by_row_table_as_a_idx ca-central-1 -num_voters = 5,\nvoter_constraints = '{+region=ca-central-1: 2}',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_table_as@regional_by_row_table_as_b_key ca-central-1 -num_voters = 5,\nvoter_constraints = '{+region=ca-central-1: 2}',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_table_as@regional_by_row_table_as_pkey ca-central-1 -num_voters = 5,\nvoter_constraints = '{+region=us-east-1: 2}',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row_table_as@regional_by_row_table_as_a_idx us-east-1 -num_voters = 5,\nvoter_constraints = '{+region=us-east-1: 2}',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row_table_as@regional_by_row_table_as_b_key us-east-1 -num_voters = 5,\nvoter_constraints = '{+region=us-east-1: 2}',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row_table_as@regional_by_row_table_as_pkey us-east-1 +num_voters = 5, +voter_constraints = '{+region=ap-southeast-2: 2}', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table_as@regional_by_row_table_as_a_idx ap-southeast-2 +num_voters = 5, +voter_constraints = '{+region=ap-southeast-2: 2}', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table_as@regional_by_row_table_as_b_key ap-southeast-2 +num_voters = 5, +voter_constraints = '{+region=ap-southeast-2: 2}', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_table_as@regional_by_row_table_as_pkey ap-southeast-2 +num_voters = 5, +voter_constraints = '{+region=ca-central-1: 2}', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_table_as@regional_by_row_table_as_a_idx ca-central-1 +num_voters = 5, +voter_constraints = '{+region=ca-central-1: 2}', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_table_as@regional_by_row_table_as_b_key ca-central-1 +num_voters = 5, +voter_constraints = '{+region=ca-central-1: 2}', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_table_as@regional_by_row_table_as_pkey ca-central-1 +num_voters = 5, +voter_constraints = '{+region=us-east-1: 2}', +lease_preferences = '[[+region=us-east-1]]' regional_by_row_table_as@regional_by_row_table_as_a_idx us-east-1 +num_voters = 5, +voter_constraints = '{+region=us-east-1: 2}', +lease_preferences = '[[+region=us-east-1]]' regional_by_row_table_as@regional_by_row_table_as_b_key us-east-1 +num_voters = 5, +voter_constraints = '{+region=us-east-1: 2}', +lease_preferences = '[[+region=us-east-1]]' regional_by_row_table_as@regional_by_row_table_as_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row_table_as @@ -650,17 +729,29 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE t_regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 5,\nvoter_constraints = '{+region=ap-southeast-2: 2}',\nlease_preferences = '[[+region=ap-southeast-2]]' t_regional_by_row@t_regional_by_row_pkey ap-southeast-2 -num_voters = 5,\nvoter_constraints = '{+region=ca-central-1: 2}',\nlease_preferences = '[[+region=ca-central-1]]' t_regional_by_row@t_regional_by_row_pkey ca-central-1 -num_voters = 5,\nvoter_constraints = '{+region=us-east-1: 2}',\nlease_preferences = '[[+region=us-east-1]]' t_regional_by_row@t_regional_by_row_pkey us-east-1 +num_voters = 5, +voter_constraints = '{+region=ap-southeast-2: 2}', +lease_preferences = '[[+region=ap-southeast-2]]' t_regional_by_row@t_regional_by_row_pkey ap-southeast-2 +num_voters = 5, +voter_constraints = '{+region=ca-central-1: 2}', +lease_preferences = '[[+region=ca-central-1]]' t_regional_by_row@t_regional_by_row_pkey ca-central-1 +num_voters = 5, +voter_constraints = '{+region=us-east-1: 2}', +lease_preferences = '[[+region=us-east-1]]' t_regional_by_row@t_regional_by_row_pkey us-east-1 query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE t_regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 5,\nvoter_constraints = '{+region=ap-southeast-2: 2}',\nlease_preferences = '[[+region=ap-southeast-2]]' t_regional_by_row@t_regional_by_row_pkey ap-southeast-2 -num_voters = 5,\nvoter_constraints = '{+region=ca-central-1: 2}',\nlease_preferences = '[[+region=ca-central-1]]' t_regional_by_row@t_regional_by_row_pkey ca-central-1 -num_voters = 5,\nvoter_constraints = '{+region=us-east-1: 2}',\nlease_preferences = '[[+region=us-east-1]]' t_regional_by_row@t_regional_by_row_pkey us-east-1 +num_voters = 5, +voter_constraints = '{+region=ap-southeast-2: 2}', +lease_preferences = '[[+region=ap-southeast-2]]' t_regional_by_row@t_regional_by_row_pkey ap-southeast-2 +num_voters = 5, +voter_constraints = '{+region=ca-central-1: 2}', +lease_preferences = '[[+region=ca-central-1]]' t_regional_by_row@t_regional_by_row_pkey ca-central-1 +num_voters = 5, +voter_constraints = '{+region=us-east-1: 2}', +lease_preferences = '[[+region=us-east-1]]' t_regional_by_row@t_regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE t_regional_by_row @@ -699,17 +790,29 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE t_regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' t_regional_by_row@t_regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' t_regional_by_row@t_regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' t_regional_by_row@t_regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' t_regional_by_row@t_regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' t_regional_by_row@t_regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' t_regional_by_row@t_regional_by_row_pkey us-east-1 query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE t_regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' t_regional_by_row@t_regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' t_regional_by_row@t_regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' t_regional_by_row@t_regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' t_regional_by_row@t_regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' t_regional_by_row@t_regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' t_regional_by_row@t_regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE t_regional_by_row @@ -796,21 +899,25 @@ CREATE TABLE regional_by_row_as ( query TT SHOW CREATE TABLE regional_by_row ---- -regional_by_row CREATE TABLE public.regional_by_row ( - pk INT8 NOT NULL, - i INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_i_idx (i ASC), - FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) - ) LOCALITY REGIONAL BY ROW +regional_by_row CREATE TABLE public.regional_by_row ( + pk INT8 NOT NULL, + i INT8 NULL, + crdb_region add_regions.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::add_regions.public.crdb_internal_region, + CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_i_idx (i ASC), + FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) +) LOCALITY REGIONAL BY ROW query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row @@ -828,21 +935,25 @@ DATABASE add_regions ALTER DATABASE add_regions CONFIGURE ZONE USING query TT SHOW CREATE TABLE regional_by_row_as ---- -regional_by_row_as CREATE TABLE public.regional_by_row_as ( - pk INT8 NOT NULL, - i INT8 NULL, - cr public.crdb_internal_region NOT NULL DEFAULT 'ca-central-1':::public.crdb_internal_region, - CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_as_i_idx (i ASC), - FAMILY fam_0_cr_pk_i (cr, pk, i) - ) LOCALITY REGIONAL BY ROW AS cr +regional_by_row_as CREATE TABLE public.regional_by_row_as ( + pk INT8 NOT NULL, + i INT8 NULL, + cr add_regions.public.crdb_internal_region NOT NULL DEFAULT 'ca-central-1':::add_regions.public.crdb_internal_region, + CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_as_i_idx (i ASC), + FAMILY fam_0_cr_pk_i (cr, pk, i) +) LOCALITY REGIONAL BY ROW AS cr query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row_as] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_pkey ca-central-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row_as @@ -868,23 +979,31 @@ SELECT crdb_internal.validate_multi_region_zone_configs() query TT SHOW CREATE TABLE regional_by_row ---- -regional_by_row CREATE TABLE public.regional_by_row ( - pk INT8 NOT NULL, - i INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_i_idx (i ASC), - FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) - ) LOCALITY REGIONAL BY ROW +regional_by_row CREATE TABLE public.regional_by_row ( + pk INT8 NOT NULL, + i INT8 NULL, + crdb_region add_regions.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::add_regions.public.crdb_internal_region, + CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_i_idx (i ASC), + FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) +) LOCALITY REGIONAL BY ROW query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row @@ -902,24 +1021,32 @@ DATABASE add_regions ALTER DATABASE add_regions CONFIGURE ZONE USING query TT SHOW CREATE TABLE regional_by_row_as ---- -regional_by_row_as CREATE TABLE public.regional_by_row_as ( - pk INT8 NOT NULL, - i INT8 NULL, - cr public.crdb_internal_region NOT NULL DEFAULT 'ca-central-1':::public.crdb_internal_region, - CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_as_i_idx (i ASC), - FAMILY fam_0_cr_pk_i (cr, pk, i) - ) LOCALITY REGIONAL BY ROW AS cr +regional_by_row_as CREATE TABLE public.regional_by_row_as ( + pk INT8 NOT NULL, + i INT8 NULL, + cr add_regions.public.crdb_internal_region NOT NULL DEFAULT 'ca-central-1':::add_regions.public.crdb_internal_region, + CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_as_i_idx (i ASC), + FAMILY fam_0_cr_pk_i (cr, pk, i) +) LOCALITY REGIONAL BY ROW AS cr query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row_as] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row_as@regional_by_row_as_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row_as@regional_by_row_as_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row_as@regional_by_row_as_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row_as@regional_by_row_as_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row_as @@ -941,26 +1068,38 @@ ALTER DATABASE add_regions ADD REGION "ap-southeast-2" query TT SHOW CREATE TABLE regional_by_row ---- -regional_by_row CREATE TABLE public.regional_by_row ( - pk INT8 NOT NULL, - i INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_i_idx (i ASC), - FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) - ) LOCALITY REGIONAL BY ROW +regional_by_row CREATE TABLE public.regional_by_row ( + pk INT8 NOT NULL, + i INT8 NULL, + crdb_region add_regions.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::add_regions.public.crdb_internal_region, + CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_i_idx (i ASC), + FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) +) LOCALITY REGIONAL BY ROW query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row @@ -978,25 +1117,37 @@ DATABASE add_regions ALTER DATABASE add_regions CONFIGURE ZONE USING query TT SHOW CREATE TABLE regional_by_row_as ---- -regional_by_row_as CREATE TABLE public.regional_by_row_as ( - pk INT8 NOT NULL, - i INT8 NULL, - cr public.crdb_internal_region NOT NULL DEFAULT 'ca-central-1':::public.crdb_internal_region, - CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_as_i_idx (i ASC), - FAMILY fam_0_cr_pk_i (cr, pk, i) - ) LOCALITY REGIONAL BY ROW AS cr +regional_by_row_as CREATE TABLE public.regional_by_row_as ( + pk INT8 NOT NULL, + i INT8 NULL, + cr add_regions.public.crdb_internal_region NOT NULL DEFAULT 'ca-central-1':::add_regions.public.crdb_internal_region, + CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_as_i_idx (i ASC), + FAMILY fam_0_cr_pk_i (cr, pk, i) +) LOCALITY REGIONAL BY ROW AS cr query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row_as] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_as@regional_by_row_as_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_as@regional_by_row_as_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row_as@regional_by_row_as_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row_as@regional_by_row_as_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_as@regional_by_row_as_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_as@regional_by_row_as_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row_as@regional_by_row_as_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row_as@regional_by_row_as_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row_as @@ -1044,25 +1195,37 @@ COMMIT; query TT SHOW CREATE TABLE regional_by_row ---- -regional_by_row CREATE TABLE public.regional_by_row ( - pk INT8 NOT NULL, - i INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_i_idx (i ASC), - FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) - ) LOCALITY REGIONAL BY ROW +regional_by_row CREATE TABLE public.regional_by_row ( + pk INT8 NOT NULL, + i INT8 NULL, + crdb_region add_regions_in_txn.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::add_regions_in_txn.public.crdb_internal_region, + CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_i_idx (i ASC), + FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) +) LOCALITY REGIONAL BY ROW query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row @@ -1083,13 +1246,13 @@ CREATE TABLE regional_by_row_like (LIKE regional_by_row) query TT SHOW CREATE TABLE regional_by_row_like ---- -regional_by_row_like CREATE TABLE public.regional_by_row_like ( - pk INT8 NOT NULL, - i INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL, - rowid INT8 NOT VISIBLE NOT NULL DEFAULT unique_rowid(), - CONSTRAINT regional_by_row_like_pkey PRIMARY KEY (rowid ASC) - ) LOCALITY REGIONAL BY TABLE IN PRIMARY REGION +regional_by_row_like CREATE TABLE public.regional_by_row_like ( + pk INT8 NOT NULL, + i INT8 NULL, + crdb_region add_regions_in_txn.public.crdb_internal_region NOT VISIBLE NOT NULL, + rowid INT8 NOT VISIBLE NOT NULL DEFAULT unique_rowid(), + CONSTRAINT regional_by_row_like_pkey PRIMARY KEY (rowid ASC) +) LOCALITY REGIONAL BY TABLE IN PRIMARY REGION statement ok DROP TABLE regional_by_row_like @@ -1100,13 +1263,13 @@ CREATE TABLE regional_by_row_like (LIKE regional_by_row INCLUDING INDEXES) query TT SHOW CREATE TABLE regional_by_row_like ---- -regional_by_row_like CREATE TABLE public.regional_by_row_like ( - pk INT8 NOT NULL, - i INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT regional_by_row_pkey PRIMARY KEY (crdb_region ASC, pk ASC), - INDEX regional_by_row_i_idx (crdb_region ASC, i ASC) - ) LOCALITY REGIONAL BY TABLE IN PRIMARY REGION +regional_by_row_like CREATE TABLE public.regional_by_row_like ( + pk INT8 NOT NULL, + i INT8 NULL, + crdb_region add_regions_in_txn.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::add_regions_in_txn.public.crdb_internal_region, + CONSTRAINT regional_by_row_pkey PRIMARY KEY (crdb_region ASC, pk ASC), + INDEX regional_by_row_i_idx (crdb_region ASC, i ASC) +) LOCALITY REGIONAL BY TABLE IN PRIMARY REGION statement ok @@ -1118,13 +1281,13 @@ CREATE TABLE regional_by_row_like (LIKE regional_by_row INCLUDING ALL) query TT SHOW CREATE TABLE regional_by_row_like ---- -regional_by_row_like CREATE TABLE public.regional_by_row_like ( - pk INT8 NOT NULL, - i INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT regional_by_row_pkey PRIMARY KEY (crdb_region ASC, pk ASC), - INDEX regional_by_row_i_idx (crdb_region ASC, i ASC) - ) LOCALITY REGIONAL BY TABLE IN PRIMARY REGION +regional_by_row_like CREATE TABLE public.regional_by_row_like ( + pk INT8 NOT NULL, + i INT8 NULL, + crdb_region add_regions_in_txn.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::add_regions_in_txn.public.crdb_internal_region, + CONSTRAINT regional_by_row_pkey PRIMARY KEY (crdb_region ASC, pk ASC), + INDEX regional_by_row_i_idx (crdb_region ASC, i ASC) +) LOCALITY REGIONAL BY TABLE IN PRIMARY REGION statement ok DROP TABLE regional_by_row_like @@ -1132,25 +1295,37 @@ DROP TABLE regional_by_row_like query TT SHOW CREATE TABLE regional_by_row_as ---- -regional_by_row_as CREATE TABLE public.regional_by_row_as ( - pk INT8 NOT NULL, - i INT8 NULL, - cr public.crdb_internal_region NOT NULL DEFAULT 'ca-central-1':::public.crdb_internal_region, - CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_as_i_idx (i ASC), - FAMILY fam_0_cr_pk_i (cr, pk, i) - ) LOCALITY REGIONAL BY ROW AS cr +regional_by_row_as CREATE TABLE public.regional_by_row_as ( + pk INT8 NOT NULL, + i INT8 NULL, + cr add_regions_in_txn.public.crdb_internal_region NOT NULL DEFAULT 'ca-central-1':::add_regions_in_txn.public.crdb_internal_region, + CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_as_i_idx (i ASC), + FAMILY fam_0_cr_pk_i (cr, pk, i) +) LOCALITY REGIONAL BY ROW AS cr query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row_as] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_as@regional_by_row_as_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_as@regional_by_row_as_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row_as@regional_by_row_as_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row_as@regional_by_row_as_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_as@regional_by_row_as_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_as@regional_by_row_as_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row_as@regional_by_row_as_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row_as@regional_by_row_as_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row_as @@ -1180,17 +1355,17 @@ query TT SHOW CREATE TABLE regional_by_row_unique_in_column ---- regional_by_row_unique_in_column CREATE TABLE public.regional_by_row_unique_in_column ( - a INT8 NOT NULL, - b INT8 NULL, - c INT8 NULL, - d INT8 NULL, - e INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT regional_by_row_unique_in_column_pkey PRIMARY KEY (a ASC), - UNIQUE INDEX regional_by_row_unique_in_column_b_key (b ASC), - UNIQUE INDEX regional_by_row_unique_in_column_d_e_key (d ASC, e ASC), - FAMILY fam_0_a_b_c_d_e_crdb_region (a, b, c, d, e, crdb_region) - ) LOCALITY REGIONAL BY ROW + a INT8 NOT NULL, + b INT8 NULL, + c INT8 NULL, + d INT8 NULL, + e INT8 NULL, + crdb_region add_regions_in_txn.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::add_regions_in_txn.public.crdb_internal_region, + CONSTRAINT regional_by_row_unique_in_column_pkey PRIMARY KEY (a ASC), + UNIQUE INDEX regional_by_row_unique_in_column_b_key (b ASC), + UNIQUE INDEX regional_by_row_unique_in_column_d_e_key (d ASC, e ASC), + FAMILY fam_0_a_b_c_d_e_crdb_region (a, b, c, d, e, crdb_region) +) LOCALITY REGIONAL BY ROW statement ok CREATE TABLE regional_by_row_fk ( @@ -1206,21 +1381,21 @@ CREATE TABLE regional_by_row_fk ( query TT SHOW CREATE TABLE regional_by_row_fk ---- -regional_by_row_fk CREATE TABLE public.regional_by_row_fk ( - f INT8 NOT NULL, - g INT8 NULL, - h INT8 NULL, - i INT8 NULL, - j INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT regional_by_row_fk_pkey PRIMARY KEY (f ASC), - CONSTRAINT ij_fk FOREIGN KEY (i, j) REFERENCES public.regional_by_row_unique_in_column(e, d), - CONSTRAINT regional_by_row_fk_g_fkey FOREIGN KEY (g) REFERENCES public.regional_by_row_unique_in_column(a), - CONSTRAINT regional_by_row_fk_h_fkey FOREIGN KEY (h) REFERENCES public.regional_by_row_unique_in_column(b), - UNIQUE INDEX regional_by_row_fk_g_key (g ASC), - UNIQUE INDEX regional_by_row_fk_h_key (h ASC), - FAMILY fam_0_f_g_h_i_j_crdb_region (f, g, h, i, j, crdb_region) - ) LOCALITY REGIONAL BY ROW +regional_by_row_fk CREATE TABLE public.regional_by_row_fk ( + f INT8 NOT NULL, + g INT8 NULL, + h INT8 NULL, + i INT8 NULL, + j INT8 NULL, + crdb_region add_regions_in_txn.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::add_regions_in_txn.public.crdb_internal_region, + CONSTRAINT regional_by_row_fk_pkey PRIMARY KEY (f ASC), + CONSTRAINT ij_fk FOREIGN KEY (i, j) REFERENCES public.regional_by_row_unique_in_column(e, d), + CONSTRAINT regional_by_row_fk_g_fkey FOREIGN KEY (g) REFERENCES public.regional_by_row_unique_in_column(a), + CONSTRAINT regional_by_row_fk_h_fkey FOREIGN KEY (h) REFERENCES public.regional_by_row_unique_in_column(b), + UNIQUE INDEX regional_by_row_fk_g_key (g ASC), + UNIQUE INDEX regional_by_row_fk_h_key (h ASC), + FAMILY fam_0_f_g_h_i_j_crdb_region (f, g, h, i, j, crdb_region) +) LOCALITY REGIONAL BY ROW statement ok CREATE DATABASE drop_regions PRIMARY REGION "ca-central-1" REGIONS "us-east-1", "ap-southeast-2"; @@ -1252,10 +1427,18 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row@regional_by_row_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row @@ -1273,23 +1456,31 @@ DATABASE drop_regions ALTER DATABASE drop_regions CONFIGURE ZONE USING query TT SHOW CREATE TABLE regional_by_row ---- -regional_by_row CREATE TABLE public.regional_by_row ( - pk INT8 NOT NULL, - i INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_i_idx (i ASC), - FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) - ) LOCALITY REGIONAL BY ROW +regional_by_row CREATE TABLE public.regional_by_row ( + pk INT8 NOT NULL, + i INT8 NULL, + crdb_region drop_regions.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::drop_regions.public.crdb_internal_region, + CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_i_idx (i ASC), + FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) +) LOCALITY REGIONAL BY ROW query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row_as] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_as@regional_by_row_as_i_idx ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ap-southeast-2]',\nlease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_as@regional_by_row_as_pkey ap-southeast-2 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_as@regional_by_row_as_i_idx ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ap-southeast-2]', +lease_preferences = '[[+region=ap-southeast-2]]' regional_by_row_as@regional_by_row_as_pkey ap-southeast-2 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_pkey ca-central-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row_as @@ -1307,14 +1498,14 @@ DATABASE drop_regions ALTER DATABASE drop_regions CONFIGURE ZONE USING query TT SHOW CREATE TABLE regional_by_row_as ---- -regional_by_row_as CREATE TABLE public.regional_by_row_as ( - pk INT8 NOT NULL, - i INT8 NULL, - cr public.crdb_internal_region NOT NULL DEFAULT 'ca-central-1':::public.crdb_internal_region, - CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_as_i_idx (i ASC), - FAMILY fam_0_cr_pk_i (cr, pk, i) - ) LOCALITY REGIONAL BY ROW AS cr +regional_by_row_as CREATE TABLE public.regional_by_row_as ( + pk INT8 NOT NULL, + i INT8 NULL, + cr drop_regions.public.crdb_internal_region NOT NULL DEFAULT 'ca-central-1':::drop_regions.public.crdb_internal_region, + CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_as_i_idx (i ASC), + FAMILY fam_0_cr_pk_i (cr, pk, i) +) LOCALITY REGIONAL BY ROW AS cr statement ok @@ -1327,10 +1518,18 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row@regional_by_row_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row @@ -1348,23 +1547,31 @@ DATABASE drop_regions ALTER DATABASE drop_regions CONFIGURE ZONE USING query TT SHOW CREATE TABLE regional_by_row ---- -regional_by_row CREATE TABLE public.regional_by_row ( - pk INT8 NOT NULL, - i INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_i_idx (i ASC), - FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) - ) LOCALITY REGIONAL BY ROW +regional_by_row CREATE TABLE public.regional_by_row ( + pk INT8 NOT NULL, + i INT8 NULL, + crdb_region drop_regions.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::drop_regions.public.crdb_internal_region, + CONSTRAINT regional_by_row_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_i_idx (i ASC), + FAMILY fam_0_pk_i_crdb_region (pk, i, crdb_region) +) LOCALITY REGIONAL BY ROW query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row_as] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_pkey ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row_as@regional_by_row_as_i_idx us-east-1 -num_voters = 3,\nvoter_constraints = '[+region=us-east-1]',\nlease_preferences = '[[+region=us-east-1]]' regional_by_row_as@regional_by_row_as_pkey us-east-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row_as@regional_by_row_as_i_idx us-east-1 +num_voters = 3, +voter_constraints = '[+region=us-east-1]', +lease_preferences = '[[+region=us-east-1]]' regional_by_row_as@regional_by_row_as_pkey us-east-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row_as @@ -1382,14 +1589,14 @@ DATABASE drop_regions ALTER DATABASE drop_regions CONFIGURE ZONE USING query TT SHOW CREATE TABLE regional_by_row_as ---- -regional_by_row_as CREATE TABLE public.regional_by_row_as ( - pk INT8 NOT NULL, - i INT8 NULL, - cr public.crdb_internal_region NOT NULL DEFAULT 'ca-central-1':::public.crdb_internal_region, - CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_as_i_idx (i ASC), - FAMILY fam_0_cr_pk_i (cr, pk, i) - ) LOCALITY REGIONAL BY ROW AS cr +regional_by_row_as CREATE TABLE public.regional_by_row_as ( + pk INT8 NOT NULL, + i INT8 NULL, + cr drop_regions.public.crdb_internal_region NOT NULL DEFAULT 'ca-central-1':::drop_regions.public.crdb_internal_region, + CONSTRAINT regional_by_row_as_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_as_i_idx (i ASC), + FAMILY fam_0_cr_pk_i (cr, pk, i) +) LOCALITY REGIONAL BY ROW AS cr # Drop us-east-1 so that only the primary region remains. statement ok @@ -1399,8 +1606,12 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row@regional_by_row_pkey ca-central-1 query TT SHOW ZONE CONFIGURATION FROM TABLE regional_by_row @@ -1432,8 +1643,12 @@ query TTT SELECT zone_config, index_name, partition_name FROM [SHOW PARTITIONS FROM TABLE regional_by_row_as] ORDER BY partition_name, index_name ---- -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_i_idx ca-central-1 -num_voters = 3,\nvoter_constraints = '[+region=ca-central-1]',\nlease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_pkey ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_i_idx ca-central-1 +num_voters = 3, +voter_constraints = '[+region=ca-central-1]', +lease_preferences = '[[+region=ca-central-1]]' regional_by_row_as@regional_by_row_as_pkey ca-central-1 # Can't drop the primary region while regional by row tables still exist in the database. statement error removing primary region from database drop_regions: cannot drop type "crdb_internal_region" because other objects \(\[drop_regions.public.regional_by_row drop_regions.public.regional_by_row_as\]\) still depend on it diff --git a/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_hash_sharded_index b/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_hash_sharded_index index 767eaaa33b03..c081e3c704ff 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_hash_sharded_index +++ b/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_hash_sharded_index @@ -46,11 +46,11 @@ query T SELECT create_statement FROM [SHOW CREATE TABLE t_to_be_hashed]; ---- CREATE TABLE public.t_to_be_hashed ( - pk INT8 NOT NULL, - b INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT t_to_be_hashed_pkey PRIMARY KEY (pk ASC), - FAMILY fam_0_b_pk_crdb_region (b, pk, crdb_region) + pk INT8 NOT NULL, + b INT8 NULL, + crdb_region multi_region_test_db.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::multi_region_test_db.public.crdb_internal_region, + CONSTRAINT t_to_be_hashed_pkey PRIMARY KEY (pk ASC), + FAMILY fam_0_b_pk_crdb_region (b, pk, crdb_region) ) LOCALITY REGIONAL BY ROW statement ok @@ -62,7 +62,7 @@ SELECT create_statement FROM [SHOW CREATE TABLE t_to_be_hashed]; CREATE TABLE public.t_to_be_hashed ( pk INT8 NOT NULL, b INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region multi_region_test_db.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::multi_region_test_db.public.crdb_internal_region, crdb_internal_b_shard_16 INT8 NOT VISIBLE NOT NULL AS (mod(fnv32(md5(crdb_internal.datums_to_bytes(b))), 16:::INT8)) VIRTUAL, CONSTRAINT t_to_be_hashed_pkey PRIMARY KEY (pk ASC), INDEX t_to_be_hashed_b_idx (b ASC) USING HASH WITH (bucket_count=16), @@ -78,7 +78,7 @@ SELECT create_statement FROM [SHOW CREATE TABLE t_to_be_hashed]; CREATE TABLE public.t_to_be_hashed ( pk INT8 NOT NULL, b INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region multi_region_test_db.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::multi_region_test_db.public.crdb_internal_region, crdb_internal_b_shard_16 INT8 NOT VISIBLE NOT NULL AS (mod(fnv32(md5(crdb_internal.datums_to_bytes(b))), 16:::INT8)) VIRTUAL, CONSTRAINT t_to_be_hashed_pkey PRIMARY KEY (pk ASC), INDEX t_to_be_hashed_b_idx (b ASC) USING HASH WITH (bucket_count=16), @@ -95,7 +95,7 @@ SELECT create_statement FROM [SHOW CREATE TABLE t_to_be_hashed]; CREATE TABLE public.t_to_be_hashed ( pk INT8 NOT NULL, b INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region multi_region_test_db.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::multi_region_test_db.public.crdb_internal_region, crdb_internal_b_shard_16 INT8 NOT VISIBLE NOT NULL AS (mod(fnv32(md5(crdb_internal.datums_to_bytes(b))), 16:::INT8)) VIRTUAL, crdb_internal_pk_shard_16 INT8 NOT VISIBLE NOT NULL AS (mod(fnv32(md5(crdb_internal.datums_to_bytes(pk))), 16:::INT8)) VIRTUAL, CONSTRAINT t_to_be_hashed_pkey PRIMARY KEY (pk ASC) USING HASH WITH (bucket_count=16), @@ -119,7 +119,7 @@ CREATE TABLE public.t_regional_pk_hashed_1 ( crdb_internal_pk_shard_16 INT8 NOT VISIBLE NOT NULL AS (mod(fnv32(md5(crdb_internal.datums_to_bytes(pk))), 16:::INT8)) VIRTUAL, pk INT8 NOT NULL, b INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region multi_region_test_db.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::multi_region_test_db.public.crdb_internal_region, crdb_internal_b_shard_16 INT8 NOT VISIBLE NOT NULL AS (mod(fnv32(md5(crdb_internal.datums_to_bytes(b))), 16:::INT8)) VIRTUAL, CONSTRAINT t_regional_pk_hashed_1_pkey PRIMARY KEY (pk ASC) USING HASH WITH (bucket_count=16), INDEX t_regional_pk_hashed_1_b_idx (b ASC) USING HASH WITH (bucket_count=16), @@ -141,7 +141,7 @@ SELECT create_statement FROM [SHOW CREATE TABLE t_regional_pk_hashed_2]; CREATE TABLE public.t_regional_pk_hashed_2 ( pk INT8 NOT NULL, b INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region multi_region_test_db.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::multi_region_test_db.public.crdb_internal_region, crdb_internal_pk_shard_16 INT8 NOT VISIBLE NOT NULL AS (mod(fnv32(md5(crdb_internal.datums_to_bytes(pk))), 16:::INT8)) VIRTUAL, crdb_internal_b_shard_16 INT8 NOT VISIBLE NOT NULL AS (mod(fnv32(md5(crdb_internal.datums_to_bytes(b))), 16:::INT8)) VIRTUAL, CONSTRAINT t_regional_pk_hashed_2_pkey PRIMARY KEY (pk ASC) USING HASH WITH (bucket_count=16), diff --git a/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_insert_fast_path b/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_insert_fast_path index 8f25d5c8ce72..82e471282428 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_insert_fast_path +++ b/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_insert_fast_path @@ -200,7 +200,7 @@ query T rowsort SELECT message FROM [SHOW KV TRACE FOR SESSION] WHERE message LIKE '%batch%' AND message LIKE '%Scan%' ---- -r69: sending batch 4 Scan to (n1,s1):1 +r68: sending batch 4 Scan to (n1,s1):1 # Regression test for #115377. statement ok diff --git a/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_query_behavior b/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_query_behavior index e19558343f50..a0823533ffae 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_query_behavior +++ b/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_query_behavior @@ -264,7 +264,7 @@ ap-southeast-2 23 query TT SELECT start_key, end_key FROM [SHOW RANGE FROM TABLE regional_by_row_table FOR ROW ('ap-southeast-2', 1)] ---- - … + … query TIIII SELECT crdb_region, pk, pk2, a, b FROM regional_by_row_table @@ -402,7 +402,7 @@ SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM INDEX r ORDER BY 1 ---- start_key end_key replicas lease_holder - …/"\x80"/0 {1} 1 + …/"\x80"/0 {1} 1 …/"\x80"/0 …/"\xc0"/0 {4} 4 …/"\xc0"/0 {7} 7 @@ -1421,7 +1421,7 @@ LIMIT 1] OFFSET 2 │ └── • group (streaming) │ columns: (b, count_rows) - │ estimated row count: 333,332 + │ estimated row count: 333,333 │ aggregate 0: count_rows() │ group by: b │ ordered: +b @@ -1443,21 +1443,21 @@ LIMIT 1] OFFSET 2 │ ├── • scan │ │ columns: (b, crdb_region, rowid) │ │ ordering: +b - │ │ estimated row count: 4 - 111,111 (11% of the table; stats collected ago) + │ │ estimated row count: 3 - 111,111 (11% of the table; stats collected ago) │ │ table: t56201@key_b_partial (partial index) │ │ spans: /"@"/!NULL-/"@"/PrefixEnd │ │ │ └── • scan │ columns: (b, crdb_region, rowid) │ ordering: +b - │ estimated row count: 4 - 111,111 (11% of the table; stats collected ago) + │ estimated row count: 3 - 111,111 (11% of the table; stats collected ago) │ table: t56201@key_b_partial (partial index) │ spans: /"\x80"/!NULL-/"\x80"/PrefixEnd │ └── • scan columns: (b, crdb_region, rowid) ordering: +b - estimated row count: 4 - 111,111 (11% of the table; stats collected ago) + estimated row count: 3 - 111,111 (11% of the table; stats collected ago) table: t56201@key_b_partial (partial index) spans: /"\xc0"/!NULL-/"\xc0"/PrefixEnd @@ -1819,20 +1819,20 @@ query T SELECT create_statement FROM [SHOW CREATE TABLE regional_by_row_table] ---- CREATE TABLE public.regional_by_row_table ( - pk INT8 NOT NULL, - pk2 INT8 NOT NULL, - a INT8 NOT NULL, - b INT8 NOT NULL, - j JSONB NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT regional_by_row_table_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_table_a_idx (a ASC), - UNIQUE INDEX regional_by_row_table_b_key (b ASC), - INVERTED INDEX regional_by_row_table_j_idx (j), - UNIQUE INDEX uniq_idx (a ASC) WHERE b > 0:::INT8, - INDEX new_idx (a ASC, b ASC), - UNIQUE INDEX unique_b_a (b ASC, a ASC), - FAMILY fam_0_pk_pk2_a_b_j_crdb_region (pk, pk2, a, b, j, crdb_region) + pk INT8 NOT NULL, + pk2 INT8 NOT NULL, + a INT8 NOT NULL, + b INT8 NOT NULL, + j JSONB NULL, + crdb_region multi_region_test_db.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::multi_region_test_db.public.crdb_internal_region, + CONSTRAINT regional_by_row_table_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_table_a_idx (a ASC), + UNIQUE INDEX regional_by_row_table_b_key (b ASC), + INVERTED INDEX regional_by_row_table_j_idx (j), + UNIQUE INDEX uniq_idx (a ASC) WHERE b > 0:::INT8, + INDEX new_idx (a ASC, b ASC), + UNIQUE INDEX unique_b_a (b ASC, a ASC), + FAMILY fam_0_pk_pk2_a_b_j_crdb_region (pk, pk2, a, b, j, crdb_region) ) LOCALITY REGIONAL BY ROW query TTB colnames @@ -3213,12 +3213,12 @@ WHERE json_col->'loc' @> '{"state":"NY"}' ---- index-join t88047 └── locality-optimized-search - ├── scan t88047@t88047_inv_idx,inverted + ├── scan t88047@t88047_inv_idx │ ├── constraint: /11: [/'ap-southeast-2' - /'ap-southeast-2'] │ ├── inverted constraint: /15/12 │ │ └── spans: ["7loc\x00\x02state\x00\x01\x12NY\x00\x01", "7loc\x00\x02state\x00\x01\x12NY\x00\x01"] │ └── limit: 2 - └── scan t88047@t88047_inv_idx,inverted + └── scan t88047@t88047_inv_idx ├── constraint: /18 │ ├── [/'ca-central-1' - /'ca-central-1'] │ └── [/'us-east-1' - /'us-east-1'] @@ -3584,18 +3584,23 @@ vectorized: true · • lookup join │ estimated row count: 1 -│ table: xyz@xyz_id2_str_abc_id_idx -│ equality: (crdb_region, id2) = (crdb_region, id2) -│ pred: ((abc_id = id) AND (id2 = '68088706-02c6-47d1-b993-a421cd761f2b')) AND (crdb_region = 'ap-southeast-2') +│ table: abc@abc_pkey +│ equality: (crdb_region, id) = (crdb_region, id) +│ equality cols are key │ -└── • index join +└── • lookup join │ estimated row count: 0 - │ table: abc@abc_pkey + │ table: abc@abc_id1_id2_idx + │ equality: (crdb_region, lookup_join_const_col_@2, id2, abc_id) = (crdb_region, id1, id2, id) + │ equality cols are key + │ pred: (id2 = '68088706-02c6-47d1-b993-a421cd761f2b') AND (crdb_region = 'ap-southeast-2') │ - └── • scan - estimated row count: 0 (0.37% of the table; stats collected ago) - table: abc@abc_id1_id2_idx - spans: [/'ap-southeast-2'/'6da4f356-e526-4b78-b9f9-bbb1a7fc12d6'/'68088706-02c6-47d1-b993-a421cd761f2b' - /'ap-southeast-2'/'6da4f356-e526-4b78-b9f9-bbb1a7fc12d6'/'68088706-02c6-47d1-b993-a421cd761f2b'] + └── • render + │ + └── • scan + estimated row count: 4 (3.7% of the table; stats collected ago) + table: xyz@xyz_id2_str_abc_id_idx + spans: [/'ap-southeast-2'/'68088706-02c6-47d1-b993-a421cd761f2b' - /'ap-southeast-2'/'68088706-02c6-47d1-b993-a421cd761f2b'] # The following should use a string of 4 lookup/index joins with a cost under 200. query T retry @@ -3631,78 +3636,86 @@ WHERE project ├── columns: str:10 id1:2 id2:5 created_at:3 updated_at:4 id1:17 id2:20 created_at:18 updated_at:19 ├── immutable - ├── stats: [rows=0.3666667] - ├── cost: 45.3262257 + ├── stats: [rows=1.031997] + ├── cost: 112.377461 ├── fd: ()-->(2,5,17,20), (5)==(20), (20)==(5), (2)==(17), (17)==(2), (3)==(18), (18)==(3), (4)==(19), (19)==(4) ├── distribution: ap-southeast-2 ├── prune: (2-5,10,17-20) - └── inner-join (lookup xyz@xyz_id2_str_abc_id_idx [as=x]) + └── inner-join (lookup abc [as=a]) ├── columns: a.id:1 a.id1:2 a.created_at:3 a.updated_at:4 a.id2:5 a.crdb_region:6 str:10 abc_id:11 x.id2:12 x.crdb_region:13 b.id:16 b.id1:17 b.created_at:18 b.updated_at:19 b.id2:20 b.crdb_region:21 - ├── key columns: [6 5] = [13 12] + ├── key columns: [6 1] = [6 1] + ├── lookup columns are key ├── immutable - ├── stats: [rows=0.3666667, distinct(11)=0.366667, null(11)=0, distinct(12)=0.366667, null(12)=0, distinct(13)=0.366667, null(13)=0, distinct(16)=0.366667, null(16)=0, distinct(20)=0.366667, null(20)=0, distinct(21)=0.366667, null(21)=0] - ├── cost: 45.302559 + ├── stats: [rows=1.031997, distinct(11)=0.936667, null(11)=0, distinct(12)=0.936667, null(12)=0, distinct(13)=0.936667, null(13)=0, distinct(16)=0.936667, null(16)=0, distinct(20)=0.936667, null(20)=0, distinct(21)=0.936667, null(21)=0] + ├── cost: 112.347141 ├── fd: ()-->(2,5,6,12,13,17,20,21), (1)-->(3,4), (1)==(11,16), (11)==(1,16), (5)==(12,20), (12)==(5,20), (6)==(13,21), (13)==(6,21), (16)-->(18,19), (16)==(1,11), (20)==(5,12), (21)==(6,13), (2)==(17), (17)==(2), (3)==(18), (18)==(3), (4)==(19), (19)==(4) ├── distribution: ap-southeast-2 ├── lookup table distribution: ap-southeast-2,ca-central-1,us-east-1 - ├── inner-join (lookup abc [as=b]) - │ ├── columns: a.id:1 a.id1:2 a.created_at:3 a.updated_at:4 a.id2:5 a.crdb_region:6 b.id:16 b.id1:17 b.created_at:18 b.updated_at:19 b.id2:20 b.crdb_region:21 - │ ├── key columns: [21 16] = [21 16] + ├── inner-join (lookup abc@abc_id1_id2_idx [as=a]) + │ ├── columns: a.id:1 a.id1:2 a.id2:5 a.crdb_region:6 str:10 abc_id:11 x.id2:12 x.crdb_region:13 b.id:16 b.id1:17 b.created_at:18 b.updated_at:19 b.id2:20 b.crdb_region:21 + │ ├── key columns: [13 17 12 11] = [6 2 5 1] │ ├── lookup columns are key │ ├── immutable - │ ├── stats: [rows=0.1344445, distinct(1)=0.134444, null(1)=0, distinct(2)=0.134444, null(2)=0, distinct(3)=0.134444, null(3)=0, distinct(4)=0.134444, null(4)=0, distinct(5)=0.134444, null(5)=0, distinct(6)=0.134444, null(6)=0, distinct(16)=0.134444, null(16)=0, distinct(17)=0.134444, null(17)=0, distinct(18)=0.134444, null(18)=0, distinct(19)=0.134444, null(19)=0, distinct(20)=0.134444, null(20)=0, distinct(21)=0.134444, null(21)=0] - │ ├── cost: 34.9459129 - │ ├── key: (16) - │ ├── fd: ()-->(2,5,6,17,20,21), (1)-->(3,4), (16)-->(18,19), (1)==(16), (16)==(1), (2)==(17), (17)==(2), (3)==(18), (18)==(3), (4)==(19), (19)==(4), (5)==(20), (20)==(5), (6)==(21), (21)==(6) + │ ├── stats: [rows=0.01031997, distinct(1)=0.01032, null(1)=0, distinct(2)=0.01032, null(2)=0, distinct(5)=0.01032, null(5)=0, distinct(6)=0.01032, null(6)=0, distinct(11)=0.01032, null(11)=0, distinct(12)=0.01032, null(12)=0, distinct(13)=0.01032, null(13)=0, distinct(17)=0.01032, null(17)=0, distinct(2,5,6)=0.01032, null(2,5,6)=0] + │ ├── cost: 112.088874 + │ ├── fd: ()-->(2,5,6,12,13,17,20,21), (16)-->(18,19), (11)==(1,16), (16)==(1,11), (12)==(5,20), (20)==(5,12), (13)==(6,21), (21)==(6,13), (6)==(13,21), (2)==(17), (17)==(2), (5)==(12,20), (1)==(11,16) │ ├── distribution: ap-southeast-2 │ ├── lookup table distribution: ap-southeast-2,ca-central-1,us-east-1 - │ ├── interesting orderings: (+1 opt(2,5,6)) (+16 opt(17,20,21)) - │ ├── inner-join (lookup abc@abc_id1_id2_idx [as=b]) - │ │ ├── columns: a.id:1 a.id1:2 a.created_at:3 a.updated_at:4 a.id2:5 a.crdb_region:6 b.id:16 b.id1:17 b.id2:20 b.crdb_region:21 - │ │ ├── key columns: [6 2 5 1] = [21 17 20 16] + │ ├── inner-join (lookup abc [as=b]) + │ │ ├── columns: str:10 abc_id:11 x.id2:12 x.crdb_region:13 b.id:16 b.id1:17 b.created_at:18 b.updated_at:19 b.id2:20 b.crdb_region:21 + │ │ ├── key columns: [21 16] = [21 16] │ │ ├── lookup columns are key │ │ ├── immutable - │ │ ├── stats: [rows=0.003666667, distinct(1)=0.00366667, null(1)=0, distinct(2)=0.00366667, null(2)=0, distinct(5)=0.00366667, null(5)=0, distinct(6)=0.00366667, null(6)=0, distinct(16)=0.00366667, null(16)=0, distinct(17)=0.00366667, null(17)=0, distinct(20)=0.00366667, null(20)=0, distinct(21)=0.00366667, null(21)=0, distinct(17,20,21)=0.00366667, null(17,20,21)=0] - │ │ ├── cost: 34.8283629 - │ │ ├── key: (16) - │ │ ├── fd: ()-->(2,5,6,17,20,21), (1)-->(3,4), (6)==(21), (21)==(6), (2)==(17), (17)==(2), (5)==(20), (20)==(5), (1)==(16), (16)==(1) + │ │ ├── stats: [rows=1.101776, distinct(11)=0.936667, null(11)=0, distinct(12)=0.936667, null(12)=0, distinct(13)=0.936667, null(13)=0, distinct(16)=0.936667, null(16)=0, distinct(17)=0.709904, null(17)=0, distinct(20)=0.936667, null(20)=0, distinct(21)=0.936667, null(21)=0] + │ │ ├── cost: 107.514948 + │ │ ├── fd: ()-->(12,13,17,20,21), (16)-->(18,19), (11)==(16), (16)==(11), (12)==(20), (20)==(12), (13)==(21), (21)==(13) │ │ ├── distribution: ap-southeast-2 │ │ ├── lookup table distribution: ap-southeast-2,ca-central-1,us-east-1 - │ │ ├── interesting orderings: (+(1|16) opt(2,5,6,17,20,21)) - │ │ ├── index-join abc - │ │ │ ├── columns: a.id:1 a.id1:2 a.created_at:3 a.updated_at:4 a.id2:5 a.crdb_region:6 + │ │ ├── interesting orderings: (+11 opt(12,13)) (+10,+11 opt(12,13)) (+16 opt(17,20,21)) + │ │ ├── inner-join (lookup abc@abc_id1_id2_idx [as=b]) + │ │ │ ├── columns: str:10 abc_id:11 x.id2:12 x.crdb_region:13 b.id:16 b.id1:17 b.id2:20 b.crdb_region:21 + │ │ │ ├── key columns: [13 28 12 11] = [21 17 20 16] + │ │ │ ├── lookup columns are key │ │ │ ├── immutable - │ │ │ ├── stats: [rows=0.3666667, distinct(1)=0.366667, null(1)=0, distinct(2)=0.366667, null(2)=0, distinct(3)=0.360675, null(3)=0, distinct(4)=0.360675, null(4)=0, distinct(5)=0.366667, null(5)=0, distinct(6)=0.366667, null(6)=0, distinct(2,5,6)=0.366667, null(2,5,6)=0] - │ │ │ │ histogram(6)= 0 0.36667 - │ │ │ │ <--- 'ap-southeast-2' - │ │ │ ├── cost: 33.2056672 - │ │ │ ├── key: (1) - │ │ │ ├── fd: ()-->(2,5,6), (1)-->(3,4) + │ │ │ ├── stats: [rows=0.03434444, distinct(11)=0.0343444, null(11)=0, distinct(12)=0.0343444, null(12)=0, distinct(13)=0.0343444, null(13)=0, distinct(16)=0.0343444, null(16)=0, distinct(17)=0.0343444, null(17)=0, distinct(20)=0.0343444, null(20)=0, distinct(21)=0.0343444, null(21)=0, distinct(28)=0.0343444, null(28)=0, distinct(17,20,21)=0.0343444, null(17,20,21)=0] + │ │ │ ├── cost: 88.4621065 + │ │ │ ├── fd: ()-->(12,13,17,20,21), (13)==(21), (21)==(13), (12)==(20), (20)==(12), (11)==(16), (16)==(11) │ │ │ ├── distribution: ap-southeast-2 - │ │ │ ├── prune: (1,3,4) - │ │ │ ├── interesting orderings: (+1 opt(2,5,6)) - │ │ │ └── scan abc@abc_id1_id2_idx [as=a] - │ │ │ ├── columns: a.id:1 a.id1:2 a.id2:5 a.crdb_region:6 - │ │ │ ├── constraint: /6/2/5/1: [/'ap-southeast-2'/'6da4f356-e526-4b78-b9f9-bbb1a7fc12d6'/'68088706-02c6-47d1-b993-a421cd761f2b' - /'ap-southeast-2'/'6da4f356-e526-4b78-b9f9-bbb1a7fc12d6'/'68088706-02c6-47d1-b993-a421cd761f2b'] - │ │ │ ├── stats: [rows=0.3666667, distinct(1)=0.366667, null(1)=0, distinct(2)=0.366667, null(2)=0, distinct(5)=0.366667, null(5)=0, distinct(6)=0.366667, null(6)=0, distinct(2,5,6)=0.366667, null(2,5,6)=0] - │ │ │ │ histogram(6)= 0 0.36667 - │ │ │ │ <--- 'ap-southeast-2' - │ │ │ ├── cost: 25.430667 - │ │ │ ├── key: (1) - │ │ │ ├── fd: ()-->(2,5,6) - │ │ │ ├── distribution: ap-southeast-2 - │ │ │ └── interesting orderings: (+1 opt(2,5,6)) - │ │ └── filters - │ │ ├── b.id2:20 = '68088706-02c6-47d1-b993-a421cd761f2b' [outer=(20), constraints=(/20: [/'68088706-02c6-47d1-b993-a421cd761f2b' - /'68088706-02c6-47d1-b993-a421cd761f2b']; tight), fd=()-->(20)] - │ │ ├── b.crdb_region:21 = 'ap-southeast-2' [outer=(21), immutable, constraints=(/21: [/'ap-southeast-2' - /'ap-southeast-2']; tight), fd=()-->(21)] - │ │ └── b.id1:17 = '6da4f356-e526-4b78-b9f9-bbb1a7fc12d6' [outer=(17), constraints=(/17: [/'6da4f356-e526-4b78-b9f9-bbb1a7fc12d6' - /'6da4f356-e526-4b78-b9f9-bbb1a7fc12d6']; tight), fd=()-->(17)] + │ │ │ ├── lookup table distribution: ap-southeast-2,ca-central-1,us-east-1 + │ │ │ ├── interesting orderings: (+(11|16) opt(12,13,17,20,21,28)) (+10,+(11|16) opt(12,13,17,20,21,28)) + │ │ │ ├── project + │ │ │ │ ├── columns: "lookup_join_const_col_@17":28 str:10 abc_id:11 x.id2:12 x.crdb_region:13 + │ │ │ │ ├── immutable + │ │ │ │ ├── stats: [rows=3.666667, distinct(11)=3.11719, null(11)=0, distinct(12)=1, null(12)=0, distinct(13)=1, null(13)=0, distinct(28)=1, null(28)=0] + │ │ │ │ ├── cost: 73.3666668 + │ │ │ │ ├── fd: ()-->(12,13,28) + │ │ │ │ ├── distribution: ap-southeast-2 + │ │ │ │ ├── interesting orderings: (+11 opt(12,13,28)) (+10,+11 opt(12,13,28)) + │ │ │ │ ├── scan xyz@xyz_id2_str_abc_id_idx [as=x] + │ │ │ │ │ ├── columns: str:10 abc_id:11 x.id2:12 x.crdb_region:13 + │ │ │ │ │ ├── constraint: /13/12/10/11/9: [/'ap-southeast-2'/'68088706-02c6-47d1-b993-a421cd761f2b' - /'ap-southeast-2'/'68088706-02c6-47d1-b993-a421cd761f2b'] + │ │ │ │ │ ├── immutable + │ │ │ │ │ ├── stats: [rows=3.666667, distinct(11)=3.11719, null(11)=0, distinct(12)=1, null(12)=0, distinct(13)=1, null(13)=0, distinct(12,13)=1, null(12,13)=0] + │ │ │ │ │ │ histogram(13)= 0 3.6667 + │ │ │ │ │ │ <--- 'ap-southeast-2' + │ │ │ │ │ ├── cost: 73.2733335 + │ │ │ │ │ ├── fd: ()-->(12,13) + │ │ │ │ │ ├── distribution: ap-southeast-2 + │ │ │ │ │ ├── prune: (10,11) + │ │ │ │ │ └── interesting orderings: (+11 opt(12,13)) (+10,+11 opt(12,13)) + │ │ │ │ └── projections + │ │ │ │ └── '6da4f356-e526-4b78-b9f9-bbb1a7fc12d6' [as="lookup_join_const_col_@17":28] + │ │ │ └── filters + │ │ │ ├── b.id2:20 = '68088706-02c6-47d1-b993-a421cd761f2b' [outer=(20), constraints=(/20: [/'68088706-02c6-47d1-b993-a421cd761f2b' - /'68088706-02c6-47d1-b993-a421cd761f2b']; tight), fd=()-->(20)] + │ │ │ └── b.crdb_region:21 = 'ap-southeast-2' [outer=(21), immutable, constraints=(/21: [/'ap-southeast-2' - /'ap-southeast-2']; tight), fd=()-->(21)] + │ │ └── filters (true) │ └── filters - │ ├── a.created_at:3 = b.created_at:18 [outer=(3,18), constraints=(/3: (/NULL - ]; /18: (/NULL - ]), fd=(3)==(18), (18)==(3)] - │ └── a.updated_at:4 = b.updated_at:19 [outer=(4,19), constraints=(/4: (/NULL - ]; /19: (/NULL - ]), fd=(4)==(19), (19)==(4)] + │ ├── a.id2:5 = '68088706-02c6-47d1-b993-a421cd761f2b' [outer=(5), constraints=(/5: [/'68088706-02c6-47d1-b993-a421cd761f2b' - /'68088706-02c6-47d1-b993-a421cd761f2b']; tight), fd=()-->(5)] + │ ├── a.crdb_region:6 = 'ap-southeast-2' [outer=(6), immutable, constraints=(/6: [/'ap-southeast-2' - /'ap-southeast-2']; tight), fd=()-->(6)] + │ └── a.id1:2 = '6da4f356-e526-4b78-b9f9-bbb1a7fc12d6' [outer=(2), constraints=(/2: [/'6da4f356-e526-4b78-b9f9-bbb1a7fc12d6' - /'6da4f356-e526-4b78-b9f9-bbb1a7fc12d6']; tight), fd=()-->(2)] └── filters - ├── abc_id:11 = a.id:1 [outer=(1,11), constraints=(/1: (/NULL - ]; /11: (/NULL - ]), fd=(1)==(11), (11)==(1)] - ├── x.id2:12 = '68088706-02c6-47d1-b993-a421cd761f2b' [outer=(12), constraints=(/12: [/'68088706-02c6-47d1-b993-a421cd761f2b' - /'68088706-02c6-47d1-b993-a421cd761f2b']; tight), fd=()-->(12)] - └── x.crdb_region:13 = 'ap-southeast-2' [outer=(13), immutable, constraints=(/13: [/'ap-southeast-2' - /'ap-southeast-2']; tight), fd=()-->(13)] + ├── a.created_at:3 = b.created_at:18 [outer=(3,18), constraints=(/3: (/NULL - ]; /18: (/NULL - ]), fd=(3)==(18), (18)==(3)] + └── a.updated_at:4 = b.updated_at:19 [outer=(4,19), constraints=(/4: (/NULL - ]; /19: (/NULL - ]), fd=(4)==(19), (19)==(4)] subtest insertFastPathUnique diff --git a/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_read_committed b/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_read_committed index b70febf8fa06..c6e6bca5a19f 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_read_committed +++ b/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_read_committed @@ -77,15 +77,12 @@ CREATE TABLE river ( ) LOCALITY REGIONAL BY ROW AS region -statement ok -GRANT INSERT ON TABLE university TO testuser - # Test non-conflicting INSERT. -statement ok +statement error pgcode 0A000 explicit unique checks are not yet supported under read committed isolation INSERT INTO university (name, mascot, postal_code) VALUES ('Western Oregon', 'wolves', '97361') -statement ok +statement error pgcode 0A000 explicit unique checks are not yet supported under read committed isolation INSERT INTO volcano VALUES ('Mount Hood', 'Fought over Loowit and was transformed by Saghalie.', 'POINT(-121.695833 45.373611)', 'ca-central-1') @@ -97,10 +94,10 @@ INSERT INTO river VALUES ('ap-southeast-2', 'Skykomish', 'Snohomish') # Test conflicting INSERT. -statement error pgcode 23505 pq: duplicate key value violates unique constraint "university_mascot_key" +statement error pgcode 0A000 explicit unique checks are not yet supported under read committed isolation INSERT INTO university (name, mascot, postal_code) VALUES ('Thompson Rivers', 'wolves', 'V2C 0C8') -statement error pgcode 23505 pq: duplicate key value violates unique constraint "volcano_origin_key" +statement error pgcode 0A000 explicit unique checks are not yet supported under read committed isolation INSERT INTO volcano VALUES ('Mount Adams', 'Fought over Loowit and was transformed by Saghalie.', 'POINT(-121.490895 46.202412)', 'ap-southeast-2') @@ -120,7 +117,6 @@ ON CONFLICT (mascot) DO NOTHING query TTT SELECT name, mascot, postal_code FROM university ORDER BY name ---- -Western Oregon wolves 97361 statement error pgcode 0A000 explicit unique checks are not yet supported under read committed isolation INSERT INTO volcano VALUES @@ -131,7 +127,6 @@ ON CONFLICT (origin) DO NOTHING query TTT SELECT name, origin, location FROM volcano ORDER BY name ---- -Mount Hood Fought over Loowit and was transformed by Saghalie. 0101000020E6100000909E2287886C5EC08236397CD2AF4640 statement ok INSERT INTO city VALUES ('Vancouver', 'The Big Smoke', 'BC'), ('Salem', 'Cherry City', 'OR') @@ -202,35 +197,3 @@ ON CONFLICT (name, state_or_province) DO UPDATE SET name = 'Vancouver', nickname statement error pgcode 23505 pq: duplicate key value violates unique constraint "river_pkey"\nDETAIL: Key \(region, name\)=\('ap-southeast-2', 'Skykomish'\) already exists\. INSERT INTO river VALUES ('us-east-1', 'Squamish', 'Salish Sea'), ('ca-central-1', 'Rogue', 'Pacific Ocean') ON CONFLICT (region, outlet) DO UPDATE SET region = 'ap-southeast-2', name = 'Skykomish', outlet = 'Puget Sound' - -# Test predicate locks by writing into multiple regions concurrently - -statement ok -BEGIN - -statement ok -INSERT INTO university VALUES ('CMU', 'Scottie Dog', '15213'); - -user testuser newsession - -statement ok -SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL READ COMMITTED - -statement ok -USE multi_region_test_db - -statement async conflict error pgcode 23505 pq: duplicate key value violates unique constraint "university_pkey" -INSERT INTO university VALUES ('CMU', 'Chippewas', '97858'); - -user root - -statement ok -COMMIT - -awaitstatement conflict - -query TTT -SELECT name, mascot, postal_code FROM university ORDER BY name ----- -CMU Scottie Dog 15213 -Western Oregon wolves 97361 diff --git a/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_rename_column b/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_rename_column index ce69ebf9d511..466260466325 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_rename_column +++ b/pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_rename_column @@ -43,20 +43,20 @@ query T SELECT create_statement FROM [SHOW CREATE TABLE regional_by_row_table] ---- CREATE TABLE public.regional_by_row_table ( - pk INT8 NOT NULL, - pk2 INT8 NOT NULL, - a INT8 NOT NULL, - b INT8 NOT NULL, - j JSONB NULL, - crdb_region2 public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, - CONSTRAINT "primary" PRIMARY KEY (pk2 ASC), - UNIQUE INDEX regional_by_row_table_pk_key (pk ASC), - INDEX regional_by_row_table_a_idx (a ASC), - UNIQUE INDEX regional_by_row_table_b_key (b ASC), - INVERTED INDEX regional_by_row_table_j_idx (j), - INDEX new_idx (a ASC, b ASC), - UNIQUE INDEX unique_b_a (b ASC, a ASC), - FAMILY fam_0_pk_pk2_a_b_j_crdb_region (pk, pk2, a, b, j, crdb_region2) + pk INT8 NOT NULL, + pk2 INT8 NOT NULL, + a INT8 NOT NULL, + b INT8 NOT NULL, + j JSONB NULL, + crdb_region2 multi_region_test_db.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::multi_region_test_db.public.crdb_internal_region, + CONSTRAINT "primary" PRIMARY KEY (pk2 ASC), + UNIQUE INDEX regional_by_row_table_pk_key (pk ASC), + INDEX regional_by_row_table_a_idx (a ASC), + UNIQUE INDEX regional_by_row_table_b_key (b ASC), + INVERTED INDEX regional_by_row_table_j_idx (j), + INDEX new_idx (a ASC, b ASC), + UNIQUE INDEX unique_b_a (b ASC, a ASC), + FAMILY fam_0_pk_pk2_a_b_j_crdb_region (pk, pk2, a, b, j, crdb_region2) ) LOCALITY REGIONAL BY TABLE IN PRIMARY REGION statement ok @@ -83,12 +83,12 @@ query T SELECT create_statement FROM [SHOW CREATE TABLE regional_by_row_table_as] ---- CREATE TABLE public.regional_by_row_table_as ( - pk INT8 NOT NULL, - a INT8 NULL, - b INT8 NULL, - cr public.crdb_internal_region NOT NULL AS (CASE WHEN pk <= 10:::INT8 THEN 'us-east-1':::public.crdb_internal_region ELSE 'ap-southeast-2':::public.crdb_internal_region END) STORED, - CONSTRAINT regional_by_row_table_as_pkey PRIMARY KEY (pk ASC), - INDEX regional_by_row_table_as_a_idx (a ASC), - UNIQUE INDEX regional_by_row_table_as_b_key (b ASC), - FAMILY fam_0_pk_a_b_crdb_region_col (pk, a, b, cr) + pk INT8 NOT NULL, + a INT8 NULL, + b INT8 NULL, + cr multi_region_test_db.public.crdb_internal_region NOT NULL AS (CASE WHEN pk <= 10:::INT8 THEN 'us-east-1':::multi_region_test_db.public.crdb_internal_region ELSE 'ap-southeast-2':::multi_region_test_db.public.crdb_internal_region END) STORED, + CONSTRAINT regional_by_row_table_as_pkey PRIMARY KEY (pk ASC), + INDEX regional_by_row_table_as_a_idx (a ASC), + UNIQUE INDEX regional_by_row_table_as_b_key (b ASC), + FAMILY fam_0_pk_a_b_crdb_region_col (pk, a, b, cr) ) LOCALITY REGIONAL BY ROW AS cr diff --git a/pkg/ccl/logictestccl/testdata/logic_test/select_for_update_read_committed b/pkg/ccl/logictestccl/testdata/logic_test/select_for_update_read_committed index 50a179fdee8c..a5a026221f73 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/select_for_update_read_committed +++ b/pkg/ccl/logictestccl/testdata/logic_test/select_for_update_read_committed @@ -1,3 +1,5 @@ +# LogicTest: !local-mixed-23.1 + statement ok CREATE TABLE abc (a INT PRIMARY KEY, b INT, c INT, INDEX (b), FAMILY (a, b, c)) diff --git a/pkg/ccl/logictestccl/testdata/logic_test/show_create b/pkg/ccl/logictestccl/testdata/logic_test/show_create index b6b7156f2fd5..18534a6c2958 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/show_create +++ b/pkg/ccl/logictestccl/testdata/logic_test/show_create @@ -61,9 +61,11 @@ CREATE FUNCTION r1() RETURNS INT LANGUAGE SQL AS 'SELECT 1' statement ok CREATE FUNCTION r1(i INT) RETURNS INT LANGUAGE SQL AS 'SELECT 1' +skipif config local-mixed-23.1 statement ok CREATE PROCEDURE r1(s STRING) LANGUAGE SQL AS 'SELECT 1' +skipif config local-mixed-23.1 statement ok CREATE PROCEDURE r1(s STRING, i INT) LANGUAGE SQL AS 'SELECT 1' @@ -76,7 +78,6 @@ r1 CREATE FUNCTION public.r1() NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE SQL - SECURITY INVOKER AS $$ SELECT 1; $$ @@ -86,7 +87,6 @@ r1 CREATE FUNCTION public.r1(i INT8) NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE SQL - SECURITY INVOKER AS $$ SELECT 1; $$ @@ -97,13 +97,11 @@ SELECT * FROM [SHOW CREATE PROCEDURE r1] ORDER BY 2 ---- r1 CREATE PROCEDURE public.r1(s STRING) LANGUAGE SQL - SECURITY INVOKER AS $$ SELECT 1; $$ r1 CREATE PROCEDURE public.r1(s STRING, i INT8) LANGUAGE SQL - SECURITY INVOKER AS $$ SELECT 1; $$ @@ -114,12 +112,14 @@ CREATE SCHEMA sc statement ok CREATE FUNCTION sc.r2() RETURNS INT LANGUAGE SQL AS 'SELECT 1' +skipif config local-mixed-23.1 statement ok CREATE PROCEDURE sc.r2(s STRING) LANGUAGE SQL AS 'SELECT 1' statement error pgcode 42883 pq: unknown function: r2() SHOW CREATE FUNCTION r2; +skipif config local-mixed-23.1 statement error pgcode 42883 pq: unknown procedure: r2() SHOW CREATE PROCEDURE r2; @@ -135,22 +135,22 @@ r2 CREATE FUNCTION sc.r2() NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE SQL - SECURITY INVOKER AS $$ SELECT 1; $$ +skipif config local-mixed-23.1 query TT SHOW CREATE PROCEDURE r2 ---- r2 CREATE PROCEDURE sc.r2(s STRING) LANGUAGE SQL - SECURITY INVOKER AS $$ SELECT 1; $$ # Regression test for #112134 - correctly parse and display PLpgSQL. +skipif config local-mixed-23.1 statement ok CREATE FUNCTION f112134() RETURNS INT AS $$ DECLARE @@ -166,6 +166,7 @@ CREATE FUNCTION f112134() RETURNS INT AS $$ $$ LANGUAGE PLpgSQL; # TODO(112136): Fix the formatting. +skipif config local-mixed-23.1 query TT SHOW CREATE FUNCTION f112134; ---- @@ -175,7 +176,6 @@ f112134 CREATE FUNCTION sc.f112134() NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE plpgsql - SECURITY INVOKER AS $$ DECLARE x INT8 := 0; diff --git a/pkg/ccl/logictestccl/testdata/logic_test/subject b/pkg/ccl/logictestccl/testdata/logic_test/subject index 70fe78e24f80..40fb80f3ac98 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/subject +++ b/pkg/ccl/logictestccl/testdata/logic_test/subject @@ -1,3 +1,4 @@ +# LogicTest: !local-mixed-23.1 !local-mixed-23.2 # Tests for parsing/validation of the SUBJECT role option. statement error role "root" cannot have a SUBJECT\n.*use the --root-cert-distinguished-name CLI flag diff --git a/pkg/ccl/logictestccl/testdata/logic_test/tenant_usage b/pkg/ccl/logictestccl/testdata/logic_test/tenant_usage index ad581f6dd999..3d5c170d3c88 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/tenant_usage +++ b/pkg/ccl/logictestccl/testdata/logic_test/tenant_usage @@ -32,7 +32,7 @@ statement ok CREATE TENANT 'apptenant' statement ok -SELECT crdb_internal.update_tenant_resource_limits('apptenant', 1000, 100, 0) +SELECT crdb_internal.update_tenant_resource_limits('apptenant', 1000, 100, 0, now(), 0) user testuser diff --git a/pkg/ccl/logictestccl/testdata/logic_test/triggers b/pkg/ccl/logictestccl/testdata/logic_test/triggers deleted file mode 100644 index 301543afe916..000000000000 --- a/pkg/ccl/logictestccl/testdata/logic_test/triggers +++ /dev/null @@ -1,160 +0,0 @@ -# TODO(#126356): remove this case when trigger functions are supported. -statement error pgcode 0A000 pq: unimplemented: trigger functions are not yet supported -CREATE FUNCTION f() RETURNS TRIGGER LANGUAGE PLpgSQL AS $$ BEGIN RETURN NULL; END $$; - -# ============================================================================== -# Trigger functions cannot be directly invoked. -# ============================================================================== - -subtest direct_invocation - -# TODO(#126356): uncomment these cases when trigger functions are supported. -#statement ok -#CREATE FUNCTION f() RETURNS TRIGGER LANGUAGE PLpgSQL AS $$ BEGIN RETURN NULL; END $$; -# -#statement error pgcode 0A000 pq: trigger functions can only be called as triggers -#SELECT f(); -# -#statement error pgcode 0A000 pq: trigger functions can only be called as triggers -#CREATE FUNCTION foo() RETURNS INT LANGUAGE SQL AS $$ SELECT f(); SELECT 1; $$; -# -#statement error pgcode 0A000 pq: trigger functions can only be called as triggers -#CREATE FUNCTION foo() RETURNS INT LANGUAGE PLpgSQL AS $$ BEGIN SELECT f(); RETURN 1; END $$; -# -#statement ok -#DROP FUNCTION f; - -# ============================================================================== -# Test invalid usage of parameters in trigger functions. -# ============================================================================== - -# Trigger functions are not allowed to be defined with parameters. Instead, -# arguments are passed through the implicitly defined TG_ARGV variable. -subtest parameters - -statement error pgcode 42P13 pq: trigger functions cannot have declared arguments -CREATE FUNCTION f(x TEXT) RETURNS TRIGGER LANGUAGE PLpgSQL AS $$ BEGIN RETURN NULL; END $$; - -statement error pgcode 42P13 pq: function result type must be string because of OUT parameters -CREATE FUNCTION f(OUT x TEXT) RETURNS TRIGGER LANGUAGE PLpgSQL AS $$ BEGIN RETURN NULL; END $$; - -statement error pgcode 42P13 pq: function result type must be string because of OUT parameters -CREATE FUNCTION f(INOUT x TEXT) RETURNS TRIGGER LANGUAGE PLpgSQL AS $$ BEGIN RETURN NULL; END $$; - -# ============================================================================== -# Test invalid usage of the TRIGGER datatype in PL/pgSQL routines. -# ============================================================================== - -subtest trigger_in_plpgsql_routine - -statement error pgcode 0A000 pq: cannot accept a value of type trigger -CREATE FUNCTION f() RETURNS RECORD LANGUAGE PLpgSQL AS $$ BEGIN RETURN NULL::TRIGGER; END $$; - -statement error pgcode 0A000 pq: PL/pgSQL functions cannot accept type trigger -CREATE FUNCTION f(x TRIGGER) RETURNS INT LANGUAGE PLpgSQL AS $$ BEGIN RETURN NULL; END $$; - -statement error pgcode 0A000 pq: PL/pgSQL functions cannot accept type trigger -CREATE FUNCTION f(OUT x TRIGGER) LANGUAGE PLpgSQL AS $$ BEGIN RETURN NULL; END $$; - -statement error pgcode 0A000 pq: PL/pgSQL functions cannot accept type trigger -CREATE FUNCTION f(INOUT x TRIGGER) RETURNS INT LANGUAGE PLpgSQL AS $$ BEGIN RETURN NULL; END $$; - -statement error pgcode 0A000 pq: PL/pgSQL functions cannot accept type trigger -CREATE PROCEDURE p(x TRIGGER) LANGUAGE PLpgSQL AS $$ BEGIN END $$; - -statement error pgcode 0A000 pq: PL/pgSQL functions cannot accept type trigger -CREATE PROCEDURE p(OUT x TRIGGER) LANGUAGE PLpgSQL AS $$ BEGIN END $$; - -statement error pgcode 0A000 pq: PL/pgSQL functions cannot accept type trigger -CREATE PROCEDURE p(INOUT x TRIGGER) LANGUAGE PLpgSQL AS $$ BEGIN END $$; - -# ============================================================================== -# Test invalid usage of the TRIGGER datatype in SQL routines. -# ============================================================================== - -subtest trigger_in_sql_routine - -statement error pgcode 0A000 pq: cannot accept a value of type trigger -CREATE FUNCTION f() RETURNS RECORD LANGUAGE SQL AS $$ SELECT NULL::TRIGGER; $$; - -statement error pgcode 42P13 pq: SQL functions cannot return type trigger -CREATE FUNCTION f() RETURNS TRIGGER LANGUAGE SQL AS $$ SELECT NULL $$; - -statement error pgcode 42P13 pq: SQL functions cannot have arguments of type trigger -CREATE FUNCTION f(x TRIGGER) RETURNS INT LANGUAGE SQL AS $$ SELECT NULL $$; - -statement error pgcode 42P13 pq: SQL functions cannot return type trigger -CREATE FUNCTION f(OUT x TRIGGER) LANGUAGE SQL AS $$ SELECT NULL $$; - -statement error pgcode 42P13 pq: SQL functions cannot return type trigger -CREATE FUNCTION f(INOUT x TRIGGER) RETURNS INT LANGUAGE SQL AS $$ SELECT NULL $$; - -statement error pgcode 42P13 pq: SQL functions cannot have arguments of type trigger -CREATE PROCEDURE p(x TRIGGER) LANGUAGE SQL AS $$ SELECT NULL $$; - -statement error pgcode 42P13 pq: SQL functions cannot return type trigger -CREATE PROCEDURE p(OUT x TRIGGER) LANGUAGE SQL AS $$ SELECT NULL $$; - -statement error pgcode 42P13 pq: SQL functions cannot return type trigger -CREATE PROCEDURE p(INOUT x TRIGGER) LANGUAGE SQL AS $$ SELECT NULL $$; - -# ============================================================================== -# Test invalid usage of the TRIGGER datatype in SQL statements. -# ============================================================================== - -subtest trigger_in_sql_statement - -# Cast. -statement error pgcode 0A000 pq: cannot accept a value of type trigger -SELECT NULL::TRIGGER; - -# Trigger array cast. -statement error pgcode 42704 pq: at or near "EOF": syntax error: type trigger\[\] does not exist -SELECT NULL::TRIGGER[]; - -# Invalid cast from integer. -statement error pgcode 42846 pq: invalid cast: int -> trigger -SELECT 1::TRIGGER; - -# Type annotation. -statement error pgcode 0A000 pq: cannot accept a value of type trigger -SELECT NULL:::TRIGGER; - -# Triggers should not have a builtin type-conversion function. -statement error pgcode 42883 pq: unknown function: triggerin\(\) -SELECT triggerin(1); - -statement error pgcode 42883 pq: unknown function: triggerin\(\) -SELECT triggerin(NULL); - -# ============================================================================== -# Test invalid usage of the TRIGGER datatype in CREATE statements. -# ============================================================================== - -subtest trigger_in_create - -# Column type. -statement error pgcode 42P16 pq: value type trigger cannot be used for table columns -CREATE TABLE t (x INT, y TRIGGER, z TEXT); - -# Array column type. -statement error pgcode 42704 pq: at or near ",": syntax error: type trigger\[\] does not exist -CREATE TABLE t (x INT, y TRIGGER[], z TEXT); - -# Cast in partial index predicate. -statement error pgcode 0A000 pq: cannot accept a value of type trigger -CREATE TABLE t (x INT, y INT, INDEX (y) WHERE (NULL::TRIGGER IS NOT NULL)); - -# Cast in computed column expression. -statement error pgcode 0A000 pq: cannot accept a value of type trigger -CREATE TABLE t (x INT, y BOOL GENERATED ALWAYS AS (NULL::TRIGGER IS NOT NULL) STORED); - -# Trigger UDT field. -statement error pgcode 0A000 pq: cannot accept a value of type trigger -CREATE TYPE udt AS (x INT, y TRIGGER, z TEXT); - -# Trigger array UDT field. -statement error pgcode 42601 pq: at or near "\[": syntax error -CREATE TYPE udt AS (x INT, y TRIGGER[], z TEXT); - -subtest end diff --git a/pkg/ccl/logictestccl/testdata/logic_test/udf_params b/pkg/ccl/logictestccl/testdata/logic_test/udf_params index 1f385c3faee4..45aa932f3d49 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/udf_params +++ b/pkg/ccl/logictestccl/testdata/logic_test/udf_params @@ -1,3 +1,5 @@ +# LogicTest: !local-mixed-23.1 + subtest types statement error pgcode 42P13 pq: function result type must be int because of OUT parameters @@ -224,7 +226,6 @@ CREATE FUNCTION public.f_param_types(IN p1 INT8, INOUT p2 INT8, INOUT p3 INT8, O NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE plpgsql - SECURITY INVOKER AS $$ BEGIN SELECT p2, p3, p1; @@ -250,7 +251,6 @@ CREATE FUNCTION public.f_param_types(OUT param INT8) NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE plpgsql - SECURITY INVOKER AS $$ BEGIN SELECT 1; @@ -325,7 +325,6 @@ CREATE FUNCTION public.f_out_int(OUT param_new INT8) NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE plpgsql - SECURITY INVOKER AS $$ BEGIN param_new := 2; @@ -381,7 +380,6 @@ CREATE FUNCTION public.f_int(INOUT param INT8) NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE plpgsql - SECURITY INVOKER AS $$ BEGIN param := 2; @@ -412,7 +410,6 @@ CREATE FUNCTION public.f_int(IN param INT8, OUT param_out INT8) NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE plpgsql - SECURITY INVOKER AS $$ BEGIN SELECT param INTO param_out; @@ -437,7 +434,6 @@ CREATE FUNCTION public.f_int(OUT param_out INT8, IN param INT8) NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE plpgsql - SECURITY INVOKER AS $$ BEGIN SELECT param INTO param_out; @@ -462,7 +458,6 @@ CREATE FUNCTION public.f_int(INOUT param INT8) NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE plpgsql - SECURITY INVOKER AS $$ BEGIN param := param; @@ -495,7 +490,6 @@ CREATE FUNCTION public.f_default_names(OUT INT8, OUT param2 INT8, IN INT8, OUT I NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE plpgsql - SECURITY INVOKER AS $$ BEGIN param2 := 2; @@ -554,7 +548,6 @@ CREATE FUNCTION public.f_default_names(OUT INT8, OUT param2 INT8, IN INT8, OUT c NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE plpgsql - SECURITY INVOKER AS $$ BEGIN SELECT 3 INTO column3; @@ -584,7 +577,6 @@ CREATE FUNCTION public.f_default_names(OUT INT8, OUT param2 INT8, IN INT8, OUT I NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE plpgsql - SECURITY INVOKER AS $$ BEGIN param2 := 2; @@ -604,7 +596,6 @@ CREATE FUNCTION public.f_default_names(OUT INT8, OUT param2 INT8, IN in_param IN NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE plpgsql - SECURITY INVOKER AS $$ BEGIN SELECT in_param INTO param2; @@ -912,9 +903,13 @@ DROP FUNCTION f; statement ok CREATE FUNCTION f1(a INT, b INT = 2) RETURNS INT AS $$ BEGIN RETURN a + b; END; $$ LANGUAGE PLpgSQL; +skipif config local-mixed-23.2 +skipif config local-mixed-23.1 statement ok CREATE FUNCTION f2(a INT, b INT = f1(1)) RETURNS INT AS $$ BEGIN RETURN a + b; END; $$ LANGUAGE PLpgSQL; +skipif config local-mixed-23.2 +skipif config local-mixed-23.1 query III SELECT f1(1), f2(1), f2(1, 1); ---- @@ -923,14 +918,20 @@ SELECT f1(1), f2(1), f2(1, 1); statement ok CREATE OR REPLACE FUNCTION f1 (a INT, b INT = 2) RETURNS INT AS $$ BEGIN RETURN a * b; END; $$ LANGUAGE PLpgSQL; +skipif config local-mixed-23.2 +skipif config local-mixed-23.1 query III SELECT f1(1), f2(1), f2(1, 1); ---- 2 3 2 +skipif config local-mixed-23.2 +skipif config local-mixed-23.1 statement error pgcode 2BP01 cannot drop function "f1" because other objects \(\[test.public.f2\]\) still depend on it DROP FUNCTION f1; +skipif config local-mixed-23.2 +skipif config local-mixed-23.1 statement ok DROP FUNCTION f2; diff --git a/pkg/ccl/logictestccl/testdata/logic_test/udf_plpgsql b/pkg/ccl/logictestccl/testdata/logic_test/udf_plpgsql index 43ec2ba3060f..5f58de78eb4e 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/udf_plpgsql +++ b/pkg/ccl/logictestccl/testdata/logic_test/udf_plpgsql @@ -1,3 +1,5 @@ +# LogicTest: !local-mixed-23.1 + statement ok CREATE TABLE xy (x INT, y INT); INSERT INTO xy VALUES (1, 2), (3, 4); @@ -2620,7 +2622,7 @@ NULL statement error pgcode 42804 pq: RETURN cannot have a parameter in function returning void CREATE FUNCTION void_return_expr() RETURNS VOID AS $$ BEGIN RETURN 5; END; $$ LANGUAGE PLpgSQL; -subtest regression_122945 +subtest end # Regression test for using Unknown type in place of a wildcard for a nested # block with no RETURN statement (#122945). @@ -2631,6 +2633,7 @@ BEGIN END; $$ LANGUAGE PLpgSQL; +skipif config local-mixed-23.2 statement error pgcode 0A000 unimplemented: wildcard return type is not yet supported in this context CREATE FUNCTION f2(b BOOL) RETURNS RECORD AS $$ BEGIN @@ -2646,78 +2649,3 @@ $$ LANGUAGE PLpgSQL; statement ok DROP FUNCTION f1; - -subtest polymorphic_types - -statement ok -DROP FUNCTION f(); -DROP FUNCTION f(INT, INT); -DROP FUNCTION f; -CREATE FUNCTION f(x ANYELEMENT) RETURNS ANYELEMENT AS $$ - BEGIN - RETURN x; - END -$$ LANGUAGE PLpgSQL; - -query I -SELECT f(100); ----- -100 - -statement ok -DROP FUNCTION f; -CREATE FUNCTION f(x ANYARRAY) RETURNS ANYELEMENT AS $$ - BEGIN - RETURN x[1]; - END -$$ LANGUAGE PLpgSQL; - -query I -SELECT f(ARRAY[100, 200]); ----- -100 - -statement ok -DROP FUNCTION f; -CREATE FUNCTION f(x ANYARRAY) RETURNS ANYARRAY AS $$ - BEGIN - RETURN x; - END -$$ LANGUAGE PLpgSQL; - -query T -SELECT f(ARRAY[100, 200]); ----- -{100,200} - -statement ok -DROP FUNCTION f; - -statement error pgcode 42P13 pq: cannot determine result data type -CREATE FUNCTION f() RETURNS ANYELEMENT AS $$ - DECLARE - x ANYELEMENT := 1; - BEGIN - RETURN x; - END -$$ LANGUAGE PLpgSQL; - -statement error pgcode 0A000 pq: variable \"x\" has pseudo-type anyelement -CREATE FUNCTION f() RETURNS INT AS $$ - DECLARE - x ANYELEMENT := 1; - BEGIN - RETURN x; - END -$$ LANGUAGE PLpgSQL; - -statement error pgcode 0A000 pq: variable \"x\" has pseudo-type anyelement -CREATE FUNCTION f(y ANYELEMENT) RETURNS ANYELEMENT AS $$ - DECLARE - x ANYELEMENT := 1; - BEGIN - RETURN x; - END -$$ LANGUAGE PLpgSQL; - -subtest end diff --git a/pkg/ccl/logictestccl/testdata/logic_test/udf_rewrite b/pkg/ccl/logictestccl/testdata/logic_test/udf_rewrite index 3f908d4faeca..264e2e42c18b 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/udf_rewrite +++ b/pkg/ccl/logictestccl/testdata/logic_test/udf_rewrite @@ -1,3 +1,5 @@ +# LogicTest: !local-mixed-23.1 + statement ok CREATE SEQUENCE seq; @@ -94,7 +96,6 @@ f_rewrite CREATE FUNCTION public.f_rewrite() NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE plpgsql - SECURITY INVOKER AS $$ DECLARE i INT8 := nextval('public.seq'::REGCLASS); @@ -158,7 +159,6 @@ f_rewrite CREATE FUNCTION public.f_rewrite() NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE plpgsql - SECURITY INVOKER AS $$ DECLARE i INT8 := nextval('public.renamed'::REGCLASS); @@ -231,6 +231,8 @@ $$ LANGUAGE PLpgSQL; statement ok DROP FUNCTION f_rewrite(); +skipif config local-mixed-23.2 +skipif config local-mixed-23.1 statement ok CREATE FUNCTION f_rewrite() RETURNS weekday AS $$ @@ -277,64 +279,67 @@ $$ END $$ LANGUAGE PLPGSQL; +skipif config local-mixed-23.2 +skipif config local-mixed-23.1 query T SELECT get_body_str('f_rewrite'); ---- "DECLARE\nday @100107 := b'\\x80':::@100107;\ntoday @100107 := b'\\xa0':::@100107;\ncurs REFCURSOR := b' ':::@100107::STRING;\ncurs2 CURSOR FOR SELECT b'@':::@100107;\nBEGIN\nRAISE NOTICE\nUSING MESSAGE = format('val: %d':::STRING, b'\\x80':::@100107);\nRAISE NOTICE 'val1: %, val2: %', b'\\x80':::@100107, b'\\xa0':::@100107;\nSELECT public.f_nested(1:::INT8, b'\\x80':::@100107);\nCALL public.p_nested(1, b'\\x80':::@100107, day);\nDECLARE\nyesterday @100107 := b'\\x80':::@100107;\nBEGIN\nRAISE NOTICE 'val3: %, val4: %', b'\\x80':::@100107, b'\\xa0':::@100107;\nIF yesterday IS NOT NULL THEN\n\tSELECT b'\\x80':::@100107;\nEND IF;\nEXCEPTION\nWHEN division_by_zero THEN\nRAISE NOTICE\nUSING MESSAGE = format('val: %d':::STRING, b'\\x80':::@100107);\nWHEN not_null_violation THEN\nSELECT b'\\x80':::@100107;\nRAISE NOTICE 'val: %', b'\\x80':::@100107;\nEND;\nWHILE day != b'\\x80':::@100107 LOOP\nday := b'\\xc0':::@100107;\nSELECT b'\\x80':::@100107;\nIF day = b'\\x80':::@100107 THEN\n\tday := b'\\xa0':::@100107;\n\tSELECT b'@':::@100107;\n\tCONTINUE;\nELSIF day = b' ':::@100107 THEN\n\tSELECT b'@':::@100107 INTO day;\nELSIF day = b'@':::@100107 THEN\n\tSELECT b'\\x80':::@100107 INTO day;\n\tSELECT b'\\x80':::@100107;\nEND IF;\nEND LOOP;\nOPEN curs FOR SELECT b'\\x80':::@100107;\nRETURN b'\\x80':::@100107;\nEND;\n" +skipif config local-mixed-23.2 +skipif config local-mixed-23.1 query TT SHOW CREATE FUNCTION f_rewrite; ---- f_rewrite CREATE FUNCTION public.f_rewrite() - RETURNS public.weekday + RETURNS test.public.weekday VOLATILE NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE plpgsql - SECURITY INVOKER AS $$ DECLARE - day public.weekday := 'wednesday':::public.weekday; - today public.weekday := 'thursday':::public.weekday; - curs REFCURSOR := 'monday':::public.weekday::STRING; - curs2 CURSOR FOR SELECT 'tuesday':::public.weekday; + day test.public.weekday := 'wednesday':::test.public.weekday; + today test.public.weekday := 'thursday':::test.public.weekday; + curs REFCURSOR := 'monday':::test.public.weekday::STRING; + curs2 CURSOR FOR SELECT 'tuesday':::test.public.weekday; BEGIN RAISE NOTICE - USING MESSAGE = format('val: %d':::STRING, 'wednesday':::public.weekday); - RAISE NOTICE 'val1: %, val2: %', 'wednesday':::public.weekday, 'thursday':::public.weekday; - SELECT public.f_nested(1:::INT8, 'wednesday':::public.weekday); - CALL public.p_nested(1, 'wednesday':::public.weekday, day); + USING MESSAGE = format('val: %d':::STRING, 'wednesday':::test.public.weekday); + RAISE NOTICE 'val1: %, val2: %', 'wednesday':::test.public.weekday, 'thursday':::test.public.weekday; + SELECT public.f_nested(1:::INT8, 'wednesday':::test.public.weekday); + CALL public.p_nested(1, 'wednesday':::test.public.weekday, day); DECLARE - yesterday public.weekday := 'wednesday':::public.weekday; + yesterday test.public.weekday := 'wednesday':::test.public.weekday; BEGIN - RAISE NOTICE 'val3: %, val4: %', 'wednesday':::public.weekday, 'thursday':::public.weekday; + RAISE NOTICE 'val3: %, val4: %', 'wednesday':::test.public.weekday, 'thursday':::test.public.weekday; IF yesterday IS NOT NULL THEN - SELECT 'wednesday':::public.weekday; + SELECT 'wednesday':::test.public.weekday; END IF; EXCEPTION WHEN division_by_zero THEN RAISE NOTICE - USING MESSAGE = format('val: %d':::STRING, 'wednesday':::public.weekday); + USING MESSAGE = format('val: %d':::STRING, 'wednesday':::test.public.weekday); WHEN not_null_violation THEN - SELECT 'wednesday':::public.weekday; - RAISE NOTICE 'val: %', 'wednesday':::public.weekday; + SELECT 'wednesday':::test.public.weekday; + RAISE NOTICE 'val: %', 'wednesday':::test.public.weekday; END; - WHILE day != 'wednesday':::public.weekday LOOP - day := 'friday':::public.weekday; - SELECT 'wednesday':::public.weekday; - IF day = 'wednesday':::public.weekday THEN - day := 'thursday':::public.weekday; - SELECT 'tuesday':::public.weekday; + WHILE day != 'wednesday':::test.public.weekday LOOP + day := 'friday':::test.public.weekday; + SELECT 'wednesday':::test.public.weekday; + IF day = 'wednesday':::test.public.weekday THEN + day := 'thursday':::test.public.weekday; + SELECT 'tuesday':::test.public.weekday; CONTINUE; - ELSIF day = 'monday':::public.weekday THEN - SELECT 'tuesday':::public.weekday INTO day; - ELSIF day = 'tuesday':::public.weekday THEN - SELECT 'wednesday':::public.weekday INTO day; - SELECT 'wednesday':::public.weekday; + ELSIF day = 'monday':::test.public.weekday THEN + SELECT 'tuesday':::test.public.weekday INTO day; + ELSIF day = 'tuesday':::test.public.weekday THEN + SELECT 'wednesday':::test.public.weekday INTO day; + SELECT 'wednesday':::test.public.weekday; END IF; END LOOP; - OPEN curs FOR SELECT 'wednesday':::public.weekday; - RETURN 'wednesday':::public.weekday; + OPEN curs FOR SELECT 'wednesday':::test.public.weekday; + RETURN 'wednesday':::test.public.weekday; END; $$ @@ -344,64 +349,67 @@ ALTER TYPE weekday RENAME VALUE 'wednesday' TO 'humpday'; statement ok ALTER TYPE weekday RENAME TO workday; +skipif config local-mixed-23.2 +skipif config local-mixed-23.1 query T SELECT get_body_str('f_rewrite'); ---- "DECLARE\nday @100107 := b'\\x80':::@100107;\ntoday @100107 := b'\\xa0':::@100107;\ncurs REFCURSOR := b' ':::@100107::STRING;\ncurs2 CURSOR FOR SELECT b'@':::@100107;\nBEGIN\nRAISE NOTICE\nUSING MESSAGE = format('val: %d':::STRING, b'\\x80':::@100107);\nRAISE NOTICE 'val1: %, val2: %', b'\\x80':::@100107, b'\\xa0':::@100107;\nSELECT public.f_nested(1:::INT8, b'\\x80':::@100107);\nCALL public.p_nested(1, b'\\x80':::@100107, day);\nDECLARE\nyesterday @100107 := b'\\x80':::@100107;\nBEGIN\nRAISE NOTICE 'val3: %, val4: %', b'\\x80':::@100107, b'\\xa0':::@100107;\nIF yesterday IS NOT NULL THEN\n\tSELECT b'\\x80':::@100107;\nEND IF;\nEXCEPTION\nWHEN division_by_zero THEN\nRAISE NOTICE\nUSING MESSAGE = format('val: %d':::STRING, b'\\x80':::@100107);\nWHEN not_null_violation THEN\nSELECT b'\\x80':::@100107;\nRAISE NOTICE 'val: %', b'\\x80':::@100107;\nEND;\nWHILE day != b'\\x80':::@100107 LOOP\nday := b'\\xc0':::@100107;\nSELECT b'\\x80':::@100107;\nIF day = b'\\x80':::@100107 THEN\n\tday := b'\\xa0':::@100107;\n\tSELECT b'@':::@100107;\n\tCONTINUE;\nELSIF day = b' ':::@100107 THEN\n\tSELECT b'@':::@100107 INTO day;\nELSIF day = b'@':::@100107 THEN\n\tSELECT b'\\x80':::@100107 INTO day;\n\tSELECT b'\\x80':::@100107;\nEND IF;\nEND LOOP;\nOPEN curs FOR SELECT b'\\x80':::@100107;\nRETURN b'\\x80':::@100107;\nEND;\n" +skipif config local-mixed-23.2 +skipif config local-mixed-23.1 query TT SHOW CREATE FUNCTION f_rewrite; ---- f_rewrite CREATE FUNCTION public.f_rewrite() - RETURNS public.workday + RETURNS test.public.workday VOLATILE NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE plpgsql - SECURITY INVOKER AS $$ DECLARE - day public.workday := 'humpday':::public.workday; - today public.workday := 'thursday':::public.workday; - curs REFCURSOR := 'monday':::public.workday::STRING; - curs2 CURSOR FOR SELECT 'tuesday':::public.workday; + day test.public.workday := 'humpday':::test.public.workday; + today test.public.workday := 'thursday':::test.public.workday; + curs REFCURSOR := 'monday':::test.public.workday::STRING; + curs2 CURSOR FOR SELECT 'tuesday':::test.public.workday; BEGIN RAISE NOTICE - USING MESSAGE = format('val: %d':::STRING, 'humpday':::public.workday); - RAISE NOTICE 'val1: %, val2: %', 'humpday':::public.workday, 'thursday':::public.workday; - SELECT public.f_nested(1:::INT8, 'humpday':::public.workday); - CALL public.p_nested(1, 'humpday':::public.workday, day); + USING MESSAGE = format('val: %d':::STRING, 'humpday':::test.public.workday); + RAISE NOTICE 'val1: %, val2: %', 'humpday':::test.public.workday, 'thursday':::test.public.workday; + SELECT public.f_nested(1:::INT8, 'humpday':::test.public.workday); + CALL public.p_nested(1, 'humpday':::test.public.workday, day); DECLARE - yesterday public.workday := 'humpday':::public.workday; + yesterday test.public.workday := 'humpday':::test.public.workday; BEGIN - RAISE NOTICE 'val3: %, val4: %', 'humpday':::public.workday, 'thursday':::public.workday; + RAISE NOTICE 'val3: %, val4: %', 'humpday':::test.public.workday, 'thursday':::test.public.workday; IF yesterday IS NOT NULL THEN - SELECT 'humpday':::public.workday; + SELECT 'humpday':::test.public.workday; END IF; EXCEPTION WHEN division_by_zero THEN RAISE NOTICE - USING MESSAGE = format('val: %d':::STRING, 'humpday':::public.workday); + USING MESSAGE = format('val: %d':::STRING, 'humpday':::test.public.workday); WHEN not_null_violation THEN - SELECT 'humpday':::public.workday; - RAISE NOTICE 'val: %', 'humpday':::public.workday; + SELECT 'humpday':::test.public.workday; + RAISE NOTICE 'val: %', 'humpday':::test.public.workday; END; - WHILE day != 'humpday':::public.workday LOOP - day := 'friday':::public.workday; - SELECT 'humpday':::public.workday; - IF day = 'humpday':::public.workday THEN - day := 'thursday':::public.workday; - SELECT 'tuesday':::public.workday; + WHILE day != 'humpday':::test.public.workday LOOP + day := 'friday':::test.public.workday; + SELECT 'humpday':::test.public.workday; + IF day = 'humpday':::test.public.workday THEN + day := 'thursday':::test.public.workday; + SELECT 'tuesday':::test.public.workday; CONTINUE; - ELSIF day = 'monday':::public.workday THEN - SELECT 'tuesday':::public.workday INTO day; - ELSIF day = 'tuesday':::public.workday THEN - SELECT 'humpday':::public.workday INTO day; - SELECT 'humpday':::public.workday; + ELSIF day = 'monday':::test.public.workday THEN + SELECT 'tuesday':::test.public.workday INTO day; + ELSIF day = 'tuesday':::test.public.workday THEN + SELECT 'humpday':::test.public.workday INTO day; + SELECT 'humpday':::test.public.workday; END IF; END LOOP; - OPEN curs FOR SELECT 'humpday':::public.workday; - RETURN 'humpday':::public.workday; + OPEN curs FOR SELECT 'humpday':::test.public.workday; + RETURN 'humpday':::test.public.workday; END; $$ @@ -412,6 +420,8 @@ ALTER TYPE workday RENAME TO weekday; statement ok ALTER TYPE weekday RENAME VALUE 'humpday' TO 'wednesday'; +skipif config local-mixed-23.2 +skipif config local-mixed-23.1 statement ok DROP FUNCTION f_rewrite(); @@ -432,17 +442,16 @@ SELECT get_body_str('f_rewrite'); query TT SHOW CREATE FUNCTION f_rewrite; ---- -f_rewrite CREATE FUNCTION public.f_rewrite(INOUT param1 public.weekday, OUT param2 public.weekday) +f_rewrite CREATE FUNCTION public.f_rewrite(INOUT param1 test.public.weekday, OUT param2 test.public.weekday) RETURNS RECORD VOLATILE NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE plpgsql - SECURITY INVOKER AS $$ BEGIN param2 := param1; - param1 := 'friday':::public.weekday; + param1 := 'friday':::test.public.weekday; END; $$ @@ -460,17 +469,16 @@ SELECT get_body_str('f_rewrite'); query TT SHOW CREATE FUNCTION f_rewrite; ---- -f_rewrite CREATE FUNCTION public.f_rewrite(INOUT param1 public.workday, OUT param2 public.workday) +f_rewrite CREATE FUNCTION public.f_rewrite(INOUT param1 test.public.workday, OUT param2 test.public.workday) RETURNS RECORD VOLATILE NOT LEAKPROOF CALLED ON NULL INPUT LANGUAGE plpgsql - SECURITY INVOKER AS $$ BEGIN param2 := param1; - param1 := 'humpday':::public.workday; + param1 := 'humpday':::test.public.workday; END; $$ @@ -537,13 +545,12 @@ SELECT get_body_str('p_rewrite'); query TT SHOW CREATE PROCEDURE p_rewrite; ---- -p_rewrite CREATE PROCEDURE public.p_rewrite(INOUT param1 public.weekday, OUT param2 public.weekday) +p_rewrite CREATE PROCEDURE public.p_rewrite(INOUT param1 test.public.weekday, OUT param2 test.public.weekday) LANGUAGE plpgsql - SECURITY INVOKER AS $$ BEGIN param2 := param1; - param1 := 'friday':::public.weekday; + param1 := 'friday':::test.public.weekday; END; $$ @@ -561,13 +568,12 @@ SELECT get_body_str('p_rewrite'); query TT SHOW CREATE PROCEDURE p_rewrite; ---- -p_rewrite CREATE PROCEDURE public.p_rewrite(INOUT param1 public.workday, OUT param2 public.workday) +p_rewrite CREATE PROCEDURE public.p_rewrite(INOUT param1 test.public.workday, OUT param2 test.public.workday) LANGUAGE plpgsql - SECURITY INVOKER AS $$ BEGIN param2 := param1; - param1 := 'humpday':::public.workday; + param1 := 'humpday':::test.public.workday; END; $$ diff --git a/pkg/ccl/logictestccl/testdata/logic_test/udf_volatility_check b/pkg/ccl/logictestccl/testdata/logic_test/udf_volatility_check index 68721d0d2af4..fb1e772897e1 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/udf_volatility_check +++ b/pkg/ccl/logictestccl/testdata/logic_test/udf_volatility_check @@ -106,21 +106,27 @@ subtest end subtest plpgsql_volatility +skipif config local-mixed-23.1 statement error pgcode 22023 pq: referencing relations is not allowed in immutable function CREATE FUNCTION f() RETURNS FLOAT LANGUAGE PLpgSQL IMMUTABLE AS $$ BEGIN RETURN (SELECT a FROM t1); END $$; +skipif config local-mixed-23.1 statement error pgcode 22023 pq: volatile statement not allowed in immutable function: BEGIN CREATE FUNCTION f() RETURNS FLOAT LANGUAGE PLpgSQL IMMUTABLE AS $$ BEGIN RETURN (SELECT random()); END $$; +skipif config local-mixed-23.1 statement error pgcode 22023 pq: stable statement not allowed in immutable function: BEGIN CREATE FUNCTION f() RETURNS TIMESTAMP LANGUAGE PLpgSQL IMMUTABLE AS $$ BEGIN RETURN (SELECT statement_timestamp()); END $$; +skipif config local-mixed-23.1 statement error pgcode 22023 pq: volatile statement not allowed in stable function: BEGIN CREATE FUNCTION f() RETURNS FLOAT LANGUAGE PLpgSQL STABLE AS $$ BEGIN RETURN (SELECT random()); END $$; +skipif config local-mixed-23.1 statement error pgcode 22023 pq: volatile statement not allowed in immutable function: BEGIN CREATE FUNCTION f() RETURNS FLOAT LANGUAGE PLpgSQL IMMUTABLE AS $$ BEGIN RETURN (SELECT @1 FROM random()); END $$; +skipif config local-mixed-23.1 statement error pgcode 22023 pq: volatile statement not allowed in immutable function: BEGIN CREATE FUNCTION f() RETURNS INT LANGUAGE PLpgSQL IMMUTABLE AS $$ BEGIN @@ -128,6 +134,7 @@ CREATE FUNCTION f() RETURNS INT LANGUAGE PLpgSQL IMMUTABLE AS $$ END $$; +skipif config local-mixed-23.1 statement error pgcode 22023 pq: volatile statement not allowed in immutable function: BEGIN CREATE FUNCTION f() RETURNS INT LANGUAGE PLpgSQL IMMUTABLE AS $$ BEGIN diff --git a/pkg/ccl/logictestccl/testdata/logic_test/unique_read_committed b/pkg/ccl/logictestccl/testdata/logic_test/unique_read_committed index b30b8012e621..0ad1ee2ef137 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/unique_read_committed +++ b/pkg/ccl/logictestccl/testdata/logic_test/unique_read_committed @@ -1,3 +1,5 @@ +# LogicTest: !local-mixed-23.1 + statement ok SET experimental_enable_unique_without_index_constraints = true diff --git a/pkg/ccl/logictestccl/testdata/logic_test/vector b/pkg/ccl/logictestccl/testdata/logic_test/vector deleted file mode 100644 index 5ca00025f294..000000000000 --- a/pkg/ccl/logictestccl/testdata/logic_test/vector +++ /dev/null @@ -1,127 +0,0 @@ -# LogicTest: !local-mixed-24.1 - -statement ok -CREATE EXTENSION vector - -query F -SELECT '[1,2,3]'::vector <-> '[4,5,6]'::vector ----- -5.196152422706632 - -statement error pgcode 42601 dimensions for type vector must be at least 1 -CREATE TABLE v (v vector(0)) - -statement error pgcode 42601 dimensions for type vector cannot exceed 16000 -CREATE TABLE v (v vector(16001)) - -statement error column v is of type vector and thus is not indexable -CREATE TABLE v (v vector(2) PRIMARY KEY) - -statement ok -CREATE TABLE v (v vector); -CREATE TABLE v2 (v vector(2)) - -statement ok -INSERT INTO v VALUES('[1]'), ('[2,3]') - -query T rowsort -SELECT * FROM v ----- -[1] -[2,3] - -query T -SELECT * FROM v WHERE v = '[1,2]' ----- - -query error pgcode 22000 different vector dimensions 2 and 1 -SELECT l2_distance('[1,2]', '[1]') - -statement error pgcode 22000 expected 2 dimensions, not 1 -INSERT INTO v2 VALUES('[1]'), ('[2,3]') - -statement ok -INSERT INTO v2 VALUES('[1,2]'), ('[3,4]') - -query T rowsort -SELECT * FROM v2 ----- -[1,2] -[3,4] - -query T -SELECT * FROM v2 WHERE v = '[1,2]' ----- -[1,2] - -query TT -SELECT '[1,2]'::text::vector, ARRAY[1,2]::vector ----- -[1,2] [1,2] - -query error pgcode 22004 array must not contain nulls -SELECT ARRAY[1,2,null]::vector - -query error pgcode 22000 expected 1 dimensions, not 2 -select '[3,1]'::vector(1) - -query error pgcode 22000 NaN not allowed in vector -select '[3,NaN]'::vector - -query error pgcode 22000 infinite value not allowed in vector -select '[3,Inf]'::vector - -query error pgcode 22000 infinite value not allowed in vector -select '[3,-Inf]'::vector - -statement ok -CREATE TABLE x (a float[], b real[], c float4[]) - -# Test implicit cast from vector to array. -statement ok -INSERT INTO x VALUES('[1,2]'::vector, '[3,4]'::vector, '[5,6]'::vector) - -statement ok -CREATE TABLE v3 (v1 vector(1), v2 vector(1)); -INSERT INTO v3 VALUES -('[1]', '[2]'), -('[1]', '[-2]'), -(NULL, '[1]'), -('[1]', NULL) - -query FFFTTT rowsort -SELECT v1<->v2, v1<#>v2, v1<=>v2, v1+v2, v1-v2, v1*v2 FROM v3 ----- -1 -2 0 [3] [-1] [2] -3 2 2 [-1] [3] [-2] -NULL NULL NULL NULL NULL NULL -NULL NULL NULL NULL NULL NULL - -query FFFFFI rowsort -SELECT l1_distance(v1,v2), l2_distance(v1,v2), cosine_distance(v1,v2), inner_product(v1,v2), vector_norm(v1), vector_dims(v1) FROM v3 ----- -1 1 0 2 1 1 -3 3 2 -2 1 1 -NULL NULL NULL NULL NULL NULL -NULL NULL NULL NULL 1 1 - -# Regression test for not handling the vector type in a builtin (#126797). -query T -SELECT json_build_object('[1, 2]':::VECTOR, 1); ----- -{"[1,2]": 1} - -# Regression test for incorrectly supporting VECTOR -> TEXT[] cast (#126964). -statement error pgcode 42846 invalid cast: vector -> string\[\] -SELECT '[0]'::VECTOR::TEXT[]; - -# Casts to FLOAT4[] and FLOAT8[] are supported. -query T -SELECT '[1,2,3]'::VECTOR::FLOAT4[]; ----- -{1,2,3} - -query T -SELECT '[1,2,3]'::VECTOR::FLOAT8[]; ----- -{1,2,3} diff --git a/pkg/ccl/logictestccl/testdata/logic_test/zone b/pkg/ccl/logictestccl/testdata/logic_test/zone index 77a9c4b70cfd..5ebf9e9520f9 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/zone +++ b/pkg/ccl/logictestccl/testdata/logic_test/zone @@ -616,36 +616,33 @@ SELECT target, range_name, database_name, table_name, index_name, partition_name FROM crdb_internal.zones ORDER BY target ---- -DATABASE "my database" NULL my database NULL NULL NULL -DATABASE system NULL system NULL NULL NULL -INDEX "my database".public."my table"@"my index" NULL my database my table my index NULL -INDEX test.public.t36642@secondary NULL test t36642 secondary NULL -INDEX test.public.t36642@tertiary NULL test t36642 tertiary NULL -INDEX test.public.t36644@secondary NULL test t36644 secondary NULL -INDEX test.public.t36644@tertiary NULL test t36644 tertiary NULL -INDEX test.public.t@secondary NULL test t secondary NULL -INDEX test.public.t@tertiary NULL test t tertiary NULL -PARTITION "my partition" OF INDEX "my database".public."my table"@"my index" NULL my database my table my index my partition -PARTITION "my partition" OF INDEX "my database".public."my table"@"my table_pkey" NULL my database my table my table_pkey my partition -PARTITION x1_idx OF INDEX test.public.t38391@foo NULL test t38391 foo x1_idx -RANGE default default NULL NULL NULL NULL -RANGE liveness liveness NULL NULL NULL NULL -RANGE meta meta NULL NULL NULL NULL -RANGE system system NULL NULL NULL NULL -RANGE timeseries timeseries NULL NULL NULL NULL -TABLE "my database".public."my table" NULL my database my table NULL NULL -TABLE system.public.lease NULL system lease NULL NULL -TABLE system.public.replication_constraint_stats NULL system replication_constraint_stats NULL NULL -TABLE system.public.replication_stats NULL system replication_stats NULL NULL -TABLE system.public.span_stats_tenant_boundaries NULL system span_stats_tenant_boundaries NULL NULL -TABLE system.public.statement_activity NULL system statement_activity NULL NULL -TABLE system.public.statement_statistics NULL system statement_statistics NULL NULL -TABLE system.public.tenant_usage NULL system tenant_usage NULL NULL -TABLE system.public.transaction_activity NULL system transaction_activity NULL NULL -TABLE system.public.transaction_statistics NULL system transaction_statistics NULL NULL -TABLE test.public.t NULL test t NULL NULL -TABLE test.public.t36642 NULL test t36642 NULL NULL -TABLE test.public.t36644 NULL test t36644 NULL NULL +DATABASE "my database" NULL my database NULL NULL NULL +DATABASE system NULL system NULL NULL NULL +INDEX "my database".public."my table"@"my index" NULL my database my table my index NULL +INDEX test.public.t36642@secondary NULL test t36642 secondary NULL +INDEX test.public.t36642@tertiary NULL test t36642 tertiary NULL +INDEX test.public.t36644@secondary NULL test t36644 secondary NULL +INDEX test.public.t36644@tertiary NULL test t36644 tertiary NULL +INDEX test.public.t@secondary NULL test t secondary NULL +INDEX test.public.t@tertiary NULL test t tertiary NULL +PARTITION "my partition" OF INDEX "my database".public."my table"@"my index" NULL my database my table my index my partition +PARTITION "my partition" OF INDEX "my database".public."my table"@"my table_pkey" NULL my database my table my table_pkey my partition +PARTITION x1_idx OF INDEX test.public.t38391@foo NULL test t38391 foo x1_idx +RANGE default default NULL NULL NULL NULL +RANGE liveness liveness NULL NULL NULL NULL +RANGE meta meta NULL NULL NULL NULL +RANGE system system NULL NULL NULL NULL +TABLE "my database".public."my table" NULL my database my table NULL NULL +TABLE system.public.lease NULL system lease NULL NULL +TABLE system.public.replication_constraint_stats NULL system replication_constraint_stats NULL NULL +TABLE system.public.replication_stats NULL system replication_stats NULL NULL +TABLE system.public.span_stats_tenant_boundaries NULL system span_stats_tenant_boundaries NULL NULL +TABLE system.public.statement_activity NULL system statement_activity NULL NULL +TABLE system.public.statement_statistics NULL system statement_statistics NULL NULL +TABLE system.public.tenant_usage NULL system tenant_usage NULL NULL +TABLE system.public.transaction_activity NULL system transaction_activity NULL NULL +TABLE system.public.transaction_statistics NULL system transaction_statistics NULL NULL +TABLE test.public.t NULL test t NULL NULL # Test the zone information being displayed in SHOW CREATE statement ok @@ -889,8 +886,6 @@ ALTER TABLE auth.t3 CONFIGURE ZONE USING num_replicas = 3 # Index and rows (partitions) should inherit table permissions statement ok ALTER INDEX auth.t3@x CONFIGURE ZONE USING num_replicas=5; - -statement ok ALTER PARTITION p OF INDEX auth.t3@x CONFIGURE ZONE USING num_replicas = 3 # Granting the admin role should allow configuring zones on system tables and @@ -913,12 +908,8 @@ ALTER TABLE system.jobs CONFIGURE ZONE USING num_replicas = 3 # zone configuration does not appear in partition p1 of infect@infect_pkey's zone config. statement ok CREATE TABLE infect (x INT PRIMARY KEY); -ALTER TABLE infect PARTITION BY LIST (x) (PARTITION p1 VALUES IN (1)); - -statement ok +ALTER TABLE infect PARTITION BY LIST (x) ( PARTITION p1 VALUES IN (1)); ALTER INDEX infect@infect_pkey CONFIGURE ZONE USING num_replicas=5; - -statement ok ALTER PARTITION p1 OF TABLE infect CONFIGURE ZONE USING constraints='[+dc=dc1]' query TT @@ -1079,11 +1070,7 @@ WHERE table_name = 'copy_from_parent' AND index_name = 'primary' AND partition_n # check that copy from parent on a subzone doesn't accidentally modify the parent zone. statement ok CREATE TABLE parent_modify (x INT, INDEX idx (x)); - -statement ok ALTER TABLE parent_modify CONFIGURE ZONE USING gc.ttlseconds = 700; - -statement ok ALTER INDEX parent_modify@idx CONFIGURE ZONE USING num_replicas = COPY FROM PARENT query TTT @@ -1128,14 +1115,8 @@ ALTER INDEX t@i2 PARTITION BY LIST (w) ( statement ok ALTER PARTITION p1 OF INDEX t@i1 CONFIGURE ZONE USING gc.ttlseconds = 15210; - -statement ok ALTER PARTITION p2 OF INDEX t@i1 CONFIGURE ZONE USING gc.ttlseconds = 15213; - -statement ok ALTER PARTITION p3 OF INDEX t@i2 CONFIGURE ZONE USING gc.ttlseconds = 15411; - -statement ok ALTER PARTITION p4 OF INDEX t@i2 CONFIGURE ZONE USING gc.ttlseconds = 15418; statement ok @@ -1207,8 +1188,6 @@ subtest regression_69647 statement ok CREATE table t_69647(pk INT PRIMARY KEY, i INT); CREATE INDEX i_69647 ON t_69647(i); - -statement ok ALTER TABLE t_69647 CONFIGURE ZONE USING global_reads=true; query TT @@ -1257,8 +1236,6 @@ INDEX test.public.t_69647@i_69647 ALTER INDEX test.public.t_69647@i_69647 CONFI # Same test as above, but this time for partitions instead of indexes. statement ok ALTER TABLE t_69647 PARTITION BY LIST (pk) (PARTITION "one" VALUES IN (1), PARTITION "rest" VALUES IN (DEFAULT)); - -statement ok ALTER PARTITION "one" OF TABLE t_69647 CONFIGURE ZONE USING num_replicas=3; query TT diff --git a/pkg/ccl/logictestccl/tests/3node-tenant-multiregion/generated_test.go b/pkg/ccl/logictestccl/tests/3node-tenant-multiregion/generated_test.go index d1351a04999f..1acf9394ce10 100644 --- a/pkg/ccl/logictestccl/tests/3node-tenant-multiregion/generated_test.go +++ b/pkg/ccl/logictestccl/tests/3node-tenant-multiregion/generated_test.go @@ -30,7 +30,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/randutil" ) -const configIdx = 11 +const configIdx = 10 var logicTestDir string var cclLogicTestDir string diff --git a/pkg/ccl/logictestccl/tests/3node-tenant/generated_test.go b/pkg/ccl/logictestccl/tests/3node-tenant/generated_test.go index 93053f498433..6768d81e4056 100644 --- a/pkg/ccl/logictestccl/tests/3node-tenant/generated_test.go +++ b/pkg/ccl/logictestccl/tests/3node-tenant/generated_test.go @@ -30,7 +30,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/randutil" ) -const configIdx = 10 +const configIdx = 9 var logicTestDir string var cclLogicTestDir string @@ -333,13 +333,6 @@ func TestTenantLogic_bit( runLogicTest(t, "bit") } -func TestTenantLogic_bpchar( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "bpchar") -} - func TestTenantLogic_builtin_function( t *testing.T, ) { @@ -627,13 +620,6 @@ func TestTenantLogic_distinct_on( runLogicTest(t, "distinct_on") } -func TestTenantLogic_distsql_automatic_partial_stats( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "distsql_automatic_partial_stats") -} - func TestTenantLogic_distsql_automatic_stats( t *testing.T, ) { @@ -1474,13 +1460,6 @@ func TestTenantLogic_procedure_params( runLogicTest(t, "procedure_params") } -func TestTenantLogic_procedure_polymorphic( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "procedure_polymorphic") -} - func TestTenantLogic_procedure_privileges( t *testing.T, ) { @@ -1677,13 +1656,6 @@ func TestTenantLogic_schema_change_in_txn( runLogicTest(t, "schema_change_in_txn") } -func TestTenantLogic_schema_change_logical_replication( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "schema_change_logical_replication") -} - func TestTenantLogic_schema_change_retry( t *testing.T, ) { @@ -1901,13 +1873,6 @@ func TestTenantLogic_show_default_privileges( runLogicTest(t, "show_default_privileges") } -func TestTenantLogic_show_external_connections( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_external_connections") -} - func TestTenantLogic_show_fingerprints( t *testing.T, ) { @@ -2328,13 +2293,6 @@ func TestTenantLogic_udf_params( runLogicTest(t, "udf_params") } -func TestTenantLogic_udf_polymorphic( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_polymorphic") -} - func TestTenantLogic_udf_prepare( t *testing.T, ) { @@ -2825,13 +2783,6 @@ func TestTenantLogicCCL_tenant_unsupported( runCCLLogicTest(t, "tenant_unsupported") } -func TestTenantLogicCCL_triggers( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "triggers") -} - func TestTenantLogicCCL_udf_params( t *testing.T, ) { @@ -2867,13 +2818,6 @@ func TestTenantLogicCCL_unique_read_committed( runCCLLogicTest(t, "unique_read_committed") } -func TestTenantLogicCCL_vector( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "vector") -} - func TestTenantLogicCCL_zone_config_secondary_tenants( t *testing.T, ) { diff --git a/pkg/ccl/logictestccl/tests/5node/generated_test.go b/pkg/ccl/logictestccl/tests/5node/generated_test.go index a68c43d0c8df..ba6cbea3b94c 100644 --- a/pkg/ccl/logictestccl/tests/5node/generated_test.go +++ b/pkg/ccl/logictestccl/tests/5node/generated_test.go @@ -29,7 +29,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/randutil" ) -const configIdx = 8 +const configIdx = 7 var cclLogicTestDir string diff --git a/pkg/ccl/logictestccl/tests/cockroach-go-testserver-24.1/BUILD.bazel b/pkg/ccl/logictestccl/tests/cockroach-go-testserver-23.1/BUILD.bazel similarity index 94% rename from pkg/ccl/logictestccl/tests/cockroach-go-testserver-24.1/BUILD.bazel rename to pkg/ccl/logictestccl/tests/cockroach-go-testserver-23.1/BUILD.bazel index 1ae5d9a019ad..195485370562 100644 --- a/pkg/ccl/logictestccl/tests/cockroach-go-testserver-24.1/BUILD.bazel +++ b/pkg/ccl/logictestccl/tests/cockroach-go-testserver-23.1/BUILD.bazel @@ -1,7 +1,7 @@ load("@io_bazel_rules_go//go:def.bzl", "go_test") go_test( - name = "cockroach-go-testserver-24_1_test", + name = "cockroach-go-testserver-23_1_test", size = "enormous", srcs = ["generated_test.go"], data = [ diff --git a/pkg/ccl/logictestccl/tests/cockroach-go-testserver-24.1/generated_test.go b/pkg/ccl/logictestccl/tests/cockroach-go-testserver-23.1/generated_test.go similarity index 94% rename from pkg/ccl/logictestccl/tests/cockroach-go-testserver-24.1/generated_test.go rename to pkg/ccl/logictestccl/tests/cockroach-go-testserver-23.1/generated_test.go index 090cc4a52fe9..e19a6262c955 100644 --- a/pkg/ccl/logictestccl/tests/cockroach-go-testserver-24.1/generated_test.go +++ b/pkg/ccl/logictestccl/tests/cockroach-go-testserver-23.1/generated_test.go @@ -8,7 +8,7 @@ // Code generated by generate-logictest, DO NOT EDIT. -package testcockroach_go_testserver_241 +package testcockroach_go_testserver_231 import ( "os" @@ -29,7 +29,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/randutil" ) -const configIdx = 21 +const configIdx = 20 var cclLogicTestDir string @@ -78,9 +78,9 @@ func TestLogic_tmp(t *testing.T) { logictest.RunLogicTests(t, logictest.TestServerArgs{}, configIdx, glob) } -func TestCCLLogic_mixed_version_pgvector( +func TestCCLLogic_mixed_version_plpgsql( t *testing.T, ) { defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "mixed_version_pgvector") + runCCLLogicTest(t, "mixed_version_plpgsql") } diff --git a/pkg/ccl/logictestccl/tests/fakedist-disk/BUILD.bazel b/pkg/ccl/logictestccl/tests/fakedist-disk/BUILD.bazel index e8bbc3647c4d..c4bb0b39dfba 100644 --- a/pkg/ccl/logictestccl/tests/fakedist-disk/BUILD.bazel +++ b/pkg/ccl/logictestccl/tests/fakedist-disk/BUILD.bazel @@ -12,7 +12,7 @@ go_test( "//build/toolchains:is_heavy": {"test.Pool": "heavy"}, "//conditions:default": {"test.Pool": "large"}, }), - shard_count = 30, + shard_count = 28, tags = ["cpu:2"], deps = [ "//pkg/base", diff --git a/pkg/ccl/logictestccl/tests/fakedist-disk/generated_test.go b/pkg/ccl/logictestccl/tests/fakedist-disk/generated_test.go index 9f5c937b1b42..a2fdeec1cc9c 100644 --- a/pkg/ccl/logictestccl/tests/fakedist-disk/generated_test.go +++ b/pkg/ccl/logictestccl/tests/fakedist-disk/generated_test.go @@ -29,7 +29,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/randutil" ) -const configIdx = 7 +const configIdx = 6 var cclLogicTestDir string @@ -239,13 +239,6 @@ func TestCCLLogic_subject( runCCLLogicTest(t, "subject") } -func TestCCLLogic_triggers( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "triggers") -} - func TestCCLLogic_udf_params( t *testing.T, ) { @@ -280,10 +273,3 @@ func TestCCLLogic_unique_read_committed( defer leaktest.AfterTest(t)() runCCLLogicTest(t, "unique_read_committed") } - -func TestCCLLogic_vector( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "vector") -} diff --git a/pkg/ccl/logictestccl/tests/fakedist-vec-off/BUILD.bazel b/pkg/ccl/logictestccl/tests/fakedist-vec-off/BUILD.bazel index ed20d166d24a..e7eb49f07487 100644 --- a/pkg/ccl/logictestccl/tests/fakedist-vec-off/BUILD.bazel +++ b/pkg/ccl/logictestccl/tests/fakedist-vec-off/BUILD.bazel @@ -12,7 +12,7 @@ go_test( "//build/toolchains:is_heavy": {"test.Pool": "heavy"}, "//conditions:default": {"test.Pool": "large"}, }), - shard_count = 30, + shard_count = 28, tags = ["cpu:2"], deps = [ "//pkg/base", diff --git a/pkg/ccl/logictestccl/tests/fakedist-vec-off/generated_test.go b/pkg/ccl/logictestccl/tests/fakedist-vec-off/generated_test.go index b2f4c60049f2..41b1bc49cbcc 100644 --- a/pkg/ccl/logictestccl/tests/fakedist-vec-off/generated_test.go +++ b/pkg/ccl/logictestccl/tests/fakedist-vec-off/generated_test.go @@ -29,7 +29,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/randutil" ) -const configIdx = 6 +const configIdx = 5 var cclLogicTestDir string @@ -239,13 +239,6 @@ func TestCCLLogic_subject( runCCLLogicTest(t, "subject") } -func TestCCLLogic_triggers( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "triggers") -} - func TestCCLLogic_udf_params( t *testing.T, ) { @@ -280,10 +273,3 @@ func TestCCLLogic_unique_read_committed( defer leaktest.AfterTest(t)() runCCLLogicTest(t, "unique_read_committed") } - -func TestCCLLogic_vector( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "vector") -} diff --git a/pkg/ccl/logictestccl/tests/fakedist/BUILD.bazel b/pkg/ccl/logictestccl/tests/fakedist/BUILD.bazel index 2887729097b5..9f97dfa4f620 100644 --- a/pkg/ccl/logictestccl/tests/fakedist/BUILD.bazel +++ b/pkg/ccl/logictestccl/tests/fakedist/BUILD.bazel @@ -12,7 +12,7 @@ go_test( "//build/toolchains:is_heavy": {"test.Pool": "heavy"}, "//conditions:default": {"test.Pool": "large"}, }), - shard_count = 31, + shard_count = 29, tags = ["cpu:2"], deps = [ "//pkg/base", diff --git a/pkg/ccl/logictestccl/tests/fakedist/generated_test.go b/pkg/ccl/logictestccl/tests/fakedist/generated_test.go index 6c9e1001b93a..b9e4f8e0d73b 100644 --- a/pkg/ccl/logictestccl/tests/fakedist/generated_test.go +++ b/pkg/ccl/logictestccl/tests/fakedist/generated_test.go @@ -29,7 +29,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/randutil" ) -const configIdx = 5 +const configIdx = 4 var cclLogicTestDir string @@ -246,13 +246,6 @@ func TestCCLLogic_subject( runCCLLogicTest(t, "subject") } -func TestCCLLogic_triggers( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "triggers") -} - func TestCCLLogic_udf_params( t *testing.T, ) { @@ -287,10 +280,3 @@ func TestCCLLogic_unique_read_committed( defer leaktest.AfterTest(t)() runCCLLogicTest(t, "unique_read_committed") } - -func TestCCLLogic_vector( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "vector") -} diff --git a/pkg/ccl/logictestccl/tests/local-legacy-schema-changer/BUILD.bazel b/pkg/ccl/logictestccl/tests/local-legacy-schema-changer/BUILD.bazel index 229112f58c04..638d7cc79915 100644 --- a/pkg/ccl/logictestccl/tests/local-legacy-schema-changer/BUILD.bazel +++ b/pkg/ccl/logictestccl/tests/local-legacy-schema-changer/BUILD.bazel @@ -9,7 +9,7 @@ go_test( "//pkg/ccl/logictestccl:testdata", # keep ], exec_properties = {"test.Pool": "large"}, - shard_count = 30, + shard_count = 28, tags = ["cpu:1"], deps = [ "//pkg/base", diff --git a/pkg/ccl/logictestccl/tests/local-legacy-schema-changer/generated_test.go b/pkg/ccl/logictestccl/tests/local-legacy-schema-changer/generated_test.go index 981632982992..357b386f166d 100644 --- a/pkg/ccl/logictestccl/tests/local-legacy-schema-changer/generated_test.go +++ b/pkg/ccl/logictestccl/tests/local-legacy-schema-changer/generated_test.go @@ -239,13 +239,6 @@ func TestCCLLogic_subject( runCCLLogicTest(t, "subject") } -func TestCCLLogic_triggers( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "triggers") -} - func TestCCLLogic_udf_params( t *testing.T, ) { @@ -280,10 +273,3 @@ func TestCCLLogic_unique_read_committed( defer leaktest.AfterTest(t)() runCCLLogicTest(t, "unique_read_committed") } - -func TestCCLLogic_vector( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "vector") -} diff --git a/pkg/ccl/logictestccl/tests/local-mixed-24.2/BUILD.bazel b/pkg/ccl/logictestccl/tests/local-mixed-23.1/BUILD.bazel similarity index 92% rename from pkg/ccl/logictestccl/tests/local-mixed-24.2/BUILD.bazel rename to pkg/ccl/logictestccl/tests/local-mixed-23.1/BUILD.bazel index c856d3edbf03..3197d228615f 100644 --- a/pkg/ccl/logictestccl/tests/local-mixed-24.2/BUILD.bazel +++ b/pkg/ccl/logictestccl/tests/local-mixed-23.1/BUILD.bazel @@ -1,7 +1,7 @@ load("@io_bazel_rules_go//go:def.bzl", "go_test") go_test( - name = "local-mixed-24_2_test", + name = "local-mixed-23_1_test", size = "enormous", srcs = ["generated_test.go"], data = [ @@ -9,7 +9,7 @@ go_test( "//pkg/ccl/logictestccl:testdata", # keep ], exec_properties = {"test.Pool": "large"}, - shard_count = 30, + shard_count = 11, tags = ["cpu:1"], deps = [ "//pkg/base", diff --git a/pkg/ccl/logictestccl/tests/local-mixed-24.2/generated_test.go b/pkg/ccl/logictestccl/tests/local-mixed-23.1/generated_test.go similarity index 62% rename from pkg/ccl/logictestccl/tests/local-mixed-24.2/generated_test.go rename to pkg/ccl/logictestccl/tests/local-mixed-23.1/generated_test.go index c34b24dabe47..21e3bbb1bcf4 100644 --- a/pkg/ccl/logictestccl/tests/local-mixed-24.2/generated_test.go +++ b/pkg/ccl/logictestccl/tests/local-mixed-23.1/generated_test.go @@ -8,7 +8,7 @@ // Code generated by generate-logictest, DO NOT EDIT. -package testlocal_mixed_242 +package testlocal_mixed_231 import ( "os" @@ -29,7 +29,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/randutil" ) -const configIdx = 20 +const configIdx = 18 var cclLogicTestDir string @@ -78,6 +78,13 @@ func TestLogic_tmp(t *testing.T) { logictest.RunLogicTests(t, logictest.TestServerArgs{}, configIdx, glob) } +func TestCCLLogic_changefeed( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "changefeed") +} + func TestCCLLogic_fips_ready( t *testing.T, ) { @@ -99,13 +106,6 @@ func TestCCLLogic_hash_sharded_index_read_committed( runCCLLogicTest(t, "hash_sharded_index_read_committed") } -func TestCCLLogic_nested_routines( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "nested_routines") -} - func TestCCLLogic_new_schema_changer( t *testing.T, ) { @@ -127,76 +127,6 @@ func TestCCLLogic_pgcrypto_builtins( runCCLLogicTest(t, "pgcrypto_builtins") } -func TestCCLLogic_plpgsql_block( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "plpgsql_block") -} - -func TestCCLLogic_plpgsql_call( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "plpgsql_call") -} - -func TestCCLLogic_plpgsql_cursor( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "plpgsql_cursor") -} - -func TestCCLLogic_plpgsql_into( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "plpgsql_into") -} - -func TestCCLLogic_plpgsql_record( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "plpgsql_record") -} - -func TestCCLLogic_plpgsql_txn( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "plpgsql_txn") -} - -func TestCCLLogic_plpgsql_unsupported( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "plpgsql_unsupported") -} - -func TestCCLLogic_procedure_params( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "procedure_params") -} - -func TestCCLLogic_procedure_plpgsql( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "procedure_plpgsql") -} - -func TestCCLLogic_read_committed( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "read_committed") -} - func TestCCLLogic_redact_descriptor( t *testing.T, ) { @@ -204,13 +134,6 @@ func TestCCLLogic_redact_descriptor( runCCLLogicTest(t, "redact_descriptor") } -func TestCCLLogic_refcursor( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "refcursor") -} - func TestCCLLogic_schema_change_in_txn( t *testing.T, ) { @@ -218,13 +141,6 @@ func TestCCLLogic_schema_change_in_txn( runCCLLogicTest(t, "schema_change_in_txn") } -func TestCCLLogic_select_for_update_read_committed( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "select_for_update_read_committed") -} - func TestCCLLogic_show_create( t *testing.T, ) { @@ -232,58 +148,9 @@ func TestCCLLogic_show_create( runCCLLogicTest(t, "show_create") } -func TestCCLLogic_subject( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "subject") -} - -func TestCCLLogic_triggers( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "triggers") -} - -func TestCCLLogic_udf_params( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "udf_params") -} - -func TestCCLLogic_udf_plpgsql( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "udf_plpgsql") -} - -func TestCCLLogic_udf_rewrite( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "udf_rewrite") -} - func TestCCLLogic_udf_volatility_check( t *testing.T, ) { defer leaktest.AfterTest(t)() runCCLLogicTest(t, "udf_volatility_check") } - -func TestCCLLogic_unique_read_committed( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "unique_read_committed") -} - -func TestCCLLogic_vector( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "vector") -} diff --git a/pkg/ccl/logictestccl/tests/local-mixed-24.1/BUILD.bazel b/pkg/ccl/logictestccl/tests/local-mixed-23.2/BUILD.bazel similarity index 92% rename from pkg/ccl/logictestccl/tests/local-mixed-24.1/BUILD.bazel rename to pkg/ccl/logictestccl/tests/local-mixed-23.2/BUILD.bazel index dcf119ffe577..041eb4ecf92b 100644 --- a/pkg/ccl/logictestccl/tests/local-mixed-24.1/BUILD.bazel +++ b/pkg/ccl/logictestccl/tests/local-mixed-23.2/BUILD.bazel @@ -1,7 +1,7 @@ load("@io_bazel_rules_go//go:def.bzl", "go_test") go_test( - name = "local-mixed-24_1_test", + name = "local-mixed-23_2_test", size = "enormous", srcs = ["generated_test.go"], data = [ @@ -9,7 +9,7 @@ go_test( "//pkg/ccl/logictestccl:testdata", # keep ], exec_properties = {"test.Pool": "large"}, - shard_count = 29, + shard_count = 25, tags = ["cpu:1"], deps = [ "//pkg/base", diff --git a/pkg/ccl/logictestccl/tests/local-mixed-24.1/generated_test.go b/pkg/ccl/logictestccl/tests/local-mixed-23.2/generated_test.go similarity index 92% rename from pkg/ccl/logictestccl/tests/local-mixed-24.1/generated_test.go rename to pkg/ccl/logictestccl/tests/local-mixed-23.2/generated_test.go index ed400e92c132..e0dc5a5c5222 100644 --- a/pkg/ccl/logictestccl/tests/local-mixed-24.1/generated_test.go +++ b/pkg/ccl/logictestccl/tests/local-mixed-23.2/generated_test.go @@ -8,7 +8,7 @@ // Code generated by generate-logictest, DO NOT EDIT. -package testlocal_mixed_241 +package testlocal_mixed_232 import ( "os" @@ -99,13 +99,6 @@ func TestCCLLogic_hash_sharded_index_read_committed( runCCLLogicTest(t, "hash_sharded_index_read_committed") } -func TestCCLLogic_nested_routines( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "nested_routines") -} - func TestCCLLogic_new_schema_changer( t *testing.T, ) { @@ -134,13 +127,6 @@ func TestCCLLogic_plpgsql_block( runCCLLogicTest(t, "plpgsql_block") } -func TestCCLLogic_plpgsql_call( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "plpgsql_call") -} - func TestCCLLogic_plpgsql_cursor( t *testing.T, ) { @@ -232,20 +218,6 @@ func TestCCLLogic_show_create( runCCLLogicTest(t, "show_create") } -func TestCCLLogic_subject( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "subject") -} - -func TestCCLLogic_triggers( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "triggers") -} - func TestCCLLogic_udf_params( t *testing.T, ) { diff --git a/pkg/ccl/logictestccl/tests/local-read-committed/BUILD.bazel b/pkg/ccl/logictestccl/tests/local-read-committed/BUILD.bazel index 5ecf61957e5c..6ebd57d3fe8f 100644 --- a/pkg/ccl/logictestccl/tests/local-read-committed/BUILD.bazel +++ b/pkg/ccl/logictestccl/tests/local-read-committed/BUILD.bazel @@ -7,11 +7,10 @@ go_test( data = [ "//c-deps:libgeos", # keep "//pkg/ccl/logictestccl:testdata", # keep - "//pkg/sql/logictest:testdata", # keep "//pkg/sql/opt/exec/execbuilder:testdata", # keep ], exec_properties = {"test.Pool": "large"}, - shard_count = 48, + shard_count = 35, tags = ["cpu:1"], deps = [ "//pkg/base", diff --git a/pkg/ccl/logictestccl/tests/local-read-committed/generated_test.go b/pkg/ccl/logictestccl/tests/local-read-committed/generated_test.go index 8670cf00ce44..abca7f4e8348 100644 --- a/pkg/ccl/logictestccl/tests/local-read-committed/generated_test.go +++ b/pkg/ccl/logictestccl/tests/local-read-committed/generated_test.go @@ -32,2557 +32,77 @@ import ( const configIdx = 3 -var logicTestDir string var cclLogicTestDir string var execBuildLogicTestDir string func init() { if bazel.BuiltWithBazel() { var err error - logicTestDir, err = bazel.Runfile("pkg/sql/logictest/testdata/logic_test") - if err != nil { - panic(err) - } - } else { - logicTestDir = "../../../../sql/logictest/testdata/logic_test" - } - if bazel.BuiltWithBazel() { - var err error - cclLogicTestDir, err = bazel.Runfile("pkg/ccl/logictestccl/testdata/logic_test") - if err != nil { - panic(err) - } - } else { - cclLogicTestDir = "../../../../ccl/logictestccl/testdata/logic_test" - } - if bazel.BuiltWithBazel() { - var err error - execBuildLogicTestDir, err = bazel.Runfile("pkg/sql/opt/exec/execbuilder/testdata") - if err != nil { - panic(err) - } - } else { - execBuildLogicTestDir = "../../../../sql/opt/exec/execbuilder/testdata" - } -} - -func TestMain(m *testing.M) { - defer ccl.TestingEnableEnterprise()() - securityassets.SetLoader(securitytest.EmbeddedAssets) - randutil.SeedForTests() - serverutils.InitTestServerFactory(server.TestServerFactory) - serverutils.InitTestClusterFactory(testcluster.TestClusterFactory) - - defer serverutils.TestingSetDefaultTenantSelectionOverride( - base.TestIsForStuffThatShouldWorkWithSecondaryTenantsButDoesntYet(76378), - )() - - os.Exit(m.Run()) -} - -func runLogicTest(t *testing.T, file string) { - skip.UnderDeadlock(t, "times out and/or hangs") - logictest.RunLogicTest(t, logictest.TestServerArgs{}, configIdx, filepath.Join(logicTestDir, file)) -} -func runCCLLogicTest(t *testing.T, file string) { - skip.UnderDeadlock(t, "times out and/or hangs") - logictest.RunLogicTest(t, logictest.TestServerArgs{}, configIdx, filepath.Join(cclLogicTestDir, file)) -} -func runExecBuildLogicTest(t *testing.T, file string) { - defer sql.TestingOverrideExplainEnvVersion("CockroachDB execbuilder test version")() - skip.UnderDeadlock(t, "times out and/or hangs") - serverArgs := logictest.TestServerArgs{ - DisableWorkmemRandomization: true, - // Disable the direct scans in order to keep the output of EXPLAIN (VEC) - // deterministic. - DisableDirectColumnarScans: true, - } - logictest.RunLogicTest(t, serverArgs, configIdx, filepath.Join(execBuildLogicTestDir, file)) -} - -// TestLogic_tmp runs any tests that are prefixed with "_", in which a dedicated -// test is not generated for. This allows developers to create and run temporary -// test files that are not checked into the repository, without repeatedly -// regenerating and reverting changes to this file, generated_test.go. -// -// TODO(mgartner): Add file filtering so that individual files can be run, -// instead of all files with the "_" prefix. -func TestLogic_tmp(t *testing.T) { - defer leaktest.AfterTest(t)() - var glob string - glob = filepath.Join(logicTestDir, "_*") - logictest.RunLogicTests(t, logictest.TestServerArgs{}, configIdx, glob) - glob = filepath.Join(cclLogicTestDir, "_*") - logictest.RunLogicTests(t, logictest.TestServerArgs{}, configIdx, glob) - glob = filepath.Join(execBuildLogicTestDir, "_*") - serverArgs := logictest.TestServerArgs{ - DisableWorkmemRandomization: true, - } - logictest.RunLogicTests(t, serverArgs, configIdx, glob) -} - -func TestReadCommittedLogic_aggregate( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "aggregate") -} - -func TestReadCommittedLogic_alias_types( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alias_types") -} - -func TestReadCommittedLogic_alter_column_type( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_column_type") -} - -func TestReadCommittedLogic_alter_database_convert_to_schema( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_database_convert_to_schema") -} - -func TestReadCommittedLogic_alter_database_owner( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_database_owner") -} - -func TestReadCommittedLogic_alter_default_privileges_for_all_roles( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_default_privileges_for_all_roles") -} - -func TestReadCommittedLogic_alter_default_privileges_for_schema( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_default_privileges_for_schema") -} - -func TestReadCommittedLogic_alter_default_privileges_for_sequence( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_default_privileges_for_sequence") -} - -func TestReadCommittedLogic_alter_default_privileges_for_table( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_default_privileges_for_table") -} - -func TestReadCommittedLogic_alter_default_privileges_for_type( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_default_privileges_for_type") -} - -func TestReadCommittedLogic_alter_default_privileges_in_schema( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_default_privileges_in_schema") -} - -func TestReadCommittedLogic_alter_default_privileges_with_grant_option( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_default_privileges_with_grant_option") -} - -func TestReadCommittedLogic_alter_primary_key( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_primary_key") -} - -func TestReadCommittedLogic_alter_role( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_role") -} - -func TestReadCommittedLogic_alter_role_set( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_role_set") -} - -func TestReadCommittedLogic_alter_schema_owner( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_schema_owner") -} - -func TestReadCommittedLogic_alter_sequence( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_sequence") -} - -func TestReadCommittedLogic_alter_sequence_owner( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_sequence_owner") -} - -func TestReadCommittedLogic_alter_table( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_table") -} - -func TestReadCommittedLogic_alter_table_owner( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_table_owner") -} - -func TestReadCommittedLogic_alter_type( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_type") -} - -func TestReadCommittedLogic_alter_type_owner( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_type_owner") -} - -func TestReadCommittedLogic_alter_view_owner( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_view_owner") -} - -func TestReadCommittedLogic_and_or( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "and_or") -} - -func TestReadCommittedLogic_apply_join( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "apply_join") -} - -func TestReadCommittedLogic_array( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "array") -} - -func TestReadCommittedLogic_as_of( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "as_of") -} - -func TestReadCommittedLogic_asyncpg( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "asyncpg") -} - -func TestReadCommittedLogic_auto_span_config_reconciliation_job( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "auto_span_config_reconciliation_job") -} - -func TestReadCommittedLogic_bit( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "bit") -} - -func TestReadCommittedLogic_bpchar( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "bpchar") -} - -func TestReadCommittedLogic_builtin_function( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "builtin_function") -} - -func TestReadCommittedLogic_builtin_function_notenant( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "builtin_function_notenant") -} - -func TestReadCommittedLogic_bytes( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "bytes") -} - -func TestReadCommittedLogic_cascade( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "cascade") -} - -func TestReadCommittedLogic_case_sensitive_names( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "case_sensitive_names") -} - -func TestReadCommittedLogic_cast( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "cast") -} - -func TestReadCommittedLogic_check_constraints( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "check_constraints") -} - -func TestReadCommittedLogic_cluster_locks( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "cluster_locks") -} - -func TestReadCommittedLogic_cluster_settings( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "cluster_settings") -} - -func TestReadCommittedLogic_collatedstring( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "collatedstring") -} - -func TestReadCommittedLogic_collatedstring_constraint( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "collatedstring_constraint") -} - -func TestReadCommittedLogic_collatedstring_index1( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "collatedstring_index1") -} - -func TestReadCommittedLogic_collatedstring_index2( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "collatedstring_index2") -} - -func TestReadCommittedLogic_collatedstring_normalization( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "collatedstring_normalization") -} - -func TestReadCommittedLogic_collatedstring_nullinindex( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "collatedstring_nullinindex") -} - -func TestReadCommittedLogic_collatedstring_uniqueindex1( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "collatedstring_uniqueindex1") -} - -func TestReadCommittedLogic_collatedstring_uniqueindex2( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "collatedstring_uniqueindex2") -} - -func TestReadCommittedLogic_comment_on( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "comment_on") -} - -func TestReadCommittedLogic_composite_types( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "composite_types") -} - -func TestReadCommittedLogic_computed( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "computed") -} - -func TestReadCommittedLogic_conditional( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "conditional") -} - -func TestReadCommittedLogic_connect_privilege( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "connect_privilege") -} - -func TestReadCommittedLogic_crdb_internal( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "crdb_internal") -} - -func TestReadCommittedLogic_crdb_internal_catalog( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "crdb_internal_catalog") -} - -func TestReadCommittedLogic_crdb_internal_default_privileges( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "crdb_internal_default_privileges") -} - -func TestReadCommittedLogic_create_as( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "create_as") -} - -func TestReadCommittedLogic_create_index( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "create_index") -} - -func TestReadCommittedLogic_create_table( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "create_table") -} - -func TestReadCommittedLogic_cross_join( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "cross_join") -} - -func TestReadCommittedLogic_cursor( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "cursor") -} - -func TestReadCommittedLogic_custom_escape_character( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "custom_escape_character") -} - -func TestReadCommittedLogic_dangerous_statements( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "dangerous_statements") -} - -func TestReadCommittedLogic_database( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "database") -} - -func TestReadCommittedLogic_datetime( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "datetime") -} - -func TestReadCommittedLogic_decimal( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "decimal") -} - -func TestReadCommittedLogic_default( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "default") -} - -func TestReadCommittedLogic_delete( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "delete") -} - -func TestReadCommittedLogic_delete_batch( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "delete_batch") -} - -func TestReadCommittedLogic_dependencies( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "dependencies") -} - -func TestReadCommittedLogic_discard( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "discard") -} - -func TestReadCommittedLogic_disjunction_in_join( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "disjunction_in_join") -} - -func TestReadCommittedLogic_distinct( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "distinct") -} - -func TestReadCommittedLogic_distinct_on( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "distinct_on") -} - -func TestReadCommittedLogic_distsql_automatic_partial_stats( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "distsql_automatic_partial_stats") -} - -func TestReadCommittedLogic_distsql_automatic_stats( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "distsql_automatic_stats") -} - -func TestReadCommittedLogic_distsql_event_log( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "distsql_event_log") -} - -func TestReadCommittedLogic_distsql_expr( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "distsql_expr") -} - -func TestReadCommittedLogic_distsql_join( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "distsql_join") -} - -func TestReadCommittedLogic_distsql_srfs( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "distsql_srfs") -} - -func TestReadCommittedLogic_drop_database( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_database") -} - -func TestReadCommittedLogic_drop_function( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_function") -} - -func TestReadCommittedLogic_drop_index( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_index") -} - -func TestReadCommittedLogic_drop_owned_by( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_owned_by") -} - -func TestReadCommittedLogic_drop_procedure( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_procedure") -} - -func TestReadCommittedLogic_drop_role_with_default_privileges( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_role_with_default_privileges") -} - -func TestReadCommittedLogic_drop_role_with_default_privileges_in_schema( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_role_with_default_privileges_in_schema") -} - -func TestReadCommittedLogic_drop_schema( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_schema") -} - -func TestReadCommittedLogic_drop_sequence( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_sequence") -} - -func TestReadCommittedLogic_drop_table( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_table") -} - -func TestReadCommittedLogic_drop_temp( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_temp") -} - -func TestReadCommittedLogic_drop_type( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_type") -} - -func TestReadCommittedLogic_drop_user( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_user") -} - -func TestReadCommittedLogic_drop_view( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_view") -} - -func TestReadCommittedLogic_edge( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "edge") -} - -func TestReadCommittedLogic_enums( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "enums") -} - -func TestReadCommittedLogic_errors( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "errors") -} - -func TestReadCommittedLogic_event_log( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "event_log") -} - -func TestReadCommittedLogic_exclude_data_from_backup( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "exclude_data_from_backup") -} - -func TestReadCommittedLogic_experimental_distsql_planning( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "experimental_distsql_planning") -} - -func TestReadCommittedLogic_explain_analyze( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "explain_analyze") -} - -func TestReadCommittedLogic_export( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "export") -} - -func TestReadCommittedLogic_expression_index( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "expression_index") -} - -func TestReadCommittedLogic_external_connection_privileges( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "external_connection_privileges") -} - -func TestReadCommittedLogic_family( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "family") -} - -func TestReadCommittedLogic_fk( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "fk") -} - -func TestReadCommittedLogic_float( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "float") -} - -func TestReadCommittedLogic_format( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "format") -} - -func TestReadCommittedLogic_function_lookup( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "function_lookup") -} - -func TestReadCommittedLogic_fuzzystrmatch( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "fuzzystrmatch") -} - -func TestReadCommittedLogic_geospatial( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "geospatial") -} - -func TestReadCommittedLogic_geospatial_index( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "geospatial_index") -} - -func TestReadCommittedLogic_geospatial_meta( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "geospatial_meta") -} - -func TestReadCommittedLogic_geospatial_regression( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "geospatial_regression") -} - -func TestReadCommittedLogic_geospatial_zm( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "geospatial_zm") -} - -func TestReadCommittedLogic_grant_database( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "grant_database") -} - -func TestReadCommittedLogic_grant_in_txn( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "grant_in_txn") -} - -func TestReadCommittedLogic_grant_on_all_sequences_in_schema( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "grant_on_all_sequences_in_schema") -} - -func TestReadCommittedLogic_grant_on_all_tables_in_schema( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "grant_on_all_tables_in_schema") -} - -func TestReadCommittedLogic_grant_revoke_with_grant_option( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "grant_revoke_with_grant_option") -} - -func TestReadCommittedLogic_grant_role( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "grant_role") -} - -func TestReadCommittedLogic_grant_schema( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "grant_schema") -} - -func TestReadCommittedLogic_group_join( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "group_join") -} - -func TestReadCommittedLogic_hash_join( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "hash_join") -} - -func TestReadCommittedLogic_hash_sharded_index( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "hash_sharded_index") -} - -func TestReadCommittedLogic_hidden_columns( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "hidden_columns") -} - -func TestReadCommittedLogic_impure( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "impure") -} - -func TestReadCommittedLogic_index_join( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "index_join") -} - -func TestReadCommittedLogic_inet( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "inet") -} - -func TestReadCommittedLogic_inflight_trace_spans( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "inflight_trace_spans") -} - -func TestReadCommittedLogic_information_schema( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "information_schema") -} - -func TestReadCommittedLogic_inner_join( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "inner-join") -} - -func TestReadCommittedLogic_insert( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "insert") -} - -func TestReadCommittedLogic_int_size( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "int_size") -} - -func TestReadCommittedLogic_internal_executor( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "internal_executor") -} - -func TestReadCommittedLogic_interval( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "interval") -} - -func TestReadCommittedLogic_inverted_filter_geospatial( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "inverted_filter_geospatial") -} - -func TestReadCommittedLogic_inverted_filter_json_array( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "inverted_filter_json_array") -} - -func TestReadCommittedLogic_inverted_index( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "inverted_index") -} - -func TestReadCommittedLogic_inverted_index_multi_column( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "inverted_index_multi_column") -} - -func TestReadCommittedLogic_inverted_join_geospatial( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "inverted_join_geospatial") -} - -func TestReadCommittedLogic_inverted_join_json_array( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "inverted_join_json_array") -} - -func TestReadCommittedLogic_inverted_join_multi_column( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "inverted_join_multi_column") -} - -func TestReadCommittedLogic_jobs( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "jobs") -} - -func TestReadCommittedLogic_join( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "join") -} - -func TestReadCommittedLogic_json( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "json") -} - -func TestReadCommittedLogic_json_builtins( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "json_builtins") -} - -func TestReadCommittedLogic_json_index( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "json_index") -} - -func TestReadCommittedLogic_kv_builtin_functions( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "kv_builtin_functions") -} - -func TestReadCommittedLogic_limit( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "limit") -} - -func TestReadCommittedLogic_locality( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "locality") -} - -func TestReadCommittedLogic_lock_timeout( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "lock_timeout") -} - -func TestReadCommittedLogic_lookup_join( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "lookup_join") -} - -func TestReadCommittedLogic_lookup_join_spans( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "lookup_join_spans") -} - -func TestReadCommittedLogic_manual_retry( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "manual_retry") -} - -func TestReadCommittedLogic_materialized_view( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "materialized_view") -} - -func TestReadCommittedLogic_merge_join( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "merge_join") -} - -func TestReadCommittedLogic_multi_statement( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "multi_statement") -} - -func TestReadCommittedLogic_name_escapes( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "name_escapes") -} - -func TestReadCommittedLogic_namespace( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "namespace") -} - -func TestReadCommittedLogic_new_schema_changer( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "new_schema_changer") -} - -func TestReadCommittedLogic_no_primary_key( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "no_primary_key") -} - -func TestReadCommittedLogic_notice( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "notice") -} - -func TestReadCommittedLogic_numeric_references( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "numeric_references") -} - -func TestReadCommittedLogic_on_update( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "on_update") -} - -func TestReadCommittedLogic_operator( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "operator") -} - -func TestReadCommittedLogic_optimizer_timeout( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "optimizer_timeout") -} - -func TestReadCommittedLogic_order_by( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "order_by") -} - -func TestReadCommittedLogic_ordinal_references( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "ordinal_references") -} - -func TestReadCommittedLogic_ordinality( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "ordinality") -} - -func TestReadCommittedLogic_overflow( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "overflow") -} - -func TestReadCommittedLogic_overlaps( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "overlaps") -} - -func TestReadCommittedLogic_owner( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "owner") -} - -func TestReadCommittedLogic_parallel_stmts_compat( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "parallel_stmts_compat") -} - -func TestReadCommittedLogic_partial_index( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "partial_index") -} - -func TestReadCommittedLogic_partial_txn_commit( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "partial_txn_commit") -} - -func TestReadCommittedLogic_pg_builtins( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "pg_builtins") -} - -func TestReadCommittedLogic_pg_catalog_pg_default_acl( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "pg_catalog_pg_default_acl") -} - -func TestReadCommittedLogic_pg_catalog_pg_default_acl_with_grant_option( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "pg_catalog_pg_default_acl_with_grant_option") -} - -func TestReadCommittedLogic_pg_extension( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "pg_extension") -} - -func TestReadCommittedLogic_pg_lsn( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "pg_lsn") -} - -func TestReadCommittedLogic_pgcrypto_builtins( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "pgcrypto_builtins") -} - -func TestReadCommittedLogic_pgoidtype( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "pgoidtype") -} - -func TestReadCommittedLogic_plpgsql_builtins( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "plpgsql_builtins") -} - -func TestReadCommittedLogic_poison_after_push( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "poison_after_push") -} - -func TestReadCommittedLogic_postgres_jsonb( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "postgres_jsonb") -} - -func TestReadCommittedLogic_postgresjoin( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "postgresjoin") -} - -func TestReadCommittedLogic_privilege_builtins( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "privilege_builtins") -} - -func TestReadCommittedLogic_privileges_comments( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "privileges_comments") -} - -func TestReadCommittedLogic_privileges_table( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "privileges_table") -} - -func TestReadCommittedLogic_proc_invokes_proc( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "proc_invokes_proc") -} - -func TestReadCommittedLogic_procedure( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "procedure") -} - -func TestReadCommittedLogic_procedure_deps( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "procedure_deps") -} - -func TestReadCommittedLogic_procedure_params( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "procedure_params") -} - -func TestReadCommittedLogic_procedure_polymorphic( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "procedure_polymorphic") -} - -func TestReadCommittedLogic_procedure_privileges( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "procedure_privileges") -} - -func TestReadCommittedLogic_procedure_schema_change( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "procedure_schema_change") -} - -func TestReadCommittedLogic_propagate_input_ordering( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "propagate_input_ordering") -} - -func TestReadCommittedLogic_reassign_owned_by( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "reassign_owned_by") -} - -func TestReadCommittedLogic_record( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "record") -} - -func TestReadCommittedLogic_redact_descriptor( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "redact_descriptor") -} - -func TestReadCommittedLogic_rename_atomic( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "rename_atomic") -} - -func TestReadCommittedLogic_rename_column( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "rename_column") -} - -func TestReadCommittedLogic_rename_constraint( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "rename_constraint") -} - -func TestReadCommittedLogic_rename_database( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "rename_database") -} - -func TestReadCommittedLogic_rename_index( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "rename_index") -} - -func TestReadCommittedLogic_rename_sequence( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "rename_sequence") -} - -func TestReadCommittedLogic_rename_table( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "rename_table") -} - -func TestReadCommittedLogic_rename_view( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "rename_view") -} - -func TestReadCommittedLogic_reset( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "reset") -} - -func TestReadCommittedLogic_retry( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "retry") -} - -func TestReadCommittedLogic_returning( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "returning") -} - -func TestReadCommittedLogic_routine_schema_change( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "routine_schema_change") -} - -func TestReadCommittedLogic_row_level_ttl( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "row_level_ttl") -} - -func TestReadCommittedLogic_rows_from( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "rows_from") -} - -func TestReadCommittedLogic_run_control( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "run_control") -} - -func TestReadCommittedLogic_save_table( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "save_table") -} - -func TestReadCommittedLogic_savepoints( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "savepoints") -} - -func TestReadCommittedLogic_scale( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "scale") -} - -func TestReadCommittedLogic_scatter( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "scatter") -} - -func TestReadCommittedLogic_schema( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "schema") -} - -func TestReadCommittedLogic_schema_change_feature_flags( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "schema_change_feature_flags") -} - -func TestReadCommittedLogic_schema_change_in_txn( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "schema_change_in_txn") -} - -func TestReadCommittedLogic_schema_change_logical_replication( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "schema_change_logical_replication") -} - -func TestReadCommittedLogic_schema_change_retry( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "schema_change_retry") -} - -func TestReadCommittedLogic_schema_locked( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "schema_locked") -} - -func TestReadCommittedLogic_schema_repair( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "schema_repair") -} - -func TestReadCommittedLogic_scrub( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "scrub") -} - -func TestReadCommittedLogic_secondary_index_column_families( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "secondary_index_column_families") -} - -func TestReadCommittedLogic_select( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "select") -} - -func TestReadCommittedLogic_select_for_share( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "select_for_share") -} - -func TestReadCommittedLogic_select_index( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "select_index") -} - -func TestReadCommittedLogic_select_index_flags( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "select_index_flags") -} - -func TestReadCommittedLogic_select_search_path( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "select_search_path") -} - -func TestReadCommittedLogic_select_table_alias( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "select_table_alias") -} - -func TestReadCommittedLogic_sequences( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "sequences") -} - -func TestReadCommittedLogic_sequences_distsql( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "sequences_distsql") -} - -func TestReadCommittedLogic_sequences_regclass( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "sequences_regclass") -} - -func TestReadCommittedLogic_serial( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "serial") -} - -func TestReadCommittedLogic_serializable_eager_restart( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "serializable_eager_restart") -} - -func TestReadCommittedLogic_set_local( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "set_local") -} - -func TestReadCommittedLogic_set_role( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "set_role") -} - -func TestReadCommittedLogic_set_schema( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "set_schema") -} - -func TestReadCommittedLogic_set_time_zone( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "set_time_zone") -} - -func TestReadCommittedLogic_shift( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "shift") -} - -func TestReadCommittedLogic_show_commit_timestamp( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_commit_timestamp") -} - -func TestReadCommittedLogic_show_completions( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_completions") -} - -func TestReadCommittedLogic_show_create( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_create") -} - -func TestReadCommittedLogic_show_create_all_schemas( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_create_all_schemas") -} - -func TestReadCommittedLogic_show_create_all_tables( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_create_all_tables") -} - -func TestReadCommittedLogic_show_create_all_tables_builtin( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_create_all_tables_builtin") -} - -func TestReadCommittedLogic_show_create_all_types( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_create_all_types") -} - -func TestReadCommittedLogic_show_create_redact( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_create_redact") -} - -func TestReadCommittedLogic_show_default_privileges( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_default_privileges") -} - -func TestReadCommittedLogic_show_external_connections( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_external_connections") -} - -func TestReadCommittedLogic_show_fingerprints( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_fingerprints") -} - -func TestReadCommittedLogic_show_grants_on_virtual_table( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_grants_on_virtual_table") -} - -func TestReadCommittedLogic_show_grants_synthetic( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_grants_synthetic") -} - -func TestReadCommittedLogic_show_indexes( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_indexes") -} - -func TestReadCommittedLogic_show_transfer_state( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_transfer_state") -} - -func TestReadCommittedLogic_show_var( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_var") -} - -func TestReadCommittedLogic_span_builtins( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "span_builtins") -} - -func TestReadCommittedLogic_split_at( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "split_at") -} - -func TestReadCommittedLogic_sqllite( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "sqllite") -} - -func TestReadCommittedLogic_sqlliveness( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "sqlliveness") -} - -func TestReadCommittedLogic_sqlsmith( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "sqlsmith") -} - -func TestReadCommittedLogic_srfs( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "srfs") -} - -func TestReadCommittedLogic_statement_source( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "statement_source") -} - -func TestReadCommittedLogic_statement_statistics_errors( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "statement_statistics_errors") -} - -func TestReadCommittedLogic_statement_statistics_errors_redacted( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "statement_statistics_errors_redacted") -} - -func TestReadCommittedLogic_stats( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "stats") -} - -func TestReadCommittedLogic_storing( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "storing") -} - -func TestReadCommittedLogic_strict_ddl_atomicity( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "strict_ddl_atomicity") -} - -func TestReadCommittedLogic_suboperators( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "suboperators") -} - -func TestReadCommittedLogic_subquery( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "subquery") -} - -func TestReadCommittedLogic_subquery_correlated( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "subquery_correlated") -} - -func TestReadCommittedLogic_synthetic_privileges( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "synthetic_privileges") -} - -func TestReadCommittedLogic_system( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "system") -} - -func TestReadCommittedLogic_system_columns( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "system_columns") -} - -func TestReadCommittedLogic_system_namespace( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "system_namespace") -} - -func TestReadCommittedLogic_table( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "table") -} - -func TestReadCommittedLogic_target_names( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "target_names") -} - -func TestReadCommittedLogic_temp_table( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "temp_table") -} - -func TestReadCommittedLogic_temp_table_txn( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "temp_table_txn") -} - -func TestReadCommittedLogic_tenant( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "tenant") -} - -func TestReadCommittedLogic_time( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "time") -} - -func TestReadCommittedLogic_timestamp( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "timestamp") -} - -func TestReadCommittedLogic_timetz( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "timetz") -} - -func TestReadCommittedLogic_trigram_builtins( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "trigram_builtins") -} - -func TestReadCommittedLogic_trigram_indexes( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "trigram_indexes") -} - -func TestReadCommittedLogic_truncate( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "truncate") -} - -func TestReadCommittedLogic_truncate_with_concurrent_mutation( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "truncate_with_concurrent_mutation") -} - -func TestReadCommittedLogic_tsvector( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "tsvector") -} - -func TestReadCommittedLogic_tuple( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "tuple") -} - -func TestReadCommittedLogic_tuple_local( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "tuple_local") -} - -func TestReadCommittedLogic_txn( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "txn") -} - -func TestReadCommittedLogic_txn_as_of( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "txn_as_of") -} - -func TestReadCommittedLogic_txn_retry( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "txn_retry") -} - -func TestReadCommittedLogic_txn_stats( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "txn_stats") -} - -func TestReadCommittedLogic_type_privileges( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "type_privileges") -} - -func TestReadCommittedLogic_typing( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "typing") -} - -func TestReadCommittedLogic_udf( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf") -} - -func TestReadCommittedLogic_udf_calling_udf( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_calling_udf") -} - -func TestReadCommittedLogic_udf_delete( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_delete") -} - -func TestReadCommittedLogic_udf_deps( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_deps") -} - -func TestReadCommittedLogic_udf_fk( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_fk") -} - -func TestReadCommittedLogic_udf_in_column_defaults( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_in_column_defaults") -} - -func TestReadCommittedLogic_udf_in_constraints( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_in_constraints") -} - -func TestReadCommittedLogic_udf_insert( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_insert") -} - -func TestReadCommittedLogic_udf_observability( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_observability") -} - -func TestReadCommittedLogic_udf_oid_ref( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_oid_ref") -} - -func TestReadCommittedLogic_udf_options( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_options") -} - -func TestReadCommittedLogic_udf_params( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_params") -} - -func TestReadCommittedLogic_udf_polymorphic( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_polymorphic") -} - -func TestReadCommittedLogic_udf_prepare( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_prepare") -} - -func TestReadCommittedLogic_udf_privileges( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_privileges") -} - -func TestReadCommittedLogic_udf_privileges_mutations( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_privileges_mutations") -} - -func TestReadCommittedLogic_udf_procedure_mix( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_procedure_mix") -} - -func TestReadCommittedLogic_udf_record( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_record") -} - -func TestReadCommittedLogic_udf_regressions( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_regressions") -} - -func TestReadCommittedLogic_udf_rewrite( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_rewrite") -} - -func TestReadCommittedLogic_udf_schema_change( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_schema_change") -} - -func TestReadCommittedLogic_udf_setof( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_setof") -} - -func TestReadCommittedLogic_udf_star( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_star") -} - -func TestReadCommittedLogic_udf_subquery( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_subquery") -} - -func TestReadCommittedLogic_udf_unsupported( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_unsupported") -} - -func TestReadCommittedLogic_udf_update( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_update") -} - -func TestReadCommittedLogic_udf_upsert( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_upsert") -} - -func TestReadCommittedLogic_union( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "union") -} - -func TestReadCommittedLogic_update( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "update") -} - -func TestReadCommittedLogic_update_from( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "update_from") -} - -func TestReadCommittedLogic_upsert( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "upsert") -} - -func TestReadCommittedLogic_upsert_non_metamorphic( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "upsert_non_metamorphic") -} - -func TestReadCommittedLogic_uuid( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "uuid") -} - -func TestReadCommittedLogic_values( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "values") -} - -func TestReadCommittedLogic_vectorize_agg( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "vectorize_agg") -} - -func TestReadCommittedLogic_vectorize_overloads( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "vectorize_overloads") -} - -func TestReadCommittedLogic_vectorize_shutdown( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "vectorize_shutdown") -} - -func TestReadCommittedLogic_vectorize_types( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "vectorize_types") -} - -func TestReadCommittedLogic_vectorize_unsupported( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "vectorize_unsupported") -} - -func TestReadCommittedLogic_views( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "views") -} - -func TestReadCommittedLogic_virtual_columns( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "virtual_columns") -} - -func TestReadCommittedLogic_virtual_table_privileges( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "virtual_table_privileges") -} - -func TestReadCommittedLogic_void( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "void") -} - -func TestReadCommittedLogic_where( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "where") -} - -func TestReadCommittedLogic_window( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "window") + cclLogicTestDir, err = bazel.Runfile("pkg/ccl/logictestccl/testdata/logic_test") + if err != nil { + panic(err) + } + } else { + cclLogicTestDir = "../../../../ccl/logictestccl/testdata/logic_test" + } + if bazel.BuiltWithBazel() { + var err error + execBuildLogicTestDir, err = bazel.Runfile("pkg/sql/opt/exec/execbuilder/testdata") + if err != nil { + panic(err) + } + } else { + execBuildLogicTestDir = "../../../../sql/opt/exec/execbuilder/testdata" + } } -func TestReadCommittedLogic_with( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "with") -} +func TestMain(m *testing.M) { + defer ccl.TestingEnableEnterprise()() + securityassets.SetLoader(securitytest.EmbeddedAssets) + randutil.SeedForTests() + serverutils.InitTestServerFactory(server.TestServerFactory) + serverutils.InitTestClusterFactory(testcluster.TestClusterFactory) -func TestReadCommittedLogic_workload_indexrecs( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "workload_indexrecs") -} + defer serverutils.TestingSetDefaultTenantSelectionOverride( + base.TestIsForStuffThatShouldWorkWithSecondaryTenantsButDoesntYet(76378), + )() -func TestReadCommittedLogic_zero( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "zero") + os.Exit(m.Run()) } -func TestReadCommittedLogic_zigzag_join( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "zigzag_join") +func runCCLLogicTest(t *testing.T, file string) { + skip.UnderDeadlock(t, "times out and/or hangs") + logictest.RunLogicTest(t, logictest.TestServerArgs{}, configIdx, filepath.Join(cclLogicTestDir, file)) } - -func TestReadCommittedLogic_zone_config( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "zone_config") +func runExecBuildLogicTest(t *testing.T, file string) { + defer sql.TestingOverrideExplainEnvVersion("CockroachDB execbuilder test version")() + skip.UnderDeadlock(t, "times out and/or hangs") + serverArgs := logictest.TestServerArgs{ + DisableWorkmemRandomization: true, + // Disable the direct scans in order to keep the output of EXPLAIN (VEC) + // deterministic. + DisableDirectColumnarScans: true, + } + logictest.RunLogicTest(t, serverArgs, configIdx, filepath.Join(execBuildLogicTestDir, file)) } -func TestReadCommittedLogic_zone_config_system_tenant( - t *testing.T, -) { +// TestLogic_tmp runs any tests that are prefixed with "_", in which a dedicated +// test is not generated for. This allows developers to create and run temporary +// test files that are not checked into the repository, without repeatedly +// regenerating and reverting changes to this file, generated_test.go. +// +// TODO(mgartner): Add file filtering so that individual files can be run, +// instead of all files with the "_" prefix. +func TestLogic_tmp(t *testing.T) { defer leaktest.AfterTest(t)() - runLogicTest(t, "zone_config_system_tenant") + var glob string + glob = filepath.Join(cclLogicTestDir, "_*") + logictest.RunLogicTests(t, logictest.TestServerArgs{}, configIdx, glob) + glob = filepath.Join(execBuildLogicTestDir, "_*") + serverArgs := logictest.TestServerArgs{ + DisableWorkmemRandomization: true, + } + logictest.RunLogicTests(t, serverArgs, configIdx, glob) } func TestReadCommittedLogicCCL_fips_ready( @@ -2746,13 +266,6 @@ func TestReadCommittedLogicCCL_subject( runCCLLogicTest(t, "subject") } -func TestReadCommittedLogicCCL_triggers( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "triggers") -} - func TestReadCommittedLogicCCL_udf_params( t *testing.T, ) { @@ -2788,13 +301,6 @@ func TestReadCommittedLogicCCL_unique_read_committed( runCCLLogicTest(t, "unique_read_committed") } -func TestReadCommittedLogicCCL_vector( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "vector") -} - func TestReadCommittedExecBuild_explain_analyze_read_committed( t *testing.T, ) { diff --git a/pkg/ccl/logictestccl/tests/local-repeatable-read/BUILD.bazel b/pkg/ccl/logictestccl/tests/local-repeatable-read/BUILD.bazel deleted file mode 100644 index aa4980d9e687..000000000000 --- a/pkg/ccl/logictestccl/tests/local-repeatable-read/BUILD.bazel +++ /dev/null @@ -1,31 +0,0 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_test") - -go_test( - name = "local-repeatable-read_test", - size = "enormous", - srcs = ["generated_test.go"], - data = [ - "//c-deps:libgeos", # keep - "//pkg/ccl/logictestccl:testdata", # keep - "//pkg/sql/logictest:testdata", # keep - "//pkg/sql/opt/exec/execbuilder:testdata", # keep - ], - exec_properties = {"test.Pool": "large"}, - shard_count = 48, - tags = ["cpu:1"], - deps = [ - "//pkg/base", - "//pkg/build/bazel", - "//pkg/ccl", - "//pkg/security/securityassets", - "//pkg/security/securitytest", - "//pkg/server", - "//pkg/sql", - "//pkg/sql/logictest", - "//pkg/testutils/serverutils", - "//pkg/testutils/skip", - "//pkg/testutils/testcluster", - "//pkg/util/leaktest", - "//pkg/util/randutil", - ], -) diff --git a/pkg/ccl/logictestccl/tests/local-repeatable-read/generated_test.go b/pkg/ccl/logictestccl/tests/local-repeatable-read/generated_test.go deleted file mode 100644 index f27541e2ce02..000000000000 --- a/pkg/ccl/logictestccl/tests/local-repeatable-read/generated_test.go +++ /dev/null @@ -1,2796 +0,0 @@ -// Copyright 2022 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -// Code generated by generate-logictest, DO NOT EDIT. - -package testlocal_repeatable_read - -import ( - "os" - "path/filepath" - "testing" - - "github.com/cockroachdb/cockroach/pkg/base" - "github.com/cockroachdb/cockroach/pkg/build/bazel" - "github.com/cockroachdb/cockroach/pkg/ccl" - "github.com/cockroachdb/cockroach/pkg/security/securityassets" - "github.com/cockroachdb/cockroach/pkg/security/securitytest" - "github.com/cockroachdb/cockroach/pkg/server" - "github.com/cockroachdb/cockroach/pkg/sql" - "github.com/cockroachdb/cockroach/pkg/sql/logictest" - "github.com/cockroachdb/cockroach/pkg/testutils/serverutils" - "github.com/cockroachdb/cockroach/pkg/testutils/skip" - "github.com/cockroachdb/cockroach/pkg/testutils/testcluster" - "github.com/cockroachdb/cockroach/pkg/util/leaktest" - "github.com/cockroachdb/cockroach/pkg/util/randutil" -) - -const configIdx = 4 - -var logicTestDir string -var cclLogicTestDir string -var execBuildLogicTestDir string - -func init() { - if bazel.BuiltWithBazel() { - var err error - logicTestDir, err = bazel.Runfile("pkg/sql/logictest/testdata/logic_test") - if err != nil { - panic(err) - } - } else { - logicTestDir = "../../../../sql/logictest/testdata/logic_test" - } - if bazel.BuiltWithBazel() { - var err error - cclLogicTestDir, err = bazel.Runfile("pkg/ccl/logictestccl/testdata/logic_test") - if err != nil { - panic(err) - } - } else { - cclLogicTestDir = "../../../../ccl/logictestccl/testdata/logic_test" - } - if bazel.BuiltWithBazel() { - var err error - execBuildLogicTestDir, err = bazel.Runfile("pkg/sql/opt/exec/execbuilder/testdata") - if err != nil { - panic(err) - } - } else { - execBuildLogicTestDir = "../../../../sql/opt/exec/execbuilder/testdata" - } -} - -func TestMain(m *testing.M) { - defer ccl.TestingEnableEnterprise()() - securityassets.SetLoader(securitytest.EmbeddedAssets) - randutil.SeedForTests() - serverutils.InitTestServerFactory(server.TestServerFactory) - serverutils.InitTestClusterFactory(testcluster.TestClusterFactory) - - defer serverutils.TestingSetDefaultTenantSelectionOverride( - base.TestIsForStuffThatShouldWorkWithSecondaryTenantsButDoesntYet(76378), - )() - - os.Exit(m.Run()) -} - -func runLogicTest(t *testing.T, file string) { - skip.UnderDeadlock(t, "times out and/or hangs") - logictest.RunLogicTest(t, logictest.TestServerArgs{}, configIdx, filepath.Join(logicTestDir, file)) -} -func runCCLLogicTest(t *testing.T, file string) { - skip.UnderDeadlock(t, "times out and/or hangs") - logictest.RunLogicTest(t, logictest.TestServerArgs{}, configIdx, filepath.Join(cclLogicTestDir, file)) -} -func runExecBuildLogicTest(t *testing.T, file string) { - defer sql.TestingOverrideExplainEnvVersion("CockroachDB execbuilder test version")() - skip.UnderDeadlock(t, "times out and/or hangs") - serverArgs := logictest.TestServerArgs{ - DisableWorkmemRandomization: true, - // Disable the direct scans in order to keep the output of EXPLAIN (VEC) - // deterministic. - DisableDirectColumnarScans: true, - } - logictest.RunLogicTest(t, serverArgs, configIdx, filepath.Join(execBuildLogicTestDir, file)) -} - -// TestLogic_tmp runs any tests that are prefixed with "_", in which a dedicated -// test is not generated for. This allows developers to create and run temporary -// test files that are not checked into the repository, without repeatedly -// regenerating and reverting changes to this file, generated_test.go. -// -// TODO(mgartner): Add file filtering so that individual files can be run, -// instead of all files with the "_" prefix. -func TestLogic_tmp(t *testing.T) { - defer leaktest.AfterTest(t)() - var glob string - glob = filepath.Join(logicTestDir, "_*") - logictest.RunLogicTests(t, logictest.TestServerArgs{}, configIdx, glob) - glob = filepath.Join(cclLogicTestDir, "_*") - logictest.RunLogicTests(t, logictest.TestServerArgs{}, configIdx, glob) - glob = filepath.Join(execBuildLogicTestDir, "_*") - serverArgs := logictest.TestServerArgs{ - DisableWorkmemRandomization: true, - } - logictest.RunLogicTests(t, serverArgs, configIdx, glob) -} - -func TestRepeatableReadLogic_aggregate( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "aggregate") -} - -func TestRepeatableReadLogic_alias_types( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alias_types") -} - -func TestRepeatableReadLogic_alter_column_type( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_column_type") -} - -func TestRepeatableReadLogic_alter_database_convert_to_schema( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_database_convert_to_schema") -} - -func TestRepeatableReadLogic_alter_database_owner( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_database_owner") -} - -func TestRepeatableReadLogic_alter_default_privileges_for_all_roles( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_default_privileges_for_all_roles") -} - -func TestRepeatableReadLogic_alter_default_privileges_for_schema( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_default_privileges_for_schema") -} - -func TestRepeatableReadLogic_alter_default_privileges_for_sequence( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_default_privileges_for_sequence") -} - -func TestRepeatableReadLogic_alter_default_privileges_for_table( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_default_privileges_for_table") -} - -func TestRepeatableReadLogic_alter_default_privileges_for_type( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_default_privileges_for_type") -} - -func TestRepeatableReadLogic_alter_default_privileges_in_schema( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_default_privileges_in_schema") -} - -func TestRepeatableReadLogic_alter_default_privileges_with_grant_option( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_default_privileges_with_grant_option") -} - -func TestRepeatableReadLogic_alter_primary_key( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_primary_key") -} - -func TestRepeatableReadLogic_alter_role( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_role") -} - -func TestRepeatableReadLogic_alter_role_set( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_role_set") -} - -func TestRepeatableReadLogic_alter_schema_owner( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_schema_owner") -} - -func TestRepeatableReadLogic_alter_sequence( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_sequence") -} - -func TestRepeatableReadLogic_alter_sequence_owner( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_sequence_owner") -} - -func TestRepeatableReadLogic_alter_table( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_table") -} - -func TestRepeatableReadLogic_alter_table_owner( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_table_owner") -} - -func TestRepeatableReadLogic_alter_type( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_type") -} - -func TestRepeatableReadLogic_alter_type_owner( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_type_owner") -} - -func TestRepeatableReadLogic_alter_view_owner( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "alter_view_owner") -} - -func TestRepeatableReadLogic_and_or( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "and_or") -} - -func TestRepeatableReadLogic_apply_join( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "apply_join") -} - -func TestRepeatableReadLogic_array( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "array") -} - -func TestRepeatableReadLogic_as_of( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "as_of") -} - -func TestRepeatableReadLogic_asyncpg( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "asyncpg") -} - -func TestRepeatableReadLogic_auto_span_config_reconciliation_job( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "auto_span_config_reconciliation_job") -} - -func TestRepeatableReadLogic_bit( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "bit") -} - -func TestRepeatableReadLogic_bpchar( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "bpchar") -} - -func TestRepeatableReadLogic_builtin_function( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "builtin_function") -} - -func TestRepeatableReadLogic_builtin_function_notenant( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "builtin_function_notenant") -} - -func TestRepeatableReadLogic_bytes( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "bytes") -} - -func TestRepeatableReadLogic_cascade( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "cascade") -} - -func TestRepeatableReadLogic_case_sensitive_names( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "case_sensitive_names") -} - -func TestRepeatableReadLogic_cast( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "cast") -} - -func TestRepeatableReadLogic_check_constraints( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "check_constraints") -} - -func TestRepeatableReadLogic_cluster_settings( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "cluster_settings") -} - -func TestRepeatableReadLogic_collatedstring( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "collatedstring") -} - -func TestRepeatableReadLogic_collatedstring_constraint( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "collatedstring_constraint") -} - -func TestRepeatableReadLogic_collatedstring_index1( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "collatedstring_index1") -} - -func TestRepeatableReadLogic_collatedstring_index2( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "collatedstring_index2") -} - -func TestRepeatableReadLogic_collatedstring_normalization( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "collatedstring_normalization") -} - -func TestRepeatableReadLogic_collatedstring_nullinindex( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "collatedstring_nullinindex") -} - -func TestRepeatableReadLogic_collatedstring_uniqueindex1( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "collatedstring_uniqueindex1") -} - -func TestRepeatableReadLogic_collatedstring_uniqueindex2( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "collatedstring_uniqueindex2") -} - -func TestRepeatableReadLogic_comment_on( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "comment_on") -} - -func TestRepeatableReadLogic_composite_types( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "composite_types") -} - -func TestRepeatableReadLogic_computed( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "computed") -} - -func TestRepeatableReadLogic_conditional( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "conditional") -} - -func TestRepeatableReadLogic_connect_privilege( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "connect_privilege") -} - -func TestRepeatableReadLogic_crdb_internal( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "crdb_internal") -} - -func TestRepeatableReadLogic_crdb_internal_catalog( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "crdb_internal_catalog") -} - -func TestRepeatableReadLogic_crdb_internal_default_privileges( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "crdb_internal_default_privileges") -} - -func TestRepeatableReadLogic_create_as( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "create_as") -} - -func TestRepeatableReadLogic_create_index( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "create_index") -} - -func TestRepeatableReadLogic_create_table( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "create_table") -} - -func TestRepeatableReadLogic_cross_join( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "cross_join") -} - -func TestRepeatableReadLogic_cursor( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "cursor") -} - -func TestRepeatableReadLogic_custom_escape_character( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "custom_escape_character") -} - -func TestRepeatableReadLogic_dangerous_statements( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "dangerous_statements") -} - -func TestRepeatableReadLogic_database( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "database") -} - -func TestRepeatableReadLogic_datetime( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "datetime") -} - -func TestRepeatableReadLogic_decimal( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "decimal") -} - -func TestRepeatableReadLogic_default( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "default") -} - -func TestRepeatableReadLogic_delete( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "delete") -} - -func TestRepeatableReadLogic_delete_batch( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "delete_batch") -} - -func TestRepeatableReadLogic_dependencies( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "dependencies") -} - -func TestRepeatableReadLogic_discard( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "discard") -} - -func TestRepeatableReadLogic_disjunction_in_join( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "disjunction_in_join") -} - -func TestRepeatableReadLogic_distinct( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "distinct") -} - -func TestRepeatableReadLogic_distinct_on( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "distinct_on") -} - -func TestRepeatableReadLogic_distsql_automatic_partial_stats( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "distsql_automatic_partial_stats") -} - -func TestRepeatableReadLogic_distsql_automatic_stats( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "distsql_automatic_stats") -} - -func TestRepeatableReadLogic_distsql_event_log( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "distsql_event_log") -} - -func TestRepeatableReadLogic_distsql_expr( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "distsql_expr") -} - -func TestRepeatableReadLogic_distsql_join( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "distsql_join") -} - -func TestRepeatableReadLogic_distsql_srfs( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "distsql_srfs") -} - -func TestRepeatableReadLogic_drop_database( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_database") -} - -func TestRepeatableReadLogic_drop_function( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_function") -} - -func TestRepeatableReadLogic_drop_index( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_index") -} - -func TestRepeatableReadLogic_drop_owned_by( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_owned_by") -} - -func TestRepeatableReadLogic_drop_procedure( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_procedure") -} - -func TestRepeatableReadLogic_drop_role_with_default_privileges( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_role_with_default_privileges") -} - -func TestRepeatableReadLogic_drop_role_with_default_privileges_in_schema( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_role_with_default_privileges_in_schema") -} - -func TestRepeatableReadLogic_drop_schema( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_schema") -} - -func TestRepeatableReadLogic_drop_sequence( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_sequence") -} - -func TestRepeatableReadLogic_drop_table( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_table") -} - -func TestRepeatableReadLogic_drop_temp( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_temp") -} - -func TestRepeatableReadLogic_drop_type( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_type") -} - -func TestRepeatableReadLogic_drop_user( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_user") -} - -func TestRepeatableReadLogic_drop_view( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "drop_view") -} - -func TestRepeatableReadLogic_edge( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "edge") -} - -func TestRepeatableReadLogic_enums( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "enums") -} - -func TestRepeatableReadLogic_errors( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "errors") -} - -func TestRepeatableReadLogic_event_log( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "event_log") -} - -func TestRepeatableReadLogic_exclude_data_from_backup( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "exclude_data_from_backup") -} - -func TestRepeatableReadLogic_experimental_distsql_planning( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "experimental_distsql_planning") -} - -func TestRepeatableReadLogic_explain_analyze( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "explain_analyze") -} - -func TestRepeatableReadLogic_export( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "export") -} - -func TestRepeatableReadLogic_expression_index( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "expression_index") -} - -func TestRepeatableReadLogic_external_connection_privileges( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "external_connection_privileges") -} - -func TestRepeatableReadLogic_family( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "family") -} - -func TestRepeatableReadLogic_fk( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "fk") -} - -func TestRepeatableReadLogic_float( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "float") -} - -func TestRepeatableReadLogic_format( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "format") -} - -func TestRepeatableReadLogic_function_lookup( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "function_lookup") -} - -func TestRepeatableReadLogic_fuzzystrmatch( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "fuzzystrmatch") -} - -func TestRepeatableReadLogic_geospatial( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "geospatial") -} - -func TestRepeatableReadLogic_geospatial_index( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "geospatial_index") -} - -func TestRepeatableReadLogic_geospatial_meta( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "geospatial_meta") -} - -func TestRepeatableReadLogic_geospatial_regression( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "geospatial_regression") -} - -func TestRepeatableReadLogic_geospatial_zm( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "geospatial_zm") -} - -func TestRepeatableReadLogic_grant_database( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "grant_database") -} - -func TestRepeatableReadLogic_grant_in_txn( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "grant_in_txn") -} - -func TestRepeatableReadLogic_grant_on_all_sequences_in_schema( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "grant_on_all_sequences_in_schema") -} - -func TestRepeatableReadLogic_grant_on_all_tables_in_schema( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "grant_on_all_tables_in_schema") -} - -func TestRepeatableReadLogic_grant_revoke_with_grant_option( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "grant_revoke_with_grant_option") -} - -func TestRepeatableReadLogic_grant_role( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "grant_role") -} - -func TestRepeatableReadLogic_grant_schema( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "grant_schema") -} - -func TestRepeatableReadLogic_group_join( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "group_join") -} - -func TestRepeatableReadLogic_hash_join( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "hash_join") -} - -func TestRepeatableReadLogic_hash_sharded_index( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "hash_sharded_index") -} - -func TestRepeatableReadLogic_hidden_columns( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "hidden_columns") -} - -func TestRepeatableReadLogic_impure( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "impure") -} - -func TestRepeatableReadLogic_index_join( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "index_join") -} - -func TestRepeatableReadLogic_inet( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "inet") -} - -func TestRepeatableReadLogic_inflight_trace_spans( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "inflight_trace_spans") -} - -func TestRepeatableReadLogic_information_schema( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "information_schema") -} - -func TestRepeatableReadLogic_inner_join( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "inner-join") -} - -func TestRepeatableReadLogic_insert( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "insert") -} - -func TestRepeatableReadLogic_int_size( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "int_size") -} - -func TestRepeatableReadLogic_internal_executor( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "internal_executor") -} - -func TestRepeatableReadLogic_interval( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "interval") -} - -func TestRepeatableReadLogic_inverted_filter_geospatial( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "inverted_filter_geospatial") -} - -func TestRepeatableReadLogic_inverted_filter_json_array( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "inverted_filter_json_array") -} - -func TestRepeatableReadLogic_inverted_index( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "inverted_index") -} - -func TestRepeatableReadLogic_inverted_index_multi_column( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "inverted_index_multi_column") -} - -func TestRepeatableReadLogic_inverted_join_geospatial( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "inverted_join_geospatial") -} - -func TestRepeatableReadLogic_inverted_join_json_array( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "inverted_join_json_array") -} - -func TestRepeatableReadLogic_inverted_join_multi_column( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "inverted_join_multi_column") -} - -func TestRepeatableReadLogic_jobs( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "jobs") -} - -func TestRepeatableReadLogic_join( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "join") -} - -func TestRepeatableReadLogic_json( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "json") -} - -func TestRepeatableReadLogic_json_builtins( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "json_builtins") -} - -func TestRepeatableReadLogic_json_index( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "json_index") -} - -func TestRepeatableReadLogic_kv_builtin_functions( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "kv_builtin_functions") -} - -func TestRepeatableReadLogic_limit( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "limit") -} - -func TestRepeatableReadLogic_locality( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "locality") -} - -func TestRepeatableReadLogic_lock_timeout( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "lock_timeout") -} - -func TestRepeatableReadLogic_lookup_join( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "lookup_join") -} - -func TestRepeatableReadLogic_lookup_join_spans( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "lookup_join_spans") -} - -func TestRepeatableReadLogic_manual_retry( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "manual_retry") -} - -func TestRepeatableReadLogic_materialized_view( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "materialized_view") -} - -func TestRepeatableReadLogic_merge_join( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "merge_join") -} - -func TestRepeatableReadLogic_multi_statement( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "multi_statement") -} - -func TestRepeatableReadLogic_name_escapes( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "name_escapes") -} - -func TestRepeatableReadLogic_namespace( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "namespace") -} - -func TestRepeatableReadLogic_new_schema_changer( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "new_schema_changer") -} - -func TestRepeatableReadLogic_no_primary_key( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "no_primary_key") -} - -func TestRepeatableReadLogic_notice( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "notice") -} - -func TestRepeatableReadLogic_numeric_references( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "numeric_references") -} - -func TestRepeatableReadLogic_on_update( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "on_update") -} - -func TestRepeatableReadLogic_operator( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "operator") -} - -func TestRepeatableReadLogic_optimizer_timeout( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "optimizer_timeout") -} - -func TestRepeatableReadLogic_order_by( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "order_by") -} - -func TestRepeatableReadLogic_ordinal_references( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "ordinal_references") -} - -func TestRepeatableReadLogic_ordinality( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "ordinality") -} - -func TestRepeatableReadLogic_overflow( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "overflow") -} - -func TestRepeatableReadLogic_overlaps( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "overlaps") -} - -func TestRepeatableReadLogic_owner( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "owner") -} - -func TestRepeatableReadLogic_parallel_stmts_compat( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "parallel_stmts_compat") -} - -func TestRepeatableReadLogic_partial_index( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "partial_index") -} - -func TestRepeatableReadLogic_partial_txn_commit( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "partial_txn_commit") -} - -func TestRepeatableReadLogic_pg_builtins( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "pg_builtins") -} - -func TestRepeatableReadLogic_pg_catalog_pg_default_acl( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "pg_catalog_pg_default_acl") -} - -func TestRepeatableReadLogic_pg_catalog_pg_default_acl_with_grant_option( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "pg_catalog_pg_default_acl_with_grant_option") -} - -func TestRepeatableReadLogic_pg_extension( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "pg_extension") -} - -func TestRepeatableReadLogic_pg_lsn( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "pg_lsn") -} - -func TestRepeatableReadLogic_pgcrypto_builtins( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "pgcrypto_builtins") -} - -func TestRepeatableReadLogic_pgoidtype( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "pgoidtype") -} - -func TestRepeatableReadLogic_plpgsql_builtins( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "plpgsql_builtins") -} - -func TestRepeatableReadLogic_poison_after_push( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "poison_after_push") -} - -func TestRepeatableReadLogic_postgres_jsonb( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "postgres_jsonb") -} - -func TestRepeatableReadLogic_postgresjoin( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "postgresjoin") -} - -func TestRepeatableReadLogic_privilege_builtins( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "privilege_builtins") -} - -func TestRepeatableReadLogic_privileges_comments( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "privileges_comments") -} - -func TestRepeatableReadLogic_privileges_table( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "privileges_table") -} - -func TestRepeatableReadLogic_proc_invokes_proc( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "proc_invokes_proc") -} - -func TestRepeatableReadLogic_procedure( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "procedure") -} - -func TestRepeatableReadLogic_procedure_deps( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "procedure_deps") -} - -func TestRepeatableReadLogic_procedure_params( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "procedure_params") -} - -func TestRepeatableReadLogic_procedure_polymorphic( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "procedure_polymorphic") -} - -func TestRepeatableReadLogic_procedure_privileges( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "procedure_privileges") -} - -func TestRepeatableReadLogic_procedure_schema_change( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "procedure_schema_change") -} - -func TestRepeatableReadLogic_propagate_input_ordering( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "propagate_input_ordering") -} - -func TestRepeatableReadLogic_reassign_owned_by( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "reassign_owned_by") -} - -func TestRepeatableReadLogic_record( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "record") -} - -func TestRepeatableReadLogic_redact_descriptor( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "redact_descriptor") -} - -func TestRepeatableReadLogic_rename_atomic( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "rename_atomic") -} - -func TestRepeatableReadLogic_rename_column( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "rename_column") -} - -func TestRepeatableReadLogic_rename_constraint( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "rename_constraint") -} - -func TestRepeatableReadLogic_rename_database( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "rename_database") -} - -func TestRepeatableReadLogic_rename_index( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "rename_index") -} - -func TestRepeatableReadLogic_rename_sequence( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "rename_sequence") -} - -func TestRepeatableReadLogic_rename_table( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "rename_table") -} - -func TestRepeatableReadLogic_rename_view( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "rename_view") -} - -func TestRepeatableReadLogic_reset( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "reset") -} - -func TestRepeatableReadLogic_retry( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "retry") -} - -func TestRepeatableReadLogic_returning( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "returning") -} - -func TestRepeatableReadLogic_routine_schema_change( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "routine_schema_change") -} - -func TestRepeatableReadLogic_row_level_ttl( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "row_level_ttl") -} - -func TestRepeatableReadLogic_rows_from( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "rows_from") -} - -func TestRepeatableReadLogic_run_control( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "run_control") -} - -func TestRepeatableReadLogic_save_table( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "save_table") -} - -func TestRepeatableReadLogic_savepoints( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "savepoints") -} - -func TestRepeatableReadLogic_scale( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "scale") -} - -func TestRepeatableReadLogic_scatter( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "scatter") -} - -func TestRepeatableReadLogic_schema( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "schema") -} - -func TestRepeatableReadLogic_schema_change_feature_flags( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "schema_change_feature_flags") -} - -func TestRepeatableReadLogic_schema_change_in_txn( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "schema_change_in_txn") -} - -func TestRepeatableReadLogic_schema_change_logical_replication( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "schema_change_logical_replication") -} - -func TestRepeatableReadLogic_schema_change_retry( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "schema_change_retry") -} - -func TestRepeatableReadLogic_schema_locked( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "schema_locked") -} - -func TestRepeatableReadLogic_schema_repair( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "schema_repair") -} - -func TestRepeatableReadLogic_scrub( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "scrub") -} - -func TestRepeatableReadLogic_secondary_index_column_families( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "secondary_index_column_families") -} - -func TestRepeatableReadLogic_select( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "select") -} - -func TestRepeatableReadLogic_select_for_share( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "select_for_share") -} - -func TestRepeatableReadLogic_select_index( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "select_index") -} - -func TestRepeatableReadLogic_select_index_flags( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "select_index_flags") -} - -func TestRepeatableReadLogic_select_search_path( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "select_search_path") -} - -func TestRepeatableReadLogic_select_table_alias( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "select_table_alias") -} - -func TestRepeatableReadLogic_sequences( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "sequences") -} - -func TestRepeatableReadLogic_sequences_distsql( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "sequences_distsql") -} - -func TestRepeatableReadLogic_sequences_regclass( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "sequences_regclass") -} - -func TestRepeatableReadLogic_serial( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "serial") -} - -func TestRepeatableReadLogic_serializable_eager_restart( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "serializable_eager_restart") -} - -func TestRepeatableReadLogic_set_local( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "set_local") -} - -func TestRepeatableReadLogic_set_role( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "set_role") -} - -func TestRepeatableReadLogic_set_schema( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "set_schema") -} - -func TestRepeatableReadLogic_set_time_zone( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "set_time_zone") -} - -func TestRepeatableReadLogic_shift( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "shift") -} - -func TestRepeatableReadLogic_show_commit_timestamp( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_commit_timestamp") -} - -func TestRepeatableReadLogic_show_completions( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_completions") -} - -func TestRepeatableReadLogic_show_create( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_create") -} - -func TestRepeatableReadLogic_show_create_all_schemas( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_create_all_schemas") -} - -func TestRepeatableReadLogic_show_create_all_tables( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_create_all_tables") -} - -func TestRepeatableReadLogic_show_create_all_tables_builtin( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_create_all_tables_builtin") -} - -func TestRepeatableReadLogic_show_create_all_types( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_create_all_types") -} - -func TestRepeatableReadLogic_show_create_redact( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_create_redact") -} - -func TestRepeatableReadLogic_show_default_privileges( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_default_privileges") -} - -func TestRepeatableReadLogic_show_external_connections( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_external_connections") -} - -func TestRepeatableReadLogic_show_fingerprints( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_fingerprints") -} - -func TestRepeatableReadLogic_show_grants_on_virtual_table( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_grants_on_virtual_table") -} - -func TestRepeatableReadLogic_show_grants_synthetic( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_grants_synthetic") -} - -func TestRepeatableReadLogic_show_indexes( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_indexes") -} - -func TestRepeatableReadLogic_show_transfer_state( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_transfer_state") -} - -func TestRepeatableReadLogic_show_var( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "show_var") -} - -func TestRepeatableReadLogic_span_builtins( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "span_builtins") -} - -func TestRepeatableReadLogic_split_at( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "split_at") -} - -func TestRepeatableReadLogic_sqllite( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "sqllite") -} - -func TestRepeatableReadLogic_sqlliveness( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "sqlliveness") -} - -func TestRepeatableReadLogic_sqlsmith( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "sqlsmith") -} - -func TestRepeatableReadLogic_srfs( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "srfs") -} - -func TestRepeatableReadLogic_statement_source( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "statement_source") -} - -func TestRepeatableReadLogic_statement_statistics_errors( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "statement_statistics_errors") -} - -func TestRepeatableReadLogic_statement_statistics_errors_redacted( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "statement_statistics_errors_redacted") -} - -func TestRepeatableReadLogic_stats( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "stats") -} - -func TestRepeatableReadLogic_storing( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "storing") -} - -func TestRepeatableReadLogic_strict_ddl_atomicity( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "strict_ddl_atomicity") -} - -func TestRepeatableReadLogic_suboperators( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "suboperators") -} - -func TestRepeatableReadLogic_subquery( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "subquery") -} - -func TestRepeatableReadLogic_subquery_correlated( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "subquery_correlated") -} - -func TestRepeatableReadLogic_synthetic_privileges( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "synthetic_privileges") -} - -func TestRepeatableReadLogic_system( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "system") -} - -func TestRepeatableReadLogic_system_columns( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "system_columns") -} - -func TestRepeatableReadLogic_system_namespace( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "system_namespace") -} - -func TestRepeatableReadLogic_table( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "table") -} - -func TestRepeatableReadLogic_target_names( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "target_names") -} - -func TestRepeatableReadLogic_temp_table( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "temp_table") -} - -func TestRepeatableReadLogic_temp_table_txn( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "temp_table_txn") -} - -func TestRepeatableReadLogic_tenant( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "tenant") -} - -func TestRepeatableReadLogic_time( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "time") -} - -func TestRepeatableReadLogic_timestamp( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "timestamp") -} - -func TestRepeatableReadLogic_timetz( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "timetz") -} - -func TestRepeatableReadLogic_trigram_builtins( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "trigram_builtins") -} - -func TestRepeatableReadLogic_trigram_indexes( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "trigram_indexes") -} - -func TestRepeatableReadLogic_truncate( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "truncate") -} - -func TestRepeatableReadLogic_truncate_with_concurrent_mutation( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "truncate_with_concurrent_mutation") -} - -func TestRepeatableReadLogic_tsvector( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "tsvector") -} - -func TestRepeatableReadLogic_tuple( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "tuple") -} - -func TestRepeatableReadLogic_tuple_local( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "tuple_local") -} - -func TestRepeatableReadLogic_txn( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "txn") -} - -func TestRepeatableReadLogic_txn_as_of( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "txn_as_of") -} - -func TestRepeatableReadLogic_txn_retry( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "txn_retry") -} - -func TestRepeatableReadLogic_txn_stats( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "txn_stats") -} - -func TestRepeatableReadLogic_type_privileges( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "type_privileges") -} - -func TestRepeatableReadLogic_typing( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "typing") -} - -func TestRepeatableReadLogic_udf( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf") -} - -func TestRepeatableReadLogic_udf_calling_udf( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_calling_udf") -} - -func TestRepeatableReadLogic_udf_delete( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_delete") -} - -func TestRepeatableReadLogic_udf_deps( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_deps") -} - -func TestRepeatableReadLogic_udf_fk( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_fk") -} - -func TestRepeatableReadLogic_udf_in_column_defaults( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_in_column_defaults") -} - -func TestRepeatableReadLogic_udf_in_constraints( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_in_constraints") -} - -func TestRepeatableReadLogic_udf_insert( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_insert") -} - -func TestRepeatableReadLogic_udf_observability( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_observability") -} - -func TestRepeatableReadLogic_udf_oid_ref( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_oid_ref") -} - -func TestRepeatableReadLogic_udf_options( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_options") -} - -func TestRepeatableReadLogic_udf_params( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_params") -} - -func TestRepeatableReadLogic_udf_polymorphic( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_polymorphic") -} - -func TestRepeatableReadLogic_udf_prepare( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_prepare") -} - -func TestRepeatableReadLogic_udf_privileges( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_privileges") -} - -func TestRepeatableReadLogic_udf_privileges_mutations( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_privileges_mutations") -} - -func TestRepeatableReadLogic_udf_procedure_mix( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_procedure_mix") -} - -func TestRepeatableReadLogic_udf_record( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_record") -} - -func TestRepeatableReadLogic_udf_regressions( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_regressions") -} - -func TestRepeatableReadLogic_udf_rewrite( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_rewrite") -} - -func TestRepeatableReadLogic_udf_schema_change( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_schema_change") -} - -func TestRepeatableReadLogic_udf_setof( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_setof") -} - -func TestRepeatableReadLogic_udf_star( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_star") -} - -func TestRepeatableReadLogic_udf_subquery( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_subquery") -} - -func TestRepeatableReadLogic_udf_unsupported( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_unsupported") -} - -func TestRepeatableReadLogic_udf_update( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_update") -} - -func TestRepeatableReadLogic_udf_upsert( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "udf_upsert") -} - -func TestRepeatableReadLogic_union( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "union") -} - -func TestRepeatableReadLogic_update( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "update") -} - -func TestRepeatableReadLogic_update_from( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "update_from") -} - -func TestRepeatableReadLogic_upsert( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "upsert") -} - -func TestRepeatableReadLogic_upsert_non_metamorphic( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "upsert_non_metamorphic") -} - -func TestRepeatableReadLogic_uuid( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "uuid") -} - -func TestRepeatableReadLogic_values( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "values") -} - -func TestRepeatableReadLogic_vectorize_agg( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "vectorize_agg") -} - -func TestRepeatableReadLogic_vectorize_overloads( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "vectorize_overloads") -} - -func TestRepeatableReadLogic_vectorize_shutdown( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "vectorize_shutdown") -} - -func TestRepeatableReadLogic_vectorize_types( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "vectorize_types") -} - -func TestRepeatableReadLogic_vectorize_unsupported( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "vectorize_unsupported") -} - -func TestRepeatableReadLogic_views( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "views") -} - -func TestRepeatableReadLogic_virtual_columns( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "virtual_columns") -} - -func TestRepeatableReadLogic_virtual_table_privileges( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "virtual_table_privileges") -} - -func TestRepeatableReadLogic_void( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "void") -} - -func TestRepeatableReadLogic_where( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "where") -} - -func TestRepeatableReadLogic_window( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "window") -} - -func TestRepeatableReadLogic_with( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "with") -} - -func TestRepeatableReadLogic_workload_indexrecs( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "workload_indexrecs") -} - -func TestRepeatableReadLogic_zero( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "zero") -} - -func TestRepeatableReadLogic_zigzag_join( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "zigzag_join") -} - -func TestRepeatableReadLogic_zone_config( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "zone_config") -} - -func TestRepeatableReadLogic_zone_config_system_tenant( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runLogicTest(t, "zone_config_system_tenant") -} - -func TestRepeatableReadLogicCCL_fips_ready( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "fips_ready") -} - -func TestRepeatableReadLogicCCL_fk_read_committed( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "fk_read_committed") -} - -func TestRepeatableReadLogicCCL_hash_sharded_index_read_committed( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "hash_sharded_index_read_committed") -} - -func TestRepeatableReadLogicCCL_nested_routines( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "nested_routines") -} - -func TestRepeatableReadLogicCCL_new_schema_changer( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "new_schema_changer") -} - -func TestRepeatableReadLogicCCL_partitioning_enum( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "partitioning_enum") -} - -func TestRepeatableReadLogicCCL_pgcrypto_builtins( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "pgcrypto_builtins") -} - -func TestRepeatableReadLogicCCL_plpgsql_block( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "plpgsql_block") -} - -func TestRepeatableReadLogicCCL_plpgsql_call( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "plpgsql_call") -} - -func TestRepeatableReadLogicCCL_plpgsql_cursor( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "plpgsql_cursor") -} - -func TestRepeatableReadLogicCCL_plpgsql_into( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "plpgsql_into") -} - -func TestRepeatableReadLogicCCL_plpgsql_record( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "plpgsql_record") -} - -func TestRepeatableReadLogicCCL_plpgsql_txn( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "plpgsql_txn") -} - -func TestRepeatableReadLogicCCL_plpgsql_unsupported( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "plpgsql_unsupported") -} - -func TestRepeatableReadLogicCCL_procedure_params( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "procedure_params") -} - -func TestRepeatableReadLogicCCL_procedure_plpgsql( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "procedure_plpgsql") -} - -func TestRepeatableReadLogicCCL_read_committed( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "read_committed") -} - -func TestRepeatableReadLogicCCL_redact_descriptor( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "redact_descriptor") -} - -func TestRepeatableReadLogicCCL_refcursor( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "refcursor") -} - -func TestRepeatableReadLogicCCL_schema_change_in_txn( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "schema_change_in_txn") -} - -func TestRepeatableReadLogicCCL_select_for_update_read_committed( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "select_for_update_read_committed") -} - -func TestRepeatableReadLogicCCL_show_create( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "show_create") -} - -func TestRepeatableReadLogicCCL_subject( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "subject") -} - -func TestRepeatableReadLogicCCL_triggers( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "triggers") -} - -func TestRepeatableReadLogicCCL_udf_params( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "udf_params") -} - -func TestRepeatableReadLogicCCL_udf_plpgsql( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "udf_plpgsql") -} - -func TestRepeatableReadLogicCCL_udf_rewrite( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "udf_rewrite") -} - -func TestRepeatableReadLogicCCL_udf_volatility_check( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "udf_volatility_check") -} - -func TestRepeatableReadLogicCCL_unique_read_committed( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "unique_read_committed") -} - -func TestRepeatableReadLogicCCL_vector( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "vector") -} - -func TestRepeatableReadExecBuild_geospatial( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runExecBuildLogicTest(t, "geospatial") -} diff --git a/pkg/ccl/logictestccl/tests/local-vec-off/BUILD.bazel b/pkg/ccl/logictestccl/tests/local-vec-off/BUILD.bazel index 2593a77e3775..92f0ed613a5c 100644 --- a/pkg/ccl/logictestccl/tests/local-vec-off/BUILD.bazel +++ b/pkg/ccl/logictestccl/tests/local-vec-off/BUILD.bazel @@ -9,7 +9,7 @@ go_test( "//pkg/ccl/logictestccl:testdata", # keep ], exec_properties = {"test.Pool": "large"}, - shard_count = 30, + shard_count = 28, tags = ["cpu:1"], deps = [ "//pkg/base", diff --git a/pkg/ccl/logictestccl/tests/local-vec-off/generated_test.go b/pkg/ccl/logictestccl/tests/local-vec-off/generated_test.go index 19d0536f1e68..c9e9d7e13055 100644 --- a/pkg/ccl/logictestccl/tests/local-vec-off/generated_test.go +++ b/pkg/ccl/logictestccl/tests/local-vec-off/generated_test.go @@ -239,13 +239,6 @@ func TestCCLLogic_subject( runCCLLogicTest(t, "subject") } -func TestCCLLogic_triggers( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "triggers") -} - func TestCCLLogic_udf_params( t *testing.T, ) { @@ -280,10 +273,3 @@ func TestCCLLogic_unique_read_committed( defer leaktest.AfterTest(t)() runCCLLogicTest(t, "unique_read_committed") } - -func TestCCLLogic_vector( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "vector") -} diff --git a/pkg/ccl/logictestccl/tests/local/BUILD.bazel b/pkg/ccl/logictestccl/tests/local/BUILD.bazel index 035b110f5544..096337816aaf 100644 --- a/pkg/ccl/logictestccl/tests/local/BUILD.bazel +++ b/pkg/ccl/logictestccl/tests/local/BUILD.bazel @@ -9,7 +9,7 @@ go_test( "//pkg/ccl/logictestccl:testdata", # keep ], exec_properties = {"test.Pool": "large"}, - shard_count = 47, + shard_count = 45, tags = ["cpu:1"], deps = [ "//pkg/base", diff --git a/pkg/ccl/logictestccl/tests/local/generated_test.go b/pkg/ccl/logictestccl/tests/local/generated_test.go index a480f2d76de8..d7be759cfae6 100644 --- a/pkg/ccl/logictestccl/tests/local/generated_test.go +++ b/pkg/ccl/logictestccl/tests/local/generated_test.go @@ -358,13 +358,6 @@ func TestCCLLogic_tenant_usage( runCCLLogicTest(t, "tenant_usage") } -func TestCCLLogic_triggers( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "triggers") -} - func TestCCLLogic_udf_params( t *testing.T, ) { @@ -399,10 +392,3 @@ func TestCCLLogic_unique_read_committed( defer leaktest.AfterTest(t)() runCCLLogicTest(t, "unique_read_committed") } - -func TestCCLLogic_vector( - t *testing.T, -) { - defer leaktest.AfterTest(t)() - runCCLLogicTest(t, "vector") -} diff --git a/pkg/ccl/logictestccl/tests/multiregion-15node-5region-3azs/generated_test.go b/pkg/ccl/logictestccl/tests/multiregion-15node-5region-3azs/generated_test.go index d50a3d1d16cf..f51c3bcaf5a8 100644 --- a/pkg/ccl/logictestccl/tests/multiregion-15node-5region-3azs/generated_test.go +++ b/pkg/ccl/logictestccl/tests/multiregion-15node-5region-3azs/generated_test.go @@ -29,7 +29,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/randutil" ) -const configIdx = 18 +const configIdx = 17 var cclLogicTestDir string diff --git a/pkg/ccl/logictestccl/tests/multiregion-3node-3superlongregions/generated_test.go b/pkg/ccl/logictestccl/tests/multiregion-3node-3superlongregions/generated_test.go index 024f323bec61..7781e4461100 100644 --- a/pkg/ccl/logictestccl/tests/multiregion-3node-3superlongregions/generated_test.go +++ b/pkg/ccl/logictestccl/tests/multiregion-3node-3superlongregions/generated_test.go @@ -29,7 +29,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/randutil" ) -const configIdx = 13 +const configIdx = 12 var cclLogicTestDir string diff --git a/pkg/ccl/logictestccl/tests/multiregion-9node-3region-3azs-no-los/generated_test.go b/pkg/ccl/logictestccl/tests/multiregion-9node-3region-3azs-no-los/generated_test.go index 0d7556c6e0a7..a7d213e742cf 100644 --- a/pkg/ccl/logictestccl/tests/multiregion-9node-3region-3azs-no-los/generated_test.go +++ b/pkg/ccl/logictestccl/tests/multiregion-9node-3region-3azs-no-los/generated_test.go @@ -29,7 +29,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/randutil" ) -const configIdx = 17 +const configIdx = 16 var cclLogicTestDir string diff --git a/pkg/ccl/logictestccl/tests/multiregion-9node-3region-3azs-tenant/generated_test.go b/pkg/ccl/logictestccl/tests/multiregion-9node-3region-3azs-tenant/generated_test.go index 553b2b90911f..284d320a3cb2 100644 --- a/pkg/ccl/logictestccl/tests/multiregion-9node-3region-3azs-tenant/generated_test.go +++ b/pkg/ccl/logictestccl/tests/multiregion-9node-3region-3azs-tenant/generated_test.go @@ -29,7 +29,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/randutil" ) -const configIdx = 15 +const configIdx = 14 var cclLogicTestDir string diff --git a/pkg/ccl/logictestccl/tests/multiregion-9node-3region-3azs-vec-off/generated_test.go b/pkg/ccl/logictestccl/tests/multiregion-9node-3region-3azs-vec-off/generated_test.go index 5fe4e0cee0b4..8d43a5dd6223 100644 --- a/pkg/ccl/logictestccl/tests/multiregion-9node-3region-3azs-vec-off/generated_test.go +++ b/pkg/ccl/logictestccl/tests/multiregion-9node-3region-3azs-vec-off/generated_test.go @@ -29,7 +29,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/randutil" ) -const configIdx = 16 +const configIdx = 15 var cclLogicTestDir string diff --git a/pkg/ccl/logictestccl/tests/multiregion-9node-3region-3azs/generated_test.go b/pkg/ccl/logictestccl/tests/multiregion-9node-3region-3azs/generated_test.go index b2217436d367..875c32d30464 100644 --- a/pkg/ccl/logictestccl/tests/multiregion-9node-3region-3azs/generated_test.go +++ b/pkg/ccl/logictestccl/tests/multiregion-9node-3region-3azs/generated_test.go @@ -29,7 +29,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/randutil" ) -const configIdx = 14 +const configIdx = 13 var cclLogicTestDir string diff --git a/pkg/ccl/multiregionccl/cold_start_latency_test.go b/pkg/ccl/multiregionccl/cold_start_latency_test.go index e69caa994cf7..a10ec21b04b5 100644 --- a/pkg/ccl/multiregionccl/cold_start_latency_test.go +++ b/pkg/ccl/multiregionccl/cold_start_latency_test.go @@ -70,8 +70,8 @@ func TestColdStartLatency(t *testing.T) { } pauseAfter := make(chan struct{}) signalAfter := make([]chan struct{}, numNodes) - var latencyEnabled atomic.Bool - var addrsToNodeIDs syncutil.Map[string, int] + var latencyEnabled syncutil.AtomicBool + var addrsToNodeIDs sync.Map // Set up the host cluster. perServerArgs := make(map[int]base.TestServerArgs, numNodes) @@ -86,7 +86,7 @@ func TestColdStartLatency(t *testing.T) { SignalAfterGettingRPCAddress: signalAfter[i], ContextTestingKnobs: rpc.ContextTestingKnobs{ InjectedLatencyOracle: regionlatency.MakeAddrMap(), - InjectedLatencyEnabled: latencyEnabled.Load, + InjectedLatencyEnabled: latencyEnabled.Get, UnaryClientInterceptor: func( target string, class rpc.ConnectionClass, ) grpc.UnaryClientInterceptor { @@ -98,10 +98,8 @@ func TestColdStartLatency(t *testing.T) { if !log.ExpensiveLogEnabled(ctx, 2) { return invoker(ctx, method, req, reply, cc, opts...) } - var nodeID int - if nodeIDPtr, ok := addrsToNodeIDs.Load(target); ok { - nodeID = *nodeIDPtr - } + nodeIDi, _ := addrsToNodeIDs.Load(target) + nodeID, _ := nodeIDi.(int) start := timeutil.Now() defer func() { log.VEventf(ctx, 2, "%d->%d (%v->%v) %s %v %v took %v", @@ -137,15 +135,14 @@ func TestColdStartLatency(t *testing.T) { ctx := context.Background() defer tc.Stopper().Stop(ctx) enableLatency := func() { - latencyEnabled.Store(true) + latencyEnabled.Set(true) for i := 0; i < numNodes; i++ { tc.Server(i).RPCContext().RemoteClocks.TestingResetLatencyInfos() } } for i := 0; i < numNodes; i++ { - nodeID := i - addrsToNodeIDs.Store(tc.Server(i).RPCAddr(), &nodeID) + addrsToNodeIDs.Store(tc.Server(i).RPCAddr(), i) } tdb := sqlutils.MakeSQLRunner(tc.ServerConn(1)) @@ -203,7 +200,7 @@ COMMIT;`} InjectedLatencyOracle: tc.Server(i).TestingKnobs(). Server.(*server.TestingKnobs).ContextTestingKnobs. InjectedLatencyOracle, - InjectedLatencyEnabled: latencyEnabled.Load, + InjectedLatencyEnabled: latencyEnabled.Get, StreamClientInterceptor: func( target string, class rpc.ConnectionClass, ) grpc.StreamClientInterceptor { @@ -211,10 +208,8 @@ COMMIT;`} ctx context.Context, desc *grpc.StreamDesc, cc *grpc.ClientConn, method string, streamer grpc.Streamer, opts ...grpc.CallOption, ) (grpc.ClientStream, error) { - var nodeID int - if nodeIDPtr, ok := addrsToNodeIDs.Load(target); ok { - nodeID = *nodeIDPtr - } + nodeIDi, _ := addrsToNodeIDs.Load(target) + nodeID, _ := nodeIDi.(int) start := timeutil.Now() maybeWait(ctx, i, nodeID) defer func() { @@ -237,10 +232,8 @@ COMMIT;`} } }, UnaryClientInterceptor: func(target string, class rpc.ConnectionClass) grpc.UnaryClientInterceptor { - var nodeID int - if nodeIDPtr, ok := addrsToNodeIDs.Load(target); ok { - nodeID = *nodeIDPtr - } + nodeIDi, _ := addrsToNodeIDs.Load(target) + nodeID, _ := nodeIDi.(int) return func( ctx context.Context, method string, req, reply interface{}, cc *grpc.ClientConn, invoker grpc.UnaryInvoker, diff --git a/pkg/ccl/multiregionccl/datadriven_test.go b/pkg/ccl/multiregionccl/datadriven_test.go index 7a8774dc8290..c0479cd8f4f3 100644 --- a/pkg/ccl/multiregionccl/datadriven_test.go +++ b/pkg/ccl/multiregionccl/datadriven_test.go @@ -200,10 +200,6 @@ func testMultiRegionDataDriven(t *testing.T, testPath string) { } }, }, - // NB: This test is asserting on whether it reads from the leaseholder - // or the follower first, so it has to route to leaseholder when - // requested. - KVClient: &kvcoord.ClientTestingKnobs{RouteToLeaseholderFirst: true}, }, } } @@ -346,7 +342,7 @@ SET CLUSTER SETTING kv.allocator.min_lease_transfer_interval = '5m' } cache := ds.tc.Server(idx).DistSenderI().(*kvcoord.DistSender).RangeDescriptorCache() tablePrefix := keys.MustAddr(keys.SystemSQLCodec.TablePrefix(tableID)) - entry, err := cache.TestingGetCached(ctx, tablePrefix, false, roachpb.LAG_BY_CLUSTER_SETTING) + entry, err := cache.TestingGetCached(ctx, tablePrefix, false /* inverted */) if err != nil { return err.Error() } diff --git a/pkg/ccl/multiregionccl/multiregion_system_table_test.go b/pkg/ccl/multiregionccl/multiregion_system_table_test.go index 7b3eb4caba49..40da6bd4777c 100644 --- a/pkg/ccl/multiregionccl/multiregion_system_table_test.go +++ b/pkg/ccl/multiregionccl/multiregion_system_table_test.go @@ -11,7 +11,6 @@ package multiregionccl import ( "context" gosql "database/sql" - "fmt" "testing" "time" @@ -52,7 +51,7 @@ func TestMrSystemDatabase(t *testing.T) { return cs } - cluster, systemSQL, cleanup := multiregionccltestutils.TestingCreateMultiRegionCluster(t, 3, + cluster, _, cleanup := multiregionccltestutils.TestingCreateMultiRegionCluster(t, 3, base.TestingKnobs{}, multiregionccltestutils.WithSettings(makeSettings())) defer cleanup() @@ -85,318 +84,252 @@ func TestMrSystemDatabase(t *testing.T) { // okay. tDB.CheckQueryResults(t, `SELECT * FROM crdb_internal.invalid_objects`, [][]string{}) - sDB := sqlutils.MakeSQLRunner(systemSQL) - - sDB.Exec(t, `ANALYZE system.sqlliveness;`) - sDB.Exec(t, `SET CLUSTER SETTING sql.multiregion.system_database_multiregion.enabled = true`) - sDB.Exec(t, `ALTER DATABASE system SET PRIMARY REGION "us-east1"`) - sDB.Exec(t, `ALTER DATABASE system ADD REGION "us-east2"`) - sDB.Exec(t, `ALTER DATABASE system ADD REGION "us-east3"`) - - testCases := []struct { - name string - database *sqlutils.SQLRunner - }{ - { - name: "system database", - database: sDB, - }, - { - name: "tenant database", - database: tDB, - }, - } - for _, testCase := range testCases { - t.Run(fmt.Sprintf("Sqlliveness %s", testCase.name), func(t *testing.T) { - // When optimizing the system database the ALTER DATABASE command will - // delete stats, but these are refreshed in memory using a range feed. - // Since there can be a delay in the new stats being picked up its possible - // for this query to fail with: - // "unsupported comparison: bytes to crdb_internal_region" - // querying table statistics. This is a transient condition that will - // clear up once the range feed catches up. - testutils.SucceedsSoon(t, func() error { - row := testCase.database.DB.QueryRowContext(ctx, `SELECT crdb_region, session_id, expiration FROM system.sqlliveness LIMIT 1`) - var sessionID string - var crdbRegion string - var rawExpiration apd.Decimal - err := row.Scan(&crdbRegion, &sessionID, &rawExpiration) - if err != nil { - return err - } - if crdbRegion != "us-east1" { - return errors.AssertionFailedf("unexpected region, got: %q expected: %q", - crdbRegion, "us-east1") - } - return nil - }) + t.Run("Sqlliveness", func(t *testing.T) { + // When optimizing the system database the ALTER DATABASE command will + // delete stats, but these are refreshed in memory using a range feed. + // Since there can be a delay in the new stats being picked up its possible + // for this query to fail with: + // "unsupported comparison: bytes to crdb_internal_region" + // querying table statistics. This is a transient condition that will + // clear up once the range feed catches up. + testutils.SucceedsSoon(t, func() error { + row := tDB.DB.QueryRowContext(ctx, `SELECT crdb_region, session_id, expiration FROM system.sqlliveness LIMIT 1`) + var sessionID string + var crdbRegion string + var rawExpiration apd.Decimal + err := row.Scan(&crdbRegion, &sessionID, &rawExpiration) + if err != nil { + return err + } + if crdbRegion != "us-east1" { + return errors.AssertionFailedf("unexpected region, got: %q expected: %q", + crdbRegion, "us-east1") + } + return nil }) + }) - t.Run(fmt.Sprintf("Sqlinstances %s", testCase.name), func(t *testing.T) { - t.Run("InUse", func(t *testing.T) { - query := ` + t.Run("Sqlinstances", func(t *testing.T) { + t.Run("InUse", func(t *testing.T) { + query := ` SELECT id, addr, session_id, locality, crdb_region FROM system.sql_instances WHERE session_id IS NOT NULL ` - rows := testCase.database.Query(t, query) - require.True(t, rows.Next()) - for { - var id base.SQLInstanceID - var addr, locality string - var crdb_region string - var session sqlliveness.SessionID - - require.NoError(t, rows.Scan(&id, &addr, &session, &locality, &crdb_region)) - - require.True(t, 0 < id) - require.NotEmpty(t, addr) - require.NotEmpty(t, locality) - require.NotEmpty(t, session) - require.NotEmpty(t, crdb_region) - - require.Equal(t, "us-east1", crdb_region) - - if !rows.Next() { - break - } + rows := tDB.Query(t, query) + require.True(t, rows.Next()) + for { + var id base.SQLInstanceID + var addr, locality string + var crdb_region string + var session sqlliveness.SessionID + + require.NoError(t, rows.Scan(&id, &addr, &session, &locality, &crdb_region)) + + require.True(t, 0 < id) + require.NotEmpty(t, addr) + require.NotEmpty(t, locality) + require.NotEmpty(t, session) + require.NotEmpty(t, crdb_region) + + require.Equal(t, "us-east1", crdb_region) + + if !rows.Next() { + break } - require.NoError(t, rows.Close()) - }) + } + require.NoError(t, rows.Close()) + }) - t.Run(fmt.Sprintf("Preallocated %s", testCase.name), func(t *testing.T) { - query := ` + t.Run("Preallocated", func(t *testing.T) { + query := ` SELECT id, addr, session_id, locality, crdb_region FROM system.sql_instances WHERE session_id IS NULL ` - rows := testCase.database.Query(t, query) + rows := tDB.Query(t, query) + require.True(t, rows.Next()) + for { + var id base.SQLInstanceID + var addr, locality, session gosql.NullString + var crdb_region string + + require.NoError(t, rows.Scan(&id, &addr, &session, &locality, &crdb_region)) + + require.True(t, 0 < id) + require.False(t, addr.Valid) + require.False(t, locality.Valid) + require.False(t, session.Valid) + require.NotEmpty(t, crdb_region) + + if !rows.Next() { + break + } + } + require.NoError(t, rows.Close()) + + query = ` + SELECT count(id), crdb_region + FROM system.sql_instances + WHERE session_id IS NULL GROUP BY crdb_region + ` + preallocatedCount := instancestorage.PreallocatedCount.Get(&ts.ClusterSettings().SV) + testutils.SucceedsSoon(t, func() error { + rows := tDB.Query(t, query) require.True(t, rows.Next()) + + countMap := map[string]int{} for { - var id base.SQLInstanceID - var addr, locality, session gosql.NullString + var count int var crdb_region string - require.NoError(t, rows.Scan(&id, &addr, &session, &locality, &crdb_region)) - - require.True(t, 0 < id) - require.False(t, addr.Valid) - require.False(t, locality.Valid) - require.False(t, session.Valid) - require.NotEmpty(t, crdb_region) + require.NoError(t, rows.Scan(&count, &crdb_region)) + countMap[crdb_region] = count if !rows.Next() { break } } require.NoError(t, rows.Close()) - - query = ` - SELECT count(id), crdb_region - FROM system.sql_instances - WHERE session_id IS NULL GROUP BY crdb_region - ` - preallocatedCount := instancestorage.PreallocatedCount.Get(&ts.ClusterSettings().SV) - testutils.SucceedsSoon(t, func() error { - rows := testCase.database.Query(t, query) - require.True(t, rows.Next()) - - countMap := map[string]int{} - for { - var count int - var crdb_region string - - require.NoError(t, rows.Scan(&count, &crdb_region)) - countMap[crdb_region] = count - - if !rows.Next() { - break - } - } - require.NoError(t, rows.Close()) - if len(countMap) != 3 { - return errors.New("some regions have not been preallocated") - } - for _, r := range []string{"us-east1", "us-east2", "us-east3"} { - c, ok := countMap[r] - require.True(t, ok) - if c != int(preallocatedCount) { - return errors.Newf("require %d, but got %d", preallocatedCount, c) - } + if len(countMap) != 3 { + return errors.New("some regions have not been preallocated") + } + for _, r := range []string{"us-east1", "us-east2", "us-east3"} { + c, ok := countMap[r] + require.True(t, ok) + if c != int(preallocatedCount) { + return errors.Newf("require %d, but got %d", preallocatedCount, c) } - return nil - }) + } + return nil }) + }) - t.Run(fmt.Sprintf("Reclaim %s", testCase.name), func(t *testing.T) { - id := uuid.MakeV4() - s1, err := slstorage.MakeSessionID(make([]byte, 100), id) - require.NoError(t, err) - s2, err := slstorage.MakeSessionID(make([]byte, 200), id) - require.NoError(t, err) + t.Run("Reclaim", func(t *testing.T) { + id := uuid.MakeV4() + s1, err := slstorage.MakeSessionID(make([]byte, 100), id) + require.NoError(t, err) + s2, err := slstorage.MakeSessionID(make([]byte, 200), id) + require.NoError(t, err) - // Insert expired entries into sql_instances. - testCase.database.Exec(t, `INSERT INTO system.sql_instances (id, addr, session_id, locality, crdb_region) VALUES + // Insert expired entries into sql_instances. + tDB.Exec(t, `INSERT INTO system.sql_instances (id, addr, session_id, locality, crdb_region) VALUES (100, NULL, $1, NULL, 'us-east2'), (200, NULL, $2, NULL, 'us-east3')`, s1.UnsafeBytes(), s2.UnsafeBytes()) - query := `SELECT count(*) FROM system.sql_instances WHERE id = 42` + query := `SELECT count(*) FROM system.sql_instances WHERE id = 42` - // Wait until expired entries get removed. - testutils.SucceedsSoon(t, func() error { - var rowCount int - testCase.database.QueryRow(t, query).Scan(&rowCount) - if rowCount != 0 { - return errors.New("some regions have not been reclaimed") - } - return nil - }) + // Wait until expired entries get removed. + testutils.SucceedsSoon(t, func() error { + var rowCount int + tDB.QueryRow(t, query).Scan(&rowCount) + if rowCount != 0 { + return errors.New("some regions have not been reclaimed") + } + return nil }) }) + }) - t.Run(fmt.Sprintf("GlobalTables %s", testCase.name), func(t *testing.T) { - query := ` + t.Run("GlobalTables", func(t *testing.T) { + query := ` SELECT target FROM [SHOW ALL ZONE CONFIGURATIONS] WHERE target LIKE 'TABLE system.public.%' AND raw_config_sql LIKE '%global_reads = true%' ORDER BY target; ` - testCase.database.CheckQueryResults(t, query, [][]string{ - {"TABLE system.public.comments"}, - {"TABLE system.public.database_role_settings"}, - {"TABLE system.public.descriptor"}, - {"TABLE system.public.namespace"}, - {"TABLE system.public.privileges"}, - {"TABLE system.public.region_liveness"}, - {"TABLE system.public.role_members"}, - {"TABLE system.public.role_options"}, - {"TABLE system.public.settings"}, - {"TABLE system.public.table_statistics"}, - {"TABLE system.public.users"}, - {"TABLE system.public.web_sessions"}, - {"TABLE system.public.zones"}, - }) + tDB.CheckQueryResults(t, query, [][]string{ + {"TABLE system.public.comments"}, + {"TABLE system.public.database_role_settings"}, + {"TABLE system.public.descriptor"}, + {"TABLE system.public.namespace"}, + {"TABLE system.public.privileges"}, + {"TABLE system.public.region_liveness"}, + {"TABLE system.public.role_members"}, + {"TABLE system.public.role_options"}, + {"TABLE system.public.settings"}, + {"TABLE system.public.table_statistics"}, + {"TABLE system.public.users"}, + {"TABLE system.public.web_sessions"}, + {"TABLE system.public.zones"}, }) + }) - t.Run("RegionTables", func(t *testing.T) { - query := ` + t.Run("RegionTables", func(t *testing.T) { + query := ` SELECT target FROM [SHOW ALL ZONE CONFIGURATIONS] WHERE target LIKE 'TABLE system.public.%' AND raw_config_sql NOT LIKE '%global_reads = true%' ORDER BY target; ` - tDB.CheckQueryResults(t, query, [][]string{ - {"TABLE system.public.eventlog"}, - {"TABLE system.public.external_connections"}, - {"TABLE system.public.job_info"}, - {"TABLE system.public.jobs"}, - {"TABLE system.public.join_tokens"}, - {"TABLE system.public.locations"}, - {"TABLE system.public.migrations"}, - {"TABLE system.public.mvcc_statistics"}, - {"TABLE system.public.protected_ts_meta"}, - {"TABLE system.public.protected_ts_records"}, - {"TABLE system.public.rangelog"}, - {"TABLE system.public.replication_constraint_stats"}, - {"TABLE system.public.replication_critical_localities"}, - {"TABLE system.public.replication_stats"}, - {"TABLE system.public.reports_meta"}, - {"TABLE system.public.scheduled_jobs"}, - {"TABLE system.public.span_configurations"}, - {"TABLE system.public.span_count"}, - {"TABLE system.public.span_stats_buckets"}, - {"TABLE system.public.span_stats_samples"}, - {"TABLE system.public.span_stats_tenant_boundaries"}, - {"TABLE system.public.span_stats_unique_keys"}, - {"TABLE system.public.statement_activity"}, - {"TABLE system.public.statement_bundle_chunks"}, - {"TABLE system.public.statement_diagnostics"}, - {"TABLE system.public.statement_diagnostics_requests"}, - {"TABLE system.public.statement_execution_insights"}, - {"TABLE system.public.statement_statistics"}, - {"TABLE system.public.table_metadata"}, - {"TABLE system.public.task_payloads"}, - {"TABLE system.public.tenant_settings"}, - {"TABLE system.public.tenant_tasks"}, - {"TABLE system.public.tenant_usage"}, - {"TABLE system.public.tenants"}, - {"TABLE system.public.transaction_activity"}, - {"TABLE system.public.transaction_execution_insights"}, - {"TABLE system.public.transaction_statistics"}, - {"TABLE system.public.ui"}, - }) - - sDB.CheckQueryResults(t, query, [][]string{ - {"TABLE system.public.eventlog"}, - {"TABLE system.public.external_connections"}, - {"TABLE system.public.job_info"}, - {"TABLE system.public.jobs"}, - {"TABLE system.public.join_tokens"}, - {"TABLE system.public.lease"}, - {"TABLE system.public.locations"}, - {"TABLE system.public.migrations"}, - {"TABLE system.public.mvcc_statistics"}, - {"TABLE system.public.protected_ts_meta"}, - {"TABLE system.public.protected_ts_records"}, - {"TABLE system.public.rangelog"}, - {"TABLE system.public.replication_constraint_stats"}, - {"TABLE system.public.replication_critical_localities"}, - {"TABLE system.public.replication_stats"}, - {"TABLE system.public.reports_meta"}, - {"TABLE system.public.scheduled_jobs"}, - {"TABLE system.public.span_configurations"}, - {"TABLE system.public.span_count"}, - {"TABLE system.public.span_stats_buckets"}, - {"TABLE system.public.span_stats_samples"}, - {"TABLE system.public.span_stats_tenant_boundaries"}, - {"TABLE system.public.span_stats_unique_keys"}, - {"TABLE system.public.statement_activity"}, - {"TABLE system.public.statement_bundle_chunks"}, - {"TABLE system.public.statement_diagnostics"}, - {"TABLE system.public.statement_diagnostics_requests"}, - {"TABLE system.public.statement_execution_insights"}, - {"TABLE system.public.statement_statistics"}, - {"TABLE system.public.table_metadata"}, - {"TABLE system.public.task_payloads"}, - {"TABLE system.public.tenant_settings"}, - {"TABLE system.public.tenant_tasks"}, - {"TABLE system.public.tenant_usage"}, - {"TABLE system.public.tenants"}, - {"TABLE system.public.transaction_activity"}, - {"TABLE system.public.transaction_execution_insights"}, - {"TABLE system.public.transaction_statistics"}, - {"TABLE system.public.ui"}, - }) + tDB.CheckQueryResults(t, query, [][]string{ + {"TABLE system.public.eventlog"}, + {"TABLE system.public.external_connections"}, + {"TABLE system.public.job_info"}, + {"TABLE system.public.jobs"}, + {"TABLE system.public.join_tokens"}, + {"TABLE system.public.locations"}, + {"TABLE system.public.migrations"}, + {"TABLE system.public.mvcc_statistics"}, + {"TABLE system.public.protected_ts_meta"}, + {"TABLE system.public.protected_ts_records"}, + {"TABLE system.public.rangelog"}, + {"TABLE system.public.replication_constraint_stats"}, + {"TABLE system.public.replication_critical_localities"}, + {"TABLE system.public.replication_stats"}, + {"TABLE system.public.reports_meta"}, + {"TABLE system.public.scheduled_jobs"}, + {"TABLE system.public.span_configurations"}, + {"TABLE system.public.span_count"}, + {"TABLE system.public.span_stats_buckets"}, + {"TABLE system.public.span_stats_samples"}, + {"TABLE system.public.span_stats_tenant_boundaries"}, + {"TABLE system.public.span_stats_unique_keys"}, + {"TABLE system.public.statement_activity"}, + {"TABLE system.public.statement_bundle_chunks"}, + {"TABLE system.public.statement_diagnostics"}, + {"TABLE system.public.statement_diagnostics_requests"}, + {"TABLE system.public.statement_execution_insights"}, + {"TABLE system.public.statement_statistics"}, + {"TABLE system.public.task_payloads"}, + {"TABLE system.public.tenant_settings"}, + {"TABLE system.public.tenant_tasks"}, + {"TABLE system.public.tenant_usage"}, + {"TABLE system.public.tenants"}, + {"TABLE system.public.transaction_activity"}, + {"TABLE system.public.transaction_execution_insights"}, + {"TABLE system.public.transaction_statistics"}, + {"TABLE system.public.ui"}, }) + }) - t.Run(fmt.Sprintf("QueryByEnum %s", testCase.name), func(t *testing.T) { - // This is a regression test for a bug triggered by setting up the system - // database. If the operation to configure the does not clear table - // statistics, this query will fail in the optimizer, because the stats will - // have the wrong type for the crdb_region column. Since stats are generated - // asynchronously, we poll for the results until they are correct. - testutils.SucceedsSoon(t, func() error { - var sessionID string - var crdbRegion string - var rawExpiration apd.Decimal - err := tenantSQL.QueryRow(` + t.Run("QueryByEnum", func(t *testing.T) { + // This is a regression test for a bug triggered by setting up the system + // database. If the operation to configure the does not clear table + // statistics, this query will fail in the optimizer, because the stats will + // have the wrong type for the crdb_region column. Since stats are generated + // asynchronously, we poll for the results until they are correct. + testutils.SucceedsSoon(t, func() error { + var sessionID string + var crdbRegion string + var rawExpiration apd.Decimal + err := tenantSQL.QueryRow(` SELECT crdb_region, session_id, expiration FROM system.sqlliveness WHERE crdb_region = 'us-east1' LIMIT 1;`).Scan(&crdbRegion, &sessionID, &rawExpiration) - if err != nil { - return err - } - if crdbRegion != "us-east1" { - return errors.Newf("expected region to be us-east1; got %s", crdbRegion) - } - return nil - }) - + if err != nil { + return err + } + if crdbRegion != "us-east1" { + return errors.Newf("expected region to be us-east1; got %s", crdbRegion) + } + return nil }) - } + + }) } // TestMultiRegionTenantRegions tests the behavior of region-related @@ -576,7 +509,7 @@ func TestMrSystemDatabaseUpgrade(t *testing.T) { base.TestingKnobs{ Server: &server.TestingKnobs{ DisableAutomaticVersionUpgrade: make(chan struct{}), - ClusterVersionOverride: clusterversion.MinSupported.Version(), + BinaryVersionOverride: clusterversion.MinSupported.Version(), }, }, multiregionccltestutils.WithSettings(makeSettings())) @@ -590,7 +523,7 @@ func TestMrSystemDatabaseUpgrade(t *testing.T) { TestingKnobs: base.TestingKnobs{ Server: &server.TestingKnobs{ DisableAutomaticVersionUpgrade: make(chan struct{}), - ClusterVersionOverride: clusterversion.MinSupported.Version(), + BinaryVersionOverride: clusterversion.MinSupported.Version(), }, }, TenantID: id, diff --git a/pkg/ccl/multiregionccl/regional_by_row_system_database_test.go b/pkg/ccl/multiregionccl/regional_by_row_system_database_test.go index d78ea79dda0a..c72154e2ac09 100644 --- a/pkg/ccl/multiregionccl/regional_by_row_system_database_test.go +++ b/pkg/ccl/multiregionccl/regional_by_row_system_database_test.go @@ -61,7 +61,7 @@ UNION ALL SELECT create_statement FROM [SHOW CREATE TABLE system.namespace] "lastUsedAt" TIMESTAMP NOT NULL DEFAULT now():::TIMESTAMP, "auditInfo" STRING NULL, user_id OID NOT NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region system.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::system.public.crdb_internal_region, CONSTRAINT "primary" PRIMARY KEY (id ASC), INDEX "web_sessions_expiresAt_idx" ("expiresAt" ASC), INDEX "web_sessions_createdAt_idx" ("createdAt" ASC), diff --git a/pkg/ccl/multiregionccl/roundtrips_test.go b/pkg/ccl/multiregionccl/roundtrips_test.go index fa3a6fea0de5..6a9ab713845f 100644 --- a/pkg/ccl/multiregionccl/roundtrips_test.go +++ b/pkg/ccl/multiregionccl/roundtrips_test.go @@ -123,11 +123,9 @@ func TestEnsureLocalReadsOnGlobalTables(t *testing.T) { // Check that the cache was indeed populated. cache := tc.Server(i).DistSenderI().(*kvcoord.DistSender).RangeDescriptorCache() - entry, err := cache.TestingGetCached( - context.Background(), tablePrefix, false /* inverted */, roachpb.LAG_BY_CLUSTER_SETTING, - ) + entry, err := cache.TestingGetCached(context.Background(), tablePrefix, false /* inverted */) require.NoError(t, err) - require.False(t, entry.Lease.Empty()) + require.NotNil(t, entry.Lease.Empty()) if expected, got := roachpb.LEAD_FOR_GLOBAL_READS, entry.ClosedTimestampPolicy; got != expected { return errors.Newf("expected closedts policy %s, got %s", expected, got) diff --git a/pkg/ccl/multiregionccl/show_test.go b/pkg/ccl/multiregionccl/show_test.go index 748cce0c04a6..79663a80240e 100644 --- a/pkg/ccl/multiregionccl/show_test.go +++ b/pkg/ccl/multiregionccl/show_test.go @@ -66,7 +66,7 @@ func TestShowCreateTable(t *testing.T) { ) LOCALITY REGIONAL BY ROW`, Expect: `CREATE TABLE public.%[1]s ( a INT8 NULL, - crdb_region public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::public.crdb_internal_region, + crdb_region mrdb.public.crdb_internal_region NOT VISIBLE NOT NULL DEFAULT default_to_database_primary_region(gateway_region())::mrdb.public.crdb_internal_region, rowid INT8 NOT VISIBLE NOT NULL DEFAULT unique_rowid(), CONSTRAINT %[1]s_pkey PRIMARY KEY (rowid ASC), INDEX a_idx (a ASC) @@ -81,7 +81,7 @@ func TestShowCreateTable(t *testing.T) { ) LOCALITY REGIONAL BY ROW AS crdb_region_col`, Expect: `CREATE TABLE public.%[1]s ( a INT8 NULL, - crdb_region_col public.crdb_internal_region NOT NULL, + crdb_region_col mrdb.public.crdb_internal_region NOT NULL, rowid INT8 NOT VISIBLE NOT NULL DEFAULT unique_rowid(), CONSTRAINT %[1]s_pkey PRIMARY KEY (rowid ASC), INDEX a_idx (a ASC) @@ -96,7 +96,7 @@ func TestShowCreateTable(t *testing.T) { ) LOCALITY REGIONAL BY ROW AS crdb_region_col`, Expect: `CREATE TABLE public.%[1]s ( a INT8 NULL, - crdb_region_col public.crdb_internal_region NOT NULL, + crdb_region_col mrdb.public.crdb_internal_region NOT NULL, rowid INT8 NOT VISIBLE NOT NULL DEFAULT unique_rowid(), CONSTRAINT %[1]s_pkey PRIMARY KEY (rowid ASC), INDEX a_idx (a ASC) WHERE a > 0:::INT8 diff --git a/pkg/ccl/multitenantccl/tenantcostclient/BUILD.bazel b/pkg/ccl/multitenantccl/tenantcostclient/BUILD.bazel index b8df81f8d481..fe6907657afa 100644 --- a/pkg/ccl/multitenantccl/tenantcostclient/BUILD.bazel +++ b/pkg/ccl/multitenantccl/tenantcostclient/BUILD.bazel @@ -13,7 +13,6 @@ go_library( visibility = ["//visibility:public"], deps = [ "//pkg/base", - "//pkg/kv/kvclient", "//pkg/kv/kvclient/kvtenant", "//pkg/kv/kvpb", "//pkg/multitenant", @@ -26,7 +25,6 @@ go_library( "//pkg/sql/sqlliveness", "//pkg/util/log", "//pkg/util/metric", - "//pkg/util/metric/aggmetric", "//pkg/util/quotapool", "//pkg/util/stop", "//pkg/util/syncutil", @@ -43,10 +41,8 @@ go_test( srcs = [ "limiter_test.go", "main_test.go", - "metrics_test.go", "query_ru_estimate_test.go", "tenant_side_test.go", - "tenant_side_unit_test.go", "token_bucket_test.go", ], data = glob(["testdata/**"]), @@ -91,13 +87,11 @@ go_test( "//pkg/testutils/skip", "//pkg/testutils/sqlutils", "//pkg/testutils/testcluster", - "//pkg/util", "//pkg/util/ctxgroup", "//pkg/util/ioctx", "//pkg/util/leaktest", "//pkg/util/log", "//pkg/util/metric", - "//pkg/util/metric/aggmetric", "//pkg/util/protoutil", "//pkg/util/randutil", "//pkg/util/stop", @@ -105,7 +99,6 @@ go_test( "//pkg/util/timeutil", "@com_github_cockroachdb_datadriven//:datadriven", "@com_github_cockroachdb_errors//:errors", - "@com_github_prometheus_client_model//go", "@com_github_stretchr_testify//require", "@in_gopkg_yaml_v2//:yaml_v2", ], diff --git a/pkg/ccl/multitenantccl/tenantcostclient/limiter.go b/pkg/ccl/multitenantccl/tenantcostclient/limiter.go index c3773214db29..8f8a74cc2687 100644 --- a/pkg/ccl/multitenantccl/tenantcostclient/limiter.go +++ b/pkg/ccl/multitenantccl/tenantcostclient/limiter.go @@ -14,6 +14,7 @@ import ( "sync" "time" + "github.com/cockroachdb/cockroach/pkg/multitenant/tenantcostmodel" "github.com/cockroachdb/cockroach/pkg/util/log" "github.com/cockroachdb/cockroach/pkg/util/quotapool" "github.com/cockroachdb/cockroach/pkg/util/timeutil" @@ -29,12 +30,16 @@ import ( // also call Wait before starting, with a zero cost. This prevents new // operations from proceeding if the token bucket has fallen into debt. // +// Besides RU usage from KV and external I/O calls, the controller tracks CPU +// and egress network usage (i.e. pgwire egress) in the SQL layer. These costs +// are updated every second and removed from the bucket via the RemoveRU method. +// // limiter's methods are thread-safe. type limiter struct { // metrics manages the set of metrics that are tracked by the cost client. metrics *metrics - // notifyCh gets a (non-blocking) send when available tokens falls below the + // notifyCh gets a (non-blocking) send when available RUs falls below the // notifyThreshold. notifyCh chan struct{} @@ -47,14 +52,13 @@ type limiter struct { // tb is the underlying local token bucket controlled by the quota pool. tb tokenBucket - // notifyThreshold is the available token level below which a notification - // should be sent to notifyCh. A threshold <= 0 disables notifications. - notifyThreshold float64 + // notifyThreshold is the RU level below which a notification should be + // sent to notifyCh. A threshold <= 0 disables notifications. + notifyThreshold tenantcostmodel.RU - // waitingTokens is the total (rounded) tokens needed for all currently - // waiting requests (or requests that are in the process of being - // fulfilled). - waitingTokens float64 + // waitingRU is the total (rounded) RU needed for all currently waiting + // requests (or requests that are in the process of being fulfilled). + waitingRU tenantcostmodel.RU } } @@ -62,27 +66,27 @@ func (l *limiter) Init(metrics *metrics, timeSource timeutil.TimeSource, notifyC *l = limiter{metrics: metrics, notifyCh: notifyCh} onWaitStartFn := func(ctx context.Context, poolName string, r quotapool.Request) { - // Add to the waiting tokens total if this request has not already been - // added to it in Acquire. + // Add to the waiting RU total if this request has not already been added + // to it in Acquire. l.metrics.CurrentBlocked.Inc(1) l.qp.Update(func(quotapool.Resource) (shouldNotify bool) { - l.maybeAddWaitingTokensLocked(r.(*waitRequest)) + l.maybeAddWaitingRULocked(r.(*waitRequest)) return false }) } onWaitFinishFn := func(ctx context.Context, poolName string, r quotapool.Request, start time.Time) { - // Remove any waiting tokens that were not fulfilled by Acquire due to + // Remove any waiting RUs that were not fulfilled by Acquire due to // context cancellation. l.qp.Update(func(quotapool.Resource) (shouldNotify bool) { - l.maybeRemoveWaitingTokensLocked(r.(*waitRequest)) + l.maybeRemoveWaitingRULocked(r.(*waitRequest)) return false }) l.metrics.CurrentBlocked.Dec(1) // Log a trace event for requests that waited for a long time. if waitDuration := timeSource.Since(start); waitDuration > time.Second { - log.VEventf(ctx, 1, "request waited for tokens for %s", waitDuration.String()) + log.VEventf(ctx, 1, "request waited for RUs for %s", waitDuration.String()) } } @@ -100,12 +104,12 @@ func (l *limiter) Close() { l.qp.Close("shutting down") } -// AvailableTokens returns the current number of available tokens. This can be -// negative if the token bucket is in debt, or we have pending waiting requests. -func (l *limiter) AvailableTokens(now time.Time) float64 { - var result float64 +// AvailableRU returns the current number of available RUs. This can be negative +// if the token bucket is in debt, or we have pending waiting requests. +func (l *limiter) AvailableRU(now time.Time) tenantcostmodel.RU { + var result tenantcostmodel.RU l.qp.Update(func(quotapool.Resource) (shouldNotify bool) { - result = l.availableTokensLocked(now) + result = l.availableRULocked(now) return false }) return result @@ -115,15 +119,15 @@ func (l *limiter) AvailableTokens(now time.Time) float64 { // Wait is called once a KV or External I/O operation has completed and is ready // to be accounted for. It's also called before a KV operation starts, in order // to block if the token bucket is in debt. -func (l *limiter) Wait(ctx context.Context, needed float64) error { +func (l *limiter) Wait(ctx context.Context, needed tenantcostmodel.RU) error { r := newWaitRequest(needed) defer putWaitRequest(r) return l.qp.Acquire(ctx, r) } -// RemoveTokens removes tokens from the bucket immediately, potentially putting -// it into debt. -func (l *limiter) RemoveTokens(now time.Time, amount float64) { +// RemoveRU removes tokens from the bucket immediately, potentially putting it +// into debt. +func (l *limiter) RemoveRU(now time.Time, amount tenantcostmodel.RU) { l.qp.Update(func(res quotapool.Resource) (shouldNotify bool) { l.qp.tb.RemoveTokens(now, amount) l.maybeNotifyLocked(now) @@ -137,19 +141,19 @@ func (l *limiter) RemoveTokens(now time.Time, amount float64) { // limiterReconfigureArgs is used to update the limiter's configuration. type limiterReconfigureArgs struct { // NewTokens is the number of tokens that should be added to the token bucket. - NewTokens float64 + NewTokens tenantcostmodel.RU // NewRate is the new token fill rate for the bucket. - NewRate float64 + NewRate tenantcostmodel.RU // MaxTokens is the maximum number of tokens that can be present in the // bucket. Tokens beyond this limit are discarded. If MaxTokens = 0, then // no limit is enforced. - MaxTokens float64 + MaxTokens tenantcostmodel.RU - // NotifyThreshold is the AvailableTokens level below which a low tokens - // notification will be sent. - NotifyThreshold float64 + // NotifyThreshold is the AvailableRU level below which a low RU notification + // will be sent. + NotifyThreshold tenantcostmodel.RU } // Reconfigure is used to call tokenBucket.Reconfigure under the pool's lock. @@ -175,9 +179,9 @@ func (l *limiter) Reconfigure(now time.Time, cfg limiterReconfigureArgs) { }) } -// SetupNotification sets a new low tokens notification threshold and triggers -// the notification if available tokens are lower than the new threshold. -func (l *limiter) SetupNotification(now time.Time, threshold float64) { +// SetupNotification sets a new low RU notification threshold and triggers the +// notification if available RUs are lower than the new threshold. +func (l *limiter) SetupNotification(now time.Time, threshold tenantcostmodel.RU) { l.qp.Update(func(quotapool.Resource) (shouldNotify bool) { l.qp.notifyThreshold = threshold l.maybeNotifyLocked(now) @@ -189,27 +193,27 @@ func (l *limiter) String(now time.Time) string { var s string l.qp.Update(func(quotapool.Resource) (shouldNotify bool) { s = l.qp.tb.String(now) - if l.qp.waitingTokens > 0 { - s += fmt.Sprintf(" (%.2f waiting tokens)", l.qp.waitingTokens) + if l.qp.waitingRU > 0 { + s += fmt.Sprintf(" (%.2f waiting RU)", l.qp.waitingRU) } return false }) return s } -// availableTokensLocked returns the current number of available tokens. This -// can be negative if we have accumulated debt or we have waiting requests. +// availableRULocked returns the current number of available RUs. This can be +// negative if we have accumulated debt or we have waiting requests. // NOTE: This must be called under the scope of the quota pool lock. -func (l *limiter) availableTokensLocked(now time.Time) float64 { +func (l *limiter) availableRULocked(now time.Time) tenantcostmodel.RU { available := l.qp.tb.AvailableTokens(now) - // Subtract any waiting tokens. - available -= l.qp.waitingTokens + // Subtract any waiting RU. + available -= l.qp.waitingRU return available } -// notifyLocked sends a non-blocking notification on lowTokensNotify (unless -// there is already a notification pending in the channel), and disables further +// notifyLocked sends a non-blocking notification on lowRUNotify (unless there +// is already a notification pending in the channel), and disables further // notifications (until the next Reconfigure or SetupNotification). // NOTE: This must be called under the scope of the quota pool lock. func (l *limiter) notifyLocked() { @@ -225,46 +229,46 @@ func (l *limiter) notifyLocked() { // NOTE: This must be called under the scope of the quota pool lock. func (l *limiter) maybeNotifyLocked(now time.Time) { if l.qp.notifyThreshold > 0 { - available := l.availableTokensLocked(now) + available := l.availableRULocked(now) if available < l.qp.notifyThreshold { l.notifyLocked() } } } -// maybeAddWaitingTokensLocked increases "waitingTokens" by the total tokens -// needed by the given request. It can be called multiple times, but should -// only increase waitingTokens the first time. +// maybeAddWaitingRULocked increases "waitingRU" by the total RUs needed by the +// given request. It can be called multiple times, but should only increase +// waitingRU the first time. // NOTE: This must be called under the scope of the quota pool lock. -func (l *limiter) maybeAddWaitingTokensLocked(req *waitRequest) { - if !req.waitingTokensAccounted { - l.qp.waitingTokens += req.needed - req.waitingTokensAccounted = true +func (l *limiter) maybeAddWaitingRULocked(req *waitRequest) { + if !req.waitingRUAccounted { + l.qp.waitingRU += req.needed + req.waitingRUAccounted = true } } -// maybeRemoveWaitingTokensLocked subtracts any "waitingTokens" reserved by -// addWaitingTokensLocked. It is called either in Acquire or in the OnWaitFinish +// maybeRemoveWaitingRULocked subtracts any "waitingRU" reserved by +// addWaitingRULocked. It is called either in Acquire or in the OnWaitFinish // callback, depending on whether the request completes successfully or is // canceled, respectively. // NOTE: This must be called under the scope of the quota pool lock. -func (l *limiter) maybeRemoveWaitingTokensLocked(req *waitRequest) { - if req.waitingTokensAccounted { - l.qp.waitingTokens -= req.needed - req.waitingTokensAccounted = false +func (l *limiter) maybeRemoveWaitingRULocked(req *waitRequest) { + if req.waitingRUAccounted { + l.qp.waitingRU -= req.needed + req.waitingRUAccounted = false } } // waitRequest is used to wait for adequate resources in the tokenBucket for a // KV or external I/O operation. type waitRequest struct { - // needed is the number of tokens required by the operation. - needed float64 + // needed is the RUs required by the operation. + needed tenantcostmodel.RU - // waitingTokensAccounted is true if we counted the needed tokens as - // "waiting tokens". This is used to determine whether the tokens need to be - // subtracted from waitingTokens once the request is complete. - waitingTokensAccounted bool + // waitingRUAccounted is true if we counted the needed RUs as "waiting RU". + // This is used to determine whether the RU needs to be subtracted from + // waitingRU once the request is complete. + waitingRUAccounted bool } var _ quotapool.Request = (*waitRequest)(nil) @@ -275,7 +279,7 @@ var waitRequestSyncPool = sync.Pool{ // newWaitRequest allocates a waitRequest from the sync.Pool. // The waitRequest should be returned with putWaitRequest. -func newWaitRequest(needed float64) *waitRequest { +func newWaitRequest(needed tenantcostmodel.RU) *waitRequest { r := waitRequestSyncPool.Get().(*waitRequest) *r = waitRequest{needed: needed} return r @@ -299,18 +303,18 @@ func (req *waitRequest) Acquire( if !fulfilled { // This request will now be blocked (or is already blocked if it was // already waiting) in the quota pool's queue. However, it still needs to - // be reliably reflected in the next call to AvailableTokens(). If it is - // not reflected, a low tokens notification might effectively be ignored - // because it looks like we have enough tokens. Don't wait until - // OnWaitStart to call this, since there is a small unlocked window between - // now and then where waitingTokens will be incorrect. - l.maybeAddWaitingTokensLocked(req) + // be reliably reflected in the next call to AvailableRUs(). If it is not + // reflected, a low RU notification might effectively be ignored because + // it looks like we have enough RUs. Don't wait until OnWaitStart to call + // this, since there is a small unlocked window between now and then where + // waitingRU will be incorrect. + l.maybeAddWaitingRULocked(req) } else { - // If this request was part of waitingTokens, eagerly subtract it now that - // it's complete. Don't wait until OnWaitFinish to call this, since there - // is a small unlocked window between now and then where waitingTokens will - // be incorrect. - l.maybeRemoveWaitingTokensLocked(req) + // If this request was part of waitingRU, eagerly subtract it now that it's + // complete. Don't wait until OnWaitFinish to call this, since there is a + // small unlocked window between now and then where waitingRU will be + // incorrect. + l.maybeRemoveWaitingRULocked(req) } // Check if new token bucket level is low enough to trigger notification. diff --git a/pkg/ccl/multitenantccl/tenantcostclient/limiter_test.go b/pkg/ccl/multitenantccl/tenantcostclient/limiter_test.go index 956d91fdb027..57bb639df279 100644 --- a/pkg/ccl/multitenantccl/tenantcostclient/limiter_test.go +++ b/pkg/ccl/multitenantccl/tenantcostclient/limiter_test.go @@ -13,7 +13,7 @@ import ( "testing" "time" - "github.com/cockroachdb/cockroach/pkg/roachpb" + "github.com/cockroachdb/cockroach/pkg/multitenant/tenantcostmodel" "github.com/cockroachdb/cockroach/pkg/testutils" "github.com/cockroachdb/cockroach/pkg/util/leaktest" "github.com/cockroachdb/cockroach/pkg/util/metric" @@ -21,8 +21,8 @@ import ( "github.com/cockroachdb/errors" ) -// TestLimiterNotify tests that low tokens notifications are sent at the -// expected times. +// TestLimiterNotify tests that low RU notifications are sent at the expected +// times. func TestLimiterNotify(t *testing.T) { defer leaktest.AfterTest(t)() @@ -32,7 +32,7 @@ func TestLimiterNotify(t *testing.T) { ch := make(chan struct{}, 100) var met metrics - met.Init(roachpb.Locality{}) + met.Init() var lim limiter lim.Init(&met, ts, ch) @@ -73,18 +73,18 @@ func TestLimiterNotify(t *testing.T) { } lim.Reconfigure(ts.Now(), args) checkNoNotification() - check("30.00 tokens filling @ 10.00 tokens/s") + check("30.00 RU filling @ 10.00 RU/s") - lim.RemoveTokens(ts.Now(), 20) + lim.RemoveRU(ts.Now(), 20) // No notification: we did not go below the threshold. checkNoNotification() // Now we should get a notification. - lim.RemoveTokens(ts.Now(), 8) + lim.RemoveRU(ts.Now(), 8) checkNotification() - check("2.00 tokens filling @ 10.00 tokens/s") + check("2.00 RU filling @ 10.00 RU/s") // We only get one notification (until we Reconfigure or StartNotification). - lim.RemoveTokens(ts.Now(), 1) + lim.RemoveRU(ts.Now(), 1) checkNoNotification() // Reconfigure without enough tokens to meet the threshold and ensure we get @@ -95,7 +95,7 @@ func TestLimiterNotify(t *testing.T) { } lim.Reconfigure(ts.Now(), args) checkNotification() - check("2.00 tokens filling @ 0.00 tokens/s") + check("2.00 RU filling @ 0.00 RU/s") // Reconfigure with enough tokens to exceed threshold and ensure there is no // notification. @@ -105,7 +105,7 @@ func TestLimiterNotify(t *testing.T) { } lim.Reconfigure(ts.Now(), args) checkNoNotification() - check("82.00 tokens filling @ 1.00 tokens/s") + check("82.00 RU filling @ 1.00 RU/s") // Call SetupNotification with a high threshold and ensure notification. lim.SetupNotification(ts.Now(), 83) @@ -123,10 +123,10 @@ func TestLimiterNotify(t *testing.T) { } lim.Reconfigure(ts.Now(), args) checkNoNotification() - check("105.00 tokens filling @ 10.00 tokens/s") + check("105.00 RU filling @ 10.00 RU/s") // Try a fulfilled Acquire that doesn't drop below threshold. - fulfill := func(amount float64) { + fulfill := func(amount tenantcostmodel.RU) { t.Helper() req := &waitRequest{needed: amount} if ok, _ := req.Acquire(ctx, &lim); !ok { @@ -136,18 +136,18 @@ func TestLimiterNotify(t *testing.T) { fulfill(10) checkNoNotification() - check("95.00 tokens filling @ 10.00 tokens/s") + check("95.00 RU filling @ 10.00 RU/s") // Try a fulfilled Acquire that does drop below the threshold. fulfill(60) checkNotification() - check("35.00 tokens filling @ 10.00 tokens/s") + check("35.00 RU filling @ 10.00 RU/s") // Refill bucket. ts.Advance(5 * time.Second) fulfill(0) checkNoNotification() - check("85.00 tokens filling @ 10.00 tokens/s") + check("85.00 RU filling @ 10.00 RU/s") lim.SetupNotification(ts.Now(), 5) // Fail to fulfill a request and expect a notification. @@ -156,9 +156,9 @@ func TestLimiterNotify(t *testing.T) { t.Fatalf("fulfilled incorrectly") } checkNotification() - check("85.00 tokens filling @ 10.00 tokens/s (100.00 waiting tokens)") + check("85.00 RU filling @ 10.00 RU/s (100.00 waiting RU)") - // Add enough tokens to fulfill the waiting request and trigger a notification. + // Add enough RU to fulfill the waiting request and trigger a notification. args = limiterReconfigureArgs{ NewTokens: 15, NotifyThreshold: 5, @@ -168,7 +168,7 @@ func TestLimiterNotify(t *testing.T) { t.Fatalf("failed to fulfill") } checkNotification() - check("0.00 tokens filling @ 0.00 tokens/s") + check("0.00 RU filling @ 0.00 RU/s") // Ensure that MaxTokens is enforced. args = limiterReconfigureArgs{ @@ -177,7 +177,7 @@ func TestLimiterNotify(t *testing.T) { } lim.Reconfigure(ts.Now(), args) checkNoNotification() - check("50.00 tokens filling @ 0.00 tokens/s (limited to 50.00 tokens)") + check("50.00 RU filling @ 0.00 RU/s (limited to 50.00 RU)") } // TestLimiterMetrics tests that limiter metrics are updated. @@ -190,7 +190,7 @@ func TestLimiterMetrics(t *testing.T) { ch := make(chan struct{}, 100) var met metrics - met.Init(roachpb.Locality{}) + met.Init() var lim limiter lim.Init(&met, ts, ch) diff --git a/pkg/ccl/multitenantccl/tenantcostclient/metrics.go b/pkg/ccl/multitenantccl/tenantcostclient/metrics.go index fe89c8397c4f..894565581bcb 100644 --- a/pkg/ccl/multitenantccl/tenantcostclient/metrics.go +++ b/pkg/ccl/multitenantccl/tenantcostclient/metrics.go @@ -9,14 +9,8 @@ package tenantcostclient import ( - "fmt" - "strings" - "github.com/cockroachdb/cockroach/pkg/kv/kvpb" - "github.com/cockroachdb/cockroach/pkg/roachpb" "github.com/cockroachdb/cockroach/pkg/util/metric" - "github.com/cockroachdb/cockroach/pkg/util/metric/aggmetric" - "github.com/cockroachdb/cockroach/pkg/util/syncutil" ) var ( @@ -106,30 +100,6 @@ var ( Measurement: "Request Units", Unit: metric.Unit_COUNT, } - metaTotalEstimatedKVCPUSeconds = metric.Metadata{ - Name: "tenant.sql_usage.estimated_kv_cpu_seconds", - Help: "Estimated amount of CPU consumed by a virtual cluster, in the KV layer", - Measurement: "CPU Seconds", - Unit: metric.Unit_SECONDS, - } - metaTotalEstimatedCPUSeconds = metric.Metadata{ - Name: "tenant.sql_usage.estimated_cpu_seconds", - Help: "Estimated amount of CPU consumed by a virtual cluster", - Measurement: "CPU Seconds", - Unit: metric.Unit_SECONDS, - } - metaTotalEstimatedReplicationBytes = metric.Metadata{ - Name: "tenant.sql_usage.estimated_replication_bytes", - Help: "Total number of estimated bytes for KV replication traffic", - Measurement: "Bytes", - Unit: metric.Unit_COUNT, - } - metaProvisionedVcpus = metric.Metadata{ - Name: "tenant.sql_usage.provisioned_vcpus", - Help: "Number of vcpus available to the virtual cluster", - Measurement: "Count", - Unit: metric.Unit_COUNT, - } ) // metrics manage the metrics used by the tenant cost client. @@ -148,37 +118,6 @@ type metrics struct { TotalExternalIOEgressBytes *metric.Counter TotalExternalIOIngressBytes *metric.Counter TotalCrossRegionNetworkRU *metric.CounterFloat64 - TotalEstimatedKVCPUSeconds *metric.CounterFloat64 - TotalEstimatedCPUSeconds *metric.CounterFloat64 - EstimatedReplicationBytes *aggmetric.AggCounter - ProvisionedVcpus *metric.Gauge - - // cachedPathMetrics stores a cache of network paths to the metrics which - // have been initialized. Having this layer of caching prevents us from - // needing to compute the normalized locality on every request. - cachedPathMetrics syncutil.Map[networkPath, networkPathMetrics] - - mu struct { - syncutil.Mutex - // pathMetrics stores a mapping of the locality values to network path - // metrics. These metrics should only be initialized once for every set - // of locality values. We will apply normalized locality values to - // reduce the total number of metrics that we'll be tracking. For - // example, for a cross-region request for nodes with the "region" and - // "zone" locality keys, the metric labels will only include the region - // (and not the zone). - pathMetrics map[string]*networkPathMetrics - } - baseLocality roachpb.Locality -} - -type networkPath struct { - fromNodeID roachpb.NodeID - toNodeID roachpb.NodeID -} - -type networkPathMetrics struct { - EstimatedReplicationBytes *aggmetric.Counter } var _ metric.Struct = (*metrics)(nil) @@ -187,7 +126,7 @@ var _ metric.Struct = (*metrics)(nil) func (m *metrics) MetricStruct() {} // Init initializes the tenant cost client metrics. -func (m *metrics) Init(locality roachpb.Locality) { +func (m *metrics) Init() { m.CurrentBlocked = metric.NewGauge(metaCurrentBlocked) m.TotalRU = metric.NewCounterFloat64(metaTotalRU) m.TotalKVRU = metric.NewCounterFloat64(metaTotalKVRU) @@ -202,105 +141,22 @@ func (m *metrics) Init(locality roachpb.Locality) { m.TotalExternalIOEgressBytes = metric.NewCounter(metaTotalExternalIOEgressBytes) m.TotalExternalIOIngressBytes = metric.NewCounter(metaTotalExternalIOIngressBytes) m.TotalCrossRegionNetworkRU = metric.NewCounterFloat64(metaTotalCrossRegionNetworkRU) - m.TotalEstimatedKVCPUSeconds = metric.NewCounterFloat64(metaTotalEstimatedKVCPUSeconds) - m.TotalEstimatedCPUSeconds = metric.NewCounterFloat64(metaTotalEstimatedCPUSeconds) - m.ProvisionedVcpus = metric.NewGauge(metaProvisionedVcpus) - - // Metric labels for KV replication traffic will be derived from the SQL - // server's locality. e.g. {"source_region", "source_az", "destination_region", "destination_az"}. - var labels []string - for _, t := range locality.Tiers { - labels = append(labels, fmt.Sprintf("source_%s", t.Key)) - } - for _, t := range locality.Tiers { - labels = append(labels, fmt.Sprintf("destination_%s", t.Key)) - } - m.EstimatedReplicationBytes = aggmetric.NewCounter(metaTotalEstimatedReplicationBytes, labels...) - m.mu.pathMetrics = make(map[string]*networkPathMetrics) - m.baseLocality = locality -} - -func (m *metrics) getConsumption(consumption *kvpb.TenantConsumption) { - consumption.RU = m.TotalRU.Count() - consumption.KVRU = m.TotalKVRU.Count() - consumption.ReadBatches = uint64(m.TotalReadBatches.Count()) - consumption.ReadRequests = uint64(m.TotalReadRequests.Count()) - consumption.ReadBytes = uint64(m.TotalReadBytes.Count()) - consumption.WriteBatches = uint64(m.TotalWriteBatches.Count()) - consumption.WriteRequests = uint64(m.TotalWriteRequests.Count()) - consumption.WriteBytes = uint64(m.TotalWriteBytes.Count()) - consumption.SQLPodsCPUSeconds = m.TotalSQLPodsCPUSeconds.Count() - consumption.PGWireEgressBytes = uint64(m.TotalPGWireEgressBytes.Count()) - consumption.ExternalIOEgressBytes = uint64(m.TotalExternalIOEgressBytes.Count()) - consumption.ExternalIOIngressBytes = uint64(m.TotalExternalIOIngressBytes.Count()) - consumption.CrossRegionNetworkRU = m.TotalCrossRegionNetworkRU.Count() - consumption.EstimatedCPUSeconds = m.TotalEstimatedCPUSeconds.Count() -} - -// EstimatedReplicationBytesForPath returns the metric that represents the -// estimated replication bytes for the given network path. -func (m *metrics) EstimatedReplicationBytesForPath( - fromNodeID roachpb.NodeID, - fromLocality roachpb.Locality, - toNodeID roachpb.NodeID, - toLocality roachpb.Locality, -) *aggmetric.Counter { - // Check if we have cached values. - np := networkPath{fromNodeID: fromNodeID, toNodeID: toNodeID} - if cached, ok := m.cachedPathMetrics.Load(np); ok { - return cached.EstimatedReplicationBytes - } - - pm := m.ensureNetworkPathMetrics(fromLocality, toLocality) - - // pm will never be nil, so it's fine if multiple Store calls end up racing. - m.cachedPathMetrics.Store(np, pm) - - return pm.EstimatedReplicationBytes } -// ensureNetworkPathMetrics ensures that the networkPathMetrics struct for the -// given locality (from, to) pair has been initialized. -func (m *metrics) ensureNetworkPathMetrics( - fromLocality, toLocality roachpb.Locality, -) *networkPathMetrics { - m.mu.Lock() - defer m.mu.Unlock() - - // Check if we've already initialized the metric. This is the case if a - // different network path results in the same normalized locality values. - labelValues := makeLocalityLabelValues(m.baseLocality, fromLocality, toLocality) - storeKey := strings.Join(labelValues, ",") - pm, ok := m.mu.pathMetrics[storeKey] - if !ok { - pm = &networkPathMetrics{ - EstimatedReplicationBytes: m.EstimatedReplicationBytes.AddChild(labelValues...), - } - m.mu.pathMetrics[storeKey] = pm - } - return pm -} - -// makeLocalityLabelValues returns a list of label values which can be used for -// network path metrics. This applies a mapping approach where all the values in -// "from" and "to" localities are taken up until the first value that differs. -// Remaining values will be padded as empty strings. Note that the keys must -// exist in the given base locality. See test cases for more information. -func makeLocalityLabelValues(baseLocality, fromLocality, toLocality roachpb.Locality) []string { - labelValues := make([]string, 2*len(baseLocality.Tiers)) - length := min(len(baseLocality.Tiers), len(fromLocality.Tiers), len(toLocality.Tiers)) - for i := 0; i < length; i++ { - base := baseLocality.Tiers[i].Key - if fromLocality.Tiers[i].Key != base || toLocality.Tiers[i].Key != base { - break - } - labelValues[i] = fromLocality.Tiers[i].Value - labelValues[i+len(baseLocality.Tiers)] = toLocality.Tiers[i].Value - - // Stop at the first non-matching value. - if fromLocality.Tiers[i].Value != toLocality.Tiers[i].Value { - break - } - } - return labelValues +// incrementConsumption updates consumption-related metrics with the delta +// consumption. +func (m *metrics) incrementConsumption(delta kvpb.TenantConsumption) { + m.TotalRU.Inc(delta.RU) + m.TotalKVRU.Inc(delta.KVRU) + m.TotalReadBatches.Inc(int64(delta.ReadBatches)) + m.TotalReadRequests.Inc(int64(delta.ReadRequests)) + m.TotalReadBytes.Inc(int64(delta.ReadBytes)) + m.TotalWriteBatches.Inc(int64(delta.WriteBatches)) + m.TotalWriteRequests.Inc(int64(delta.WriteRequests)) + m.TotalWriteBytes.Inc(int64(delta.WriteBytes)) + m.TotalSQLPodsCPUSeconds.Inc(delta.SQLPodsCPUSeconds) + m.TotalPGWireEgressBytes.Inc(int64(delta.PGWireEgressBytes)) + m.TotalExternalIOEgressBytes.Inc(int64(delta.ExternalIOEgressBytes)) + m.TotalExternalIOIngressBytes.Inc(int64(delta.ExternalIOIngressBytes)) + m.TotalCrossRegionNetworkRU.Inc(delta.CrossRegionNetworkRU) } diff --git a/pkg/ccl/multitenantccl/tenantcostclient/metrics_test.go b/pkg/ccl/multitenantccl/tenantcostclient/metrics_test.go deleted file mode 100644 index fb192944984b..000000000000 --- a/pkg/ccl/multitenantccl/tenantcostclient/metrics_test.go +++ /dev/null @@ -1,294 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package tenantcostclient - -import ( - "testing" - - "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/util/leaktest" - "github.com/cockroachdb/cockroach/pkg/util/metric/aggmetric" - "github.com/stretchr/testify/require" -) - -func TestMetrics_EstimatedReplicationBytesForPath(t *testing.T) { - defer leaktest.AfterTest(t)() - - sqlLocality := roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-east1"}, - {Key: "zone", Value: "az1"}, - }} - m := metrics{} - m.Init(sqlLocality) - - require.Equal(t, sqlLocality, m.baseLocality) - require.Empty(t, m.mu.pathMetrics) - - assertCachedPathMetricsSize := func(size int) { - count := 0 - m.cachedPathMetrics.Range(func(_ networkPath, _ *networkPathMetrics) bool { - count++ - return true - }) - require.Equal(t, size, count) - } - - assertCachedPathMetricsSize(0) - - type networkPath struct { - fromNodeID roachpb.NodeID - fromLocality roachpb.Locality - toNodeID roachpb.NodeID - toLocality roachpb.Locality - } - - get := func(np networkPath) *aggmetric.Counter { - return m.EstimatedReplicationBytesForPath( - np.fromNodeID, np.fromLocality, np.toNodeID, np.toLocality, - ) - } - - crossZonePath := networkPath{ - fromNodeID: roachpb.NodeID(1), - fromLocality: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-east1"}, - {Key: "zone", Value: "1"}, - }}, - toNodeID: roachpb.NodeID(2), - toLocality: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-east1"}, - {Key: "zone", Value: "2"}, - }}, - } - crossRegionPath1 := networkPath{ - fromNodeID: roachpb.NodeID(3), - fromLocality: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-central1"}, - {Key: "zone", Value: "1"}, - }}, - toNodeID: roachpb.NodeID(2), - toLocality: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-east1"}, - {Key: "zone", Value: "2"}, - }}, - } - crossRegionPath2 := networkPath{ - fromNodeID: roachpb.NodeID(4), - fromLocality: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-central1"}, - {Key: "zone", Value: "3"}, - }}, - toNodeID: roachpb.NodeID(5), - toLocality: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-east1"}, - {Key: "zone", Value: "4"}, - }}, - } - - // Create a new cross-zone metric. - crossZoneMetric := get(crossZonePath) - require.EqualValues(t, 0, crossZoneMetric.Value()) - crossZoneMetric.Inc(10) - require.Len(t, m.mu.pathMetrics, 1) - assertCachedPathMetricsSize(1) - - // Create a new cross-region metric. - crossRegionMetric := get(crossRegionPath1) - require.EqualValues(t, 0, crossRegionMetric.Value()) - crossRegionMetric.Inc(5) - require.Len(t, m.mu.pathMetrics, 2) - assertCachedPathMetricsSize(2) - - // Use a different network path. Metric should be the same after - // normalization. - crossRegionMetric = get(crossRegionPath2) - require.EqualValues(t, 5, crossRegionMetric.Value()) - crossRegionMetric.Inc(2) - require.Len(t, m.mu.pathMetrics, 2) - assertCachedPathMetricsSize(3) - - // Fetch existing metrics. - crossZoneMetric = get(crossZonePath) - require.EqualValues(t, 10, crossZoneMetric.Value()) - crossRegionMetric = get(crossRegionPath1) - require.EqualValues(t, 7, crossRegionMetric.Value()) - crossRegionMetric = get(crossRegionPath2) - require.EqualValues(t, 7, crossRegionMetric.Value()) - require.Len(t, m.mu.pathMetrics, 2) - assertCachedPathMetricsSize(3) - - // Localities were updated, but cached metrics exist. - crossRegionPath3 := networkPath{ - fromNodeID: roachpb.NodeID(4), - fromLocality: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "europe-west1"}, - }}, - toNodeID: roachpb.NodeID(5), - toLocality: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-east1"}, - }}, - } - crossRegionMetric = get(crossRegionPath3) - require.EqualValues(t, 7, crossRegionMetric.Value()) - require.Len(t, m.mu.pathMetrics, 2) - assertCachedPathMetricsSize(3) -} - -func TestMakeLocalityLabelValues(t *testing.T) { - defer leaktest.AfterTest(t)() - - for _, tc := range []struct { - name string - baseKeys []string - from roachpb.Locality - to roachpb.Locality - expectedLabels []string - }{ - { - name: "no keys", - from: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-east1"}, - }}, - to: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-east1"}, - }}, - expectedLabels: []string{}, - }, - { - name: "no matching keys", - baseKeys: []string{"foo", "bar"}, - from: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-east1"}, - }}, - to: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-east1"}, - }}, - expectedLabels: []string{"", "", "", ""}, - }, - { - name: "same locality", - baseKeys: []string{"region", "zone"}, - from: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-east1"}, - {Key: "zone", Value: "az1"}, - }}, - to: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-east1"}, - {Key: "zone", Value: "az1"}, - }}, - expectedLabels: []string{"us-east1", "az1", "us-east1", "az1"}, - }, - { - name: "same locality with gaps", - baseKeys: []string{"region", "zone", "rack", "dns"}, - from: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-east1"}, - {Key: "zone", Value: "az1"}, - }}, - to: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-east1"}, - {Key: "zone", Value: "az1"}, - }}, - expectedLabels: []string{"us-east1", "az1", "", "", "us-east1", "az1", "", ""}, - }, - { - name: "different region", - baseKeys: []string{"region", "zone", "rack"}, - from: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-east1"}, - {Key: "zone", Value: "az1"}, - {Key: "rack", Value: "1"}, - }}, - to: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-central1"}, - {Key: "zone", Value: "az2"}, - {Key: "rack", Value: "2"}, - }}, - expectedLabels: []string{"us-east1", "", "", "us-central1", "", ""}, - }, - { - name: "different zone", - baseKeys: []string{"region", "zone", "rack"}, - from: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-central1"}, - {Key: "zone", Value: "az1"}, - {Key: "rack", Value: "1"}, - }}, - to: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-central1"}, - {Key: "zone", Value: "az2"}, - {Key: "rack", Value: "2"}, - }}, - expectedLabels: []string{"us-central1", "az1", "", "us-central1", "az2", ""}, - }, - { - name: "missing zone in from", - baseKeys: []string{"region", "zone"}, - from: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-central1"}, - }}, - to: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-central1"}, - {Key: "zone", Value: "az2"}, - }}, - expectedLabels: []string{"us-central1", "", "us-central1", ""}, - }, - { - name: "missing zone in to", - baseKeys: []string{"region", "zone"}, - from: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-central1"}, - {Key: "zone", Value: "az1"}, - }}, - to: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-central1"}, - }}, - expectedLabels: []string{"us-central1", "", "us-central1", ""}, - }, - { - name: "empty zone in to", - baseKeys: []string{"region", "zone", "rack"}, - from: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-central1"}, - {Key: "zone", Value: "az1"}, - {Key: "rack", Value: "1"}, - {Key: "dns", Value: "a"}, - }}, - to: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-central1"}, - {Key: "zone", Value: ""}, - {Key: "rack", Value: "1"}, - {Key: "dns", Value: "b"}, - }}, - expectedLabels: []string{"us-central1", "az1", "", "us-central1", "", ""}, - }, - { - name: "different localities", - baseKeys: []string{"region", "zone"}, - from: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-central1"}, - {Key: "zone", Value: "az1"}, - }}, - to: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "cloud", Value: "cloud1"}, - {Key: "region", Value: "us-central1"}, - }}, - expectedLabels: []string{"", "", "", ""}, - }, - } { - t.Run(tc.name, func(t *testing.T) { - baseLocality := roachpb.Locality{} - for _, k := range tc.baseKeys { - baseLocality.Tiers = append(baseLocality.Tiers, roachpb.Tier{Key: k}) - } - labels := makeLocalityLabelValues(baseLocality, tc.from, tc.to) - require.Equal(t, tc.expectedLabels, labels) - }) - } -} diff --git a/pkg/ccl/multitenantccl/tenantcostclient/tenant_side.go b/pkg/ccl/multitenantccl/tenantcostclient/tenant_side.go index ed482413afb7..e87b99639736 100644 --- a/pkg/ccl/multitenantccl/tenantcostclient/tenant_side.go +++ b/pkg/ccl/multitenantccl/tenantcostclient/tenant_side.go @@ -10,12 +10,10 @@ package tenantcostclient import ( "context" - "math" "sync/atomic" "time" "github.com/cockroachdb/cockroach/pkg/base" - "github.com/cockroachdb/cockroach/pkg/kv/kvclient" "github.com/cockroachdb/cockroach/pkg/kv/kvclient/kvtenant" "github.com/cockroachdb/cockroach/pkg/kv/kvpb" "github.com/cockroachdb/cockroach/pkg/multitenant" @@ -29,6 +27,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/log" "github.com/cockroachdb/cockroach/pkg/util/metric" "github.com/cockroachdb/cockroach/pkg/util/stop" + "github.com/cockroachdb/cockroach/pkg/util/syncutil" "github.com/cockroachdb/cockroach/pkg/util/timeutil" "github.com/cockroachdb/cockroach/pkg/util/tracing" "github.com/cockroachdb/cockroach/pkg/util/tracing/tracingpb" @@ -36,177 +35,174 @@ import ( "github.com/cockroachdb/errors/errorspb" ) -// ProvisionedVcpusSetting is the number of estimated vCPUs that are available -// for the virtual cluster to use. This is independent of the number of nodes or -// vCPUs per node in the underlying host cluster, so that estimated CPU will not -// change when host cluster hardware changes. If zero, then the estimated CPU -// model will not be used by this tenant (e.g. because it's an on-demand -// tenant). -var ProvisionedVcpusSetting = settings.RegisterIntSetting( - settings.SystemVisible, - "tenant_cost_control.provisioned_vcpus", - "number of vcpus available to the virtual cluster", - 0, - settings.NonNegativeInt, -) - // InitialRequestSetting is exported for testing purposes. var InitialRequestSetting = settings.RegisterFloatSetting( settings.SystemVisible, - "tenant_cost_control.initial_request", - "number of tokens to get from server on first request (requires restart)", - bufferTokens/5, - settings.FloatInRange(0, bufferTokens*10), + "tenant_initial_request", + "number of request units to get from server on first request (requires restart)", + bufferRUs/5, + settings.WithName("tenant_cost_control.initial_request"), + settings.FloatInRange(0, bufferRUs*10), ) // TargetPeriodSetting is exported for testing purposes. var TargetPeriodSetting = settings.RegisterDurationSetting( settings.SystemVisible, - "tenant_cost_control.token_request_period", + "tenant_cost_control_period", "target duration between token bucket requests (requires restart)", 10*time.Second, + settings.WithName("tenant_cost_control.token_request_period"), settings.DurationInRange(5*time.Second, 120*time.Second), ) // CPUUsageAllowance is exported for testing purposes. var CPUUsageAllowance = settings.RegisterDurationSetting( settings.SystemVisible, - "tenant_cost_control.cpu_usage_allowance", + "tenant_cpu_usage_allowance", "this much CPU usage per second is considered background usage and "+ "doesn't contribute to consumption; for example, if it is set to 10ms, "+ "that corresponds to 1% of a CPU", 10*time.Millisecond, + settings.WithName("tenant_cost_control.cpu_usage_allowance"), settings.DurationInRange(0, 1000*time.Millisecond), ) +// ExternalIORUAccountingMode controls whether external ingress and +// egress bytes are included in RU calculations. +var ExternalIORUAccountingMode = *settings.RegisterStringSetting( + settings.SystemVisible, + "tenant_external_io_ru_accounting_mode", + "controls how external IO RU accounting behaves; allowed values are 'on' (external IO RUs are accounted for and callers wait for RUs), "+ + "'nowait' (external IO RUs are accounted for but callers do not wait for RUs), "+ + "and 'off' (no external IO RU accounting)", + "on", + settings.WithName("tenant_cost_control.external_io.ru_accounting_mode"), + settings.WithValidateString(func(_ *settings.Values, s string) error { + switch s { + case "on", "off", "nowait": + return nil + default: + return errors.Errorf("invalid value %q, expected 'on', 'off', or 'nowait'", s) + } + }), +) + +type externalIORUAccountingMode int64 + +const ( + // externalIORUAccountingOff means that all calls to the ExternalIORecorder + // functions are no-ops. + externalIORUAccountingOff externalIORUAccountingMode = iota + // externalIOAccountOn means that calls to the ExternalIORecorder functions + // work as documented. + externalIORUAccountingOn + // externalIOAccountingNoWait means that calls ExternalIORecorder functions + // that would typically wait for RUs do not wait for RUs. + externalIORUAccountingNoWait +) + +func externalIORUAccountingModeFromString(s string) externalIORUAccountingMode { + switch s { + case "on": + return externalIORUAccountingOn + case "off": + return externalIORUAccountingOff + case "nowait": + return externalIORUAccountingNoWait + default: + // Default to off given an unknown value. + return externalIORUAccountingOff + } +} + // defaultTickInterval is the default period at which we collect CPU usage and // evaluate whether we need to send a new token request. const defaultTickInterval = time.Second -// movingAvgTokensPerSecFactor is the weight applied to a new "sample" of token -// usage (with one sample per tickInterval). +// movingAvgRUPerSecFactor is the weight applied to a new "sample" of RU usage +// (with one sample per tickInterval). // // If we want a factor of 0.5 per second, this should be: // // 0.5^(1 second / tickInterval) -const movingAvgTokensPerSecFactor = 0.5 +const movingAvgRUPerSecFactor = 0.5 // movingAvgCPUPerSecFactor is the weight applied to a new sample of CPU usage. const movingAvgCPUPerSecFactor = 0.5 -// We request more tokens when the available tokens go below a threshold. The -// threshold is a fraction of the last granted tokens. +// We request more tokens when the available RUs go below a threshold. The +// threshold is a fraction of the last granted RUs. const notifyFraction = 0.1 -// When we trickle tokens over a period of time, we request more tokens a bit +// When we trickle RUs over a period of time, we request more tokens a bit // before that period runs out. This "anticipation" should be more than what we // expect the RTT of a token bucket request to be in practice. const anticipation = time.Second -// If we have less than this many tokens to report, extend the reporting period -// to reduce load on the host cluster. +// If we have less than this many RUs to report, extend the reporting period to +// reduce load on the host cluster. const consumptionReportingThreshold = 100 // The extended reporting period is this factor times the normal period. const extendedReportingPeriodFactor = 4 -// We try to maintain this many tokens in our local bucket, regardless of -// estimated usage. This is intended to support usage spikes without blocking. -const bufferTokens = 5000 - -// tokensPerCPUSecond is the factor used to convert from estimated KV CPU -// seconds to tokens in the distributed token bucket. This factor was chosen to -// convert from seconds to milliseconds, as that measurement has a similar -// magnitude as request units. -const tokensPerCPUSecond = 1000 - -// provisionedVcpusPerNode is the number of vCPUs per node, as used in the -// estimated CPU model. While virtual clusters do not have physical vCPUs or -// physical nodes, the model predicts CPU usage in a physical cluster, so assume -// that the modeled physical cluster has 8 vCPUs per node. -const provisionedVcpusPerNode = 8 +// We try to maintain this many RUs in our local bucket, regardless of estimated +// usage. This is intended to support usage spikes without blocking. +const bufferRUs = 5000 func newTenantSideCostController( st *cluster.Settings, tenantID roachpb.TenantID, provider kvtenant.TokenBucketProvider, - nodeDescs kvclient.NodeDescStore, - locality roachpb.Locality, timeSource timeutil.TimeSource, testInstr TestInstrumentation, -) (*tenantSideCostController, error) { +) (multitenant.TenantSideCostController, error) { if tenantID == roachpb.SystemTenantID { return nil, errors.AssertionFailedf("cost controller can't be used for system tenant") } c := &tenantSideCostController{ - timeSource: timeSource, - testInstr: testInstr, - settings: st, - tenantID: tenantID, - provider: provider, - nodeDescs: nodeDescs, - locality: locality, - responseChan: make(chan *kvpb.TokenBucketResponse, 1), - lowTokensNotifyChan: make(chan struct{}, 1), + timeSource: timeSource, + testInstr: testInstr, + settings: st, + tenantID: tenantID, + provider: provider, + responseChan: make(chan *kvpb.TokenBucketResponse, 1), + lowRUNotifyChan: make(chan struct{}, 1), } // Initialize metrics. - c.metrics.Init(locality) + c.metrics.Init() // Start with filled burst buffer. - c.limiter.Init(&c.metrics, timeSource, c.lowTokensNotifyChan) + c.limiter.Init(&c.metrics, timeSource, c.lowRUNotifyChan) c.limiter.Reconfigure(timeSource.Now(), limiterReconfigureArgs{ - NewTokens: bufferTokens, - NotifyThreshold: bufferTokens, + NewTokens: bufferRUs, + NotifyThreshold: bufferRUs, }) - storeModels := func() { - ruModel := tenantcostmodel.RequestUnitModelFromSettings(&st.SV) - c.ruModel.Store(&ruModel) - - cpuModel := tenantcostmodel.EstimatedCPUModelFromSettings(&st.SV) - c.cpuModel.Store(&cpuModel) - } - - // If any of the cost settings change, reload both models. tenantcostmodel.SetOnChange(&st.SV, func(ctx context.Context) { - storeModels() + config := tenantcostmodel.ConfigFromSettings(&st.SV) + c.costCfg.Swap(&config) }) - storeModels() - - vcpusChanged := func() { - vcpus := ProvisionedVcpusSetting.Get(&st.SV) - var nodeCount float64 - if vcpus > 0 { - // Divide the number of vCPUs in the virtual cluster by 8 to derive - // the number of nodes to use when estimated CPU (min 3 nodes). - nodeCount = math.Max(float64(vcpus)/provisionedVcpusPerNode, 3) - } - c.provisionedNodes.Store(math.Float64bits(nodeCount)) - - // Update the metric to reflect the new number of provisioned vCPUs. - c.metrics.ProvisionedVcpus.Update(vcpus) - } - - ProvisionedVcpusSetting.SetOnChange(&st.SV, func(ctx context.Context) { - vcpusChanged() + initialConfig := tenantcostmodel.ConfigFromSettings(&st.SV) + c.costCfg.CompareAndSwap(nil, &initialConfig) + + c.modeMu.externalIORUAccountingMode = externalIORUAccountingModeFromString(ExternalIORUAccountingMode.Get(&st.SV)) + ExternalIORUAccountingMode.SetOnChange(&st.SV, func(context.Context) { + c.modeMu.Lock() + defer c.modeMu.Unlock() + c.modeMu.externalIORUAccountingMode = externalIORUAccountingModeFromString(ExternalIORUAccountingMode.Get(&st.SV)) }) - vcpusChanged() - return c, nil } // NewTenantSideCostController creates an object which implements the // server.TenantSideCostController interface. func NewTenantSideCostController( - st *cluster.Settings, - tenantID roachpb.TenantID, - provider kvtenant.TokenBucketProvider, - nodeDescs kvclient.NodeDescStore, - locality roachpb.Locality, + st *cluster.Settings, tenantID roachpb.TenantID, provider kvtenant.TokenBucketProvider, ) (multitenant.TenantSideCostController, error) { return newTenantSideCostController( - st, tenantID, provider, nodeDescs, locality, + st, tenantID, provider, timeutil.DefaultTimeSource{}, nil, /* testInstr */ ) @@ -218,12 +214,10 @@ func TestingTenantSideCostController( st *cluster.Settings, tenantID roachpb.TenantID, provider kvtenant.TokenBucketProvider, - nodeDescs kvclient.NodeDescStore, - locality roachpb.Locality, timeSource timeutil.TimeSource, testInstr TestInstrumentation, ) (multitenant.TenantSideCostController, error) { - return newTenantSideCostController(st, tenantID, provider, nodeDescs, locality, timeSource, testInstr) + return newTenantSideCostController(st, tenantID, provider, timeSource, testInstr) } // TestingTokenBucketString returns a string representation of the tenant's @@ -233,16 +227,16 @@ func TestingTokenBucketString(ctrl multitenant.TenantSideCostController) string return c.limiter.String(c.timeSource.Now()) } -// TestingAvailableTokens returns the current number of available tokens in the +// TestingAvailableRU returns the current number of available RUs in the // tenant's token bucket, for testing purposes. -func TestingAvailableTokens(ctrl multitenant.TenantSideCostController) float64 { +func TestingAvailableRU(ctrl multitenant.TenantSideCostController) tenantcostmodel.RU { c := ctrl.(*tenantSideCostController) - return c.limiter.AvailableTokens(c.timeSource.Now()) + return c.limiter.AvailableRU(c.timeSource.Now()) } // TestingSetRate sets the fill rate of the tenant's token bucket, for testing // purposes. -func TestingSetRate(ctrl multitenant.TenantSideCostController, rate float64) { +func TestingSetRate(ctrl multitenant.TenantSideCostController, rate tenantcostmodel.RU) { c := ctrl.(*tenantSideCostController) c.limiter.Reconfigure(c.timeSource.Now(), limiterReconfigureArgs{NewRate: rate}) } @@ -256,12 +250,9 @@ type tenantSideCostController struct { timeSource timeutil.TimeSource testInstr TestInstrumentation settings *cluster.Settings - ruModel atomic.Pointer[tenantcostmodel.RequestUnitModel] - cpuModel atomic.Pointer[tenantcostmodel.EstimatedCPUModel] + costCfg atomic.Pointer[tenantcostmodel.Config] tenantID roachpb.TenantID provider kvtenant.TokenBucketProvider - nodeDescs kvclient.NodeDescStore - locality roachpb.Locality limiter limiter stopper *stop.Stopper instanceID base.SQLInstanceID @@ -269,32 +260,34 @@ type tenantSideCostController struct { externalUsageFn multitenant.ExternalUsageFn nextLiveInstanceIDFn multitenant.NextLiveInstanceIDFn - // avgSQLCPUPerSec is an exponentially-weighted moving average of the SQL CPU - // usage per second; used to estimate the CPU usage of a query. It is only - // written in the main loop, but can be read by multiple goroutines so is an - // atomic. It is a Uint64-encoded float64 value. - avgSQLCPUPerSec atomic.Uint64 + modeMu struct { + syncutil.RWMutex + + externalIORUAccountingMode externalIORUAccountingMode + } + + mu struct { + syncutil.Mutex + + // consumption records the amount of resources consumed by the tenant. + // It is read and written on multiple goroutines and so must be protected + // by a mutex. + consumption kvpb.TenantConsumption - // globalWriteQPS is the recent global rate of write batches per second for this - // tenant, measured across all SQL pods. It is only written in the main loop, - // but can be read by multiple goroutines so is an atomic. It is a - // Uint64-encoded float64 value. - globalWriteQPS atomic.Uint64 + // avgCPUPerSec is an exponentially-weighted moving average of the CPU usage + // per second; used to estimate the CPU usage of a query. It is only written + // in the main loop, but can be read by multiple goroutines so is protected. + avgCPUPerSec float64 + } - // lowTokensNotifyChan is used when the number of available tokens is running - // low and we need to send an early token bucket request. - lowTokensNotifyChan chan struct{} + // lowRUNotifyChan is used when the number of available RUs is running low and + // we need to send an early token bucket request. + lowRUNotifyChan chan struct{} // responseChan is used to receive results from token bucket requests, which // are run in a separate goroutine. A nil response indicates an error. responseChan chan *kvpb.TokenBucketResponse - // provisionedNodes is the number of nodes assumed to be in the virtual - // cluster, for the purpose of calculating estimated CPU. It is calculated - // from the estimated_vcpus setting. It is a Uint64-encoded float64 value and - // is always 0 for the RU model. - provisionedNodes atomic.Uint64 - // run contains the state that is updated by the main loop. It doesn't need a // mutex since the main loop runs on a single goroutine. run struct { @@ -303,13 +296,8 @@ type tenantSideCostController struct { lastTick time.Time // externalUsage stores the last value returned by externalUsageFn. externalUsage multitenant.ExternalUsage - // tickTokens stores the total tokens consumed as of the last tick. - tickTokens float64 - // tickBatches stores the total batches consumed as of the last tick. - tickBatches int64 - // tickEstimatedCPUSecs stores the total estimated CPU consumed as of the - // last tick. - tickEstimatedCPUSecs float64 + // consumption stores the last value of mu.consumption. + consumption kvpb.TenantConsumption // targetPeriod stores the value of the TargetPeriodSetting setting at the // last update. targetPeriod time.Duration @@ -331,42 +319,39 @@ type tenantSideCostController struct { // lastRequestTime is the time that the last token bucket request was // sent to the server. lastRequestTime time.Time - // lastReportedTokens is the total number of consumed tokens as of the - // last report to the token bucket server. - lastReportedTokens float64 // lastReportedConsumption is the set of tenant resource consumption // metrics last sent to the token bucket server. lastReportedConsumption kvpb.TenantConsumption + // lastExportedConsumption is the set of tenant resource consumption + // metrics last sent to the metrics registry. + lastExportedConsumption kvpb.TenantConsumption // lastRate is the token bucket fill rate that was last configured. lastRate float64 - // globalEstimatedCPURate is the global rate of estimated CPU usage, in - // CPU-seconds, as last reported by the token bucket server. - globalEstimatedCPURate float64 // When we obtain tokens that are throttled over a period of time, we // will request more only when we get close to the end of that trickle. // trickleTimer will send an event on trickleCh when we get close. trickleTimer timeutil.TimerI trickleCh <-chan time.Time - // trickleDeadline specifies the time at which trickle tokens granted by - // the token bucket server will be fully added to the local token bucket. - // If the server directly granted tokens with no trickle deadline, then - // this is zero-valued. + // trickleDeadline specifies the time at which trickle RUs granted by the + // token bucket server will be fully added to the local token bucket. + // If the server directly granted RUs with no trickle deadline, then this + // is zero-valued. trickleDeadline time.Time // fallbackRate is the refill rate we fall back to if the token bucket // requests don't complete or take a long time. fallbackRate float64 // fallbackRateStart is the time when we can switch to the fallback rate; - // set only when we get a low tokens notification. It is cleared when we - // get a successful token bucket response, so it only takes effect if the + // set only when we get a low RU notification. It is cleared when we get + // a successful token bucket response, so it only takes effect if the // token bucket server is unavailable or slow. fallbackRateStart time.Time - // avgTokensPerSec is an exponentially-weighted moving average of tokens - // consumed per second. It is used to estimate the token requirements for - // the next request. - avgTokensPerSec float64 + // avgRUPerSec is an exponentially-weighted moving average of the RU + // consumption per second; used to estimate the RU requirements for the next + // request. + avgRUPerSec float64 } } @@ -398,10 +383,6 @@ func (c *tenantSideCostController) Start( }) } -func (c *tenantSideCostController) useRequestUnitModel() bool { - return c.provisionedNodes.Load() == 0 -} - func (c *tenantSideCostController) initRunState(ctx context.Context) { c.run.targetPeriod = TargetPeriodSetting.Get(&c.settings.SV) @@ -409,7 +390,7 @@ func (c *tenantSideCostController) initRunState(ctx context.Context) { c.run.lastTick = now c.run.externalUsage = c.externalUsageFn(ctx) c.run.lastRequestTime = now - c.run.avgTokensPerSec = InitialRequestSetting.Get(&c.settings.SV) / c.run.targetPeriod.Seconds() + c.run.avgRUPerSec = InitialRequestSetting.Get(&c.settings.SV) / c.run.targetPeriod.Seconds() c.run.requestSeqNum = 1 } @@ -419,103 +400,88 @@ func (c *tenantSideCostController) onTick(ctx context.Context, newTime time.Time newExternalUsage := c.externalUsageFn(ctx) // Update CPU consumption. - deltaCPUSecs := newExternalUsage.CPUSecs - c.run.externalUsage.CPUSecs - var totalBatches = c.metrics.TotalReadBatches.Count() + c.metrics.TotalWriteBatches.Count() + deltaCPU := newExternalUsage.CPUSecs - c.run.externalUsage.CPUSecs deltaTime := newTime.Sub(c.run.lastTick) if deltaTime > 0 { // Subtract any allowance that we consider free background usage. allowance := CPUUsageAllowance.Get(&c.settings.SV).Seconds() * deltaTime.Seconds() - deltaCPUSecs -= allowance - - // If total CPU usage is small (less than 3% of a single CPU by default) - // and there have been no recent read/write operations, then ignore the - // recent usage altogether. This is intended to minimize reported usage - // when the cluster is idle. - if deltaCPUSecs < allowance*2 { - if totalBatches == c.run.tickBatches { - // There have been no batches since the last tick. - deltaCPUSecs = 0 + deltaCPU -= allowance + + avgCPU := deltaCPU / deltaTime.Seconds() + + func() { + c.mu.Lock() + defer c.mu.Unlock() + // If total CPU usage is small (less than 3% of a single CPU by default) + // and there have been no recent read/write operations, then ignore the + // recent usage altogether. This is intended to minimize RU usage when the + // cluster is idle. + if deltaCPU < allowance*2 { + if c.mu.consumption.ReadBatches == c.run.consumption.ReadBatches && + c.mu.consumption.WriteBatches == c.run.consumption.WriteBatches { + deltaCPU = 0 + } } - } - - // Keep track of an exponential moving average of CPU usage. - avgCPU := deltaCPUSecs / deltaTime.Seconds() - avgCPUPerSec := math.Float64frombits(c.avgSQLCPUPerSec.Load()) - avgCPUPerSec *= 1 - movingAvgCPUPerSecFactor - avgCPUPerSec += avgCPU * movingAvgCPUPerSecFactor - c.avgSQLCPUPerSec.Store(math.Float64bits(avgCPUPerSec)) + // Keep track of an exponential moving average of CPU usage. + c.mu.avgCPUPerSec *= 1 - movingAvgCPUPerSecFactor + c.mu.avgCPUPerSec += avgCPU * movingAvgCPUPerSecFactor + }() } - if deltaCPUSecs < 0 { - deltaCPUSecs = 0 + if deltaCPU < 0 { + deltaCPU = 0 } - var deltaPGWireEgressBytes int64 - if newExternalUsage.PGWireEgressBytes > c.run.externalUsage.PGWireEgressBytes { - deltaPGWireEgressBytes = int64(newExternalUsage.PGWireEgressBytes - c.run.externalUsage.PGWireEgressBytes) - c.metrics.TotalPGWireEgressBytes.Inc(deltaPGWireEgressBytes) - } - - // KV RUs and estimated KV CPU are not included here, since the CPU metric - // corresponds only to the SQL layer. - c.metrics.TotalSQLPodsCPUSeconds.Inc(deltaCPUSecs) - - var newTokens, totalTokens float64 - if c.useRequestUnitModel() { - // Compute consumed RU. - ruModel := c.ruModel.Load() - newTokens = float64(ruModel.PodCPUCost(deltaCPUSecs)) - newTokens += float64(ruModel.PGWireEgressCost(deltaPGWireEgressBytes)) - c.metrics.TotalRU.Inc(newTokens) - totalTokens = c.metrics.TotalRU.Count() - } else { - // Account for background CPU usage. - cpuModel := c.cpuModel.Load() - - // Determine how much eCPU was consumed by this SQL node during the - // last tick. - totalEstimatedCPUSecs := c.metrics.TotalEstimatedCPUSeconds.Count() + deltaCPUSecs - deltaEstimatedCPUSecs := totalEstimatedCPUSecs - c.run.tickEstimatedCPUSecs - if deltaEstimatedCPUSecs > 0 && cpuModel.BackgroundCPU.Amortization > 0 { - deltaCPUSecs += calculateBackgroundCPUSecs( - cpuModel, c.run.globalEstimatedCPURate, deltaTime, deltaEstimatedCPUSecs) - } - - // Remember estimated CPU for next time. Include background CPU so that it - // won't be included in the background CPU calculation for the next tick - // (i.e. we don't want background CPU to be recursively calculated on itself). - c.run.tickEstimatedCPUSecs = totalEstimatedCPUSecs + deltaCPUSecs - - // Convert CPU into tokens in order to adjust the token bucket. - c.metrics.TotalEstimatedCPUSeconds.Inc(deltaCPUSecs) - newTokens = deltaCPUSecs * tokensPerCPUSecond - totalTokens = c.metrics.TotalEstimatedCPUSeconds.Count() * tokensPerCPUSecond - } + costCfg := c.costCfg.Load() + ru := costCfg.PodCPUCost(deltaCPU) - // Update the average newTokens consumed per second, based on the latest stats. - delta := totalTokens - c.run.tickTokens + var deltaPGWireEgressBytes uint64 + if newExternalUsage.PGWireEgressBytes > c.run.externalUsage.PGWireEgressBytes { + deltaPGWireEgressBytes = newExternalUsage.PGWireEgressBytes - c.run.externalUsage.PGWireEgressBytes + ru += costCfg.PGWireEgressCost(int64(deltaPGWireEgressBytes)) + } + + // KV RUs are not included here, these metrics correspond only to the SQL pod. + var newConsumption kvpb.TenantConsumption + func() { + c.mu.Lock() + defer c.mu.Unlock() + c.mu.consumption.SQLPodsCPUSeconds += deltaCPU + c.mu.consumption.PGWireEgressBytes += deltaPGWireEgressBytes + c.mu.consumption.RU += float64(ru) + newConsumption = c.mu.consumption + }() + + // Update the average RUs consumed per second, based on the latest stats. + delta := newConsumption.RU - c.run.consumption.RU avg := delta * float64(time.Second) / float64(deltaTime) - c.run.avgTokensPerSec = movingAvgTokensPerSecFactor*avg + (1-movingAvgTokensPerSecFactor)*c.run.avgTokensPerSec + c.run.avgRUPerSec = movingAvgRUPerSecFactor*avg + (1-movingAvgRUPerSecFactor)*c.run.avgRUPerSec c.run.lastTick = newTime c.run.externalUsage = newExternalUsage - c.run.tickTokens = totalTokens - c.run.tickBatches = totalBatches + c.run.consumption = newConsumption - // Remove the new tokens from the bucket. - c.limiter.RemoveTokens(newTime, newTokens) + // Remove the tick RU from the bucket. + c.limiter.RemoveRU(newTime, ru) // Switch to the fallback rate if needed. if !c.run.fallbackRateStart.IsZero() && !newTime.Before(c.run.fallbackRateStart) && c.run.fallbackRate != 0 { - log.Infof(ctx, "switching to fallback rate %.10g tokens/s", c.run.fallbackRate) + log.Infof(ctx, "switching to fallback rate %.10g", c.run.fallbackRate) c.limiter.Reconfigure(c.timeSource.Now(), limiterReconfigureArgs{ - NewRate: c.run.fallbackRate, - MaxTokens: bufferTokens + c.run.fallbackRate*c.run.targetPeriod.Seconds(), + NewRate: tenantcostmodel.RU(c.run.fallbackRate), + MaxTokens: bufferRUs + tenantcostmodel.RU(c.run.fallbackRate*c.run.targetPeriod.Seconds()), }) c.run.fallbackRateStart = time.Time{} } + // Report consumption metrics. Update local data first before sending a + // token bucket request to the KV servers. + deltaConsumption := c.run.consumption + deltaConsumption.Sub(&c.run.lastExportedConsumption) + c.run.lastExportedConsumption = c.run.consumption + c.metrics.incrementConsumption(deltaConsumption) + // Should a token bucket request be sent? It might be for a retry or for // periodic consumption reporting. if c.run.shouldSendRequest || c.shouldReportConsumption() { @@ -528,7 +494,7 @@ func (c *tenantSideCostController) onTick(ctx context.Context, newTime time.Time func (c *tenantSideCostController) shouldReportConsumption() bool { timeSinceLastRequest := c.run.lastTick.Sub(c.run.lastRequestTime) if timeSinceLastRequest >= c.run.targetPeriod { - consumptionToReport := c.run.tickTokens - c.run.lastReportedTokens + consumptionToReport := c.run.consumption.RU - c.run.lastReportedConsumption.RU if consumptionToReport >= consumptionReportingThreshold { return true } @@ -549,30 +515,26 @@ func (c *tenantSideCostController) sendTokenBucketRequest(ctx context.Context) { } c.run.shouldSendRequest = false - // Compute consumption delta since last report to the server. - var latestConsumption, deltaConsumption kvpb.TenantConsumption - c.metrics.getConsumption(&latestConsumption) - deltaConsumption = latestConsumption + deltaConsumption := c.run.consumption deltaConsumption.Sub(&c.run.lastReportedConsumption) - - var requested float64 + var requested tenantcostmodel.RU now := c.timeSource.Now() if c.run.trickleTimer != nil { - // Don't request additional tokens if we're in the middle of a trickle + // Don't request additional RUs if we're in the middle of a trickle // that was started recently. requested = 0 } else { // Request what we expect to need over the next target period plus the // buffer amount. - requested = c.run.avgTokensPerSec*c.run.targetPeriod.Seconds() + bufferTokens + requested = tenantcostmodel.RU(c.run.avgRUPerSec*c.run.targetPeriod.Seconds()) + bufferRUs - // Requested tokens are adjusted by what's still left in the burst buffer. + // Requested RUs are adjusted by what's still left in the burst buffer. // Note that this can be negative, which indicates we are in debt. In that - // case, enough tokens should be added to the request to cover the debt. - requested -= c.limiter.AvailableTokens(now) + // case, enough RUs should be added to the request to cover the debt. + requested -= c.limiter.AvailableRU(now) if requested < 0 { - // We don't need more tokens right now, but we still want to report + // We don't need more RUs right now, but we still want to report // consumption. requested = 0 } @@ -588,21 +550,14 @@ func (c *tenantSideCostController) sendTokenBucketRequest(ctx context.Context) { NextLiveInstanceID: uint32(c.nextLiveInstanceIDFn(ctx)), SeqNum: c.run.requestSeqNum, ConsumptionSinceLastRequest: deltaConsumption, - ConsumptionPeriod: now.Sub(c.run.lastRequestTime), - RequestedTokens: requested, + RequestedRU: float64(requested), TargetRequestPeriod: c.run.targetPeriod, } c.run.requestInProgress = req c.run.requestSeqNum++ c.run.lastRequestTime = now - c.run.lastReportedConsumption = latestConsumption - - if c.useRequestUnitModel() { - c.run.lastReportedTokens = latestConsumption.RU - } else { - c.run.lastReportedTokens = c.metrics.TotalEstimatedCPUSeconds.Count() * tokensPerCPUSecond - } + c.run.lastReportedConsumption = c.run.consumption ctx, _ = c.stopper.WithCancelOnQuiesce(ctx) err := c.stopper.RunAsyncTask(ctx, "token-bucket-request", func(ctx context.Context) { @@ -636,8 +591,8 @@ func (c *tenantSideCostController) handleTokenBucketResponse( ) { if log.ExpensiveLogEnabled(ctx, 1) { log.Infof( - ctx, "TokenBucket response: %g tokens over %s (fallback rate %g)", - resp.GrantedTokens, resp.TrickleDuration, resp.FallbackRate, + ctx, "TokenBucket response: %g RUs over %s (fallback rate %g)", + resp.GrantedRU, resp.TrickleDuration, resp.FallbackRate, ) } @@ -645,9 +600,9 @@ func (c *tenantSideCostController) handleTokenBucketResponse( c.run.fallbackRate = resp.FallbackRate c.run.fallbackRateStart = time.Time{} - // Process granted tokens. + // Process granted RUs. now := c.timeSource.Now() - granted := resp.GrantedTokens + granted := tenantcostmodel.RU(resp.GrantedRU) // Shut down any trickle previously in-progress trickle. if c.run.trickleTimer != nil { @@ -656,9 +611,9 @@ func (c *tenantSideCostController) handleTokenBucketResponse( c.run.trickleCh = nil } if !c.run.trickleDeadline.IsZero() { - // If last request came with a trickle duration, we may have tokens that - // were not made available to the bucket yet; throw them together with the - // newly granted tokens. + // If last request came with a trickle duration, we may have RUs that were + // not made available to the bucket yet; throw them together with the newly + // granted RUs. // NB: There is a race condition here, where the token bucket can consume // tokens between the time we call Now() and the time we reconfigure the // bucket below. This would result in double usage of the same granted @@ -666,7 +621,7 @@ func (c *tenantSideCostController) handleTokenBucketResponse( // and even if it occurs, the usage is still counted. The only effect is // some extra debt accumulation, which is fine. if since := c.run.trickleDeadline.Sub(now); since > 0 { - granted += c.run.lastRate * since.Seconds() + granted += tenantcostmodel.RU(c.run.lastRate * since.Seconds()) } c.run.trickleDeadline = time.Time{} } @@ -676,10 +631,10 @@ func (c *tenantSideCostController) handleTokenBucketResponse( // Directly add tokens to the bucket if they're immediately available. // Configure a token trickle if the tokens are only available over time. if resp.TrickleDuration == 0 { - // Calculate the threshold at which a low tokens notification will be sent. + // Calculate the threshold at which a low RU notification will be sent. notifyThreshold := granted * notifyFraction - if notifyThreshold < bufferTokens { - notifyThreshold = bufferTokens + if notifyThreshold < bufferRUs { + notifyThreshold = bufferRUs } // We received a batch of tokens to use as needed. Set up the token @@ -687,11 +642,11 @@ func (c *tenantSideCostController) handleTokenBucketResponse( cfg.NewTokens = granted cfg.NewRate = 0 - // Configure the low tokens notification threshold. However, if the server - // could not even grant the tokens that were requested, then avoid triggering + // Configure the low RU notification threshold. However, if the server + // could not even grant the RUs that were requested, then avoid triggering // extra calls to the server. The next call to the server will be made by // the next regularly scheduled consumption reporting interval. - if req.RequestedTokens == resp.GrantedTokens { + if req.RequestedRU == resp.GrantedRU { cfg.NotifyThreshold = notifyThreshold } } else { @@ -707,18 +662,12 @@ func (c *tenantSideCostController) handleTokenBucketResponse( c.run.trickleCh = c.run.trickleTimer.Ch() c.run.trickleDeadline = now.Add(resp.TrickleDuration) - cfg.NewRate = granted / resp.TrickleDuration.Seconds() - cfg.MaxTokens = bufferTokens + granted - } - - if !c.useRequestUnitModel() { - // Store global write QPS for the tenant. - c.globalWriteQPS.Store(math.Float64bits(resp.ConsumptionRates.WriteBatchRate)) - c.run.globalEstimatedCPURate = resp.ConsumptionRates.EstimatedCPURate + cfg.NewRate = granted / tenantcostmodel.RU(resp.TrickleDuration.Seconds()) + cfg.MaxTokens = bufferRUs + granted } c.limiter.Reconfigure(now, cfg) - c.run.lastRate = cfg.NewRate + c.run.lastRate = float64(cfg.NewRate) if log.ExpensiveLogEnabled(ctx, 1) { log.Infof(ctx, "Limiter: %s", c.limiter.String(now)) @@ -791,20 +740,20 @@ func (c *tenantSideCostController) mainLoop(ctx context.Context) { } case <-c.run.trickleCh: - // Trickle is about to end, so configure the low tokens notification - // so that another token bucket request will be triggered if/when the + // Trickle is about to end, so configure the low RU notification so + // that another token bucket request will be triggered if/when the // bucket gets low (or is already low). c.run.trickleTimer = nil c.run.trickleCh = nil c.sendTokenBucketRequest(ctx) - case <-c.lowTokensNotifyChan: + case <-c.lowRUNotifyChan: // Switch to fallback rate if we don't get a token bucket response // soon enough. c.sendTokenBucketRequest(ctx) if c.testInstr != nil { - c.testInstr.Event(c.timeSource.Now(), LowTokensNotification) + c.testInstr.Event(c.timeSource.Now(), LowRUNotification) } case <-c.stopper.ShouldQuiesce(): @@ -822,7 +771,7 @@ func (c *tenantSideCostController) OnRequestWait(ctx context.Context) error { } // Note that the tenantSideController might not be started yet; that is ok - // because we initialize the limiter with some initial tokens and a reasonable + // because we initialize the limiter with some initial RUs and a reasonable // initial rate. return c.limiter.Wait(ctx, 0) } @@ -830,89 +779,75 @@ func (c *tenantSideCostController) OnRequestWait(ctx context.Context) error { // OnResponseWait is part of the multitenant.TenantSideBatchInterceptor // interface. func (c *tenantSideCostController) OnResponseWait( - ctx context.Context, - request *kvpb.BatchRequest, - response *kvpb.BatchResponse, - targetRange *roachpb.RangeDescriptor, - targetReplica *roachpb.ReplicaDescriptor, + ctx context.Context, req tenantcostmodel.RequestInfo, resp tenantcostmodel.ResponseInfo, ) error { if multitenant.HasTenantCostControlExemption(ctx) { return nil } // Account for the cost of write requests and read responses. - var batchInfo tenantcostmodel.BatchInfo - var tokens float64 - replicas := int64(len(targetRange.Replicas().Descriptors())) - nodeCount := math.Float64frombits(c.provisionedNodes.Load()) - if nodeCount == 0 { - // Calculate RU consumption for the operation. - ruModel := c.ruModel.Load() - batchInfo = ruModel.MakeBatchInfo(request, response) - - networkCost := c.computeNetworkCost(ctx, targetRange, targetReplica, batchInfo.WriteCount > 0) - kvRU, networkRU := ruModel.BatchCost(batchInfo, networkCost, replicas) - totalRU := kvRU + networkRU - tokens = float64(totalRU) - - c.metrics.TotalKVRU.Inc(float64(kvRU)) - c.metrics.TotalRU.Inc(float64(totalRU)) - c.metrics.TotalCrossRegionNetworkRU.Inc(float64(networkRU)) - - // Record the number of RUs consumed by the IO request. - if execinfra.IncludeRUEstimateInExplainAnalyze.Get(&c.settings.SV) { - if sp := tracing.SpanFromContext(ctx); sp != nil && - sp.RecordingType() != tracingpb.RecordingOff { - sp.RecordStructured(&kvpb.TenantConsumption{ - RU: float64(totalRU), - }) - } - } - } else { - // Estimate CPU usage for the operation. - cpuModel := c.cpuModel.Load() - batchInfo = cpuModel.MakeBatchInfo(request, response) - writeQPS := math.Float64frombits(c.globalWriteQPS.Load()) - estimatedCPU := cpuModel.BatchCost(batchInfo, writeQPS/nodeCount, replicas) - tokens = float64(estimatedCPU) * tokensPerCPUSecond - - c.metrics.TotalEstimatedKVCPUSeconds.Inc(float64(estimatedCPU)) - c.metrics.TotalEstimatedCPUSeconds.Inc(float64(estimatedCPU)) - - if batchInfo.WriteBytes > 0 { - // Increment metrics that track estimated number of bytes that will - // be replicated from the leaseholder to other replicas in the range. - c.UpdateEstimatedWriteReplicationBytes(ctx, targetRange, targetReplica, batchInfo.WriteBytes) - } - } - - if batchInfo.ReadCount > 0 { - c.metrics.TotalReadBatches.Inc(1) - c.metrics.TotalReadRequests.Inc(batchInfo.ReadCount) - c.metrics.TotalReadBytes.Inc(batchInfo.ReadBytes) - } - if batchInfo.WriteCount > 0 { - c.metrics.TotalWriteBatches.Inc(replicas) - c.metrics.TotalWriteRequests.Inc(replicas * batchInfo.WriteCount) - c.metrics.TotalWriteBytes.Inc(replicas * batchInfo.WriteBytes) - } + costCfg := c.costCfg.Load() + writeKVRU, writeNetworkRU := costCfg.RequestCost(req) + readKVRU, readNetworkRU := costCfg.ResponseCost(resp) + totalRU := writeKVRU + readKVRU + writeNetworkRU + readNetworkRU // TODO(andyk): Consider breaking up huge acquisition requests into chunks // that can be fulfilled separately and reported separately. This would make - // it easier to stick within a constrained tokens/s budget. - if err := c.limiter.Wait(ctx, tokens); err != nil { + // it easier to stick within a constrained RU/s budget. + if err := c.limiter.Wait(ctx, totalRU); err != nil { return err } + // Record the number of RUs consumed by the IO request. + if execinfra.IncludeRUEstimateInExplainAnalyze.Get(&c.settings.SV) { + if sp := tracing.SpanFromContext(ctx); sp != nil && + sp.RecordingType() != tracingpb.RecordingOff { + sp.RecordStructured(&kvpb.TenantConsumption{ + RU: float64(totalRU), + }) + } + } + + c.mu.Lock() + defer c.mu.Unlock() + + if req.IsWrite() { + c.mu.consumption.WriteBatches += uint64(req.WriteReplicas()) + c.mu.consumption.WriteRequests += uint64(req.WriteReplicas() * req.WriteCount()) + c.mu.consumption.WriteBytes += uint64(req.WriteReplicas() * req.WriteBytes()) + c.mu.consumption.KVRU += float64(writeKVRU) + c.mu.consumption.RU += float64(writeKVRU + writeNetworkRU) + c.mu.consumption.CrossRegionNetworkRU += float64(writeNetworkRU) + } else if resp.IsRead() { + c.mu.consumption.ReadBatches++ + c.mu.consumption.ReadRequests += uint64(resp.ReadCount()) + c.mu.consumption.ReadBytes += uint64(resp.ReadBytes()) + c.mu.consumption.KVRU += float64(readKVRU) + c.mu.consumption.RU += float64(readKVRU + readNetworkRU) + c.mu.consumption.CrossRegionNetworkRU += float64(readNetworkRU) + } + return nil } +func (c *tenantSideCostController) shouldWaitForExternalIORUs() bool { + c.modeMu.RLock() + defer c.modeMu.RUnlock() + return c.modeMu.externalIORUAccountingMode == externalIORUAccountingOn +} + +func (c *tenantSideCostController) shouldAccountForExternalIORUs() bool { + c.modeMu.RLock() + defer c.modeMu.RUnlock() + return c.modeMu.externalIORUAccountingMode != externalIORUAccountingOff +} + // OnExternalIOWait is part of the multitenant.TenantSideExternalIORecorder // interface. func (c *tenantSideCostController) OnExternalIOWait( ctx context.Context, usage multitenant.ExternalIOUsage, ) error { - return c.onExternalIO(ctx, usage, true /* wait */) + return c.onExternalIO(ctx, usage, c.shouldWaitForExternalIORUs()) } // OnExternalIO is part of the multitenant.TenantSideExternalIORecorder @@ -934,22 +869,24 @@ func (c *tenantSideCostController) onExternalIO( return nil } - c.metrics.TotalExternalIOIngressBytes.Inc(usage.IngressBytes) - c.metrics.TotalExternalIOEgressBytes.Inc(usage.EgressBytes) - - if c.useRequestUnitModel() { - costCfg := c.ruModel.Load() - totalRU := costCfg.ExternalIOIngressCost(usage.IngressBytes) + - costCfg.ExternalIOEgressCost(usage.EgressBytes) - c.metrics.TotalRU.Inc(float64(totalRU)) + costCfg := c.costCfg.Load() + totalRU := costCfg.ExternalIOIngressCost(usage.IngressBytes) + + costCfg.ExternalIOEgressCost(usage.EgressBytes) - if wait { - if err := c.limiter.Wait(ctx, float64(totalRU)); err != nil { - return err - } - } else { - c.limiter.RemoveTokens(c.timeSource.Now(), float64(totalRU)) + if wait { + if err := c.limiter.Wait(ctx, totalRU); err != nil { + return err } + } else { + c.limiter.RemoveRU(c.timeSource.Now(), totalRU) + } + + c.mu.Lock() + defer c.mu.Unlock() + c.mu.consumption.ExternalIOIngressBytes += uint64(usage.IngressBytes) + c.mu.consumption.ExternalIOEgressBytes += uint64(usage.EgressBytes) + if c.shouldAccountForExternalIORUs() { + c.mu.consumption.RU += float64(totalRU) } return nil @@ -958,159 +895,17 @@ func (c *tenantSideCostController) onExternalIO( // GetCPUMovingAvg is used to obtain an exponential moving average estimate // for the CPU usage in seconds per each second of wall-clock time. func (c *tenantSideCostController) GetCPUMovingAvg() float64 { - return math.Float64frombits(c.avgSQLCPUPerSec.Load()) -} - -// GetRequestUnitModel is part of the multitenant.TenantSideCostController -// interface. -func (c *tenantSideCostController) GetRequestUnitModel() *tenantcostmodel.RequestUnitModel { - return c.ruModel.Load() + c.mu.Lock() + defer c.mu.Unlock() + return c.mu.avgCPUPerSec } -// GetEstimatedCPUModel is part of the multitenant.TenantSideCostController -// interface. -func (c *tenantSideCostController) GetEstimatedCPUModel() *tenantcostmodel.EstimatedCPUModel { - return c.cpuModel.Load() +// GetCostConfig is part of the multitenant.TenantSideCostController interface. +func (c *tenantSideCostController) GetCostConfig() *tenantcostmodel.Config { + return c.costCfg.Load() } // Metrics returns a metric.Struct which holds metrics for the controller. func (c *tenantSideCostController) Metrics() metric.Struct { return &c.metrics } - -// computeNetworkCost calculates the network cost multiplier for a read or -// write operation. The network cost accounts for the logical byte traffic -// between the client region and the replica regions. -func (c *tenantSideCostController) computeNetworkCost( - ctx context.Context, - targetRange *roachpb.RangeDescriptor, - targetReplica *roachpb.ReplicaDescriptor, - isWrite bool, -) tenantcostmodel.NetworkCost { - // It is unfortunate that we hardcode a particular locality tier name here. - // Ideally, we would have a cluster setting that specifies the name or some - // other way to configure it. - clientRegion, _ := c.locality.Find("region") - if clientRegion == "" { - // If we do not have the source, there is no way to find the multiplier. - log.VErrEventf(ctx, 2, "missing region tier in current node: locality=%s", - c.locality.String()) - return tenantcostmodel.NetworkCost(0) - } - - ruModel := c.ruModel.Load() - if ruModel == nil { - // This case is unlikely to happen since this method will only be - // called through tenant processes, which has a KV interceptor. - return tenantcostmodel.NetworkCost(0) - } - - cost := tenantcostmodel.NetworkCost(0) - if isWrite { - for i := range targetRange.Replicas().Descriptors() { - if replicaRegion, ok := c.getReplicaRegion(ctx, &targetRange.Replicas().Descriptors()[i]); ok { - cost += ruModel.NetworkCost(tenantcostmodel.NetworkPath{ - ToRegion: replicaRegion, - FromRegion: clientRegion, - }) - } - } - } else { - if replicaRegion, ok := c.getReplicaRegion(ctx, targetReplica); ok { - cost = ruModel.NetworkCost(tenantcostmodel.NetworkPath{ - ToRegion: clientRegion, - FromRegion: replicaRegion, - }) - } - } - - return cost -} - -func (c *tenantSideCostController) getReplicaRegion( - ctx context.Context, replica *roachpb.ReplicaDescriptor, -) (region string, ok bool) { - nodeDesc, err := c.nodeDescs.GetNodeDescriptor(replica.NodeID) - if err != nil { - log.VErrEventf(ctx, 2, "node %d is not gossiped: %v", replica.NodeID, err) - // If we don't know where a node is, we can't determine the network cost - // for the operation. - return "", false - } - - region, ok = nodeDesc.Locality.Find("region") - if !ok { - log.VErrEventf(ctx, 2, "missing region locality for n %d", nodeDesc.NodeID) - return "", false - } - - return region, true -} - -// UpdateEstimatedWriteReplicationBytes computes all the network paths taken by -// the leaseholder when it replicates writes to the other replicas for the given -// range, and then increments the corresponding metrics by the given writeBytes -// amount. -func (c *tenantSideCostController) UpdateEstimatedWriteReplicationBytes( - ctx context.Context, - targetRange *roachpb.RangeDescriptor, - targetReplica *roachpb.ReplicaDescriptor, - writeBytes int64, -) { - fromNode, err := c.nodeDescs.GetNodeDescriptor(targetReplica.NodeID) - if err != nil { - // If we don't know where a node is, we can't determine the network - // path for the operation. - log.VErrEventf(ctx, 2, "node %d is not gossiped: %v", targetReplica.NodeID, err) - return - } - for _, replica := range targetRange.Replicas().Descriptors() { - if replica.ReplicaID == targetReplica.ReplicaID { - continue - } - toNode, err := c.nodeDescs.GetNodeDescriptor(replica.NodeID) - if err != nil { - // If we don't know where a node is, we can't determine the network - // path for the operation. - log.VErrEventf(ctx, 2, "node %d is not gossiped: %v", replica.NodeID, err) - continue - } - - c.metrics.EstimatedReplicationBytesForPath( - targetReplica.NodeID, fromNode.Locality, - replica.NodeID, toNode.Locality, - ).Inc(writeBytes) - } -} - -// calculateBackgroundCPUSecs returns the number of CPU seconds estimated to -// have been consumed by background work triggered by this node during the given -// interval. This is proportional to the amount of estimated CPU consumed by -// this node during that interval, and is capped to a maximum fixed amount, as -// specified in the model. -func calculateBackgroundCPUSecs( - cpuModel *tenantcostmodel.EstimatedCPUModel, - globalEstimatedCPURate float64, - deltaTime time.Duration, - localEstimatedCPUSecs float64, -) float64 { - // Determine how much eCPU was consumed by all SQL nodes during the time - // interval. The global eCPU rate can be unavailable or stale, so use the - // local rate if it's larger. - elapsedSeconds := float64(deltaTime) / float64(time.Second) - globalEstimatedCPUSecs := - math.Max(globalEstimatedCPURate*elapsedSeconds, localEstimatedCPUSecs) - globalEstimatedCPURate = globalEstimatedCPUSecs / elapsedSeconds - - // Determine how much CPU was consumed by overhead during the last tick. - // If there was less than "Amortization" eCPUs of usage, then only add - // a portion of the overhead. - backgroundCPUSecs := float64(cpuModel.BackgroundCPU.Amount) * elapsedSeconds - if globalEstimatedCPURate < cpuModel.BackgroundCPU.Amortization { - backgroundCPUSecs *= globalEstimatedCPURate / cpuModel.BackgroundCPU.Amortization - } - - // This node is responsible for its percentage share of background usage. - backgroundCPUSecs *= localEstimatedCPUSecs / globalEstimatedCPUSecs - return backgroundCPUSecs -} diff --git a/pkg/ccl/multitenantccl/tenantcostclient/tenant_side_test.go b/pkg/ccl/multitenantccl/tenantcostclient/tenant_side_test.go index 8c25cb0315d8..54b155902753 100644 --- a/pkg/ccl/multitenantccl/tenantcostclient/tenant_side_test.go +++ b/pkg/ccl/multitenantccl/tenantcostclient/tenant_side_test.go @@ -59,13 +59,11 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/leaktest" "github.com/cockroachdb/cockroach/pkg/util/log" "github.com/cockroachdb/cockroach/pkg/util/metric" - "github.com/cockroachdb/cockroach/pkg/util/metric/aggmetric" "github.com/cockroachdb/cockroach/pkg/util/stop" "github.com/cockroachdb/cockroach/pkg/util/syncutil" "github.com/cockroachdb/cockroach/pkg/util/timeutil" "github.com/cockroachdb/datadriven" "github.com/cockroachdb/errors" - prometheusgo "github.com/prometheus/client_model/go" "github.com/stretchr/testify/require" yaml "gopkg.in/yaml.v2" ) @@ -110,7 +108,7 @@ type testState struct { var eventTypeStr = map[tenantcostclient.TestEventType]string{ tenantcostclient.TickProcessed: "tick", - tenantcostclient.LowTokensNotification: "low-tokens", + tenantcostclient.LowRUNotification: "low-ru", tenantcostclient.TokenBucketResponseProcessed: "token-bucket-response", tenantcostclient.TokenBucketResponseError: "token-bucket-response-error", } @@ -135,21 +133,13 @@ func (ts *testState) start(t *testing.T) { tenantcostclient.CPUUsageAllowance.Override(ctx, &ts.settings.SV, 10*time.Millisecond) tenantcostclient.InitialRequestSetting.Override(ctx, &ts.settings.SV, 10000) - networkCosts := `{"regionPairs": [ - {"fromRegion": "us-central1", "toRegion": "europe-west1", "cost": 0.01}, - {"fromRegion": "europe-west1", "toRegion": "us-central1", "cost": 0.00002} - ]}` - tenantcostmodel.CrossRegionNetworkCostSetting.Override(ctx, &ts.settings.SV, networkCosts) - ts.stopper = stop.NewStopper() var err error - ts.provider = newTestProvider(ts.timeSrc) + ts.provider = newTestProvider() ts.controller, err = tenantcostclient.TestingTenantSideCostController( ts.settings, roachpb.MustMakeTenantID(5), ts.provider, - &tenantcostclient.TestNodeDescStore{NodeDescs: nodeDescriptors}, - nodeDescriptors[0].Locality, ts.timeSrc, ts.eventWait, ) @@ -185,12 +175,12 @@ func (ts *testState) stop() { } type cmdArgs struct { - count int64 - bytes int64 - repeat int64 - label string - wait bool - rangeDesc *roachpb.RangeDescriptor + count int64 + bytes int64 + repeat int64 + label string + wait bool + networkCost float64 } func parseBytesVal(arg datadriven.CmdArg) (int64, error) { @@ -207,7 +197,6 @@ func parseBytesVal(arg datadriven.CmdArg) (int64, error) { func parseArgs(t *testing.T, d *datadriven.TestData) cmdArgs { var res cmdArgs res.count = 1 - res.rangeDesc = &rangeWithOneReplica for _, args := range d.CmdArgs { switch args.Key { case "count": @@ -223,7 +212,7 @@ func parseArgs(t *testing.T, d *datadriven.TestData) cmdArgs { case "bytes": v, err := parseBytesVal(args) if err != nil { - d.Fatalf(t, "%s", err) + d.Fatalf(t, err.Error()) } res.bytes = v @@ -255,25 +244,17 @@ func parseArgs(t *testing.T, d *datadriven.TestData) cmdArgs { d.Fatalf(t, "invalid wait value") } - case "localities": + case "networkCost": if len(args.Vals) != 1 { - d.Fatalf(t, "expected one value for localities") + d.Fatalf(t, "expected one value for networkCost") } - switch args.Vals[0] { - case "remote-region": - res.rangeDesc = &rangeWithRemoteReplica - case "same-zone": - res.rangeDesc = &rangeInSameZone - case "cross-zone": - res.rangeDesc = &rangeAcrossZones - case "cross-region": - res.rangeDesc = &rangeAcrossRegions - default: - d.Fatalf(t, "localities must be 'same-zone', 'cross-zone', or 'cross-region'") + val, err := strconv.ParseFloat(args.Vals[0], 64) + if err != nil { + d.Fatalf(t, "invalid networkCost value") } - + res.networkCost = val default: - d.Fatalf(t, "unknown command: '%s'", args.Key) + d.Fatalf(t, "uknown command: '%s'", args.Key) } } return res @@ -282,23 +263,24 @@ func parseArgs(t *testing.T, d *datadriven.TestData) cmdArgs { var testStateCommands = map[string]func( *testState, *testing.T, *datadriven.TestData, cmdArgs, ) string{ - "read": (*testState).read, - "write": (*testState).write, - "await": (*testState).await, - "not-completed": (*testState).notCompleted, - "advance": (*testState).advance, - "wait-for-event": (*testState).waitForEvent, - "timers": (*testState).timers, - "cpu": (*testState).cpu, - "pgwire-egress": (*testState).pgwireEgress, - "external-egress": (*testState).externalEgress, - "external-ingress": (*testState).externalIngress, - "usage": (*testState).usage, - "metrics": (*testState).metrics, - "configure": (*testState).configure, - "token-bucket": (*testState).tokenBucket, - "unblock-request": (*testState).unblockRequest, - "provisioned-vcpus": (*testState).provisionedVcpus, + "read": (*testState).read, + "write": (*testState).write, + "await": (*testState).await, + "not-completed": (*testState).notCompleted, + "advance": (*testState).advance, + "wait-for-event": (*testState).waitForEvent, + "timers": (*testState).timers, + "cpu": (*testState).cpu, + "pgwire-egress": (*testState).pgwireEgress, + "external-egress": (*testState).externalEgress, + "external-ingress": (*testState).externalIngress, + "enable-external-ru-accounting": (*testState).enableRUAccounting, + "disable-external-ru-accounting": (*testState).disableRUAccounting, + "usage": (*testState).usage, + "metrics": (*testState).metrics, + "configure": (*testState).configure, + "token-bucket": (*testState).tokenBucket, + "unblock-request": (*testState).unblockRequest, } // runOperation invokes the given operation function on a background goroutine. @@ -343,24 +325,26 @@ func (ts *testState) request( repeat = 1 } - var batchInfo tenantcostmodel.BatchInfo + var writeCount, readCount, writeBytes, readBytes int64 + var writeNetworkCost, readNetworkCost tenantcostmodel.NetworkCost if isWrite { - batchInfo.WriteCount = args.count - batchInfo.WriteBytes = args.bytes + writeCount = args.count + writeBytes = args.bytes + writeNetworkCost = tenantcostmodel.NetworkCost(args.networkCost) } else { - batchInfo.ReadCount = args.count - batchInfo.ReadBytes = args.bytes + readCount = args.count + readBytes = args.bytes + readNetworkCost = tenantcostmodel.NetworkCost(args.networkCost) } - req, resp := makeTestBatch(batchInfo) - - targetReplica := &args.rangeDesc.InternalReplicas[0] + reqInfo := tenantcostmodel.TestingRequestInfo(1, writeCount, writeBytes, writeNetworkCost) + respInfo := tenantcostmodel.TestingResponseInfo(!isWrite, readCount, readBytes, readNetworkCost) for ; repeat > 0; repeat-- { ts.runOperation(t, d, args.label, func() { if err := ts.controller.OnRequestWait(ctx); err != nil { t.Errorf("OnRequestWait error: %v", err) } - if err := ts.controller.OnResponseWait(ctx, req, resp, args.rangeDesc, targetReplica); err != nil { + if err := ts.controller.OnResponseWait(ctx, reqInfo, respInfo); err != nil { t.Errorf("OnResponseWait error: %v", err) } }) @@ -387,6 +371,16 @@ func (ts *testState) externalEgress(t *testing.T, d *datadriven.TestData, args c return "" } +func (ts *testState) enableRUAccounting(_ *testing.T, _ *datadriven.TestData, _ cmdArgs) string { + tenantcostclient.ExternalIORUAccountingMode.Override(context.Background(), &ts.settings.SV, "on") + return "" +} + +func (ts *testState) disableRUAccounting(_ *testing.T, _ *datadriven.TestData, _ cmdArgs) string { + tenantcostclient.ExternalIORUAccountingMode.Override(context.Background(), &ts.settings.SV, "off") + return "" +} + // read simulates processing a read. If a label is provided, the request is // started in the background. func (ts *testState) read(t *testing.T, d *datadriven.TestData, args cmdArgs) string { @@ -485,14 +479,6 @@ func (ts *testState) unblockRequest(t *testing.T, _ *datadriven.TestData, _ cmdA return "" } -// provisionedVcpus sets the number of vCPUs available to the virtual cluster, -// for use in estimating CPU. If zero, the RU model is used instead. -func (ts *testState) provisionedVcpus(t *testing.T, _ *datadriven.TestData, args cmdArgs) string { - ctx := context.Background() - tenantcostclient.ProvisionedVcpusSetting.Override(ctx, &ts.settings.SV, args.count) - return "" -} - // timers waits for the set of open timers to match the expected output. // timers is critical to avoid synchronization problems in testing. The command // outputs the set of timers in increasing order with each timer's deadline on @@ -576,16 +562,15 @@ func (ts *testState) pgwireEgress(t *testing.T, d *datadriven.TestData, _ cmdArg func (ts *testState) usage(*testing.T, *datadriven.TestData, cmdArgs) string { c := ts.provider.consumption() return fmt.Sprintf(""+ - "RU: %.2f\n"+ - "KVRU: %.2f\n"+ - "CrossRegionNetworkRU: %.2f\n"+ - "Reads: %d requests in %d batches (%d bytes)\n"+ - "Writes: %d requests in %d batches (%d bytes)\n"+ - "SQL Pods CPU seconds: %.2f\n"+ - "PGWire egress: %d bytes\n"+ + "RU: %.2f\n"+ + "KVRU: %.2f\n"+ + "CrossRegionNetworkRU: %.2f\n"+ + "Reads: %d requests in %d batches (%d bytes)\n"+ + "Writes: %d requests in %d batches (%d bytes)\n"+ + "SQL Pods CPU seconds: %.2f\n"+ + "PGWire egress: %d bytes\n"+ "ExternalIO egress: %d bytes\n"+ - "ExternalIO ingress: %d bytes\n"+ - "Estimated CPU seconds: %.2f\n", + "ExternalIO ingress: %d bytes\n", c.RU, c.KVRU, c.CrossRegionNetworkRU, @@ -599,7 +584,6 @@ func (ts *testState) usage(*testing.T, *datadriven.TestData, cmdArgs) string { c.PGWireEgressBytes, c.ExternalIOEgressBytes, c.ExternalIOIngressBytes, - c.EstimatedCPUSeconds, ) } @@ -621,45 +605,18 @@ func (ts *testState) metrics(*testing.T, *datadriven.TestData, cmdArgs) string { "tenant.sql_usage.external_io_ingress_bytes", "tenant.sql_usage.external_io_egress_bytes", "tenant.sql_usage.cross_region_network_ru", - "tenant.sql_usage.estimated_kv_cpu_seconds", - "tenant.sql_usage.estimated_cpu_seconds", - "tenant.sql_usage.estimated_replication_bytes", - "tenant.sql_usage.provisioned_vcpus", } - var childMetrics string state := make(map[string]interface{}) v := reflect.ValueOf(ts.controller.Metrics()).Elem() for i := 0; i < v.NumField(); i++ { - vfield := v.Field(i) - if !vfield.CanInterface() { - continue - } - switch typ := vfield.Interface().(type) { + switch typ := v.Field(i).Interface().(type) { case metric.Iterable: typ.Inspect(func(v interface{}) { switch it := v.(type) { - case *metric.Gauge: - state[typ.GetName()] = it.Value() case *metric.Counter: state[typ.GetName()] = it.Count() case *metric.CounterFloat64: state[typ.GetName()] = fmt.Sprintf("%.2f", it.Count()) - case *aggmetric.AggCounter: - state[typ.GetName()] = it.Count() - promIter, ok := v.(metric.PrometheusIterable) - if !ok { - return - } - promIter.Each(it.GetLabels(), func(m *prometheusgo.Metric) { - childMetrics += fmt.Sprintf("%s{", typ.GetName()) - for i, l := range m.Label { - if i > 0 { - childMetrics += "," - } - childMetrics += fmt.Sprintf(`%s="%s"`, l.GetName(), l.GetValue()) - } - childMetrics += fmt.Sprintf("}: %.0f\n", m.Counter.GetValue()) - }) } }) } @@ -672,7 +629,6 @@ func (ts *testState) metrics(*testing.T, *datadriven.TestData, cmdArgs) string { } output += fmt.Sprintf("%s: %v\n", name, v) } - output += childMetrics return output } @@ -734,19 +690,17 @@ type testProvider struct { consumption kvpb.TenantConsumption lastSeqNum int64 - lastTime time.Time cfg testProviderConfig } - timeSource timeutil.TimeSource recvOnRequest chan struct{} sendOnRequest chan struct{} } type testProviderConfig struct { - // If zero, the provider always grants tokens immediately. If positive, the - // provider grants tokens at this rate. If negative, the provider never grants - // tokens. + // If zero, the provider always grants RUs immediately. If positive, the + // provider grants RUs at this rate. If negative, the provider never grants + // RUs. Throttle float64 `yaml:"throttle"` // If set, the provider always errors out. @@ -757,16 +711,12 @@ type testProviderConfig struct { ProviderBlock bool `yaml:"block"` FallbackRate float64 `yaml:"fallback_rate"` - - WriteBatchRate float64 `yaml:"write_batch_rate"` - EstimatedCPURate float64 `yaml:"estimated_cpu_rate"` } var _ kvtenant.TokenBucketProvider = (*testProvider)(nil) -func newTestProvider(timeSource timeutil.TimeSource) *testProvider { +func newTestProvider() *testProvider { return &testProvider{ - timeSource: timeSource, recvOnRequest: make(chan struct{}), sendOnRequest: make(chan struct{}), } @@ -848,146 +798,27 @@ func (tp *testProvider) TokenBucket( } } - now := tp.timeSource.Now() - elapsed := now.Sub(tp.mu.lastTime) - if elapsed != 0 && !tp.mu.lastTime.IsZero() && in.ConsumptionPeriod == 0 { - panic("zero-length consumption period") - } - tp.mu.lastTime = now - tp.mu.consumption.Add(&in.ConsumptionSinceLastRequest) res := &kvpb.TokenBucketResponse{} rate := tp.mu.cfg.Throttle if rate >= 0 { - res.GrantedTokens = in.RequestedTokens + res.GrantedRU = in.RequestedRU if rate > 0 { - res.TrickleDuration = time.Duration(in.RequestedTokens / rate * float64(time.Second)) + res.TrickleDuration = time.Duration(in.RequestedRU / rate * float64(time.Second)) if res.TrickleDuration > in.TargetRequestPeriod { - res.GrantedTokens *= in.TargetRequestPeriod.Seconds() / res.TrickleDuration.Seconds() + res.GrantedRU *= in.TargetRequestPeriod.Seconds() / res.TrickleDuration.Seconds() res.TrickleDuration = in.TargetRequestPeriod } } } res.FallbackRate = tp.mu.cfg.FallbackRate - res.ConsumptionRates.WriteBatchRate = tp.mu.cfg.WriteBatchRate - res.ConsumptionRates.EstimatedCPURate = tp.mu.cfg.EstimatedCPURate return res, nil } -var nodeDescriptors = []roachpb.NodeDescriptor{ - // Starting region and zone. - {NodeID: 1, Locality: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-central1"}, - {Key: "zone", Value: "az1"}, - }}}, - // Different zone. - {NodeID: 2, Locality: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-central1"}, - {Key: "zone", Value: "az2"}, - }}}, - // Same zone. - {NodeID: 3, Locality: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-central1"}, - {Key: "zone", Value: "az1"}, - }}}, - // Different region. - {NodeID: 4, Locality: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "europe-west1"}, - {Key: "zone", Value: "az1"}, - }}}, - // Different region, another zone. - {NodeID: 5, Locality: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "europe-west1"}, - {Key: "zone", Value: "az2"}, - }}}, -} - -var rangeWithOneReplica = roachpb.RangeDescriptor{ - RangeID: 10, - InternalReplicas: []roachpb.ReplicaDescriptor{ - {NodeID: 1, ReplicaID: 100}, - }, -} - -var rangeWithRemoteReplica = roachpb.RangeDescriptor{ - RangeID: 20, - InternalReplicas: []roachpb.ReplicaDescriptor{ - {NodeID: 4, ReplicaID: 110}, - }, -} - -var rangeInSameZone = roachpb.RangeDescriptor{ - RangeID: 30, - InternalReplicas: []roachpb.ReplicaDescriptor{ - {NodeID: 1, ReplicaID: 120}, - {NodeID: 1, ReplicaID: 121}, - {NodeID: 3, ReplicaID: 122}, - }, -} - -var rangeAcrossZones = roachpb.RangeDescriptor{ - RangeID: 40, - InternalReplicas: []roachpb.ReplicaDescriptor{ - {NodeID: 1, ReplicaID: 130}, - {NodeID: 2, ReplicaID: 131}, - {NodeID: 3, ReplicaID: 132}, - }, -} - -var rangeAcrossRegions = roachpb.RangeDescriptor{ - RangeID: 50, - InternalReplicas: []roachpb.ReplicaDescriptor{ - {NodeID: 1, ReplicaID: 140}, - {NodeID: 2, ReplicaID: 141}, - {NodeID: 3, ReplicaID: 142}, - {NodeID: 4, ReplicaID: 143}, - {NodeID: 5, ReplicaID: 144}, - }, -} - -// makeTestBatch constructs a batch request and response that has the given -// number of read/write requests and bytes. -func makeTestBatch( - bi tenantcostmodel.BatchInfo, -) (req *kvpb.BatchRequest, resp *kvpb.BatchResponse) { - req = &kvpb.BatchRequest{} - resp = &kvpb.BatchResponse{} - - for writeCount := bi.WriteCount; writeCount > 0; writeCount-- { - byteCount := bi.WriteBytes / bi.WriteCount - if writeCount == 1 { - byteCount += bi.WriteBytes % bi.WriteCount - } - - putReq := &kvpb.PutRequest{Value: roachpb.Value{RawBytes: make([]byte, byteCount)}} - req.Requests = append(req.Requests, - kvpb.RequestUnion{Value: &kvpb.RequestUnion_Put{Put: putReq}}) - - resp.Responses = append(resp.Responses, - kvpb.ResponseUnion{Value: &kvpb.ResponseUnion_Put{Put: &kvpb.PutResponse{}}}) - } - - for readCount := bi.ReadCount; readCount > 0; readCount-- { - byteCount := bi.ReadBytes / bi.ReadCount - if readCount == 1 { - byteCount += bi.ReadBytes % bi.ReadCount - } - - req.Requests = append(req.Requests, - kvpb.RequestUnion{Value: &kvpb.RequestUnion_Get{Get: &kvpb.GetRequest{}}}) - - getResp := &kvpb.GetResponse{ResponseHeader: kvpb.ResponseHeader{NumBytes: byteCount}} - resp.Responses = append(resp.Responses, - kvpb.ResponseUnion{Value: &kvpb.ResponseUnion_Get{Get: getResp}}) - } - - return req, resp -} - -// TestWaitingTokens verifies that multiple concurrent requests that stack up in -// the quota pool are reflected in AvailableTokens. -func TestWaitingTokens(t *testing.T) { +// TestWaitingRU verifies that multiple concurrent requests that stack up in the +// quota pool are reflected in AvailableRU. +func TestWaitingRU(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -997,21 +828,19 @@ func TestWaitingTokens(t *testing.T) { st := cluster.MakeTestingClusterSettings() tenantcostclient.CPUUsageAllowance.Override(ctx, &st.SV, time.Second) - testProvider := newTestProvider(timeutil.DefaultTimeSource{}) + testProvider := newTestProvider() testProvider.configure(testProviderConfig{ProviderError: true}) tenantID := serverutils.TestTenantID() timeSource := timeutil.NewManualTime(t0) eventWait := newEventWaiter(timeSource) ctrl, err := tenantcostclient.TestingTenantSideCostController( - st, tenantID, testProvider, &tenantcostclient.TestNodeDescStore{NodeDescs: nodeDescriptors}, - roachpb.Locality{}, timeSource, eventWait) + st, tenantID, testProvider, timeSource, eventWait) require.NoError(t, err) - // Immediately consume the initial 5K tokens. - req, resp := makeTestBatch(tenantcostmodel.BatchInfo{WriteCount: 1, WriteBytes: 5117945}) - require.NoError(t, ctrl.OnResponseWait( - ctx, req, resp, &rangeWithOneReplica, &rangeWithOneReplica.InternalReplicas[0])) + // Immediately consume the initial 5K RUs. + require.NoError(t, ctrl.OnResponseWait(ctx, + tenantcostmodel.TestingRequestInfo(1, 1, 5117952, 0), tenantcostmodel.ResponseInfo{})) stopper := stop.NewStopper() defer stopper.Stop(ctx) @@ -1026,13 +855,14 @@ func TestWaitingTokens(t *testing.T) { // Wait for the initial token bucket response. require.True(t, eventWait.WaitForEvent(tenantcostclient.TokenBucketResponseError)) - // Send 20 KV requests for 1K tokens each. + // Send 20 KV requests for 1K RU each. const count = 20 const fillRate = 100 - req, resp = makeTestBatch(tenantcostmodel.BatchInfo{WriteCount: 1, WriteBytes: 1021946}) + req := tenantcostmodel.TestingRequestInfo(1, 1, 1021952, 0) + resp := tenantcostmodel.TestingResponseInfo(false, 0, 0, 0) testutils.SucceedsWithin(t, func() error { - // Refill the token bucket at a fixed 100 tokens/s so that we can limit + // Refill the token bucket at a fixed 100 RU/s so that we can limit // non-determinism in the test. tenantcostclient.TestingSetRate(ctrl, fillRate) @@ -1042,20 +872,18 @@ func TestWaitingTokens(t *testing.T) { } for i := 0; i < count; i++ { go func(i int) { - require.NoError(t, ctrl.OnResponseWait( - ctx, req, resp, &rangeWithOneReplica, &rangeWithOneReplica.InternalReplicas[0])) + require.NoError(t, ctrl.OnResponseWait(ctx, req, resp)) atomic.AddInt64(&doneCount, 1) }(i) } - // Allow some responses to queue up before refilling the available tokens. + // Allow some responses to queue up before refilling the available RUs. time.Sleep(time.Millisecond) - // If available tokens drop below -1K, then multiple responses must be - // waiting. + // If available RUs drop below -1K, then multiple responses must be waiting. succeeded := false for i := 0; i < count; i++ { - available := tenantcostclient.TestingAvailableTokens(ctrl) + available := tenantcostclient.TestingAvailableRU(ctrl) if available < -1000 { succeeded = true } @@ -1085,13 +913,13 @@ func TestWaitingTokens(t *testing.T) { }, timeout) const allowedDelta = 0.01 - available := tenantcostclient.TestingAvailableTokens(ctrl) + available := tenantcostclient.TestingAvailableRU(ctrl) if succeeded { - require.InDelta(t, 0, available, allowedDelta) + require.InDelta(t, 0, float64(available), allowedDelta) return nil } - return errors.Errorf("Tokens did not drop below 1K: %0.2f", available) + return errors.Errorf("RUs did not drop below 1K: %0.2f", available) }, 2*time.Minute) } @@ -1108,7 +936,7 @@ func TestConsumption(t *testing.T) { tenantcostclient.TargetPeriodSetting.Override(context.Background(), &st.SV, targetPeriod) tenantcostclient.CPUUsageAllowance.Override(context.Background(), &st.SV, 0) - testProvider := newTestProvider(timeutil.DefaultTimeSource{}) + testProvider := newTestProvider() _, tenantDB := serverutils.StartTenant(t, hostServer, base.TestTenantArgs{ TenantID: serverutils.TestTenantID(), @@ -1125,64 +953,41 @@ func TestConsumption(t *testing.T) { // Create a secondary index to ensure that writes to both indexes are // recorded in metrics. r.Exec(t, "CREATE TABLE t (v STRING, w STRING, INDEX (w, v))") + // Do some writes and reads and check the reported consumption. Repeat the + // test a few times, since background requests can trick the test into + // passing. + for repeat := 0; repeat < 5; repeat++ { + beforeWrite := testProvider.waitForConsumption(t) + r.Exec(t, "INSERT INTO t (v) SELECT repeat('1234567890', 1024) FROM generate_series(1, 10) AS g(i)") + const expectedBytes = 10 * 10 * 1024 + + // Try a few times because background activity can trigger bucket + // requests before the test query does. + testutils.SucceedsSoon(t, func() error { + afterWrite := testProvider.waitForConsumption(t) + delta := afterWrite + delta.Sub(&beforeWrite) + if delta.WriteBatches < 1 || delta.WriteRequests < 2 || delta.WriteBytes < expectedBytes*2 { + return errors.Newf("usage after write: %s", delta.String()) + } + return nil + }) - // Do some writes and reads and check reported consumption for each model. - for _, useRUModel := range []bool{true, false} { - t.Run(fmt.Sprintf("ru_model=%v", useRUModel), func(t *testing.T) { - // Repeat the test a few times, since background requests can trick the - // test into passing. - for repeat := 0; repeat < 5; repeat++ { - if !useRUModel { - // Switch to estimated CPU model. - tenantcostclient.ProvisionedVcpusSetting.Override(context.Background(), &st.SV, 12) - } - - beforeWrite := testProvider.waitForConsumption(t) - r.Exec(t, "INSERT INTO t (v) SELECT repeat('1234567890', 1024) FROM generate_series(1, 10) AS g(i)") - const expectedBytes = 10 * 10 * 1024 - - // Try a few times because background activity can trigger bucket - // requests before the test query does. - testutils.SucceedsSoon(t, func() error { - afterWrite := testProvider.waitForConsumption(t) - delta := afterWrite - delta.Sub(&beforeWrite) - if useRUModel { - if delta.RU < 1 || delta.KVRU < 1 || - delta.WriteBatches < 1 || delta.WriteRequests < 2 || delta.WriteBytes < expectedBytes*2 { - return errors.Newf("usage after write: %s", delta.String()) - } - } else { - if delta.EstimatedCPUSeconds == 0 { - return errors.Newf("usage after write: %s", delta.String()) - } - } - return nil - }) - - beforeRead := testProvider.waitForConsumption(t) - r.QueryStr(t, "SELECT min(v) FROM t") - - // Try a few times because background activity can trigger bucket - // requests before the test query does. - testutils.SucceedsSoon(t, func() error { - afterRead := testProvider.waitForConsumption(t) - delta := afterRead - delta.Sub(&beforeRead) - if useRUModel { - if delta.ReadBatches < 1 || delta.ReadRequests < 1 || delta.ReadBytes < expectedBytes { - return errors.Newf("usage after read: %s", delta.String()) - } - } else { - if delta.EstimatedCPUSeconds == 0 { - return errors.Newf("usage after read: %s", delta.String()) - } - } - return nil - }) - r.Exec(t, "DELETE FROM t WHERE true") + beforeRead := testProvider.waitForConsumption(t) + r.QueryStr(t, "SELECT min(v) FROM t") + + // Try a few times because background activity can trigger bucket + // requests before the test query does. + testutils.SucceedsSoon(t, func() error { + afterRead := testProvider.waitForConsumption(t) + delta := afterRead + delta.Sub(&beforeRead) + if delta.ReadBatches < 1 || delta.ReadRequests < 1 || delta.ReadBytes < expectedBytes { + return errors.Newf("usage after read: %s", delta.String()) } + return nil }) + r.Exec(t, "DELETE FROM t WHERE true") } // Make sure some CPU usage is reported. testutils.SucceedsSoon(t, func() error { @@ -1283,7 +1088,7 @@ func TestScheduledJobsConsumption(t *testing.T) { }) defer hostServer.Stopper().Stop(ctx) - testProvider := newTestProvider(timeutil.DefaultTimeSource{}) + testProvider := newTestProvider() env := jobstest.NewJobSchedulerTestEnv(jobstest.UseSystemTables, timeutil.Now()) var zeroDuration time.Duration @@ -1380,7 +1185,7 @@ func TestConsumptionChangefeeds(t *testing.T) { tenantcostclient.CPUUsageAllowance.Override(ctx, &st.SV, 0) kvserver.RangefeedEnabled.Override(ctx, &st.SV, true) - testProvider := newTestProvider(timeutil.DefaultTimeSource{}) + testProvider := newTestProvider() _, tenantDB := serverutils.StartTenant(t, hostServer, base.TestTenantArgs{ TenantID: serverutils.TestTenantID(), @@ -1449,7 +1254,7 @@ func TestConsumptionExternalStorage(t *testing.T) { tenantcostclient.TargetPeriodSetting.Override(context.Background(), &st.SV, time.Millisecond*20) tenantcostclient.CPUUsageAllowance.Override(context.Background(), &st.SV, 0) - testProvider := newTestProvider(timeutil.DefaultTimeSource{}) + testProvider := newTestProvider() _, tenantDB := serverutils.StartTenant(t, hostServer, base.TestTenantArgs{ TenantID: serverutils.TestTenantID(), Settings: st, @@ -1543,7 +1348,7 @@ func BenchmarkExternalIOAccounting(b *testing.B) { defer leaktest.AfterTest(b)() defer log.Scope(b).Close(b) - hostServer := serverutils.StartServerOnly(b, + hostServer, hostSQL, _ := serverutils.StartServer(b, base.TestServerArgs{ DefaultTestTenant: base.TestControlsTenantsExplicitly, }) @@ -1560,6 +1365,11 @@ func BenchmarkExternalIOAccounting(b *testing.B) { nullsink.NullRequiresExternalIOAccounting = true + setRUAccountingMode := func(b *testing.B, mode string) { + _, err := hostSQL.Exec(fmt.Sprintf("SET CLUSTER SETTING tenant_cost_control.external_io.ru_accounting_mode = '%s'", mode)) + require.NoError(b, err) + } + concurrently := func(b *testing.B, ctx context.Context, concurrency int, op func(context.Context) error) { g := ctxgroup.WithContext(ctx) for i := 0; i < concurrency; i++ { @@ -1645,21 +1455,25 @@ func BenchmarkExternalIOAccounting(b *testing.B) { } }) b.Run(fmt.Sprintf("op=%s/with-interceptor", op), func(b *testing.B) { - limits := []int{1024, 16384, 16777216} - for _, limit := range limits { - for _, c := range concurrencyCounts { - testName := fmt.Sprintf("limit=%d/concurrency=%d", limit, c) - b.Run(testName, func(b *testing.B) { - interceptor := multitenantio.NewReadWriteAccounter(tenantS.DistSQLServer().(*distsql.ServerImpl).ExternalIORecorder, int64(limit)) - testOp, cleanup := funcForOp(b, op, interceptor) - defer func() { _ = cleanup() }() - - b.ResetTimer() - b.SetBytes(int64(dataSize)) - for n := 0; n < b.N; n++ { - concurrently(b, context.Background(), c, testOp) - } - }) + for _, ruAccountingMode := range []string{"on", "off", "nowait"} { + limits := []int{1024, 16384, 16777216} + for _, limit := range limits { + for _, c := range concurrencyCounts { + testName := fmt.Sprintf("ru-accounting=%s/limit=%d/concurrency=%d", + ruAccountingMode, limit, c) + b.Run(testName, func(b *testing.B) { + setRUAccountingMode(b, ruAccountingMode) + interceptor := multitenantio.NewReadWriteAccounter(tenantS.DistSQLServer().(*distsql.ServerImpl).ExternalIORecorder, int64(limit)) + testOp, cleanup := funcForOp(b, op, interceptor) + defer func() { _ = cleanup() }() + + b.ResetTimer() + b.SetBytes(int64(dataSize)) + for n := 0; n < b.N; n++ { + concurrently(b, context.Background(), c, testOp) + } + }) + } } } }) @@ -1687,10 +1501,10 @@ func TestRUSettingsChanged(t *testing.T) { defer tenant1.AppStopper().Stop(ctx) defer tenantDB1.Close() - costClient, err := tenantcostclient.NewTenantSideCostController(tenant1.ClusterSettings(), tenantID, nil, nil, roachpb.Locality{}) + costClient, err := tenantcostclient.NewTenantSideCostController(tenant1.ClusterSettings(), tenantID, nil) require.NoError(t, err) - initialModel := costClient.GetRequestUnitModel() + initialModel := costClient.GetCostConfig() // Increase the RU cost of everything by 100x settings := []*settings.FloatSetting{ @@ -1710,11 +1524,11 @@ func TestRUSettingsChanged(t *testing.T) { } // Check to make sure the cost of the query increased. Use SucceedsSoon - // because the settings propagation is async. + // because the settings propogation is async. testutils.SucceedsSoon(t, func() error { - currentModel := costClient.GetRequestUnitModel() + currentModel := costClient.GetCostConfig() - expect100x := func(name string, getter func(model *tenantcostmodel.RequestUnitModel) tenantcostmodel.RU) error { + expect100x := func(name string, getter func(model *tenantcostmodel.Config) tenantcostmodel.RU) error { before := getter(initialModel) after := getter(currentModel) expect := before * 100 @@ -1724,70 +1538,70 @@ func TestRUSettingsChanged(t *testing.T) { return nil } - err = expect100x("KVReadBatch", func(m *tenantcostmodel.RequestUnitModel) tenantcostmodel.RU { + err = expect100x("KVReadBatch", func(m *tenantcostmodel.Config) tenantcostmodel.RU { return m.KVReadBatch }) if err != nil { return err } - err = expect100x("KVReadRequest", func(m *tenantcostmodel.RequestUnitModel) tenantcostmodel.RU { + err = expect100x("KVReadRequest", func(m *tenantcostmodel.Config) tenantcostmodel.RU { return m.KVReadRequest }) if err != nil { return err } - err = expect100x("KVReadByte", func(m *tenantcostmodel.RequestUnitModel) tenantcostmodel.RU { + err = expect100x("KVReadByte", func(m *tenantcostmodel.Config) tenantcostmodel.RU { return m.KVReadByte }) if err != nil { return err } - err = expect100x("KVWriteBatch", func(m *tenantcostmodel.RequestUnitModel) tenantcostmodel.RU { + err = expect100x("KVWriteBatch", func(m *tenantcostmodel.Config) tenantcostmodel.RU { return m.KVWriteBatch }) if err != nil { return err } - err = expect100x("KVWriteRequest", func(m *tenantcostmodel.RequestUnitModel) tenantcostmodel.RU { + err = expect100x("KVWriteRequest", func(m *tenantcostmodel.Config) tenantcostmodel.RU { return m.KVWriteRequest }) if err != nil { return err } - err = expect100x("KVWriteByte", func(m *tenantcostmodel.RequestUnitModel) tenantcostmodel.RU { + err = expect100x("KVWriteByte", func(m *tenantcostmodel.Config) tenantcostmodel.RU { return m.KVWriteByte }) if err != nil { return err } - err = expect100x("PodCPUSecond", func(m *tenantcostmodel.RequestUnitModel) tenantcostmodel.RU { + err = expect100x("PodCPUSecond", func(m *tenantcostmodel.Config) tenantcostmodel.RU { return m.PodCPUSecond }) if err != nil { return err } - err = expect100x("PGWireEgressByte", func(m *tenantcostmodel.RequestUnitModel) tenantcostmodel.RU { + err = expect100x("PGWireEgressByte", func(m *tenantcostmodel.Config) tenantcostmodel.RU { return m.PGWireEgressByte }) if err != nil { return err } - err = expect100x("ExternalIOEgressByte", func(m *tenantcostmodel.RequestUnitModel) tenantcostmodel.RU { + err = expect100x("ExternalIOEgressByte", func(m *tenantcostmodel.Config) tenantcostmodel.RU { return m.ExternalIOEgressByte }) if err != nil { return err } - err = expect100x("ExternalIOIngressByte", func(m *tenantcostmodel.RequestUnitModel) tenantcostmodel.RU { + err = expect100x("ExternalIOIngressByte", func(m *tenantcostmodel.Config) tenantcostmodel.RU { return m.ExternalIOIngressByte }) if err != nil { @@ -1797,74 +1611,3 @@ func TestRUSettingsChanged(t *testing.T) { return nil }) } - -func TestCPUModelSettingsChanged(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - - params := base.TestServerArgs{ - DefaultTestTenant: base.TestControlsTenantsExplicitly, - } - - s, mainDB, _ := serverutils.StartServer(t, params) - defer s.Stopper().Stop(ctx) - sysDB := sqlutils.MakeSQLRunner(mainDB) - - tenantID := serverutils.TestTenantID() - tenant1, tenantDB1 := serverutils.StartTenant(t, s, base.TestTenantArgs{ - TenantID: tenantID, - }) - defer tenant1.AppStopper().Stop(ctx) - defer tenantDB1.Close() - - costClient, err := tenantcostclient.NewTenantSideCostController( - tenant1.ClusterSettings(), tenantID, nil, nil, roachpb.Locality{}) - require.NoError(t, err) - - newModel := ` - { - "ReadBatchCost": 1, - "ReadRequestCost": { - "BatchSize": [1, 2, 3], - "CPUPerRequest": [0.1, 0.2, 0.3] - }, - "ReadBytesCost": { - "PayloadSize": [1, 2, 3], - "CPUPerByte": [0.5, 1, 1.5] - }, - "WriteBatchCost": { - "RatePerNode": [100, 200, 300], - "CPUPerBatch": [500, 600, 700] - }, - "WriteRequestCost": { - "BatchSize": [1, 2, 3], - "CPUPerRequest": [0.1, 0.2, 0.3] - }, - "WriteBytesCost": { - "PayloadSize": [1000, 2000, 3000], - "CPUPerByte": [0.2, 0.3, 0.4] - } - }` - - // Get existing model, then update it to the new model. - initialModel := costClient.GetEstimatedCPUModel() - - sysDB.Exec(t, "ALTER TENANT ALL SET CLUSTER SETTING tenant_cost_model.estimated_cpu = $1", newModel) - - // Check to make sure the cost of the query increased. Use SucceedsSoon - // because the settings propagation is async. - testutils.SucceedsSoon(t, func() error { - currentModel := costClient.GetEstimatedCPUModel() - if currentModel.ReadBatchCost != 1 { - return errors.Newf("expected ReadBatchCost to be %f found %f", - initialModel.ReadBatchCost, currentModel.ReadBatchCost) - } - if len(currentModel.WriteBatchCost.RatePerNode) != 3 { - return errors.Newf("expected WriteBatchCost to be %f found %f", - initialModel.WriteBatchCost, currentModel.WriteBatchCost) - } - return nil - }) -} diff --git a/pkg/ccl/multitenantccl/tenantcostclient/tenant_side_unit_test.go b/pkg/ccl/multitenantccl/tenantcostclient/tenant_side_unit_test.go deleted file mode 100644 index 58fdbd537a9b..000000000000 --- a/pkg/ccl/multitenantccl/tenantcostclient/tenant_side_unit_test.go +++ /dev/null @@ -1,416 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package tenantcostclient - -import ( - "context" - "fmt" - "math/rand" - "testing" - "time" - - "github.com/cockroachdb/cockroach/pkg/multitenant/tenantcostmodel" - "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/settings/cluster" - "github.com/cockroachdb/cockroach/pkg/util" - "github.com/cockroachdb/cockroach/pkg/util/leaktest" - "github.com/cockroachdb/cockroach/pkg/util/stop" - "github.com/cockroachdb/cockroach/pkg/util/timeutil" - "github.com/cockroachdb/errors" - "github.com/stretchr/testify/require" -) - -// This package contains unit tests that need access to un-exported functions. - -func TestCalculateBackgroundCPUSecs(t *testing.T) { - defer leaktest.AfterTest(t)() - - testCases := []struct { - name string - globalCPURate float64 - deltaTime time.Duration - localCPUSecs float64 - expected float64 - }{ - { - name: "global consumption is zero", - globalCPURate: 0, - deltaTime: time.Second, - localCPUSecs: 2, - expected: 0.2, - }, - { - name: "local is small fraction of global consumption", - globalCPURate: 12, - deltaTime: time.Second, - localCPUSecs: 2, - expected: 0.1, - }, - { - name: "local consumption is greater than amortization limit", - globalCPURate: 8, - deltaTime: time.Second, - localCPUSecs: 8, - expected: 0.6, - }, - { - name: "local consumption is greater than amortization limit but less than global", - globalCPURate: 12, - deltaTime: time.Second, - localCPUSecs: 8, - expected: 0.4, - }, - { - name: "time delta is > 1, less than amortization limit", - globalCPURate: 2, - deltaTime: 2 * time.Second, - localCPUSecs: 8, - expected: 0.8, - }, - { - name: "time delta is > 1, equal to amortization limit", - globalCPURate: 6, - deltaTime: 2 * time.Second, - localCPUSecs: 12, - expected: 1.2, - }, - } - - cpuModel := tenantcostmodel.EstimatedCPUModel{ - BackgroundCPU: struct { - Amount tenantcostmodel.EstimatedCPU - Amortization float64 - }{ - Amount: 0.6, - Amortization: 6, - }, - } - - for _, tc := range testCases { - t.Run(tc.name, func(t *testing.T) { - actual := calculateBackgroundCPUSecs( - &cpuModel, tc.globalCPURate, tc.deltaTime, tc.localCPUSecs) - require.InEpsilon(t, tc.expected, actual, 0.00000001) - }) - } -} - -func TestComputeNetworkCost(t *testing.T) { - defer leaktest.AfterTest(t)() - ctx := context.Background() - stopper := stop.NewStopper() - defer stopper.Stop(ctx) - - st := cluster.MakeTestingClusterSettings() - - // Set regional cost multiplier table. - // | us-east1 | eu-central1 | asia-southeast1 - // ----------------------------------------------------------- - // us-east1 | 0 | 1 | 1.5 - // eu-central1 | 2 | 0 | 2.5 - // asia-southeast1 | 3 | 3.5 | 0 - costTable := `{"regionPairs": [ - {"fromRegion": "us-east1", "toRegion": "eu-central1", "cost": 1}, - {"fromRegion": "us-east1", "toRegion": "asia-southeast1", "cost": 1.5}, - {"fromRegion": "eu-central1", "toRegion": "us-east1", "cost": 2}, - {"fromRegion": "eu-central1", "toRegion": "asia-southeast1", "cost": 2.5}, - {"fromRegion": "asia-southeast1", "toRegion": "us-east1", "cost": 3}, - {"fromRegion": "asia-southeast1", "toRegion": "eu-central1", "cost": 3.5} - ]}` - require.NoError(t, tenantcostmodel.CrossRegionNetworkCostSetting.Validate(nil, costTable)) - tenantcostmodel.CrossRegionNetworkCostSetting.Override(ctx, &st.SV, costTable) - - newRangeDescriptor := func(numReplicas int) *roachpb.RangeDescriptor { - desc := &roachpb.RangeDescriptor{ - InternalReplicas: make([]roachpb.ReplicaDescriptor, numReplicas), - } - // ReplicaIDs are always NodeIDs + 1 for this test. - for i := 1; i <= numReplicas; i++ { - desc.InternalReplicas[i-1].NodeID = roachpb.NodeID(i) - desc.InternalReplicas[i-1].ReplicaID = roachpb.ReplicaID(i + 1) - } - return desc - } - - makeLocality := func(region string) roachpb.Locality { - return roachpb.Locality{ - Tiers: []roachpb.Tier{ - {Key: "az", Value: fmt.Sprintf("az%d", rand.Intn(10))}, - {Key: "region", Value: region}, - {Key: "dc", Value: fmt.Sprintf("dc%d", rand.Intn(10))}, - }, - } - } - - makeNodeDescriptor := func(nodeID int, region string) roachpb.NodeDescriptor { - return roachpb.NodeDescriptor{ - NodeID: roachpb.NodeID(nodeID), - Address: util.UnresolvedAddr{}, - Locality: makeLocality(region), - } - } - - for _, tc := range []struct { - name string - locality roachpb.Locality - nodes []roachpb.NodeDescriptor - targetRange *roachpb.RangeDescriptor - targetReplica *roachpb.ReplicaDescriptor - expectedRead tenantcostmodel.NetworkCost - expectedWrite tenantcostmodel.NetworkCost - }{ - { - name: "no locality in current node", - targetRange: newRangeDescriptor(1), - expectedRead: 0, - expectedWrite: 0, - }, - { - name: "node descriptors have no locality", - nodes: []roachpb.NodeDescriptor{ - {NodeID: 1, Address: util.UnresolvedAddr{}}, - {NodeID: 2, Address: util.UnresolvedAddr{}}, - {NodeID: 3, Address: util.UnresolvedAddr{}}, - }, - locality: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "eu-central1"}, - {Key: "az", Value: "az2"}, - {Key: "dc", Value: "dc3"}, - }}, - targetRange: newRangeDescriptor(2), - // Points to descriptor with NodeID 2. - targetReplica: &roachpb.ReplicaDescriptor{NodeID: 2, ReplicaID: 3}, - expectedRead: 0, - expectedWrite: 0, - }, - { - name: "node descriptors not in gossip", - nodes: []roachpb.NodeDescriptor{ - makeNodeDescriptor(1, "us-east1"), // 2.0 - makeNodeDescriptor(2, "eu-central1"), // 0 - makeNodeDescriptor(3, "asia-southeast1"), // 2.5 - }, - locality: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "eu-central1"}, - {Key: "az", Value: "az2"}, - {Key: "dc", Value: "dc3"}, - }}, - targetRange: newRangeDescriptor(6), - targetReplica: &roachpb.ReplicaDescriptor{NodeID: 6, ReplicaID: 7}, - expectedRead: 0, - expectedWrite: 2.0 + 2.5, - }, - { - name: "all node descriptors in gossip", - nodes: []roachpb.NodeDescriptor{ - makeNodeDescriptor(1, "us-east1"), // 3.0 - }, - locality: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "asia-southeast1"}, - }}, - targetRange: newRangeDescriptor(1), - // Points to descriptor with NodeID 1. - targetReplica: &roachpb.ReplicaDescriptor{NodeID: 1, ReplicaID: 2}, - expectedRead: 1.5, - expectedWrite: 3.0, - }, - { - name: "local operations on global table", - nodes: []roachpb.NodeDescriptor{ - makeNodeDescriptor(1, "us-east1"), // 0 * 3 - makeNodeDescriptor(2, "eu-central1"), // 1.0 - makeNodeDescriptor(3, "asia-southeast1"), // 1.5 - }, - locality: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "us-east1"}, - }}, - targetRange: func() *roachpb.RangeDescriptor { - rd := newRangeDescriptor(5) - // Remap 4 and 5 to us-east1. - rd.InternalReplicas[3].NodeID = 1 - rd.InternalReplicas[4].NodeID = 1 - return rd - }(), - // Points to descriptor with NodeID 1. - targetReplica: &roachpb.ReplicaDescriptor{ReplicaID: 2}, - expectedRead: 0, - expectedWrite: 1.0 + 1.5, - }, - { - name: "remote operations on global table", - nodes: []roachpb.NodeDescriptor{ - makeNodeDescriptor(1, "us-east1"), // 3.0 - makeNodeDescriptor(2, "eu-central1"), // 3.5 - makeNodeDescriptor(3, "asia-southeast1"), // 0 - }, - locality: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "asia-southeast1"}, - }}, - targetRange: func() *roachpb.RangeDescriptor { - rd := newRangeDescriptor(5) - // Remap 4 and 5 to us-east1. - rd.InternalReplicas[3].NodeID = 1 - rd.InternalReplicas[4].NodeID = 1 - return rd - }(), - targetReplica: &roachpb.ReplicaDescriptor{NodeID: 1, ReplicaID: 2}, - expectedRead: 1.5, - expectedWrite: 3.0*3 + 3.5, - }, - } { - for _, isWrite := range []bool{true, false} { - t.Run(fmt.Sprintf("isWrite=%t/%s", isWrite, tc.name), func(t *testing.T) { - nodeDescs := &TestNodeDescStore{tc.nodes} - controller, err := newTenantSideCostController( - st, roachpb.MustMakeTenantID(10), nil /* provider */, nodeDescs, - tc.locality, timeutil.DefaultTimeSource{}, nil /* testInstr */) - require.NoError(t, err) - res := controller.computeNetworkCost(ctx, tc.targetRange, tc.targetReplica, isWrite) - if isWrite { - require.InDelta(t, float64(tc.expectedWrite), float64(res), 0.01) - } else { - require.InDelta(t, float64(tc.expectedRead), float64(res), 0.01) - } - }) - } - } -} - -func TestUpdateEstimatedWriteReplicationBytes(t *testing.T) { - defer leaktest.AfterTest(t)() - ctx := context.Background() - stopper := stop.NewStopper() - defer stopper.Stop(ctx) - - newRangeDescriptor := func(numReplicas int) *roachpb.RangeDescriptor { - desc := &roachpb.RangeDescriptor{ - InternalReplicas: make([]roachpb.ReplicaDescriptor, numReplicas), - } - // ReplicaIDs are always NodeIDs + 1 for this test. - for i := 1; i <= numReplicas; i++ { - desc.InternalReplicas[i-1].NodeID = roachpb.NodeID(i) - desc.InternalReplicas[i-1].ReplicaID = roachpb.ReplicaID(i + 1) - } - return desc - } - - makeLocality := func(region string) roachpb.Locality { - return roachpb.Locality{Tiers: []roachpb.Tier{{Key: "region", Value: region}}} - } - - makeNodeDescriptor := func(nodeID int, region string) roachpb.NodeDescriptor { - return roachpb.NodeDescriptor{ - NodeID: roachpb.NodeID(nodeID), - Address: util.UnresolvedAddr{}, - Locality: makeLocality(region), - } - } - - for _, tc := range []struct { - name string - locality roachpb.Locality - nodes []roachpb.NodeDescriptor - targetRange *roachpb.RangeDescriptor - targetReplica *roachpb.ReplicaDescriptor - expected int64 - }{ - { - name: "missing node descriptor for leaseholder", - nodes: []roachpb.NodeDescriptor{ - makeNodeDescriptor(2, "eu-central1"), - makeNodeDescriptor(3, "asia-southeast1"), - }, - locality: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "asia-southeast1"}, - }}, - targetRange: func() *roachpb.RangeDescriptor { - return newRangeDescriptor(5) - }(), - targetReplica: &roachpb.ReplicaDescriptor{NodeID: 1, ReplicaID: 2}, - expected: 0, - }, - { - name: "missing some node descriptors", - nodes: []roachpb.NodeDescriptor{ - makeNodeDescriptor(1, "us-east1"), - makeNodeDescriptor(3, "eu-central1"), - makeNodeDescriptor(5, "asia-southeast1"), - makeNodeDescriptor(7, "us-central1"), - }, - locality: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "asia-southeast1"}, - }}, - targetRange: func() *roachpb.RangeDescriptor { - return newRangeDescriptor(8) - }(), - targetReplica: &roachpb.ReplicaDescriptor{NodeID: 3, ReplicaID: 4}, - expected: 300, - }, - { - name: "write for range with 5 replicas", - nodes: []roachpb.NodeDescriptor{ - makeNodeDescriptor(1, "us-east1"), - makeNodeDescriptor(2, "eu-central1"), - makeNodeDescriptor(3, "asia-southeast1"), - }, - locality: roachpb.Locality{Tiers: []roachpb.Tier{ - {Key: "region", Value: "asia-southeast1"}, - }}, - targetRange: func() *roachpb.RangeDescriptor { - rd := newRangeDescriptor(5) - rd.InternalReplicas[3].NodeID = 1 - rd.InternalReplicas[3].ReplicaID = 2 - rd.InternalReplicas[4].NodeID = 2 - rd.InternalReplicas[4].ReplicaID = 3 - return rd - }(), - targetReplica: &roachpb.ReplicaDescriptor{NodeID: 1, ReplicaID: 2}, - expected: 300, - }, - } { - t.Run(tc.name, func(t *testing.T) { - nodeDescs := &TestNodeDescStore{tc.nodes} - controller, err := newTenantSideCostController( - cluster.MakeTestingClusterSettings(), roachpb.MustMakeTenantID(10), - nil /* provider */, nodeDescs, tc.locality, timeutil.DefaultTimeSource{}, - nil /* testInstr */) - require.NoError(t, err) - before := controller.metrics.EstimatedReplicationBytes.Count() - controller.UpdateEstimatedWriteReplicationBytes(ctx, tc.targetRange, tc.targetReplica, 100) - after := controller.metrics.EstimatedReplicationBytes.Count() - require.Equal(t, tc.expected, after-before) - }) - } -} - -type TestNodeDescStore struct { - NodeDescs []roachpb.NodeDescriptor -} - -// Implements the kvclient.NodeDescStore interface. -func (st *TestNodeDescStore) GetNodeDescriptor( - nodeID roachpb.NodeID, -) (*roachpb.NodeDescriptor, error) { - for i := range st.NodeDescs { - if st.NodeDescs[i].NodeID == nodeID { - return &st.NodeDescs[i], nil - } - } - return nil, errors.Newf("could not find nodeID %d", nodeID) -} - -// Implements the kvclient.NodeDescStore interface. -func (st *TestNodeDescStore) GetNodeDescriptorCount() int { - return len(st.NodeDescs) -} - -// Implements the kvclient.NodeDescStore interface. -func (*TestNodeDescStore) GetStoreDescriptor(roachpb.StoreID) (*roachpb.StoreDescriptor, error) { - return nil, errors.New("Not implemented") -} diff --git a/pkg/ccl/multitenantccl/tenantcostclient/test_utils.go b/pkg/ccl/multitenantccl/tenantcostclient/test_utils.go index fd8e983772b3..f341a01ee043 100644 --- a/pkg/ccl/multitenantccl/tenantcostclient/test_utils.go +++ b/pkg/ccl/multitenantccl/tenantcostclient/test_utils.go @@ -28,9 +28,9 @@ const ( // tick. TickProcessed - // LowTokensNotification indicates that the main loop handled a "low RU" + // LowRUNotification indicates that the main loop handled a "low RU" // notification from the token bucket. - LowTokensNotification + LowRUNotification // TokenBucketResponseProcessed indicates that we have processed a // (successful) request to the global token bucket. diff --git a/pkg/ccl/multitenantccl/tenantcostclient/testdata/consumption b/pkg/ccl/multitenantccl/tenantcostclient/testdata/consumption index 911afe549e8b..4cf37e73c89c 100644 --- a/pkg/ccl/multitenantccl/tenantcostclient/testdata/consumption +++ b/pkg/ccl/multitenantccl/tenantcostclient/testdata/consumption @@ -26,10 +26,6 @@ tenant.sql_usage.pgwire_egress_bytes: 0 tenant.sql_usage.external_io_ingress_bytes: 0 tenant.sql_usage.external_io_egress_bytes: 0 tenant.sql_usage.cross_region_network_ru: 0.00 -tenant.sql_usage.estimated_kv_cpu_seconds: 0.00 -tenant.sql_usage.estimated_cpu_seconds: 0.00 -tenant.sql_usage.estimated_replication_bytes: 0 -tenant.sql_usage.provisioned_vcpus: 0 # With no usage, consumption gets reported only every 40s. Advance by 30s here # since we're at the 10s mark. @@ -44,16 +40,15 @@ token-bucket-response usage ---- -RU: 0.00 -KVRU: 0.00 -CrossRegionNetworkRU: 0.00 -Reads: 0 requests in 0 batches (0 bytes) -Writes: 0 requests in 0 batches (0 bytes) -SQL Pods CPU seconds: 0.00 -PGWire egress: 0 bytes +RU: 0.00 +KVRU: 0.00 +CrossRegionNetworkRU: 0.00 +Reads: 0 requests in 0 batches (0 bytes) +Writes: 0 requests in 0 batches (0 bytes) +SQL Pods CPU seconds: 0.00 +PGWire egress: 0 bytes ExternalIO egress: 0 bytes ExternalIO ingress: 0 bytes -Estimated CPU seconds: 0.00 # Do a small read that uses less than 100 RUs. Consumption should only be # reported after 40s. @@ -85,23 +80,18 @@ tenant.sql_usage.pgwire_egress_bytes: 0 tenant.sql_usage.external_io_ingress_bytes: 0 tenant.sql_usage.external_io_egress_bytes: 0 tenant.sql_usage.cross_region_network_ru: 0.00 -tenant.sql_usage.estimated_kv_cpu_seconds: 0.00 -tenant.sql_usage.estimated_cpu_seconds: 0.00 -tenant.sql_usage.estimated_replication_bytes: 0 -tenant.sql_usage.provisioned_vcpus: 0 usage ---- -RU: 0.00 -KVRU: 0.00 -CrossRegionNetworkRU: 0.00 -Reads: 0 requests in 0 batches (0 bytes) -Writes: 0 requests in 0 batches (0 bytes) -SQL Pods CPU seconds: 0.00 -PGWire egress: 0 bytes +RU: 0.00 +KVRU: 0.00 +CrossRegionNetworkRU: 0.00 +Reads: 0 requests in 0 batches (0 bytes) +Writes: 0 requests in 0 batches (0 bytes) +SQL Pods CPU seconds: 0.00 +PGWire egress: 0 bytes ExternalIO egress: 0 bytes ExternalIO ingress: 0 bytes -Estimated CPU seconds: 0.00 advance 30s @@ -114,16 +104,15 @@ token-bucket-response usage ---- -RU: 16.62 -KVRU: 16.62 -CrossRegionNetworkRU: 0.00 -Reads: 1 requests in 1 batches (1048576 bytes) -Writes: 0 requests in 0 batches (0 bytes) -SQL Pods CPU seconds: 0.00 -PGWire egress: 0 bytes +RU: 16.62 +KVRU: 16.62 +CrossRegionNetworkRU: 0.00 +Reads: 1 requests in 1 batches (1048576 bytes) +Writes: 0 requests in 0 batches (0 bytes) +SQL Pods CPU seconds: 0.00 +PGWire egress: 0 bytes ExternalIO egress: 0 bytes ExternalIO ingress: 0 bytes -Estimated CPU seconds: 0.00 # Metrics remain after we report consumption since there's no diff. metrics @@ -141,10 +130,6 @@ tenant.sql_usage.pgwire_egress_bytes: 0 tenant.sql_usage.external_io_ingress_bytes: 0 tenant.sql_usage.external_io_egress_bytes: 0 tenant.sql_usage.cross_region_network_ru: 0.00 -tenant.sql_usage.estimated_kv_cpu_seconds: 0.00 -tenant.sql_usage.estimated_cpu_seconds: 0.00 -tenant.sql_usage.estimated_replication_bytes: 0 -tenant.sql_usage.provisioned_vcpus: 0 # Test write operation consumption. write bytes=1024 @@ -161,37 +146,32 @@ token-bucket-response usage ---- -RU: 19.63 -KVRU: 19.63 -CrossRegionNetworkRU: 0.00 -Reads: 1 requests in 1 batches (1048576 bytes) -Writes: 1 requests in 1 batches (1029 bytes) -SQL Pods CPU seconds: 0.00 -PGWire egress: 0 bytes +RU: 19.62 +KVRU: 19.62 +CrossRegionNetworkRU: 0.00 +Reads: 1 requests in 1 batches (1048576 bytes) +Writes: 1 requests in 1 batches (1024 bytes) +SQL Pods CPU seconds: 0.00 +PGWire egress: 0 bytes ExternalIO egress: 0 bytes ExternalIO ingress: 0 bytes -Estimated CPU seconds: 0.00 # Metrics now include write operation consumption. metrics ---- -tenant.sql_usage.request_units: 19.63 -tenant.sql_usage.kv_request_units: 19.63 +tenant.sql_usage.request_units: 19.62 +tenant.sql_usage.kv_request_units: 19.62 tenant.sql_usage.read_batches: 1 tenant.sql_usage.read_requests: 1 tenant.sql_usage.read_bytes: 1048576 tenant.sql_usage.write_batches: 1 tenant.sql_usage.write_requests: 1 -tenant.sql_usage.write_bytes: 1029 +tenant.sql_usage.write_bytes: 1024 tenant.sql_usage.sql_pods_cpu_seconds: 0.00 tenant.sql_usage.pgwire_egress_bytes: 0 tenant.sql_usage.external_io_ingress_bytes: 0 tenant.sql_usage.external_io_egress_bytes: 0 tenant.sql_usage.cross_region_network_ru: 0.00 -tenant.sql_usage.estimated_kv_cpu_seconds: 0.00 -tenant.sql_usage.estimated_cpu_seconds: 0.00 -tenant.sql_usage.estimated_replication_bytes: 0 -tenant.sql_usage.provisioned_vcpus: 0 # Test CPU consumption. advance wait=true @@ -217,37 +197,32 @@ token-bucket-response # 2. 10 seconds have elapsed since CPU was recorded (333.33 RUs). usage ---- -RU: 319.63 -KVRU: 19.63 -CrossRegionNetworkRU: 0.00 -Reads: 1 requests in 1 batches (1048576 bytes) -Writes: 1 requests in 1 batches (1029 bytes) -SQL Pods CPU seconds: 0.90 -PGWire egress: 0 bytes +RU: 319.62 +KVRU: 19.62 +CrossRegionNetworkRU: 0.00 +Reads: 1 requests in 1 batches (1048576 bytes) +Writes: 1 requests in 1 batches (1024 bytes) +SQL Pods CPU seconds: 0.90 +PGWire egress: 0 bytes ExternalIO egress: 0 bytes ExternalIO ingress: 0 bytes -Estimated CPU seconds: 0.00 # Metrics with CPU usage. metrics ---- -tenant.sql_usage.request_units: 319.63 -tenant.sql_usage.kv_request_units: 19.63 +tenant.sql_usage.request_units: 319.62 +tenant.sql_usage.kv_request_units: 19.62 tenant.sql_usage.read_batches: 1 tenant.sql_usage.read_requests: 1 tenant.sql_usage.read_bytes: 1048576 tenant.sql_usage.write_batches: 1 tenant.sql_usage.write_requests: 1 -tenant.sql_usage.write_bytes: 1029 +tenant.sql_usage.write_bytes: 1024 tenant.sql_usage.sql_pods_cpu_seconds: 0.90 tenant.sql_usage.pgwire_egress_bytes: 0 tenant.sql_usage.external_io_ingress_bytes: 0 tenant.sql_usage.external_io_egress_bytes: 0 tenant.sql_usage.cross_region_network_ru: 0.00 -tenant.sql_usage.estimated_kv_cpu_seconds: 0.00 -tenant.sql_usage.estimated_cpu_seconds: 0.00 -tenant.sql_usage.estimated_replication_bytes: 0 -tenant.sql_usage.provisioned_vcpus: 0 # Test multiple operations together. write bytes=4096 @@ -270,23 +245,19 @@ tick metrics ---- -tenant.sql_usage.request_units: 333.26 -tenant.sql_usage.kv_request_units: 33.26 +tenant.sql_usage.request_units: 333.25 +tenant.sql_usage.kv_request_units: 33.25 tenant.sql_usage.read_batches: 2 tenant.sql_usage.read_requests: 2 tenant.sql_usage.read_bytes: 1114112 tenant.sql_usage.write_batches: 3 tenant.sql_usage.write_requests: 3 -tenant.sql_usage.write_bytes: 9231 +tenant.sql_usage.write_bytes: 9216 tenant.sql_usage.sql_pods_cpu_seconds: 0.90 tenant.sql_usage.pgwire_egress_bytes: 0 tenant.sql_usage.external_io_ingress_bytes: 0 tenant.sql_usage.external_io_egress_bytes: 0 tenant.sql_usage.cross_region_network_ru: 0.00 -tenant.sql_usage.estimated_kv_cpu_seconds: 0.00 -tenant.sql_usage.estimated_cpu_seconds: 0.00 -tenant.sql_usage.estimated_replication_bytes: 0 -tenant.sql_usage.provisioned_vcpus: 0 advance 30s @@ -299,36 +270,31 @@ token-bucket-response usage ---- -RU: 333.26 -KVRU: 33.26 -CrossRegionNetworkRU: 0.00 -Reads: 2 requests in 2 batches (1114112 bytes) -Writes: 3 requests in 3 batches (9231 bytes) -SQL Pods CPU seconds: 0.90 -PGWire egress: 0 bytes +RU: 333.25 +KVRU: 33.25 +CrossRegionNetworkRU: 0.00 +Reads: 2 requests in 2 batches (1114112 bytes) +Writes: 3 requests in 3 batches (9216 bytes) +SQL Pods CPU seconds: 0.90 +PGWire egress: 0 bytes ExternalIO egress: 0 bytes ExternalIO ingress: 0 bytes -Estimated CPU seconds: 0.00 metrics ---- -tenant.sql_usage.request_units: 333.26 -tenant.sql_usage.kv_request_units: 33.26 +tenant.sql_usage.request_units: 333.25 +tenant.sql_usage.kv_request_units: 33.25 tenant.sql_usage.read_batches: 2 tenant.sql_usage.read_requests: 2 tenant.sql_usage.read_bytes: 1114112 tenant.sql_usage.write_batches: 3 tenant.sql_usage.write_requests: 3 -tenant.sql_usage.write_bytes: 9231 +tenant.sql_usage.write_bytes: 9216 tenant.sql_usage.sql_pods_cpu_seconds: 0.90 tenant.sql_usage.pgwire_egress_bytes: 0 tenant.sql_usage.external_io_ingress_bytes: 0 tenant.sql_usage.external_io_egress_bytes: 0 tenant.sql_usage.cross_region_network_ru: 0.00 -tenant.sql_usage.estimated_kv_cpu_seconds: 0.00 -tenant.sql_usage.estimated_cpu_seconds: 0.00 -tenant.sql_usage.estimated_replication_bytes: 0 -tenant.sql_usage.provisioned_vcpus: 0 # Test larger amount of CPU usage that exceeds 100 RUs. The consumption report # should be sent after only 10s. In addition, the CPU usage should only be @@ -348,36 +314,31 @@ token-bucket-response usage ---- -RU: 1299.93 -KVRU: 33.26 -CrossRegionNetworkRU: 0.00 -Reads: 2 requests in 2 batches (1114112 bytes) -Writes: 3 requests in 3 batches (9231 bytes) -SQL Pods CPU seconds: 3.80 -PGWire egress: 0 bytes +RU: 1299.92 +KVRU: 33.25 +CrossRegionNetworkRU: 0.00 +Reads: 2 requests in 2 batches (1114112 bytes) +Writes: 3 requests in 3 batches (9216 bytes) +SQL Pods CPU seconds: 3.80 +PGWire egress: 0 bytes ExternalIO egress: 0 bytes ExternalIO ingress: 0 bytes -Estimated CPU seconds: 0.00 metrics ---- -tenant.sql_usage.request_units: 1299.93 -tenant.sql_usage.kv_request_units: 33.26 +tenant.sql_usage.request_units: 1299.92 +tenant.sql_usage.kv_request_units: 33.25 tenant.sql_usage.read_batches: 2 tenant.sql_usage.read_requests: 2 tenant.sql_usage.read_bytes: 1114112 tenant.sql_usage.write_batches: 3 tenant.sql_usage.write_requests: 3 -tenant.sql_usage.write_bytes: 9231 +tenant.sql_usage.write_bytes: 9216 tenant.sql_usage.sql_pods_cpu_seconds: 3.80 tenant.sql_usage.pgwire_egress_bytes: 0 tenant.sql_usage.external_io_ingress_bytes: 0 tenant.sql_usage.external_io_egress_bytes: 0 tenant.sql_usage.cross_region_network_ru: 0.00 -tenant.sql_usage.estimated_kv_cpu_seconds: 0.00 -tenant.sql_usage.estimated_cpu_seconds: 0.00 -tenant.sql_usage.estimated_replication_bytes: 0 -tenant.sql_usage.provisioned_vcpus: 0 # Test egress. pgwire-egress @@ -395,36 +356,31 @@ token-bucket-response usage ---- -RU: 1311.99 -KVRU: 33.26 -CrossRegionNetworkRU: 0.00 -Reads: 2 requests in 2 batches (1114112 bytes) -Writes: 3 requests in 3 batches (9231 bytes) -SQL Pods CPU seconds: 3.80 -PGWire egress: 12345 bytes +RU: 1311.97 +KVRU: 33.25 +CrossRegionNetworkRU: 0.00 +Reads: 2 requests in 2 batches (1114112 bytes) +Writes: 3 requests in 3 batches (9216 bytes) +SQL Pods CPU seconds: 3.80 +PGWire egress: 12345 bytes ExternalIO egress: 0 bytes ExternalIO ingress: 0 bytes -Estimated CPU seconds: 0.00 metrics ---- -tenant.sql_usage.request_units: 1311.99 -tenant.sql_usage.kv_request_units: 33.26 +tenant.sql_usage.request_units: 1311.97 +tenant.sql_usage.kv_request_units: 33.25 tenant.sql_usage.read_batches: 2 tenant.sql_usage.read_requests: 2 tenant.sql_usage.read_bytes: 1114112 tenant.sql_usage.write_batches: 3 tenant.sql_usage.write_requests: 3 -tenant.sql_usage.write_bytes: 9231 +tenant.sql_usage.write_bytes: 9216 tenant.sql_usage.sql_pods_cpu_seconds: 3.80 tenant.sql_usage.pgwire_egress_bytes: 12345 tenant.sql_usage.external_io_ingress_bytes: 0 tenant.sql_usage.external_io_egress_bytes: 0 tenant.sql_usage.cross_region_network_ru: 0.00 -tenant.sql_usage.estimated_kv_cpu_seconds: 0.00 -tenant.sql_usage.estimated_cpu_seconds: 0.00 -tenant.sql_usage.estimated_replication_bytes: 0 -tenant.sql_usage.provisioned_vcpus: 0 # Test multiple requests in the same batch. write count=2 bytes=1024 @@ -444,36 +400,31 @@ token-bucket-response usage ---- -RU: 1317.75 -KVRU: 39.02 -CrossRegionNetworkRU: 0.00 -Reads: 4 requests in 3 batches (1179648 bytes) -Writes: 5 requests in 4 batches (10265 bytes) -SQL Pods CPU seconds: 3.80 -PGWire egress: 12345 bytes +RU: 1317.72 +KVRU: 39.00 +CrossRegionNetworkRU: 0.00 +Reads: 4 requests in 3 batches (1179648 bytes) +Writes: 5 requests in 4 batches (10240 bytes) +SQL Pods CPU seconds: 3.80 +PGWire egress: 12345 bytes ExternalIO egress: 0 bytes ExternalIO ingress: 0 bytes -Estimated CPU seconds: 0.00 metrics ---- -tenant.sql_usage.request_units: 1317.75 -tenant.sql_usage.kv_request_units: 39.02 +tenant.sql_usage.request_units: 1317.72 +tenant.sql_usage.kv_request_units: 39.00 tenant.sql_usage.read_batches: 3 tenant.sql_usage.read_requests: 4 tenant.sql_usage.read_bytes: 1179648 tenant.sql_usage.write_batches: 4 tenant.sql_usage.write_requests: 5 -tenant.sql_usage.write_bytes: 10265 +tenant.sql_usage.write_bytes: 10240 tenant.sql_usage.sql_pods_cpu_seconds: 3.80 tenant.sql_usage.pgwire_egress_bytes: 12345 tenant.sql_usage.external_io_ingress_bytes: 0 tenant.sql_usage.external_io_egress_bytes: 0 tenant.sql_usage.cross_region_network_ru: 0.00 -tenant.sql_usage.estimated_kv_cpu_seconds: 0.00 -tenant.sql_usage.estimated_cpu_seconds: 0.00 -tenant.sql_usage.estimated_replication_bytes: 0 -tenant.sql_usage.provisioned_vcpus: 0 # Test a small amount of CPU usage in a tick that has no read/write operations. # Anything under 30ms (3% of one CPU) should be ignored. @@ -504,36 +455,31 @@ token-bucket-response usage ---- -RU: 1317.75 -KVRU: 39.02 -CrossRegionNetworkRU: 0.00 -Reads: 4 requests in 3 batches (1179648 bytes) -Writes: 5 requests in 4 batches (10265 bytes) -SQL Pods CPU seconds: 3.80 -PGWire egress: 12345 bytes +RU: 1317.72 +KVRU: 39.00 +CrossRegionNetworkRU: 0.00 +Reads: 4 requests in 3 batches (1179648 bytes) +Writes: 5 requests in 4 batches (10240 bytes) +SQL Pods CPU seconds: 3.80 +PGWire egress: 12345 bytes ExternalIO egress: 0 bytes ExternalIO ingress: 0 bytes -Estimated CPU seconds: 0.00 metrics ---- -tenant.sql_usage.request_units: 1317.75 -tenant.sql_usage.kv_request_units: 39.02 +tenant.sql_usage.request_units: 1317.72 +tenant.sql_usage.kv_request_units: 39.00 tenant.sql_usage.read_batches: 3 tenant.sql_usage.read_requests: 4 tenant.sql_usage.read_bytes: 1179648 tenant.sql_usage.write_batches: 4 tenant.sql_usage.write_requests: 5 -tenant.sql_usage.write_bytes: 10265 +tenant.sql_usage.write_bytes: 10240 tenant.sql_usage.sql_pods_cpu_seconds: 3.80 tenant.sql_usage.pgwire_egress_bytes: 12345 tenant.sql_usage.external_io_ingress_bytes: 0 tenant.sql_usage.external_io_egress_bytes: 0 tenant.sql_usage.cross_region_network_ru: 0.00 -tenant.sql_usage.estimated_kv_cpu_seconds: 0.00 -tenant.sql_usage.estimated_cpu_seconds: 0.00 -tenant.sql_usage.estimated_replication_bytes: 0 -tenant.sql_usage.provisioned_vcpus: 0 # Now ensure that 30ms meets the threshold and is reported. cpu @@ -557,42 +503,40 @@ token-bucket-response usage ---- -RU: 1324.41 -KVRU: 39.02 -CrossRegionNetworkRU: 0.00 -Reads: 4 requests in 3 batches (1179648 bytes) -Writes: 5 requests in 4 batches (10265 bytes) -SQL Pods CPU seconds: 3.82 -PGWire egress: 12345 bytes +RU: 1324.39 +KVRU: 39.00 +CrossRegionNetworkRU: 0.00 +Reads: 4 requests in 3 batches (1179648 bytes) +Writes: 5 requests in 4 batches (10240 bytes) +SQL Pods CPU seconds: 3.82 +PGWire egress: 12345 bytes ExternalIO egress: 0 bytes ExternalIO ingress: 0 bytes -Estimated CPU seconds: 0.00 metrics ---- -tenant.sql_usage.request_units: 1324.41 -tenant.sql_usage.kv_request_units: 39.02 +tenant.sql_usage.request_units: 1324.39 +tenant.sql_usage.kv_request_units: 39.00 tenant.sql_usage.read_batches: 3 tenant.sql_usage.read_requests: 4 tenant.sql_usage.read_bytes: 1179648 tenant.sql_usage.write_batches: 4 tenant.sql_usage.write_requests: 5 -tenant.sql_usage.write_bytes: 10265 +tenant.sql_usage.write_bytes: 10240 tenant.sql_usage.sql_pods_cpu_seconds: 3.82 tenant.sql_usage.pgwire_egress_bytes: 12345 tenant.sql_usage.external_io_ingress_bytes: 0 tenant.sql_usage.external_io_egress_bytes: 0 tenant.sql_usage.cross_region_network_ru: 0.00 -tenant.sql_usage.estimated_kv_cpu_seconds: 0.00 -tenant.sql_usage.estimated_cpu_seconds: 0.00 -tenant.sql_usage.estimated_replication_bytes: 0 -tenant.sql_usage.provisioned_vcpus: 0 -# Ensure RUs are updated for egress and ingress. -external-egress bytes=1024000 +# Ensure no RU usage is reported, but ingress/egress bytes are reported. +disable-external-ru-accounting ---- -external-ingress bytes=1024000 +external-egress bytes=2000 +---- + +external-ingress bytes=10000 ---- # Wait for usage to be reported. @@ -607,42 +551,43 @@ token-bucket-response usage ---- -RU: 2324.41 -KVRU: 39.02 -CrossRegionNetworkRU: 0.00 -Reads: 4 requests in 3 batches (1179648 bytes) -Writes: 5 requests in 4 batches (10265 bytes) -SQL Pods CPU seconds: 3.82 -PGWire egress: 12345 bytes -ExternalIO egress: 1024000 bytes -ExternalIO ingress: 1024000 bytes -Estimated CPU seconds: 0.00 +RU: 1324.39 +KVRU: 39.00 +CrossRegionNetworkRU: 0.00 +Reads: 4 requests in 3 batches (1179648 bytes) +Writes: 5 requests in 4 batches (10240 bytes) +SQL Pods CPU seconds: 3.82 +PGWire egress: 12345 bytes +ExternalIO egress: 2000 bytes +ExternalIO ingress: 10000 bytes metrics ---- -tenant.sql_usage.request_units: 2324.41 -tenant.sql_usage.kv_request_units: 39.02 +tenant.sql_usage.request_units: 1324.39 +tenant.sql_usage.kv_request_units: 39.00 tenant.sql_usage.read_batches: 3 tenant.sql_usage.read_requests: 4 tenant.sql_usage.read_bytes: 1179648 tenant.sql_usage.write_batches: 4 tenant.sql_usage.write_requests: 5 -tenant.sql_usage.write_bytes: 10265 +tenant.sql_usage.write_bytes: 10240 tenant.sql_usage.sql_pods_cpu_seconds: 3.82 tenant.sql_usage.pgwire_egress_bytes: 12345 -tenant.sql_usage.external_io_ingress_bytes: 1024000 -tenant.sql_usage.external_io_egress_bytes: 1024000 +tenant.sql_usage.external_io_ingress_bytes: 10000 +tenant.sql_usage.external_io_egress_bytes: 2000 tenant.sql_usage.cross_region_network_ru: 0.00 -tenant.sql_usage.estimated_kv_cpu_seconds: 0.00 -tenant.sql_usage.estimated_cpu_seconds: 0.00 -tenant.sql_usage.estimated_replication_bytes: 0 -tenant.sql_usage.provisioned_vcpus: 0 -# Read the same amount of bytes as the first subtest. Should have an increase -# of ~21 RUs compared to the first test. -read bytes=1048576 localities=remote-region +# Enable accounting and ensure RUs are updated. +enable-external-ru-accounting ---- +external-egress bytes=1024000 +---- + +external-ingress bytes=1024000 +---- + +# Wait for usage to be reported. advance 40s ---- @@ -654,40 +599,35 @@ token-bucket-response usage ---- -RU: 2362.01 -KVRU: 55.65 -CrossRegionNetworkRU: 20.97 -Reads: 5 requests in 4 batches (2228224 bytes) -Writes: 5 requests in 4 batches (10265 bytes) -SQL Pods CPU seconds: 3.82 -PGWire egress: 12345 bytes -ExternalIO egress: 1024000 bytes -ExternalIO ingress: 1024000 bytes -Estimated CPU seconds: 0.00 +RU: 2324.39 +KVRU: 39.00 +CrossRegionNetworkRU: 0.00 +Reads: 4 requests in 3 batches (1179648 bytes) +Writes: 5 requests in 4 batches (10240 bytes) +SQL Pods CPU seconds: 3.82 +PGWire egress: 12345 bytes +ExternalIO egress: 1026000 bytes +ExternalIO ingress: 1034000 bytes metrics ---- -tenant.sql_usage.request_units: 2362.01 -tenant.sql_usage.kv_request_units: 55.65 -tenant.sql_usage.read_batches: 4 -tenant.sql_usage.read_requests: 5 -tenant.sql_usage.read_bytes: 2228224 +tenant.sql_usage.request_units: 2324.39 +tenant.sql_usage.kv_request_units: 39.00 +tenant.sql_usage.read_batches: 3 +tenant.sql_usage.read_requests: 4 +tenant.sql_usage.read_bytes: 1179648 tenant.sql_usage.write_batches: 4 tenant.sql_usage.write_requests: 5 -tenant.sql_usage.write_bytes: 10265 +tenant.sql_usage.write_bytes: 10240 tenant.sql_usage.sql_pods_cpu_seconds: 3.82 tenant.sql_usage.pgwire_egress_bytes: 12345 -tenant.sql_usage.external_io_ingress_bytes: 1024000 -tenant.sql_usage.external_io_egress_bytes: 1024000 -tenant.sql_usage.cross_region_network_ru: 20.97 -tenant.sql_usage.estimated_kv_cpu_seconds: 0.00 -tenant.sql_usage.estimated_cpu_seconds: 0.00 -tenant.sql_usage.estimated_replication_bytes: 0 -tenant.sql_usage.provisioned_vcpus: 0 +tenant.sql_usage.external_io_ingress_bytes: 1034000 +tenant.sql_usage.external_io_egress_bytes: 1026000 +tenant.sql_usage.cross_region_network_ru: 0.00 -# This write is expected to consume an extra ~20.5 RUs from network cost usage, -# due to 2 cross-region replicas. -write bytes=1024 localities=cross-region +# Read the same amount of bytes as the first subtest. Should have an increase +# of ~10.5 RUs compared to the first test. +read bytes=1048576 networkCost=0.00001 ---- advance @@ -701,42 +641,34 @@ token-bucket-response usage ---- -RU: 2397.61 -KVRU: 70.67 -CrossRegionNetworkRU: 41.55 -Reads: 5 requests in 4 batches (2228224 bytes) -Writes: 10 requests in 9 batches (15410 bytes) -SQL Pods CPU seconds: 3.82 -PGWire egress: 12345 bytes -ExternalIO egress: 1024000 bytes -ExternalIO ingress: 1024000 bytes -Estimated CPU seconds: 0.00 +RU: 2351.50 +KVRU: 55.62 +CrossRegionNetworkRU: 10.49 +Reads: 5 requests in 4 batches (2228224 bytes) +Writes: 5 requests in 4 batches (10240 bytes) +SQL Pods CPU seconds: 3.82 +PGWire egress: 12345 bytes +ExternalIO egress: 1026000 bytes +ExternalIO ingress: 1034000 bytes metrics ---- -tenant.sql_usage.request_units: 2397.61 -tenant.sql_usage.kv_request_units: 70.67 +tenant.sql_usage.request_units: 2351.50 +tenant.sql_usage.kv_request_units: 55.62 tenant.sql_usage.read_batches: 4 tenant.sql_usage.read_requests: 5 tenant.sql_usage.read_bytes: 2228224 -tenant.sql_usage.write_batches: 9 -tenant.sql_usage.write_requests: 10 -tenant.sql_usage.write_bytes: 15410 +tenant.sql_usage.write_batches: 4 +tenant.sql_usage.write_requests: 5 +tenant.sql_usage.write_bytes: 10240 tenant.sql_usage.sql_pods_cpu_seconds: 3.82 tenant.sql_usage.pgwire_egress_bytes: 12345 -tenant.sql_usage.external_io_ingress_bytes: 1024000 -tenant.sql_usage.external_io_egress_bytes: 1024000 -tenant.sql_usage.cross_region_network_ru: 41.55 -tenant.sql_usage.estimated_kv_cpu_seconds: 0.00 -tenant.sql_usage.estimated_cpu_seconds: 0.00 -tenant.sql_usage.estimated_replication_bytes: 0 -tenant.sql_usage.provisioned_vcpus: 0 - -# Test multiple requests in the same batch. -write count=2 bytes=1024 localities=cross-region ----- +tenant.sql_usage.external_io_ingress_bytes: 1034000 +tenant.sql_usage.external_io_egress_bytes: 1026000 +tenant.sql_usage.cross_region_network_ru: 10.49 -read count=2 bytes=65536 localities=remote-region +# This write is expected to consume an extra 5.12 RUs from network cost usage. +write bytes=1024 networkCost=0.005 ---- advance @@ -750,39 +682,37 @@ token-bucket-response usage ---- -RU: 2441.40 -KVRU: 92.47 -CrossRegionNetworkRU: 63.54 -Reads: 7 requests in 5 batches (2293760 bytes) -Writes: 20 requests in 14 batches (20580 bytes) -SQL Pods CPU seconds: 3.82 -PGWire egress: 12345 bytes -ExternalIO egress: 1024000 bytes -ExternalIO ingress: 1024000 bytes -Estimated CPU seconds: 0.00 +RU: 2359.62 +KVRU: 58.62 +CrossRegionNetworkRU: 15.61 +Reads: 5 requests in 4 batches (2228224 bytes) +Writes: 6 requests in 5 batches (11264 bytes) +SQL Pods CPU seconds: 3.82 +PGWire egress: 12345 bytes +ExternalIO egress: 1026000 bytes +ExternalIO ingress: 1034000 bytes metrics ---- -tenant.sql_usage.request_units: 2441.40 -tenant.sql_usage.kv_request_units: 92.47 -tenant.sql_usage.read_batches: 5 -tenant.sql_usage.read_requests: 7 -tenant.sql_usage.read_bytes: 2293760 -tenant.sql_usage.write_batches: 14 -tenant.sql_usage.write_requests: 20 -tenant.sql_usage.write_bytes: 20580 +tenant.sql_usage.request_units: 2359.62 +tenant.sql_usage.kv_request_units: 58.62 +tenant.sql_usage.read_batches: 4 +tenant.sql_usage.read_requests: 5 +tenant.sql_usage.read_bytes: 2228224 +tenant.sql_usage.write_batches: 5 +tenant.sql_usage.write_requests: 6 +tenant.sql_usage.write_bytes: 11264 tenant.sql_usage.sql_pods_cpu_seconds: 3.82 tenant.sql_usage.pgwire_egress_bytes: 12345 -tenant.sql_usage.external_io_ingress_bytes: 1024000 -tenant.sql_usage.external_io_egress_bytes: 1024000 -tenant.sql_usage.cross_region_network_ru: 63.54 -tenant.sql_usage.estimated_kv_cpu_seconds: 0.00 -tenant.sql_usage.estimated_cpu_seconds: 0.00 -tenant.sql_usage.estimated_replication_bytes: 0 -tenant.sql_usage.provisioned_vcpus: 0 +tenant.sql_usage.external_io_ingress_bytes: 1034000 +tenant.sql_usage.external_io_egress_bytes: 1026000 +tenant.sql_usage.cross_region_network_ru: 15.61 + +# Test multiple requests in the same batch with RU multiplier of 1. +write count=2 bytes=1024 networkCost=0 +---- -# Test write batch across zones in same region (replicas=3). -write count=1 bytes=1024 localities=cross-zone +read count=2 bytes=65536 networkCost=0 ---- advance @@ -796,33 +726,28 @@ token-bucket-response usage ---- -RU: 2450.42 -KVRU: 101.49 -CrossRegionNetworkRU: 63.54 -Reads: 7 requests in 5 batches (2293760 bytes) -Writes: 23 requests in 17 batches (23667 bytes) -SQL Pods CPU seconds: 3.82 -PGWire egress: 12345 bytes -ExternalIO egress: 1024000 bytes -ExternalIO ingress: 1024000 bytes -Estimated CPU seconds: 0.00 +RU: 2365.37 +KVRU: 64.38 +CrossRegionNetworkRU: 15.61 +Reads: 7 requests in 5 batches (2293760 bytes) +Writes: 8 requests in 6 batches (12288 bytes) +SQL Pods CPU seconds: 3.82 +PGWire egress: 12345 bytes +ExternalIO egress: 1026000 bytes +ExternalIO ingress: 1034000 bytes metrics ---- -tenant.sql_usage.request_units: 2450.42 -tenant.sql_usage.kv_request_units: 101.49 +tenant.sql_usage.request_units: 2365.37 +tenant.sql_usage.kv_request_units: 64.38 tenant.sql_usage.read_batches: 5 tenant.sql_usage.read_requests: 7 tenant.sql_usage.read_bytes: 2293760 -tenant.sql_usage.write_batches: 17 -tenant.sql_usage.write_requests: 23 -tenant.sql_usage.write_bytes: 23667 +tenant.sql_usage.write_batches: 6 +tenant.sql_usage.write_requests: 8 +tenant.sql_usage.write_bytes: 12288 tenant.sql_usage.sql_pods_cpu_seconds: 3.82 tenant.sql_usage.pgwire_egress_bytes: 12345 -tenant.sql_usage.external_io_ingress_bytes: 1024000 -tenant.sql_usage.external_io_egress_bytes: 1024000 -tenant.sql_usage.cross_region_network_ru: 63.54 -tenant.sql_usage.estimated_kv_cpu_seconds: 0.00 -tenant.sql_usage.estimated_cpu_seconds: 0.00 -tenant.sql_usage.estimated_replication_bytes: 0 -tenant.sql_usage.provisioned_vcpus: 0 +tenant.sql_usage.external_io_ingress_bytes: 1034000 +tenant.sql_usage.external_io_egress_bytes: 1026000 +tenant.sql_usage.cross_region_network_ru: 15.61 diff --git a/pkg/ccl/multitenantccl/tenantcostclient/testdata/debt b/pkg/ccl/multitenantccl/tenantcostclient/testdata/debt index 2019fb360916..121d5965bd37 100644 --- a/pkg/ccl/multitenantccl/tenantcostclient/testdata/debt +++ b/pkg/ccl/multitenantccl/tenantcostclient/testdata/debt @@ -1,13 +1,12 @@ # Test token bucket that has gone into debt. -# Set up throttling at 1000 tokens/s. +# Set up throttling at 1000 RU/s. configure throttle: 1000 ---- -# Issue 2K RU write that triggers fetch of more tokens and also sets throttle -# rate. -write bytes=2045945 +# Issue 2K RU write that triggers fetch of more RU and also sets throttle rate. +write bytes=2045952 ---- wait-for-event @@ -16,7 +15,7 @@ token-bucket-response token-bucket ---- -3000.00 tokens filling @ 1000.00 tokens/s (limited to 15000.00 tokens) +3000.00 RU filling @ 1000.00 RU/s (limited to 15000.00 RU) # Consume 5K RUs that causes bucket to go into debt. cpu @@ -30,11 +29,11 @@ advance wait=true token-bucket ---- -0.00 tokens filling @ 1000.00 tokens/s (limited to 15000.00 tokens) (996.67 waiting debt @ 498.33 tokens/s) +0.00 RU filling @ 1000.00 RU/s (limited to 15000.00 RU) (996.67 waiting debt @ 498.33 RU/s) # Verify that a small write doesn't have to wait a second for the entire debt # to be paid. -write bytes=1020 label=w1 +write bytes=1024 label=w1 ---- timers @@ -52,9 +51,9 @@ await label=w1 token-bucket ---- -47.17 tokens filling @ 1000.00 tokens/s (limited to 15000.00 tokens) (946.83 waiting debt @ 498.33 tokens/s) +47.17 RU filling @ 1000.00 RU/s (limited to 15000.00 RU) (946.83 waiting debt @ 498.33 RU/s) -# Consume enough tokens that the debt cannot be paid within debtApplySecs. +# Consume enough RUs that the debt cannot be paid within debtApplySecs. pgwire-egress 4096000 ---- @@ -66,7 +65,7 @@ advance wait=true token-bucket ---- --1399.67 tokens filling @ 1000.00 tokens/s (limited to 15000.00 tokens) (2000.00 waiting debt @ 1000.00 tokens/s) +-1399.67 RU filling @ 1000.00 RU/s (limited to 15000.00 RU) (2000.00 waiting debt @ 1000.00 RU/s) # Advance and ensure that waiting debt is reduced. advance @@ -76,7 +75,7 @@ advance token-bucket ---- --1399.67 tokens filling @ 1000.00 tokens/s (limited to 15000.00 tokens) (1600.00 waiting debt @ 1000.00 tokens/s) +-1399.67 RU filling @ 1000.00 RU/s (limited to 15000.00 RU) (1600.00 waiting debt @ 1000.00 RU/s) advance wait=true 1s @@ -85,10 +84,9 @@ advance wait=true token-bucket ---- --1399.67 tokens filling @ 1000.00 tokens/s (limited to 15000.00 tokens) (600.00 waiting debt @ 300.00 tokens/s) +-1399.67 RU filling @ 1000.00 RU/s (limited to 15000.00 RU) (600.00 waiting debt @ 300.00 RU/s) -# Advance again and ensure that both available tokens and waiting debt are -# reduced. +# Advance again and ensure that both available RUs and waiting debt are reduced. advance wait=true 1s ---- @@ -96,4 +94,4 @@ advance wait=true token-bucket ---- --699.67 tokens filling @ 1000.00 tokens/s (limited to 15000.00 tokens) (300.00 waiting debt @ 150.00 tokens/s) +-699.67 RU filling @ 1000.00 RU/s (limited to 15000.00 RU) (300.00 waiting debt @ 150.00 RU/s) diff --git a/pkg/ccl/multitenantccl/tenantcostclient/testdata/estimated-cpu b/pkg/ccl/multitenantccl/tenantcostclient/testdata/estimated-cpu deleted file mode 100644 index 0e64008812fd..000000000000 --- a/pkg/ccl/multitenantccl/tenantcostclient/testdata/estimated-cpu +++ /dev/null @@ -1,447 +0,0 @@ -# Test that estimated CPU metrics and tokens are recorded and reported. - -# Switch to use the estimated CPU model rather than the RU model. -provisioned-vcpus count=12 ----- - -# When throttle = -1, the provider will refuse to grant any tokens, either -# directly or via a trickle. -configure -throttle: -1 ----- - -token-bucket ----- -5000.00 tokens filling @ 0.00 tokens/s - -# Ensure that estimated CPU metrics change, but not RU metrics. -write repeat=35 count=6 bytes=2048 localities=same-zone ----- - -# Expect ~235 tokens to be consumed. -token-bucket ----- -4764.99 tokens filling @ 0.00 tokens/s - -metrics ----- -tenant.sql_usage.request_units: 0.00 -tenant.sql_usage.kv_request_units: 0.00 -tenant.sql_usage.read_batches: 0 -tenant.sql_usage.read_requests: 0 -tenant.sql_usage.read_bytes: 0 -tenant.sql_usage.write_batches: 105 -tenant.sql_usage.write_requests: 630 -tenant.sql_usage.write_bytes: 218190 -tenant.sql_usage.sql_pods_cpu_seconds: 0.00 -tenant.sql_usage.pgwire_egress_bytes: 0 -tenant.sql_usage.external_io_ingress_bytes: 0 -tenant.sql_usage.external_io_egress_bytes: 0 -tenant.sql_usage.cross_region_network_ru: 0.00 -tenant.sql_usage.estimated_kv_cpu_seconds: 0.24 -tenant.sql_usage.estimated_cpu_seconds: 0.24 -tenant.sql_usage.estimated_replication_bytes: 145460 -tenant.sql_usage.provisioned_vcpus: 12 -tenant.sql_usage.estimated_replication_bytes{source_region="us-central1",source_zone="az1",destination_region="us-central1",destination_zone="az1"}: 145460 - -# Wait for the token bucket response triggered by low tokens. Not doing this -# causes a race condition, since in some cases this response arrives after the -# configure command below, and the write batch rate is not set correctly. -wait-for-event -token-bucket-response ----- - -# Wait until the next tick, at which point background CPU usage will be added. -advance wait=true -1s ----- -00:00:01.000 - -# ~76 tokens removed from bucket to account for background CPU. -token-bucket ----- -4688.62 tokens filling @ 0.00 tokens/s - -metrics ----- -tenant.sql_usage.request_units: 0.00 -tenant.sql_usage.kv_request_units: 0.00 -tenant.sql_usage.read_batches: 0 -tenant.sql_usage.read_requests: 0 -tenant.sql_usage.read_bytes: 0 -tenant.sql_usage.write_batches: 105 -tenant.sql_usage.write_requests: 630 -tenant.sql_usage.write_bytes: 218190 -tenant.sql_usage.sql_pods_cpu_seconds: 0.00 -tenant.sql_usage.pgwire_egress_bytes: 0 -tenant.sql_usage.external_io_ingress_bytes: 0 -tenant.sql_usage.external_io_egress_bytes: 0 -tenant.sql_usage.cross_region_network_ru: 0.00 -tenant.sql_usage.estimated_kv_cpu_seconds: 0.24 -tenant.sql_usage.estimated_cpu_seconds: 0.31 -tenant.sql_usage.estimated_replication_bytes: 145460 -tenant.sql_usage.provisioned_vcpus: 12 -tenant.sql_usage.estimated_replication_bytes{source_region="us-central1",source_zone="az1",destination_region="us-central1",destination_zone="az1"}: 145460 - -# Do same writes, but with a different write batch rate. This time, the -# estimated CPU consumption should be less. - -configure -write_batch_rate: 1000 -throttle: -1 ----- - -advance -40s ----- -00:00:41.000 - -# Wait for the token bucket request to ensure that new batch rate is known by -# the client. -wait-for-event -token-bucket-response ----- - -write repeat=35 count=6 bytes=2048 localities=cross-zone ----- - -# Wait until the next tick, at which point background CPU usage will be added. -advance wait=true -1s ----- -00:00:42.000 - -# Expect ~248 tokens to be removed, as compared to ~311 above (235 + 76). -token-bucket ----- -4440.14 tokens filling @ 0.00 tokens/s - -metrics ----- -tenant.sql_usage.request_units: 0.00 -tenant.sql_usage.kv_request_units: 0.00 -tenant.sql_usage.read_batches: 0 -tenant.sql_usage.read_requests: 0 -tenant.sql_usage.read_bytes: 0 -tenant.sql_usage.write_batches: 210 -tenant.sql_usage.write_requests: 1260 -tenant.sql_usage.write_bytes: 436380 -tenant.sql_usage.sql_pods_cpu_seconds: 0.00 -tenant.sql_usage.pgwire_egress_bytes: 0 -tenant.sql_usage.external_io_ingress_bytes: 0 -tenant.sql_usage.external_io_egress_bytes: 0 -tenant.sql_usage.cross_region_network_ru: 0.00 -tenant.sql_usage.estimated_kv_cpu_seconds: 0.42 -tenant.sql_usage.estimated_cpu_seconds: 0.56 -tenant.sql_usage.estimated_replication_bytes: 290920 -tenant.sql_usage.provisioned_vcpus: 12 -tenant.sql_usage.estimated_replication_bytes{source_region="us-central1",source_zone="az1",destination_region="us-central1",destination_zone="az1"}: 218190 -tenant.sql_usage.estimated_replication_bytes{source_region="us-central1",source_zone="az1",destination_region="us-central1",destination_zone="az2"}: 72730 - -# Advance time to next period and do same writes, with the same write batch -# rate, but with a global estimated CPU rate. The estimated CPU rate should not -# change, since this SQL node will only subtract its own portion of the global -# background CPU usage. - -configure -write_batch_rate: 1000 -estimated_cpu_rate: 2 -throttle: -1 ----- - -advance -10s ----- -00:00:52.000 - -wait-for-event -token-bucket-response ----- - -write repeat=35 count=6 bytes=2048 localities=cross-zone ----- - -advance wait=true -1s ----- -00:00:53.000 - -# Expect ~248 tokens to be consumed, like above. -token-bucket ----- -4191.66 tokens filling @ 0.00 tokens/s - -metrics ----- -tenant.sql_usage.request_units: 0.00 -tenant.sql_usage.kv_request_units: 0.00 -tenant.sql_usage.read_batches: 0 -tenant.sql_usage.read_requests: 0 -tenant.sql_usage.read_bytes: 0 -tenant.sql_usage.write_batches: 315 -tenant.sql_usage.write_requests: 1890 -tenant.sql_usage.write_bytes: 654570 -tenant.sql_usage.sql_pods_cpu_seconds: 0.00 -tenant.sql_usage.pgwire_egress_bytes: 0 -tenant.sql_usage.external_io_ingress_bytes: 0 -tenant.sql_usage.external_io_egress_bytes: 0 -tenant.sql_usage.cross_region_network_ru: 0.00 -tenant.sql_usage.estimated_kv_cpu_seconds: 0.61 -tenant.sql_usage.estimated_cpu_seconds: 0.81 -tenant.sql_usage.estimated_replication_bytes: 436380 -tenant.sql_usage.provisioned_vcpus: 12 -tenant.sql_usage.estimated_replication_bytes{source_region="us-central1",source_zone="az1",destination_region="us-central1",destination_zone="az1"}: 290920 -tenant.sql_usage.estimated_replication_bytes{source_region="us-central1",source_zone="az1",destination_region="us-central1",destination_zone="az2"}: 145460 - -# Update provisioned vCPUs. -provisioned-vcpus count=48 ----- - -write count=10 bytes=10000 localities=same-zone ----- - -advance wait=true -1s ----- -00:00:54.000 - -token-bucket ----- -4180.53 tokens filling @ 0.00 tokens/s - -metrics ----- -tenant.sql_usage.request_units: 0.00 -tenant.sql_usage.kv_request_units: 0.00 -tenant.sql_usage.read_batches: 0 -tenant.sql_usage.read_requests: 0 -tenant.sql_usage.read_bytes: 0 -tenant.sql_usage.write_batches: 318 -tenant.sql_usage.write_requests: 1920 -tenant.sql_usage.write_bytes: 684720 -tenant.sql_usage.sql_pods_cpu_seconds: 0.00 -tenant.sql_usage.pgwire_egress_bytes: 0 -tenant.sql_usage.external_io_ingress_bytes: 0 -tenant.sql_usage.external_io_egress_bytes: 0 -tenant.sql_usage.cross_region_network_ru: 0.00 -tenant.sql_usage.estimated_kv_cpu_seconds: 0.62 -tenant.sql_usage.estimated_cpu_seconds: 0.82 -tenant.sql_usage.estimated_replication_bytes: 456480 -tenant.sql_usage.provisioned_vcpus: 48 -tenant.sql_usage.estimated_replication_bytes{source_region="us-central1",source_zone="az1",destination_region="us-central1",destination_zone="az1"}: 311020 -tenant.sql_usage.estimated_replication_bytes{source_region="us-central1",source_zone="az1",destination_region="us-central1",destination_zone="az2"}: 145460 - -# Now perform some read operations. - -read repeat=1000 count=20 bytes=10000 localities=cross-zone ----- - -advance wait=true -1s ----- -00:00:55.000 - -token-bucket ----- -2034.21 tokens filling @ 0.00 tokens/s - -metrics ----- -tenant.sql_usage.request_units: 0.00 -tenant.sql_usage.kv_request_units: 0.00 -tenant.sql_usage.read_batches: 1000 -tenant.sql_usage.read_requests: 20000 -tenant.sql_usage.read_bytes: 10000000 -tenant.sql_usage.write_batches: 318 -tenant.sql_usage.write_requests: 1920 -tenant.sql_usage.write_bytes: 684720 -tenant.sql_usage.sql_pods_cpu_seconds: 0.00 -tenant.sql_usage.pgwire_egress_bytes: 0 -tenant.sql_usage.external_io_ingress_bytes: 0 -tenant.sql_usage.external_io_egress_bytes: 0 -tenant.sql_usage.cross_region_network_ru: 0.00 -tenant.sql_usage.estimated_kv_cpu_seconds: 2.24 -tenant.sql_usage.estimated_cpu_seconds: 2.97 -tenant.sql_usage.estimated_replication_bytes: 456480 -tenant.sql_usage.provisioned_vcpus: 48 -tenant.sql_usage.estimated_replication_bytes{source_region="us-central1",source_zone="az1",destination_region="us-central1",destination_zone="az1"}: 311020 -tenant.sql_usage.estimated_replication_bytes{source_region="us-central1",source_zone="az1",destination_region="us-central1",destination_zone="az2"}: 145460 - -# KV CPU seconds should not change, only total CPU seconds. Background CPU usage -# should be accounted for. -cpu -1s ----- - -advance wait=true -1s ----- -00:00:56.000 - -token-bucket ----- -722.46 tokens filling @ 0.00 tokens/s - -metrics ----- -tenant.sql_usage.request_units: 0.00 -tenant.sql_usage.kv_request_units: 0.00 -tenant.sql_usage.read_batches: 1000 -tenant.sql_usage.read_requests: 20000 -tenant.sql_usage.read_bytes: 10000000 -tenant.sql_usage.write_batches: 318 -tenant.sql_usage.write_requests: 1920 -tenant.sql_usage.write_bytes: 684720 -tenant.sql_usage.sql_pods_cpu_seconds: 0.99 -tenant.sql_usage.pgwire_egress_bytes: 0 -tenant.sql_usage.external_io_ingress_bytes: 0 -tenant.sql_usage.external_io_egress_bytes: 0 -tenant.sql_usage.cross_region_network_ru: 0.00 -tenant.sql_usage.estimated_kv_cpu_seconds: 2.24 -tenant.sql_usage.estimated_cpu_seconds: 4.28 -tenant.sql_usage.estimated_replication_bytes: 456480 -tenant.sql_usage.provisioned_vcpus: 48 -tenant.sql_usage.estimated_replication_bytes{source_region="us-central1",source_zone="az1",destination_region="us-central1",destination_zone="az1"}: 311020 -tenant.sql_usage.estimated_replication_bytes{source_region="us-central1",source_zone="az1",destination_region="us-central1",destination_zone="az2"}: 145460 - -# External I/O should not block or consume tokens. -external-egress bytes=1024000 ----- - -external-ingress bytes=1024000 ----- - -advance wait=true -1s ----- -00:00:57.000 - -token-bucket ----- -722.46 tokens filling @ 0.00 tokens/s - -metrics ----- -tenant.sql_usage.request_units: 0.00 -tenant.sql_usage.kv_request_units: 0.00 -tenant.sql_usage.read_batches: 1000 -tenant.sql_usage.read_requests: 20000 -tenant.sql_usage.read_bytes: 10000000 -tenant.sql_usage.write_batches: 318 -tenant.sql_usage.write_requests: 1920 -tenant.sql_usage.write_bytes: 684720 -tenant.sql_usage.sql_pods_cpu_seconds: 0.99 -tenant.sql_usage.pgwire_egress_bytes: 0 -tenant.sql_usage.external_io_ingress_bytes: 1024000 -tenant.sql_usage.external_io_egress_bytes: 1024000 -tenant.sql_usage.cross_region_network_ru: 0.00 -tenant.sql_usage.estimated_kv_cpu_seconds: 2.24 -tenant.sql_usage.estimated_cpu_seconds: 4.28 -tenant.sql_usage.estimated_replication_bytes: 456480 -tenant.sql_usage.provisioned_vcpus: 48 -tenant.sql_usage.estimated_replication_bytes{source_region="us-central1",source_zone="az1",destination_region="us-central1",destination_zone="az1"}: 311020 -tenant.sql_usage.estimated_replication_bytes{source_region="us-central1",source_zone="az1",destination_region="us-central1",destination_zone="az2"}: 145460 - -# PGWire egress should not block or consume tokens. -pgwire-egress -12345 ----- - -advance wait=true -1s ----- -00:00:58.000 - -token-bucket ----- -722.46 tokens filling @ 0.00 tokens/s - -metrics ----- -tenant.sql_usage.request_units: 0.00 -tenant.sql_usage.kv_request_units: 0.00 -tenant.sql_usage.read_batches: 1000 -tenant.sql_usage.read_requests: 20000 -tenant.sql_usage.read_bytes: 10000000 -tenant.sql_usage.write_batches: 318 -tenant.sql_usage.write_requests: 1920 -tenant.sql_usage.write_bytes: 684720 -tenant.sql_usage.sql_pods_cpu_seconds: 0.99 -tenant.sql_usage.pgwire_egress_bytes: 12345 -tenant.sql_usage.external_io_ingress_bytes: 1024000 -tenant.sql_usage.external_io_egress_bytes: 1024000 -tenant.sql_usage.cross_region_network_ru: 0.00 -tenant.sql_usage.estimated_kv_cpu_seconds: 2.24 -tenant.sql_usage.estimated_cpu_seconds: 4.28 -tenant.sql_usage.estimated_replication_bytes: 456480 -tenant.sql_usage.provisioned_vcpus: 48 -tenant.sql_usage.estimated_replication_bytes{source_region="us-central1",source_zone="az1",destination_region="us-central1",destination_zone="az1"}: 311020 -tenant.sql_usage.estimated_replication_bytes{source_region="us-central1",source_zone="az1",destination_region="us-central1",destination_zone="az2"}: 145460 - -# Ensure that token bucket request is made after 10 seconds (though it returns -# no tokens). -advance -10s ----- -00:01:08.000 - -wait-for-event -token-bucket-response ----- - -token-bucket ----- -722.46 tokens filling @ 0.00 tokens/s - -# Perform cross-region write request. -write count=100 bytes=1000 localities=cross-region ----- - -# Wait until the next tick, at which point background CPU usage will be added. -advance wait=true -1s ----- -00:01:09.000 - -token-bucket ----- -680.41 tokens filling @ 0.00 tokens/s - -metrics ----- -tenant.sql_usage.request_units: 0.00 -tenant.sql_usage.kv_request_units: 0.00 -tenant.sql_usage.read_batches: 1000 -tenant.sql_usage.read_requests: 20000 -tenant.sql_usage.read_bytes: 10000000 -tenant.sql_usage.write_batches: 323 -tenant.sql_usage.write_requests: 2420 -tenant.sql_usage.write_bytes: 691720 -tenant.sql_usage.sql_pods_cpu_seconds: 0.99 -tenant.sql_usage.pgwire_egress_bytes: 12345 -tenant.sql_usage.external_io_ingress_bytes: 1024000 -tenant.sql_usage.external_io_egress_bytes: 1024000 -tenant.sql_usage.cross_region_network_ru: 0.00 -tenant.sql_usage.estimated_kv_cpu_seconds: 2.27 -tenant.sql_usage.estimated_cpu_seconds: 4.32 -tenant.sql_usage.estimated_replication_bytes: 462080 -tenant.sql_usage.provisioned_vcpus: 48 -tenant.sql_usage.estimated_replication_bytes{source_region="us-central1",source_zone="",destination_region="europe-west1",destination_zone=""}: 2800 -tenant.sql_usage.estimated_replication_bytes{source_region="us-central1",source_zone="az1",destination_region="us-central1",destination_zone="az1"}: 312420 -tenant.sql_usage.estimated_replication_bytes{source_region="us-central1",source_zone="az1",destination_region="us-central1",destination_zone="az2"}: 146860 - -# Allow the provider to grant tokens again. -configure -throttle: 0 ----- - -# Advance another 10 seconds, but this time expect no token bucket request, -# since there's been no consumption. -advance wait=true -10s ----- -00:01:19.000 - -token-bucket ----- -680.41 tokens filling @ 0.00 tokens/s diff --git a/pkg/ccl/multitenantccl/tenantcostclient/testdata/external-io b/pkg/ccl/multitenantccl/tenantcostclient/testdata/external-io index 9a8789fed268..4c98306bda26 100644 --- a/pkg/ccl/multitenantccl/tenantcostclient/testdata/external-io +++ b/pkg/ccl/multitenantccl/tenantcostclient/testdata/external-io @@ -1,11 +1,11 @@ # Test external IO ingress and egress. -# Set up throttling at 1K tokens/s. +# Set up throttling at 1K RU/s. configure throttle: 1000 ---- -# Perform external IO egress that triggers fetch of more tokens and sets up +# Perform external IO egress that triggers fetch of more RU and sets up # throttling. external-egress bytes=1024000 ---- @@ -16,7 +16,7 @@ token-bucket-response token-bucket ---- -4000.00 tokens filling @ 1000.00 tokens/s (limited to 15000.00 tokens) +4000.00 RU filling @ 1000.00 RU/s (limited to 15000.00 RU) # Perform 1G bytes of external IO ingress, which should not affect RU. external-ingress bytes=1024000000000 @@ -24,7 +24,7 @@ external-ingress bytes=1024000000000 token-bucket ---- -4000.00 tokens filling @ 1000.00 tokens/s (limited to 15000.00 tokens) +4000.00 RU filling @ 1000.00 RU/s (limited to 15000.00 RU) # Block on external IO. external-egress bytes=6144000 label=e1 @@ -40,7 +40,7 @@ not-completed label=e1 token-bucket ---- -4000.00 tokens filling @ 1000.00 tokens/s (limited to 15000.00 tokens) (6000.00 waiting tokens) +4000.00 RU filling @ 1000.00 RU/s (limited to 15000.00 RU) (6000.00 waiting RU) # Fill token bucket with an additional 2K RU, which should unblock the waiting # external IO operation. @@ -54,4 +54,4 @@ await label=e1 token-bucket ---- -0.00 tokens filling @ 1000.00 tokens/s (limited to 15000.00 tokens) +0.00 RU filling @ 1000.00 RU/s (limited to 15000.00 RU) diff --git a/pkg/ccl/multitenantccl/tenantcostclient/testdata/fallback b/pkg/ccl/multitenantccl/tenantcostclient/testdata/fallback index ca46ce243180..1f249809fa5b 100644 --- a/pkg/ccl/multitenantccl/tenantcostclient/testdata/fallback +++ b/pkg/ccl/multitenantccl/tenantcostclient/testdata/fallback @@ -5,7 +5,7 @@ configure fallback_rate: 1000 ---- -# Issue a write that triggers fetch of more tokens and also sets fallback rate. +# Issue a write that triggers fetch of more RU and also sets fallback rate. write bytes=6141952 ---- @@ -15,7 +15,7 @@ token-bucket-response token-bucket ---- -15000.00 tokens filling @ 0.00 tokens/s +15000.00 RU filling @ 0.00 RU/s # Trigger failure of further requests. configure @@ -24,11 +24,11 @@ error: true # Issue a large write that requires 12K more RUs, which forces another fetch and # puts the bucket into debt. -write bytes=12285945 +write bytes=12285952 ---- wait-for-event -low-tokens +low-ru ---- # Expect failure of the token bucket request. @@ -44,11 +44,11 @@ advance wait=true token-bucket ---- -3000.00 tokens filling @ 1000.00 tokens/s (limited to 15000.00 tokens) +3000.00 RU filling @ 1000.00 RU/s (limited to 15000.00 RU) # Issue another 5K write which must wait until the fallback rate adds 2K to the # bucket in order to complete. -write bytes=5117945 label=w1 +write bytes=5117952 label=w1 ---- timers @@ -66,7 +66,7 @@ not-completed label=w1 token-bucket ---- -4000.00 tokens filling @ 1000.00 tokens/s (limited to 15000.00 tokens) (5000.00 waiting tokens) +4000.00 RU filling @ 1000.00 RU/s (limited to 15000.00 RU) (5000.00 waiting RU) # Advance another second and ensure that the write request was completed. advance wait=true @@ -79,7 +79,7 @@ await label=w1 token-bucket ---- -0.00 tokens filling @ 1000.00 tokens/s (limited to 15000.00 tokens) +0.00 RU filling @ 1000.00 RU/s (limited to 15000.00 RU) wait-for-event token-bucket-response-error diff --git a/pkg/ccl/multitenantccl/tenantcostclient/testdata/fallback-throttled b/pkg/ccl/multitenantccl/tenantcostclient/testdata/fallback-throttled index 810426976217..9cfe689ded30 100644 --- a/pkg/ccl/multitenantccl/tenantcostclient/testdata/fallback-throttled +++ b/pkg/ccl/multitenantccl/tenantcostclient/testdata/fallback-throttled @@ -6,23 +6,22 @@ throttle: 100 fallback_rate: 1000 ---- -# Issue a 3K write that triggers fetch of more tokens and also sets fallback -# rate. -write bytes=3069945 +# Issue a 3K write that triggers fetch of more RU and also sets fallback rate. +write bytes=3069952 ---- wait-for-event -low-tokens +low-ru ---- wait-for-event token-bucket-response ---- -# Response sets up throttled rate of 100 tokens/s. +# Response sets up throttled rate of 100 RU/s. token-bucket ---- -2000.00 tokens filling @ 100.00 tokens/s (limited to 6000.00 tokens) +2000.00 RU filling @ 100.00 RU/s (limited to 6000.00 RU) # Force error on next fetch. configure @@ -49,7 +48,7 @@ advance wait=true token-bucket ---- -3100.00 tokens filling @ 1000.00 tokens/s (limited to 15000.00 tokens) +3100.00 RU filling @ 1000.00 RU/s (limited to 15000.00 RU) # Advance 1 second and ensure bucket is replenished at fallback rate. advance wait=true @@ -59,7 +58,7 @@ advance wait=true token-bucket ---- -4100.00 tokens filling @ 1000.00 tokens/s (limited to 15000.00 tokens) +4100.00 RU filling @ 1000.00 RU/s (limited to 15000.00 RU) wait-for-event token-bucket-response-error diff --git a/pkg/ccl/multitenantccl/tenantcostclient/testdata/large-request b/pkg/ccl/multitenantccl/tenantcostclient/testdata/large-request index 9664aaa2d9f9..ed927a091237 100644 --- a/pkg/ccl/multitenantccl/tenantcostclient/testdata/large-request +++ b/pkg/ccl/multitenantccl/tenantcostclient/testdata/large-request @@ -1,14 +1,14 @@ # This test verifies the following condition: -# - we have a large request blocked, requiring more tokens than the "low -# tokens" notification threshold. -# - the bucket has more tokens available than the notification threshold. +# - we have a large request blocked, requiring more RU than the "low RU" +# notification threshold. +# - the bucket has more RUs available than the notification threshold. configure throttle: 1000 ---- -# Fire off a write that needs significantly more than the initial tokens. -write bytes=15357945 label=w1 +# Fire off a write that needs significantly more than the initial RUs. +write bytes=15357952 label=w1 ---- timers @@ -16,10 +16,10 @@ timers 00:00:09.000 00:00:10.000 -# Ensure that low tokens notification is sent even though the token bucket still -# has 10K tokens (waiting tokens need to be taken into account). +# Ensure that low RU notification is sent even though the token bucket still has +# 10K RUs (waiting RUs need to be taken into account). wait-for-event -low-tokens +low-ru ---- wait-for-event @@ -31,7 +31,7 @@ not-completed label=w1 token-bucket ---- -5000.00 tokens filling @ 1000.00 tokens/s (limited to 15000.00 tokens) (15000.00 waiting tokens) +5000.00 RU filling @ 1000.00 RU/s (limited to 15000.00 RU) (15000.00 waiting RU) # Advance time to just short of trickle renewal and trigger tick event. advance wait=true @@ -41,7 +41,7 @@ advance wait=true token-bucket ---- -13750.00 tokens filling @ 1000.00 tokens/s (limited to 15000.00 tokens) (15000.00 waiting tokens) +13750.00 RU filling @ 1000.00 RU/s (limited to 15000.00 RU) (15000.00 waiting RU) # Now advance time to trigger trickle renewal (but do not trigger tick in order # to avoid a race that makes test non-deterministic). @@ -61,7 +61,7 @@ timers token-bucket ---- -14000.00 tokens filling @ 1100.00 tokens/s (limited to 16000.00 tokens) (15000.00 waiting tokens) +14000.00 RU filling @ 1100.00 RU/s (limited to 16000.00 RU) (15000.00 waiting RU) # One more second to fulfill waiting write. advance @@ -74,10 +74,10 @@ await label=w1 token-bucket ---- -100.00 tokens filling @ 1100.00 tokens/s (limited to 16000.00 tokens) +100.00 RU filling @ 1100.00 RU/s (limited to 16000.00 RU) # Un-throttle central token bucket and ensure that another large write goes -# through after requesting more tokens. +# through after requesting more RUs. configure ---- diff --git a/pkg/ccl/multitenantccl/tenantcostclient/testdata/low-ru b/pkg/ccl/multitenantccl/tenantcostclient/testdata/low-ru new file mode 100644 index 000000000000..8bdbef2a9c50 --- /dev/null +++ b/pkg/ccl/multitenantccl/tenantcostclient/testdata/low-ru @@ -0,0 +1,44 @@ +# This test verifies that after the server does not fully grant a request, the +# client will not trigger low RU notifications. + +# When throttle = -1, the server will refuse to grant any RUs, either directly +# or via a trickle. +configure +throttle: -1 +---- + +# Issue 1K RU write to force token bucket request. +write bytes=1021952 +---- + +wait-for-event +token-bucket-response +---- + +token-bucket +---- +4000.00 RU filling @ 0.00 RU/s + +# Allow server to grant more RUs. +configure +throttle: 0 +---- + +# Issue another 1K RU write and expect no low RU notification and therefore no +# call to the server. +write bytes=1021952 +---- + +token-bucket +---- +3000.00 RU filling @ 0.00 RU/s + +# Advance time and ensure there's no change to the bucket. +advance wait=true +1s +---- +00:00:01.000 + +token-bucket +---- +3000.00 RU filling @ 0.00 RU/s diff --git a/pkg/ccl/multitenantccl/tenantcostclient/testdata/low-ru-race b/pkg/ccl/multitenantccl/tenantcostclient/testdata/low-ru-race index 8d246f2accfb..73b2e23a7e62 100644 --- a/pkg/ccl/multitenantccl/tenantcostclient/testdata/low-ru-race +++ b/pkg/ccl/multitenantccl/tenantcostclient/testdata/low-ru-race @@ -16,11 +16,11 @@ advance wait=true # Fire off a 1K write. This will trigger a low RU notification, which will # happen while the token bucket request is still in progress. -write bytes=1021945 +write bytes=1021952 ---- wait-for-event -low-tokens +low-ru ---- # Unblock the in-progress request. @@ -42,4 +42,4 @@ token-bucket-response token-bucket ---- -10000.00 tokens filling @ 0.00 tokens/s +10000.00 RU filling @ 0.00 RU/s diff --git a/pkg/ccl/multitenantccl/tenantcostclient/testdata/low-throttling b/pkg/ccl/multitenantccl/tenantcostclient/testdata/low-throttling index 4a84bdc368ee..2d9fdd9f63a3 100644 --- a/pkg/ccl/multitenantccl/tenantcostclient/testdata/low-throttling +++ b/pkg/ccl/multitenantccl/tenantcostclient/testdata/low-throttling @@ -1,12 +1,12 @@ # Throttle at an extremely limited rate. -# Set up throttling at just 1 tokens/s. +# Set up throttling at just 1 RU/s. configure throttle: 1 ---- # Issue 3K RU write to force fetch more RU. -write bytes=3069945 +write bytes=3069952 ---- wait-for-event @@ -15,10 +15,10 @@ token-bucket-response token-bucket ---- -2000.00 tokens filling @ 1.00 tokens/s (limited to 5010.00 tokens) +2000.00 RU filling @ 1.00 RU/s (limited to 5010.00 RU) # Issue another 4K RU write that should block. -write bytes=4093945 label=w1 +write bytes=4093952 label=w1 ---- # Expect maximum maxTryAgainAfter value. @@ -39,12 +39,12 @@ not-completed label=w1 token-bucket ---- -2008.00 tokens filling @ 1.00 tokens/s (limited to 5010.00 tokens) (4000.00 waiting tokens) +2008.00 RU filling @ 1.00 RU/s (limited to 5010.00 RU) (4000.00 waiting RU) # Advance 1 more second, which should trigger a token bucket request to extend # the trickle duration. Note that the trickle grant will not have been fully # consumed at the time more is requested. The remainder will be rolled into the -# new trickle grant (i.e. 1.10 tokens/s rather than 1.00 tokens/s). +# new trickle grant (i.e. 1.10 RU/s rather than 1.00 RU/s). advance 1s ---- @@ -56,7 +56,7 @@ token-bucket-response token-bucket ---- -2009.00 tokens filling @ 1.10 tokens/s (limited to 5011.00 tokens) (4000.00 waiting tokens) +2009.00 RU filling @ 1.10 RU/s (limited to 5011.00 RU) (4000.00 waiting RU) advance 1991s diff --git a/pkg/ccl/multitenantccl/tenantcostclient/testdata/low-tokens b/pkg/ccl/multitenantccl/tenantcostclient/testdata/low-tokens deleted file mode 100644 index 8f1da37908ac..000000000000 --- a/pkg/ccl/multitenantccl/tenantcostclient/testdata/low-tokens +++ /dev/null @@ -1,44 +0,0 @@ -# This test verifies that after the server does not fully grant a request, the -# client will not trigger low tokens notifications. - -# When throttle = -1, the server will refuse to grant any tokens, either -# directly or via a trickle. -configure -throttle: -1 ----- - -# Issue 1K RU write to force token bucket request. -write bytes=1021945 ----- - -wait-for-event -token-bucket-response ----- - -token-bucket ----- -4000.00 tokens filling @ 0.00 tokens/s - -# Allow server to grant more tokens. -configure -throttle: 0 ----- - -# Issue another 1K RU write and expect no low tokens notification and therefore -# no call to the server. -write bytes=1021945 ----- - -token-bucket ----- -3000.00 tokens filling @ 0.00 tokens/s - -# Advance time and ensure there's no change to the bucket. -advance wait=true -1s ----- -00:00:01.000 - -token-bucket ----- -3000.00 tokens filling @ 0.00 tokens/s diff --git a/pkg/ccl/multitenantccl/tenantcostclient/testdata/no-tokens b/pkg/ccl/multitenantccl/tenantcostclient/testdata/no-ru similarity index 66% rename from pkg/ccl/multitenantccl/tenantcostclient/testdata/no-tokens rename to pkg/ccl/multitenantccl/tenantcostclient/testdata/no-ru index 88e6ed52c033..c82361c91a24 100644 --- a/pkg/ccl/multitenantccl/tenantcostclient/testdata/no-tokens +++ b/pkg/ccl/multitenantccl/tenantcostclient/testdata/no-ru @@ -1,13 +1,13 @@ -# Test case when provider is completely out of tokens. +# Test case when provider is completely out of RUs. -# When throttle = -1, the provider will refuse to grant any tokens, either -# directly or via a trickle. +# When throttle = -1, the provider will refuse to grant any RUs, either directly +# or via a trickle. configure throttle: -1 ---- # Issue 5K RU write to force token bucket request. -write bytes=5117945 label=w1 +write bytes=5117952 label=w1 ---- wait-for-event @@ -19,7 +19,7 @@ await label=w1 token-bucket ---- -0.00 tokens filling @ 0.00 tokens/s +0.00 RU filling @ 0.00 RU/s # Advance time and ensure there's no change to the bucket. advance wait=true @@ -29,7 +29,7 @@ advance wait=true token-bucket ---- -0.00 tokens filling @ 0.00 tokens/s +0.00 RU filling @ 0.00 RU/s # Issue a blocking read. read bytes=1024 label=r1 @@ -51,14 +51,14 @@ not-completed label=r1 token-bucket ---- -0.00 tokens filling @ 0.00 tokens/s (0.64 waiting tokens) +0.00 RU filling @ 0.00 RU/s (0.64 waiting RU) # Expect maximum delay. timers ---- 00:33:21.000 -# Simulate case where more tokens have been made available. +# Simulate case where more RUs have been made available. configure throttle: 0 ---- diff --git a/pkg/ccl/multitenantccl/tenantcostclient/testdata/throttling b/pkg/ccl/multitenantccl/tenantcostclient/testdata/throttling index 4aa0105dbbf3..db8490f55883 100644 --- a/pkg/ccl/multitenantccl/tenantcostclient/testdata/throttling +++ b/pkg/ccl/multitenantccl/tenantcostclient/testdata/throttling @@ -1,13 +1,13 @@ -# By default, the test provider grants all tokens immediately. Test cases where -# it instead throttles usage to a limited rate. +# By default, the test provider grants all RUs immediately. Test cases where it +# instead throttles usage to a limited rate. -# Set up throttling at 1K tokens/s. +# Set up throttling at 1K RU/s. configure throttle: 1000 ---- # Issue 3K RU write to consume all tokens in the bucket and create 2K debt. -write bytes=3069945 +write bytes=3069952 ---- wait-for-event @@ -16,11 +16,11 @@ token-bucket-response token-bucket ---- -2000.00 tokens filling @ 1000.00 tokens/s (limited to 15000.00 tokens) +2000.00 RU filling @ 1000.00 RU/s (limited to 15000.00 RU) # Issue 4K RU write that should block as long as it takes to accumulate 2K RUs # with a 1K fill rate. -write bytes=4093945 label=w1 +write bytes=4093952 label=w1 ---- timers @@ -38,7 +38,7 @@ await label=w1 token-bucket ---- -0.00 tokens filling @ 1000.00 tokens/s (limited to 15000.00 tokens) +0.00 RU filling @ 1000.00 RU/s (limited to 15000.00 RU) # Create 20K debt in bucket. pgwire-egress @@ -57,7 +57,7 @@ advance wait=true token-bucket ---- --19000.00 tokens filling @ 1000.00 tokens/s (limited to 15000.00 tokens) (1000.00 waiting debt @ 500.00 tokens/s) +-19000.00 RU filling @ 1000.00 RU/s (limited to 15000.00 RU) (1000.00 waiting debt @ 500.00 RU/s) # The debt in the token bucket is greater than what one trickle duration can # cover. Ensure that another write blocks for entire trickle duration, plus @@ -76,11 +76,11 @@ wait-for-event token-bucket-response ---- -# Ensure that fill rate has been updated to include tokens left over from -# previous trickle, as well as the tokens from the new trickle. +# Ensure that fill rate has been updated to include RU leftover from previous +# trickle, as well as the RU from the new trickle. token-bucket ---- --15000.00 tokens filling @ 1100.00 tokens/s (limited to 16000.00 tokens) +-15000.00 RU filling @ 1100.00 RU/s (limited to 16000.00 RU) timers ---- diff --git a/pkg/ccl/multitenantccl/tenantcostclient/token_bucket.go b/pkg/ccl/multitenantccl/tenantcostclient/token_bucket.go index aff2466b5257..747fa7720c0c 100644 --- a/pkg/ccl/multitenantccl/tenantcostclient/token_bucket.go +++ b/pkg/ccl/multitenantccl/tenantcostclient/token_bucket.go @@ -11,6 +11,8 @@ package tenantcostclient import ( "fmt" "time" + + "github.com/cockroachdb/cockroach/pkg/multitenant/tenantcostmodel" ) // tokenBucket implements a token bucket. It is a more specialized form of @@ -76,26 +78,26 @@ type tokenBucket struct { // limit is the maximum number of tokens that can be present in the bucket. // Tokens beyond this limit are discarded. If limit = 0, then no limit is // enforced. - limit float64 - // rate that tokens fill the bucket, in tokens/s. - rate float64 - // available is the number of currently available tokens in the bucket. This - // can be negative if waiting debt has been subtracted from it. - available float64 - - // waitingDebt is debt that will be subtracted from the available tkoens over + limit tenantcostmodel.RU + // rate that tokens fill the bucket, in RU/s. + rate tenantcostmodel.RU + // available is the number of currently available RUs in the bucket. This can + // be negative if waiting debt has been subtracted from it. + available tenantcostmodel.RU + + // waitingDebt is debt that will be subtracted from the available RUs over // time, in order to smooth its impact. - waitingDebt float64 + waitingDebt tenantcostmodel.RU // waitingDebtRate is the rate at which "waitingDebt" is subtracted from - // available tokens; cannot exceed the fill rate. - waitingDebtRate float64 + // available RUs; cannot exceed the fill rate. + waitingDebtRate tenantcostmodel.RU lastUpdated time.Time } // debtApplySecs is the target number of seconds that it should take to subtract -// waiting debt from the available tokens. +// waiting debt from the available RUs. const debtApplySecs = 2 func (tb *tokenBucket) Init(now time.Time) { @@ -110,11 +112,11 @@ func (tb *tokenBucket) update(now time.Time) { } tb.lastUpdated = now sinceSeconds := since.Seconds() - tb.available += tb.rate * sinceSeconds + tb.available += tb.rate * tenantcostmodel.RU(sinceSeconds) // Subtract some portion of waiting debt, if there is any. if tb.waitingDebt != 0 { - debt := tb.waitingDebtRate * sinceSeconds + debt := tb.waitingDebtRate * tenantcostmodel.RU(sinceSeconds) if debt > tb.waitingDebt { debt = tb.waitingDebt } @@ -135,8 +137,8 @@ func (tb *tokenBucket) calculateDebtRate() { tb.waitingDebtRate = tb.waitingDebt / debtApplySecs if tb.waitingDebtRate > tb.rate { // There is waiting debt that cannot be applied within debtApplySecs; - // immediately subtract it from available tokens (which might cause that - // to become negative). + // immediately subtract it from available RUs (which might cause that to + // become negative). debt := (tb.waitingDebtRate - tb.rate) * debtApplySecs tb.waitingDebt -= debt tb.available -= debt @@ -146,9 +148,9 @@ func (tb *tokenBucket) calculateDebtRate() { // RemoveTokens decreases the amount of tokens currently available. If there are // not enough tokens, this causes the token bucket to go into debt. Debt will be -// subtracted from the available tokens over the next few seconds in order to +// subtracted from the available RUs over the next few seconds in order to // smooth its impact. -func (tb *tokenBucket) RemoveTokens(now time.Time, amount float64) { +func (tb *tokenBucket) RemoveTokens(now time.Time, amount tenantcostmodel.RU) { tb.update(now) if tb.available >= amount { tb.available -= amount @@ -166,15 +168,15 @@ func (tb *tokenBucket) RemoveTokens(now time.Time, amount float64) { // configuration. type tokenBucketReconfigureArgs struct { // NewTokens is the number of tokens that should be added to the token bucket. - NewTokens float64 + NewTokens tenantcostmodel.RU // NewRate is the new token fill rate for the bucket. - NewRate float64 + NewRate tenantcostmodel.RU // MaxTokens is the maximum number of tokens that can be present in the // bucket. Tokens beyond this limit are discarded. If MaxTokens = 0, then // no limit is enforced. - MaxTokens float64 + MaxTokens tenantcostmodel.RU } // Reconfigure changes the rate, optionally adjusts the available tokens and @@ -187,7 +189,7 @@ func (tb *tokenBucket) Reconfigure(now time.Time, args tokenBucketReconfigureArg } // addTokens increases the number of tokens currently available. -func (tb *tokenBucket) addTokens(amount float64) { +func (tb *tokenBucket) addTokens(amount tenantcostmodel.RU) { if tb.waitingDebt > 0 { if tb.waitingDebt >= amount { tb.waitingDebt -= amount @@ -209,7 +211,7 @@ const maxTryAgainAfterSeconds = 1000 // TryToFulfill either removes the given amount if is available, or returns a // time after which the request should be retried. func (tb *tokenBucket) TryToFulfill( - now time.Time, amount float64, + now time.Time, amount tenantcostmodel.RU, ) (fulfilled bool, tryAgainAfter time.Duration) { tb.update(now) @@ -234,7 +236,7 @@ func (tb *tokenBucket) TryToFulfill( var timeSeconds float64 if tb.waitingDebt == 0 { - timeSeconds = needed / tb.rate + timeSeconds = float64(needed / tb.rate) } else { remainingRate := tb.rate - tb.waitingDebtRate // There are two cases: @@ -256,11 +258,11 @@ func (tb *tokenBucket) TryToFulfill( // needed * waitingDebtRate <= debt * remainingRate if needed*tb.waitingDebtRate <= tb.waitingDebt*remainingRate { // Case 1. - timeSeconds = needed / remainingRate + timeSeconds = float64(needed / remainingRate) } else { // Case 2. debtSeconds := tb.waitingDebt / tb.waitingDebtRate - timeSeconds = debtSeconds + (needed-debtSeconds*remainingRate)/tb.rate + timeSeconds = float64(debtSeconds + (needed-debtSeconds*remainingRate)/tb.rate) } } @@ -277,21 +279,21 @@ func (tb *tokenBucket) TryToFulfill( return false, timeDelta } -// AvailableTokens returns the current number of tokens that can be immediately -// used. This can be negative if we accumulated debt. -func (tb *tokenBucket) AvailableTokens(now time.Time) float64 { +// AvailableTokens returns the current number of available RUs. This can be +// negative if we accumulated debt. +func (tb *tokenBucket) AvailableTokens(now time.Time) tenantcostmodel.RU { tb.update(now) return tb.available - tb.waitingDebt } func (tb *tokenBucket) String(now time.Time) string { tb.update(now) - s := fmt.Sprintf("%.2f tokens filling @ %.2f tokens/s", tb.available, tb.rate) + s := fmt.Sprintf("%.2f RU filling @ %.2f RU/s", tb.available, tb.rate) if tb.limit > 0 { - s += fmt.Sprintf(" (limited to %.2f tokens)", tb.limit) + s += fmt.Sprintf(" (limited to %.2f RU)", tb.limit) } if tb.waitingDebt > 0 { - s += fmt.Sprintf(" (%.2f waiting debt @ %.2f tokens/s)", tb.waitingDebt, tb.waitingDebtRate) + s += fmt.Sprintf(" (%.2f waiting debt @ %.2f RU/s)", tb.waitingDebt, tb.waitingDebtRate) } return s } diff --git a/pkg/ccl/multitenantccl/tenantcostclient/token_bucket_test.go b/pkg/ccl/multitenantccl/tenantcostclient/token_bucket_test.go index da04220ac716..9348e5fa5a01 100644 --- a/pkg/ccl/multitenantccl/tenantcostclient/token_bucket_test.go +++ b/pkg/ccl/multitenantccl/tenantcostclient/token_bucket_test.go @@ -18,6 +18,7 @@ import ( "testing" "time" + "github.com/cockroachdb/cockroach/pkg/multitenant/tenantcostmodel" "github.com/cockroachdb/cockroach/pkg/util/leaktest" "github.com/cockroachdb/cockroach/pkg/util/randutil" "github.com/cockroachdb/cockroach/pkg/util/timeutil" @@ -46,42 +47,42 @@ func TestTokenBucket(t *testing.T) { t.Errorf("expected: %s\nactual: %s\n", expected, actual) } } - check("100.00 tokens filling @ 10.00 tokens/s") + check("100.00 RU filling @ 10.00 RU/s") // Verify basic update. ts.Advance(1 * time.Second) - check("110.00 tokens filling @ 10.00 tokens/s") - // Check RemoveTokens. + check("110.00 RU filling @ 10.00 RU/s") + // Check RemoveRU. tb.RemoveTokens(ts.Now(), 200) - check("-70.00 tokens filling @ 10.00 tokens/s (20.00 waiting debt @ 10.00 tokens/s)") + check("-70.00 RU filling @ 10.00 RU/s (20.00 waiting debt @ 10.00 RU/s)") ts.Advance(1 * time.Second) - check("-70.00 tokens filling @ 10.00 tokens/s (10.00 waiting debt @ 10.00 tokens/s)") + check("-70.00 RU filling @ 10.00 RU/s (10.00 waiting debt @ 10.00 RU/s)") tb.RemoveTokens(ts.Now(), 5) - check("-70.00 tokens filling @ 10.00 tokens/s (15.00 waiting debt @ 7.50 tokens/s)") + check("-70.00 RU filling @ 10.00 RU/s (15.00 waiting debt @ 7.50 RU/s)") ts.Advance(1 * time.Second) - check("-67.50 tokens filling @ 10.00 tokens/s (7.50 waiting debt @ 7.50 tokens/s)") + check("-67.50 RU filling @ 10.00 RU/s (7.50 waiting debt @ 7.50 RU/s)") tb.RemoveTokens(ts.Now(), 5) - check("-67.50 tokens filling @ 10.00 tokens/s (12.50 waiting debt @ 6.25 tokens/s)") + check("-67.50 RU filling @ 10.00 RU/s (12.50 waiting debt @ 6.25 RU/s)") ts.Advance(15 * time.Second) - check("70.00 tokens filling @ 10.00 tokens/s") + check("70.00 RU filling @ 10.00 RU/s") - fulfill := func(amount float64) { + fulfill := func(amount tenantcostmodel.RU) { t.Helper() if ok, _ := tb.TryToFulfill(ts.Now(), amount); !ok { t.Fatalf("failed to fulfill") } } fulfill(40) - check("30.00 tokens filling @ 10.00 tokens/s") + check("30.00 RU filling @ 10.00 RU/s") - // TryAgainAfter should be the time to reach 60 tokens. + // TryAgainAfter should be the time to reach 60 RU. if ok, tryAgainAfter := tb.TryToFulfill(ts.Now(), 60); ok { t.Fatalf("fulfilled incorrectly") } else if exp := 3 * time.Second; tryAgainAfter.Round(time.Millisecond) != exp { t.Fatalf("tryAgainAfter: expected %s, got %s", exp, tryAgainAfter) } - check("30.00 tokens filling @ 10.00 tokens/s") + check("30.00 RU filling @ 10.00 RU/s") // Create massive debt and ensure that delay is = maxTryAgainAfterSeconds. tb.RemoveTokens(ts.Now(), maxTryAgainAfterSeconds*10+60) @@ -90,9 +91,9 @@ func TestTokenBucket(t *testing.T) { } else if exp := maxTryAgainAfterSeconds * time.Second; tryAgainAfter.Round(time.Millisecond) != exp { t.Fatalf("tryAgainAfter: expected %s, got %s", exp, tryAgainAfter) } - check("-10010.00 tokens filling @ 10.00 tokens/s (20.00 waiting debt @ 10.00 tokens/s)") + check("-10010.00 RU filling @ 10.00 RU/s (20.00 waiting debt @ 10.00 RU/s)") ts.Advance(maxTryAgainAfterSeconds * time.Second) - check("-30.00 tokens filling @ 10.00 tokens/s") + check("-30.00 RU filling @ 10.00 RU/s") // Set zero rate. args := tokenBucketReconfigureArgs{ @@ -107,7 +108,7 @@ func TestTokenBucket(t *testing.T) { // Set infinite rate. args = tokenBucketReconfigureArgs{ - NewRate: math.Inf(1), + NewRate: tenantcostmodel.RU(math.Inf(1)), } tb.Reconfigure(ts.Now(), args) if ok, tryAgainAfter := tb.TryToFulfill(ts.Now(), 0); ok { @@ -122,17 +123,17 @@ func TestTokenBucket(t *testing.T) { NewTokens: 100, MaxTokens: 50, } - check("-30.00 tokens filling @ +Inf tokens/s") + check("-30.00 RU filling @ +Inf RU/s") tb.Reconfigure(ts.Now(), args) - check("50.00 tokens filling @ 10.00 tokens/s (limited to 50.00 tokens)") + check("50.00 RU filling @ 10.00 RU/s (limited to 50.00 RU)") ts.Advance(time.Second) - check("50.00 tokens filling @ 10.00 tokens/s (limited to 50.00 tokens)") + check("50.00 RU filling @ 10.00 RU/s (limited to 50.00 RU)") ts.Advance(time.Second) tb.RemoveTokens(ts.Now(), 15) - check("35.00 tokens filling @ 10.00 tokens/s (limited to 50.00 tokens)") + check("35.00 RU filling @ 10.00 RU/s (limited to 50.00 RU)") ts.Advance(2 * time.Second) fulfill(10) - check("40.00 tokens filling @ 10.00 tokens/s (limited to 50.00 tokens)") + check("40.00 RU filling @ 10.00 RU/s (limited to 50.00 RU)") // Fulfill amount > limit. if ok, tryAgainAfter := tb.TryToFulfill(ts.Now(), 60); ok { @@ -140,10 +141,10 @@ func TestTokenBucket(t *testing.T) { } else if exp := 2 * time.Second; tryAgainAfter.Round(time.Millisecond) != exp { t.Fatalf("tryAgainAfter: expected %s, got %s", exp, tryAgainAfter) } - check("40.00 tokens filling @ 10.00 tokens/s (limited to 50.00 tokens)") + check("40.00 RU filling @ 10.00 RU/s (limited to 50.00 RU)") ts.Advance(1 * time.Second) fulfill(60) - check("0.00 tokens filling @ 10.00 tokens/s (limited to 50.00 tokens) (10.00 waiting debt @ 5.00 tokens/s)") + check("0.00 RU filling @ 10.00 RU/s (limited to 50.00 RU) (10.00 waiting debt @ 5.00 RU/s)") ts.Advance(8 * time.Second) if available := tb.AvailableTokens(ts.Now()); available != 50.0 { t.Fatalf("AvailableTokens: expected %.2f, got %.2f", 50.0, available) @@ -156,8 +157,8 @@ func TestTokenBucketTryToFulfill(t *testing.T) { defer leaktest.AfterTest(t)() r, _ := randutil.NewPseudoRand() - randTokens := func(min, max float64) float64 { - return min + r.Float64()*(max-min) + randRU := func(min, max float64) tenantcostmodel.RU { + return tenantcostmodel.RU(min + r.Float64()*(max-min)) } randDuration := func(max time.Duration) time.Duration { return time.Duration(r.Intn(int(max + 1))) @@ -170,8 +171,8 @@ func TestTokenBucketTryToFulfill(t *testing.T) { clock := timeutil.NewManualTime(start) tb.Init(clock.Now()) tb.Reconfigure(clock.Now(), tokenBucketReconfigureArgs{ - NewRate: randTokens(0, 500), - NewTokens: randTokens(1, 100), + NewRate: randRU(0, 500), + NewTokens: randRU(1, 100), }) // Advance a random amount of time. @@ -179,15 +180,15 @@ func TestTokenBucketTryToFulfill(t *testing.T) { if rand.Intn(5) > 0 { // Add some debt and advance more. - tb.RemoveTokens(clock.Now(), randTokens(1, 500)) + tb.RemoveTokens(clock.Now(), randRU(1, 500)) clock.Advance(randDuration(100 * time.Millisecond)) } // Fulfill requests until we can't anymore. - var ru float64 + var ru tenantcostmodel.RU var tryAgainAfter time.Duration for { - ru = randTokens(0, 100) + ru = randRU(0, 100) var ok bool ok, tryAgainAfter = tb.TryToFulfill(clock.Now(), ru) if !ok { @@ -238,19 +239,19 @@ func TestTokenBucketDebt(t *testing.T) { const debtPeriod = time.Second const debtTicks = int(debtPeriod / tickDuration) const totalTicks = 10 * debtTicks - const debt float64 = 50 + const debt tenantcostmodel.RU = 50 - const reqTokensMean = 1 - const reqTokensStdDev = reqTokensMean / 2 + const reqRUMean = 1 + const reqRUStdDev = reqRUMean / 2 // Use a fixed seed so the result is reproducible. r := rand.New(rand.NewSource(1234)) - randRu := func() float64 { - ru := r.NormFloat64()*reqTokensStdDev + reqTokensMean + randRu := func() tenantcostmodel.RU { + ru := r.NormFloat64()*reqRUStdDev + reqRUMean if ru < 0 { return 0 } - return ru + return tenantcostmodel.RU(ru) } ru := randRu() @@ -270,10 +271,10 @@ func TestTokenBucketDebt(t *testing.T) { out = file } - fmt.Fprintf(out, "time (s),queue latency (ms),debt applied (tokens)\n") + fmt.Fprintf(out, "time (s),queue latency (ms),debt applied (RU)\n") for tick := 0; tick < totalTicks; tick++ { now := ts.Now() - var d float64 + var d tenantcostmodel.RU if tick > 0 && tick%debtTicks == 0 { d = debt tb.RemoveTokens(now, debt) diff --git a/pkg/ccl/multitenantccl/tenantcostserver/BUILD.bazel b/pkg/ccl/multitenantccl/tenantcostserver/BUILD.bazel index a2edd96e3918..854c2083a2e2 100644 --- a/pkg/ccl/multitenantccl/tenantcostserver/BUILD.bazel +++ b/pkg/ccl/multitenantccl/tenantcostserver/BUILD.bazel @@ -14,7 +14,6 @@ go_library( deps = [ "//pkg/base", "//pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket", - "//pkg/clusterversion", "//pkg/kv", "//pkg/kv/kvpb", "//pkg/multitenant", @@ -42,14 +41,12 @@ go_test( name = "tenantcostserver_test", srcs = [ "main_test.go", - "metrics_test.go", "server_test.go", ], data = glob(["testdata/**"]), embed = [":tenantcostserver"], deps = [ "//pkg/base", - "//pkg/clusterversion", "//pkg/kv", "//pkg/kv/kvpb", "//pkg/multitenant", @@ -72,8 +69,6 @@ go_test( "//pkg/util/timeutil", "@com_github_cockroachdb_datadriven//:datadriven", "@com_github_cockroachdb_errors//:errors", - "@com_github_cockroachdb_errors//errbase", - "@com_github_stretchr_testify//require", "@in_gopkg_yaml_v2//:yaml_v2", ], ) diff --git a/pkg/ccl/multitenantccl/tenantcostserver/configure.go b/pkg/ccl/multitenantccl/tenantcostserver/configure.go index 12c754850bad..767733509b92 100644 --- a/pkg/ccl/multitenantccl/tenantcostserver/configure.go +++ b/pkg/ccl/multitenantccl/tenantcostserver/configure.go @@ -10,8 +10,8 @@ package tenantcostserver import ( "context" + "time" - "github.com/cockroachdb/cockroach/pkg/clusterversion" "github.com/cockroachdb/cockroach/pkg/roachpb" "github.com/cockroachdb/cockroach/pkg/sql/isql" "github.com/cockroachdb/cockroach/pkg/sql/pgwire/pgcode" @@ -27,28 +27,27 @@ func (s *instance) ReconfigureTokenBucket( ctx context.Context, txn isql.Txn, tenantID roachpb.TenantID, - availableTokens float64, + availableRU float64, refillRate float64, - maxBurstTokens float64, + maxBurstRU float64, + asOf time.Time, + asOfConsumedRequestUnits float64, ) error { if err := s.checkTenantID(ctx, txn, tenantID); err != nil { return err } - - // Check whether the consumption rates migration has run. If not, then do not - // attempt to write the new rates columns. - // TODO(andyk): Remove this after 24.3. - ratesAvailable := s.settings.Version.IsActive(ctx, clusterversion.V24_2_TenantRates) - - h := makeSysTableHelper(ctx, tenantID, ratesAvailable) + h := makeSysTableHelper(ctx, tenantID) state, err := h.readTenantState(txn) if err != nil { return err } now := s.timeSource.Now() state.update(now) - state.Bucket.Reconfigure(ctx, tenantID, availableTokens, refillRate, maxBurstTokens) - if err := h.updateTenantAndInstanceState(txn, &state, nil); err != nil { + state.Bucket.Reconfigure( + ctx, tenantID, availableRU, refillRate, maxBurstRU, asOf, asOfConsumedRequestUnits, + now, state.Consumption.RU, + ) + if err := h.updateTenantState(txn, state); err != nil { return err } return nil diff --git a/pkg/ccl/multitenantccl/tenantcostserver/metrics.go b/pkg/ccl/multitenantccl/tenantcostserver/metrics.go index 7054c8e55dc8..6f2aa5c6ca5b 100644 --- a/pkg/ccl/multitenantccl/tenantcostserver/metrics.go +++ b/pkg/ccl/multitenantccl/tenantcostserver/metrics.go @@ -9,9 +9,6 @@ package tenantcostserver import ( - "time" - - "github.com/cockroachdb/cockroach/pkg/kv/kvpb" "github.com/cockroachdb/cockroach/pkg/multitenant" "github.com/cockroachdb/cockroach/pkg/roachpb" "github.com/cockroachdb/cockroach/pkg/util/metric" @@ -205,76 +202,3 @@ func (m *Metrics) getTenantMetrics(tenantID roachpb.TenantID) tenantMetrics { } return tm } - -const metricsInterval = 10 * time.Second - -// metricRates calculates rate of consumption for tenant metrics that are used -// by the cost model. Rates need to be calculated across all SQL pods for a -// given tenant. Because consumption can be reported at different intervals by -// different SQL pods, rates are determined on even 10-second boundaries and -// added together across pods. For example, if at 12:00:03, pod #1 reports 900 -// write batches over the last 9 seconds, then the 12:00:00 rate is increased by -// 100. If pod #2 reports the last 9 seconds of consumption at 12:00:13, then it -// would instead be added to the 12:00:10 rate. -type metricRates struct { - // next contains calculations for consumption rates at the most recent - // 10-second boundary. Some of the SQL pods may not have yet reported their - // rates, so this should be considered "in-progress". - next kvpb.TenantConsumptionRates - - // current contains calculations for consumption rates at the previous - // 10-second boundary. Most or all of the SQL pods should already have - // reported their rates, so this is usually the final rate. However, it's - // possible that a SQL pod is reporting on a delayed schedule due to low - // consumption, so this rate can still change (though generally not by much). - current kvpb.TenantConsumptionRates -} - -// Current returns the set of consumption rates that's expected to include the -// rates reported by all SQL pods. -func (mw *metricRates) Current() *kvpb.TenantConsumptionRates { return &mw.current } - -// Update calculates updated consumption rates given a new consumption report -// at "now" time. The "prev" argument gives the time of the last call to Update. -func (mw *metricRates) Update( - now, last time.Time, consumption *kvpb.TenantConsumption, consumptionPeriod time.Duration, -) { - // In all but strange edge cases, time should tick upwards. If that's not - // the case, then just ignore the reported consumption. - if now.Before(last) { - return - } - - // Calculate the start of the next and current periods, always on even - // 10-second boundaries. - nextStart := now.Truncate(metricsInterval) - currentStart := nextStart.Add(-metricsInterval) - - // Check if the last Update call happened in a different metrics interval. - if last.Before(currentStart) { - // The last call happened at least 2 intervals ago. - mw.current = kvpb.TenantConsumptionRates{} - mw.next = kvpb.TenantConsumptionRates{} - } else if last.Before(nextStart) { - // The last call happened 1 interval ago, so the in-progress rates - // should be shifted to become current rates. - mw.current = mw.next - mw.next = kvpb.TenantConsumptionRates{} - } - - // Calculate rates per second. - writeBatchRate := float64(consumption.WriteBatches) * float64(time.Second) / float64(consumptionPeriod) - estimatedCPURate := consumption.EstimatedCPUSeconds * float64(time.Second) / float64(consumptionPeriod) - - // Add rates to the next and current reports, based on the length of the - // consumption period. - start := now.Add(-consumptionPeriod) - if start.Before(nextStart) { - mw.next.WriteBatchRate += writeBatchRate - mw.next.EstimatedCPURate += estimatedCPURate - } - if start.Before(currentStart) { - mw.current.WriteBatchRate += writeBatchRate - mw.current.EstimatedCPURate += estimatedCPURate - } -} diff --git a/pkg/ccl/multitenantccl/tenantcostserver/metrics_test.go b/pkg/ccl/multitenantccl/tenantcostserver/metrics_test.go deleted file mode 100644 index f8bf9987cfdc..000000000000 --- a/pkg/ccl/multitenantccl/tenantcostserver/metrics_test.go +++ /dev/null @@ -1,160 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package tenantcostserver - -import ( - "testing" - "time" - - "github.com/cockroachdb/cockroach/pkg/kv/kvpb" - "github.com/cockroachdb/cockroach/pkg/util/leaktest" - "github.com/stretchr/testify/require" -) - -func TestMetricRates(t *testing.T) { - defer leaktest.AfterTest(t)() - - testCases := []struct { - name string - initial metricRates - now time.Time - last time.Time - consumption kvpb.TenantConsumption - consumptionPeriod time.Duration - expected metricRates - }{ - { - name: "now before update", - initial: metricRates{ - current: kvpb.TenantConsumptionRates{WriteBatchRate: 10, EstimatedCPURate: 20}, - next: kvpb.TenantConsumptionRates{WriteBatchRate: 20, EstimatedCPURate: 40}, - }, - now: time.Date(2023, 5, 27, 12, 0, 15, 0, time.UTC), - last: time.Date(2023, 5, 27, 12, 0, 16, 0, time.UTC), - consumption: kvpb.TenantConsumption{WriteBatches: 100, EstimatedCPUSeconds: 100}, - consumptionPeriod: 10 * time.Second, - expected: metricRates{ - current: kvpb.TenantConsumptionRates{WriteBatchRate: 10, EstimatedCPURate: 20}, - next: kvpb.TenantConsumptionRates{WriteBatchRate: 20, EstimatedCPURate: 40}, - }, - }, - { - name: "update same period", - initial: metricRates{ - current: kvpb.TenantConsumptionRates{WriteBatchRate: 10, EstimatedCPURate: 20}, - next: kvpb.TenantConsumptionRates{WriteBatchRate: 20, EstimatedCPURate: 40}, - }, - now: time.Date(2023, 5, 27, 12, 0, 16, 0, time.UTC), - last: time.Date(2023, 5, 27, 12, 0, 15, 0, time.UTC), - consumption: kvpb.TenantConsumption{WriteBatches: 100, EstimatedCPUSeconds: 100}, - consumptionPeriod: 10 * time.Second, - expected: metricRates{ - current: kvpb.TenantConsumptionRates{WriteBatchRate: 10, EstimatedCPURate: 20}, - next: kvpb.TenantConsumptionRates{WriteBatchRate: 30, EstimatedCPURate: 50}, - }, - }, - { - name: "skip to next period", - initial: metricRates{ - current: kvpb.TenantConsumptionRates{WriteBatchRate: 30, EstimatedCPURate: 50}, - next: kvpb.TenantConsumptionRates{WriteBatchRate: 10, EstimatedCPURate: 20}, - }, - now: time.Date(2023, 5, 27, 12, 0, 23, 0, time.UTC), - last: time.Date(2023, 5, 27, 12, 0, 16, 0, time.UTC), - consumption: kvpb.TenantConsumption{WriteBatches: 200, EstimatedCPUSeconds: 400}, - consumptionPeriod: 10 * time.Second, - expected: metricRates{ - current: kvpb.TenantConsumptionRates{WriteBatchRate: 10, EstimatedCPURate: 20}, - next: kvpb.TenantConsumptionRates{WriteBatchRate: 20, EstimatedCPURate: 40}, - }, - }, - { - name: "skip two periods", - initial: metricRates{ - current: kvpb.TenantConsumptionRates{WriteBatchRate: 10, EstimatedCPURate: 20}, - next: kvpb.TenantConsumptionRates{WriteBatchRate: 20, EstimatedCPURate: 40}, - }, - now: time.Date(2023, 5, 27, 12, 0, 48, 0, time.UTC), - last: time.Date(2023, 5, 27, 12, 0, 23, 0, time.UTC), - consumption: kvpb.TenantConsumption{WriteBatches: 100, EstimatedCPUSeconds: 100}, - consumptionPeriod: 10 * time.Second, - expected: metricRates{ - next: kvpb.TenantConsumptionRates{WriteBatchRate: 10, EstimatedCPURate: 10}, - }, - }, - { - name: "start on 10s boundary and skip ahead 10s", - initial: metricRates{ - current: kvpb.TenantConsumptionRates{WriteBatchRate: 10, EstimatedCPURate: 20}, - next: kvpb.TenantConsumptionRates{WriteBatchRate: 20, EstimatedCPURate: 40}, - }, - now: time.Date(2023, 5, 27, 13, 0, 20, 0, time.UTC), - last: time.Date(2023, 5, 27, 13, 0, 10, 0, time.UTC), - consumption: kvpb.TenantConsumption{WriteBatches: 150, EstimatedCPUSeconds: 250}, - consumptionPeriod: 10 * time.Second, - expected: metricRates{ - current: kvpb.TenantConsumptionRates{WriteBatchRate: 20, EstimatedCPURate: 40}, - next: kvpb.TenantConsumptionRates{WriteBatchRate: 15, EstimatedCPURate: 25}, - }, - }, - { - name: "longer delta interval", - initial: metricRates{ - current: kvpb.TenantConsumptionRates{WriteBatchRate: 10, EstimatedCPURate: 20}, - next: kvpb.TenantConsumptionRates{WriteBatchRate: 20, EstimatedCPURate: 40}, - }, - now: time.Date(2023, 5, 27, 13, 0, 15, 0, time.UTC), - last: time.Date(2023, 5, 27, 13, 0, 10, 0, time.UTC), - consumption: kvpb.TenantConsumption{WriteBatches: 200, EstimatedCPUSeconds: 400}, - consumptionPeriod: 40 * time.Second, - expected: metricRates{ - current: kvpb.TenantConsumptionRates{WriteBatchRate: 15, EstimatedCPURate: 30}, - next: kvpb.TenantConsumptionRates{WriteBatchRate: 25, EstimatedCPURate: 50}, - }, - }, - { - name: "zero usage", - initial: metricRates{ - current: kvpb.TenantConsumptionRates{WriteBatchRate: 10, EstimatedCPURate: 20}, - next: kvpb.TenantConsumptionRates{WriteBatchRate: 20, EstimatedCPURate: 40}, - }, - now: time.Date(2023, 5, 27, 13, 0, 21, 0, time.UTC), - last: time.Date(2023, 5, 27, 13, 0, 15, 0, time.UTC), - consumption: kvpb.TenantConsumption{WriteBatches: 0, EstimatedCPUSeconds: 0}, - consumptionPeriod: 10 * time.Second, - expected: metricRates{ - current: kvpb.TenantConsumptionRates{WriteBatchRate: 20, EstimatedCPURate: 40}, - next: kvpb.TenantConsumptionRates{WriteBatchRate: 0, EstimatedCPURate: 0}, - }, - }, - { - name: "zero interval", - initial: metricRates{ - current: kvpb.TenantConsumptionRates{WriteBatchRate: 10, EstimatedCPURate: 20}, - next: kvpb.TenantConsumptionRates{WriteBatchRate: 20, EstimatedCPURate: 40}, - }, - now: time.Date(2023, 5, 27, 13, 0, 25, 0, time.UTC), - last: time.Date(2023, 5, 27, 13, 0, 21, 0, time.UTC), - consumption: kvpb.TenantConsumption{WriteBatches: 100, EstimatedCPUSeconds: 200}, - consumptionPeriod: 0, - expected: metricRates{ - current: kvpb.TenantConsumptionRates{WriteBatchRate: 10, EstimatedCPURate: 20}, - next: kvpb.TenantConsumptionRates{WriteBatchRate: 20, EstimatedCPURate: 40}, - }, - }, - } - - for _, test := range testCases { - t.Run(test.name, func(t *testing.T) { - rates := test.initial - rates.Update(test.now, test.last, &test.consumption, test.consumptionPeriod) - require.Equal(t, test.expected, rates) - }) - } -} diff --git a/pkg/ccl/multitenantccl/tenantcostserver/server_test.go b/pkg/ccl/multitenantccl/tenantcostserver/server_test.go index f5290c851b55..c0ae7764acbb 100644 --- a/pkg/ccl/multitenantccl/tenantcostserver/server_test.go +++ b/pkg/ccl/multitenantccl/tenantcostserver/server_test.go @@ -20,12 +20,10 @@ import ( "github.com/cockroachdb/cockroach/pkg/base" "github.com/cockroachdb/cockroach/pkg/ccl/multitenantccl/tenantcostserver" - "github.com/cockroachdb/cockroach/pkg/clusterversion" "github.com/cockroachdb/cockroach/pkg/kv" "github.com/cockroachdb/cockroach/pkg/kv/kvpb" "github.com/cockroachdb/cockroach/pkg/multitenant" "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/server" "github.com/cockroachdb/cockroach/pkg/sql/isql" "github.com/cockroachdb/cockroach/pkg/testutils" "github.com/cockroachdb/cockroach/pkg/testutils/datapathutils" @@ -39,8 +37,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/timeutil" "github.com/cockroachdb/datadriven" "github.com/cockroachdb/errors" - "github.com/cockroachdb/errors/errbase" - "github.com/stretchr/testify/require" "gopkg.in/yaml.v2" ) @@ -158,20 +154,17 @@ func (ts *testState) tokenBucketRequest(t *testing.T, d *datadriven.TestData) st WriteBatches uint64 `yaml:"write_batches"` WriteReq uint64 `yaml:"write_req"` WriteBytes uint64 `yaml:"write_bytes"` - SQLPodsCPUSeconds float64 `yaml:"sql_pods_cpu_seconds"` + SQLPodsCPUUsage float64 `yaml:"sql_pods_cpu_usage"` PGWireEgressBytes uint64 `yaml:"pgwire_egress_bytes"` ExternalIOIngressBytes uint64 `yaml:"external_io_ingress_bytes"` ExternalIOEgressBytes uint64 `yaml:"external_io_egress_bytes"` CrossRegionNetworkRU float64 `yaml:"cross_region_network_ru"` - EstimatedCPUSeconds float64 `yaml:"estimated_cpu_seconds"` } - ConsumptionPeriod string `yaml:"consumption_period"` - Tokens float64 `yaml:"tokens"` - RequestPeriod string `yaml:"request_period"` + RU float64 `yaml:"ru"` + Period string `yaml:"period"` } args.SeqNum = -1 - args.ConsumptionPeriod = "10s" - args.RequestPeriod = "10s" + args.Period = "10s" args.InstanceLease = "foo" if err := yaml.UnmarshalStrict([]byte(d.Input), &args); err != nil { d.Fatalf(t, "failed to parse request yaml: %v", err) @@ -181,13 +174,9 @@ func (ts *testState) tokenBucketRequest(t *testing.T, d *datadriven.TestData) st ts.autoSeqNum++ args.SeqNum = ts.autoSeqNum } - consumptionPeriod, err := time.ParseDuration(args.ConsumptionPeriod) + period, err := time.ParseDuration(args.Period) if err != nil { - d.Fatalf(t, "failed to parse duration: %v", args.ConsumptionPeriod) - } - requestPeriod, err := time.ParseDuration(args.RequestPeriod) - if err != nil { - d.Fatalf(t, "failed to parse duration: %v", args.RequestPeriod) + d.Fatalf(t, "failed to parse duration: %v", args.Period) } req := kvpb.TokenBucketRequest{ TenantID: tenantID, @@ -204,16 +193,14 @@ func (ts *testState) tokenBucketRequest(t *testing.T, d *datadriven.TestData) st WriteBatches: args.Consumption.WriteBatches, WriteRequests: args.Consumption.WriteReq, WriteBytes: args.Consumption.WriteBytes, - SQLPodsCPUSeconds: args.Consumption.SQLPodsCPUSeconds, + SQLPodsCPUSeconds: args.Consumption.SQLPodsCPUUsage, PGWireEgressBytes: args.Consumption.PGWireEgressBytes, ExternalIOIngressBytes: args.Consumption.ExternalIOIngressBytes, ExternalIOEgressBytes: args.Consumption.ExternalIOEgressBytes, CrossRegionNetworkRU: args.Consumption.CrossRegionNetworkRU, - EstimatedCPUSeconds: args.Consumption.EstimatedCPUSeconds, }, - ConsumptionPeriod: consumptionPeriod, - RequestedTokens: args.Tokens, - TargetRequestPeriod: requestPeriod, + RequestedRU: args.RU, + TargetRequestPeriod: period, } res := ts.tenantUsage.TokenBucketRequest( context.Background(), roachpb.MustMakeTenantID(tenantID), &req, @@ -221,9 +208,9 @@ func (ts *testState) tokenBucketRequest(t *testing.T, d *datadriven.TestData) st if res.Error != (errors.EncodedError{}) { return fmt.Sprintf("error: %v", errors.DecodeError(context.Background(), res.Error)) } - if res.GrantedTokens == 0 { + if res.GrantedRU == 0 { if res.TrickleDuration != 0 { - d.Fatalf(t, "trickle duration set with 0 granted tokens") + d.Fatalf(t, "trickle duration set with 0 granted RUs") } return "" } @@ -232,8 +219,8 @@ func (ts *testState) tokenBucketRequest(t *testing.T, d *datadriven.TestData) st trickleStr = fmt.Sprintf("over %s", res.TrickleDuration) } return fmt.Sprintf( - "%.10g tokens granted %s. Fallback rate: %.10g tokens/s\n", - res.GrantedTokens, trickleStr, res.FallbackRate, + "%.10g RUs granted %s. Fallback rate: %.10g RU/s\n", + res.GrantedRU, trickleStr, res.FallbackRate, ) } @@ -255,9 +242,10 @@ func (ts *testState) metrics(t *testing.T, d *datadriven.TestData) string { func (ts *testState) configure(t *testing.T, d *datadriven.TestData) string { tenantID := ts.tenantID(t, d) var args struct { - AvailableTokens float64 `yaml:"available_tokens"` - RefillRate float64 `yaml:"refill_rate"` - MaxBurstTokens float64 `yaml:"max_burst_tokens"` + AvailableRU float64 `yaml:"available_ru"` + RefillRate float64 `yaml:"refill_rate"` + MaxBurstRU float64 `yaml:"max_burst_ru"` + // TODO(radu): Add AsOf/AsOfConsumedRU. } if err := yaml.UnmarshalStrict([]byte(d.Input), &args); err != nil { d.Fatalf(t, "failed to parse request yaml: %v", err) @@ -270,9 +258,11 @@ func (ts *testState) configure(t *testing.T, d *datadriven.TestData) string { ctx, txn, roachpb.MustMakeTenantID(tenantID), - args.AvailableTokens, + args.AvailableRU, args.RefillRate, - args.MaxBurstTokens, + args.MaxBurstRU, + time.Time{}, + 0, ) }); err != nil { d.Fatalf(t, "reconfigure error: %v", err) @@ -409,88 +399,3 @@ func TestInstanceCleanup(t *testing.T) { } } } - -// TestPreMigration ensures that the token bucket works before the TenantRates -// migration has run and added columns to the system.tenant_usage table. -// TODO(andyk): Remove this after 24.3. -func TestPreMigration(t *testing.T) { - defer leaktest.AfterTest(t)() - - ctx := context.Background() - - // Set up a server that we use only for the system tables. - srv, db, kvDB := serverutils.StartServer(t, base.TestServerArgs{ - DefaultTestTenant: base.TestIsSpecificToStorageLayerAndNeedsASystemTenant, - Knobs: base.TestingKnobs{ - Server: &server.TestingKnobs{ - DisableAutomaticVersionUpgrade: make(chan struct{}), - ClusterVersionOverride: (clusterversion.V24_2_TenantRates - 1).Version(), - }, - }, - }) - defer srv.Stopper().Stop(context.Background()) - - s := srv.ApplicationLayer() - r := sqlutils.MakeSQLRunner(db) - - clock := timeutil.NewManualTime(t0) - tenantUsage := tenantcostserver.NewInstance( - s.ClusterSettings(), - kvDB, - s.InternalDB().(isql.DB), - clock, - ) - metricsReg := metric.NewRegistry() - metricsReg.AddMetricStruct(tenantUsage.Metrics()) - - r.Exec(t, "SELECT crdb_internal.create_tenant(10)") - - req := kvpb.TokenBucketRequest{ - TenantID: 10, - InstanceID: 1, - InstanceLease: []byte("foo"), - NextLiveInstanceID: 1, - SeqNum: 1, - ConsumptionSinceLastRequest: kvpb.TenantConsumption{ - RU: 10, - KVRU: 20, - ReadBatches: 30, - ReadRequests: 40, - ReadBytes: 50, - WriteBatches: 60, - WriteRequests: 70, - WriteBytes: 80, - SQLPodsCPUSeconds: 90, - PGWireEgressBytes: 100, - ExternalIOIngressBytes: 110, - ExternalIOEgressBytes: 120, - CrossRegionNetworkRU: 130, - }, - ConsumptionPeriod: 10 * time.Second, - RequestedTokens: 1000, - TargetRequestPeriod: 10 * time.Second, - } - - // Send the request twice with a delay so that consumption rates would have - // been calculated, if the migration had happened. Verify that the returned - // rate is zero, since we're simulation the case where the migration has not - // yet happened. - resp := tenantUsage.TokenBucketRequest( - context.Background(), roachpb.MustMakeTenantID(10), &req, - ) - if resp.Error.Error != nil { - require.NoError(t, errbase.DecodeError(ctx, resp.Error)) - } - - clock.Advance(10 * time.Second) - - req.SeqNum = 2 - resp = tenantUsage.TokenBucketRequest( - context.Background(), roachpb.MustMakeTenantID(10), &req, - ) - if resp.Error.Error != nil { - require.NoError(t, errbase.DecodeError(ctx, resp.Error)) - } - - require.Equal(t, float64(0), resp.ConsumptionRates.WriteBatchRate) -} diff --git a/pkg/ccl/multitenantccl/tenantcostserver/system_table.go b/pkg/ccl/multitenantccl/tenantcostserver/system_table.go index 1f18906d29d1..31bfc28aad4c 100644 --- a/pkg/ccl/multitenantccl/tenantcostserver/system_table.go +++ b/pkg/ccl/multitenantccl/tenantcostserver/system_table.go @@ -44,17 +44,18 @@ type tenantState struct { // Current consumption information. Consumption kvpb.TenantConsumption - - // Rates calculates rate of consumption for tenant metrics that are used - // by the cost model. - Rates metricRates } // defaultRefillRate is the default refill rate if it is never configured (via -// the crdb_internal.update_tenant_resource_limits SQL built-in). It's high -// enough that if it's not explicitly configured, there should be little or no -// throttling (e.g. for running unit tests). -const defaultRefillRate = 10000 +// the crdb_internal.update_tenant_resource_limits SQL built-in). +const defaultRefillRate = 100 + +// defaultInitialRUs is the default quantity of RUs available to use immediately +// if it is never configured (via the +// crdb_internal.update_tenant_resource_limits SQL built-in). +// This value is intended to prevent short-running unit tests from being +// throttled. +const defaultInitialRUs = 10 * 1000 * 1000 // maxInstancesCleanup restricts the number of stale instances that are removed // in a single transaction. @@ -69,7 +70,8 @@ func (ts *tenantState) update(now time.Time) { LastUpdate: tree.DTimestamp{Time: now}, FirstInstance: 0, Bucket: tenanttokenbucket.State{ - TokenRefillRate: defaultRefillRate, + RURefillRate: defaultRefillRate, + RUCurrent: defaultInitialRUs, }, } return @@ -98,9 +100,10 @@ type instanceState struct { // Lease uniquely identifies the instance; used to disambiguate different // incarnations of the same ID. Lease tree.DBytes - // Seq is a sequence number used to detect duplicate client requests. Seq int64 + // Shares term for this instance; see tenanttokenbucket.State. + Shares float64 } // sysTableHelper implements the interactions with the system.tenant_usage @@ -108,20 +111,12 @@ type instanceState struct { type sysTableHelper struct { ctx context.Context tenantID roachpb.TenantID - - // ratesAvailable is true if the current_rates and next_rates columns have - // been added to the tenant_usage table by the migration. - // TODO(andyk): Remove this after 24.3. - ratesAvailable bool } -func makeSysTableHelper( - ctx context.Context, tenantID roachpb.TenantID, ratesAvailable bool, -) sysTableHelper { +func makeSysTableHelper(ctx context.Context, tenantID roachpb.TenantID) sysTableHelper { return sysTableHelper{ - ctx: ctx, - tenantID: tenantID, - ratesAvailable: ratesAvailable, + ctx: ctx, + tenantID: tenantID, } } @@ -148,41 +143,25 @@ func (h *sysTableHelper) readTenantAndInstanceState( txn isql.Txn, instanceID base.SQLInstanceID, ) (tenant tenantState, instance instanceState, _ error) { instance.ID = instanceID - // Read the two rows for the per-tenant state (instance_id = 0) and the // per-instance state. - // The rates columns are only available once migration is complete. - rateCols := "NULL, NULL" - if h.ratesAvailable { - rateCols = "current_rates, next_rates" - } - query := fmt.Sprintf(`SELECT - instance_id, /* 0 */ - next_instance_id, /* 1 */ - last_update, /* 2 */ - ru_burst_limit, /* 3 */ - ru_refill_rate, /* 4 */ - ru_current, /* 5 */ - current_share_sum, /* 6 */ - total_consumption, /* 7 */ - %s, /* 8, 9 */ - instance_lease, /* 10 */ - instance_seq /* 11 */ - FROM system.tenant_usage - WHERE tenant_id = $1 AND instance_id IN (0, $2)`, rateCols) - - unmarshal := func(datum tree.Datum, pb protoutil.Message) error { - // Column can be null because of a tenant_usage table migration. - if datum == tree.DNull { - return nil - } - return protoutil.Unmarshal([]byte(tree.MustBeDBytes(datum)), pb) - } - rows, err := txn.QueryBufferedEx( h.ctx, "tenant-usage-select", txn.KV(), sessiondata.NodeUserSessionDataOverride, - query, + `SELECT + instance_id, /* 0 */ + next_instance_id, /* 1 */ + last_update, /* 2 */ + ru_burst_limit, /* 3 */ + ru_refill_rate, /* 4 */ + ru_current, /* 5 */ + current_share_sum, /* 6 */ + total_consumption, /* 7 */ + instance_lease, /* 8 */ + instance_seq, /* 9 */ + instance_shares /* 10 */ + FROM system.tenant_usage + WHERE tenant_id = $1 AND instance_id IN (0, $2)`, h.tenantID.ToUint64(), int64(instanceID), ) @@ -193,134 +172,136 @@ func (h *sysTableHelper) readTenantAndInstanceState( instanceID := base.SQLInstanceID(tree.MustBeDInt(r[0])) if instanceID == 0 { // Tenant state. - // NOTE: The current_share_sum column is mapped to the TokenCurrentAvg - // field. The RU fields are mapped to corresponding Token fields. + // NOTE: The current_share_sum column is mapped to the RUCurrentAvg + // field. tenant.Present = true tenant.LastUpdate = tree.MustBeDTimestamp(r[2]) tenant.FirstInstance = base.SQLInstanceID(tree.MustBeDInt(r[1])) tenant.Bucket = tenanttokenbucket.State{ - TokenBurstLimit: float64(tree.MustBeDFloat(r[3])), - TokenRefillRate: float64(tree.MustBeDFloat(r[4])), - TokenCurrent: float64(tree.MustBeDFloat(r[5])), - TokenCurrentAvg: float64(tree.MustBeDFloat(r[6])), - } - if err = unmarshal(r[7], &tenant.Consumption); err != nil { - return tenantState{}, instanceState{}, err - } - if err = unmarshal(r[8], &tenant.Rates.current); err != nil { - return tenantState{}, instanceState{}, err + RUBurstLimit: float64(tree.MustBeDFloat(r[3])), + RURefillRate: float64(tree.MustBeDFloat(r[4])), + RUCurrent: float64(tree.MustBeDFloat(r[5])), + RUCurrentAvg: float64(tree.MustBeDFloat(r[6])), } - if err = unmarshal(r[9], &tenant.Rates.next); err != nil { - return tenantState{}, instanceState{}, err + if consumption := r[7]; consumption != tree.DNull { + // total_consumption can be NULL because of an upgrade of the + // tenant_usage table. + if err := protoutil.Unmarshal( + []byte(tree.MustBeDBytes(consumption)), &tenant.Consumption, + ); err != nil { + return tenantState{}, instanceState{}, err + } } } else { // Instance state. instance.Present = true instance.LastUpdate = tree.MustBeDTimestamp(r[2]) instance.NextInstance = base.SQLInstanceID(tree.MustBeDInt(r[1])) - instance.Lease = tree.MustBeDBytes(r[10]) - instance.Seq = int64(tree.MustBeDInt(r[11])) + instance.Lease = tree.MustBeDBytes(r[8]) + instance.Seq = int64(tree.MustBeDInt(r[9])) + instance.Shares = float64(tree.MustBeDFloat(r[10])) } } return tenant, instance, nil } -// updateTenantState writes out updated tenant and instance states. -func (h *sysTableHelper) updateTenantAndInstanceState( - txn isql.Txn, tenant *tenantState, instance *instanceState, -) error { +// updateTenantState writes out an updated tenant state. +func (h *sysTableHelper) updateTenantState(txn isql.Txn, tenant tenantState) error { consumption, err := protoutil.Marshal(&tenant.Consumption) if err != nil { return err } + // Note: it is important that this UPSERT specifies all columns of the + // table, to allow it to perform "blind" writes. + // Note: The RUCurrentAvg field is mapped to the current_share_sum column. + _, err = txn.ExecEx( + h.ctx, "tenant-usage-upsert", txn.KV(), + sessiondata.NodeUserSessionDataOverride, + `UPSERT INTO system.tenant_usage( + tenant_id, + instance_id, + next_instance_id, + last_update, + ru_burst_limit, + ru_refill_rate, + ru_current, + current_share_sum, + total_consumption, + instance_lease, + instance_seq, + instance_shares + ) VALUES ($1, 0, $2, $3, $4, $5, $6, $7, $8, NULL, NULL, NULL) + `, + h.tenantID.ToUint64(), // $1 + int64(tenant.FirstInstance), // $2 + &tenant.LastUpdate, // $3 + tenant.Bucket.RUBurstLimit, // $4 + tenant.Bucket.RURefillRate, // $5 + tenant.Bucket.RUCurrent, // $6 + tenant.Bucket.RUCurrentAvg, // $7 + tree.NewDBytes(tree.DBytes(consumption)), // $8 + ) + return err +} - currentRates, err := protoutil.Marshal(&tenant.Rates.current) - if err != nil { - return err - } - - nextRates, err := protoutil.Marshal(&tenant.Rates.next) +// updateTenantState writes out updated tenant and instance states. +func (h *sysTableHelper) updateTenantAndInstanceState( + txn isql.Txn, tenant tenantState, instance instanceState, +) error { + consumption, err := protoutil.Marshal(&tenant.Consumption) if err != nil { return err } - - // The rates columns are only available once migration is complete. - ratesCols := "" - ratesPlaceholders := "" - nullVals := "" - if h.ratesAvailable { - ratesCols = "current_rates, next_rates," - ratesPlaceholders = "$9, $10," - nullVals = "NULL, NULL," - } - - query := fmt.Sprintf(`UPSERT INTO system.tenant_usage( - tenant_id, - instance_id, - next_instance_id, - last_update, - ru_burst_limit, - ru_refill_rate, - ru_current, - current_share_sum, - total_consumption, - %s - instance_lease, - instance_seq, - instance_shares - ) VALUES ($1, 0, $2, $3, $4, $5, $6, $7, $8, %s NULL, NULL, NULL) - `, ratesCols, ratesPlaceholders) - - args := []interface{}{ - h.tenantID.ToUint64(), // $1 - int64(tenant.FirstInstance), // $2 - &tenant.LastUpdate, // $3 - tenant.Bucket.TokenBurstLimit, // $4 - tenant.Bucket.TokenRefillRate, // $5 - tenant.Bucket.TokenCurrent, // $6 - tenant.Bucket.TokenCurrentAvg, // $7 - tree.NewDBytes(tree.DBytes(consumption)), // $8 - tree.NewDBytes(tree.DBytes(currentRates)), // $9 - tree.NewDBytes(tree.DBytes(nextRates)), // $10 - } - - if instance != nil { - // Insert an extra row for the instance. - query += fmt.Sprintf( - `, ($1, $11, $12, $13, NULL, NULL, NULL, NULL, NULL, %s $14, $15, 0.0)`, - nullVals) - - args = append(args, - int64(instance.ID), // $11 - int64(instance.NextInstance), // $12 - &instance.LastUpdate, // $13 - &instance.Lease, // $14 - instance.Seq, // $15 - ) - } - // Note: it is important that this UPSERT specifies all columns of the // table, to allow it to perform "blind" writes. - // Note: The TokenCurrentAvg field is mapped to the current_share_sum column - // and the other token fields are mapped to corresponding RU columns. + // Note: The RUCurrentAvg field is mapped to the current_share_sum column. _, err = txn.ExecEx( h.ctx, "tenant-usage-insert", txn.KV(), sessiondata.NodeUserSessionDataOverride, - query, - args..., + `UPSERT INTO system.tenant_usage( + tenant_id, + instance_id, + next_instance_id, + last_update, + ru_burst_limit, + ru_refill_rate, + ru_current, + current_share_sum, + total_consumption, + instance_lease, + instance_seq, + instance_shares + ) VALUES + ($1, 0, $2, $3, $4, $5, $6, $7, $8, NULL, NULL, NULL), + ($1, $9, $10, $11, NULL, NULL, NULL, NULL, NULL, $12, $13, $14) + `, + h.tenantID.ToUint64(), // $1 + int64(tenant.FirstInstance), // $2 + &tenant.LastUpdate, // $3 + tenant.Bucket.RUBurstLimit, // $4 + tenant.Bucket.RURefillRate, // $5 + tenant.Bucket.RUCurrent, // $6 + tenant.Bucket.RUCurrentAvg, // $7 + tree.NewDBytes(tree.DBytes(consumption)), // $8 + int64(instance.ID), // $9 + int64(instance.NextInstance), // $10 + &instance.LastUpdate, // $11 + &instance.Lease, // $12 + instance.Seq, // $13 + instance.Shares, // $14 ) return err } -// accommodateNewInstance is used when we are about to insert a new instance. It +// accomodateNewInstance is used when we are about to insert a new instance. It // sets instance.NextInstance and updates the previous instance's // next_instance_id in the table (or updates tenant.FirstInstance). // // Note that this should only happen after a SQL pod starts up (which is // infrequent). In addition, the SQL pod start-up process is not blocked on // tenant bucket requests (which happen in the background). -func (h *sysTableHelper) accommodateNewInstance( +func (h *sysTableHelper) accomodateNewInstance( txn isql.Txn, tenant *tenantState, instance *instanceState, ) error { if tenant.FirstInstance == 0 || tenant.FirstInstance > instance.ID { @@ -334,11 +315,12 @@ func (h *sysTableHelper) accommodateNewInstance( h.ctx, "find-prev-id", txn.KV(), sessiondata.NodeUserSessionDataOverride, `SELECT - instance_id, /* 0 */ + instance_id, /* 0 */ next_instance_id, /* 1 */ last_update, /* 2 */ instance_lease, /* 3 */ - instance_seq /* 4 */ + instance_seq, /* 4 */ + instance_shares /* 5 */ FROM system.tenant_usage WHERE tenant_id = $1 AND instance_id > 0 AND instance_id < $2 ORDER BY instance_id DESC @@ -357,6 +339,7 @@ func (h *sysTableHelper) accommodateNewInstance( prevInstanceLastUpdate := row[2] prevInstanceLease := row[3] prevInstanceSeq := row[4] + prevInstanceShares := row[5] // Update the previous instance: its next_instance_id is the new instance. // TODO(radu): consider coalescing this with updateTenantAndInstanceState to @@ -366,8 +349,8 @@ func (h *sysTableHelper) accommodateNewInstance( sessiondata.NodeUserSessionDataOverride, // Update the previous instance's next_instance_id. `UPSERT INTO system.tenant_usage( - tenant_id, - instance_id, + tenant_id, + instance_id, next_instance_id, last_update, ru_burst_limit, @@ -378,7 +361,7 @@ func (h *sysTableHelper) accommodateNewInstance( instance_lease, instance_seq, instance_shares - ) VALUES ($1, $2, $3, $4, NULL, NULL, NULL, NULL, NULL, $5, $6, 0.0) + ) VALUES ($1, $2, $3, $4, NULL, NULL, NULL, NULL, NULL, $5, $6, $7) `, h.tenantID.ToUint64(), // $1 int64(prevInstanceID), // $2 @@ -386,6 +369,7 @@ func (h *sysTableHelper) accommodateNewInstance( prevInstanceLastUpdate, // $4 prevInstanceLease, // $5 prevInstanceSeq, // $6 + prevInstanceShares, // $7 ) return err } @@ -471,7 +455,7 @@ func (h *sysTableHelper) checkInvariants(txn isql.Txn) error { h.ctx, "tenant-usage-select", txn.KV(), sessiondata.NodeUserSessionDataOverride, `SELECT - instance_id, /* 0 */ + instance_id, /* 0 */ next_instance_id, /* 1 */ last_update, /* 2 */ ru_burst_limit, /* 3 */ @@ -480,7 +464,8 @@ func (h *sysTableHelper) checkInvariants(txn isql.Txn) error { current_share_sum, /* 6 */ total_consumption, /* 7 */ instance_lease, /* 8 */ - instance_seq /* 9 */ + instance_seq, /* 9 */ + instance_shares /* 10 */ FROM system.tenant_usage WHERE tenant_id = $1 ORDER BY instance_id`, @@ -515,7 +500,7 @@ func (h *sysTableHelper) checkInvariants(txn isql.Txn) error { var nullFirst, nullLast int if i == 0 { // Row 0 should have NULL per-instance values. - nullFirst, nullLast = 8, 9 + nullFirst, nullLast = 8, 10 } else { // Other rows should have NULL per-tenant values. nullFirst, nullLast = 3, 7 @@ -557,7 +542,7 @@ func (h *sysTableHelper) checkInvariants(txn isql.Txn) error { func InspectTenantMetadata( ctx context.Context, txn isql.Txn, tenantID roachpb.TenantID, timeFormat string, ) (string, error) { - h := makeSysTableHelper(ctx, tenantID, true /* ratesAvailable */) + h := makeSysTableHelper(ctx, tenantID) tenant, err := h.readTenantState(txn) if err != nil { return "", err @@ -567,13 +552,13 @@ func InspectTenantMetadata( } var buf bytes.Buffer - fmt.Fprintf(&buf, "Bucket state: token-burst-limit=%g token-refill-rate=%g token-current=%.12g token-current-avg=%.12g\n", - tenant.Bucket.TokenBurstLimit, - tenant.Bucket.TokenRefillRate, - tenant.Bucket.TokenCurrent, - tenant.Bucket.TokenCurrentAvg, + fmt.Fprintf(&buf, "Bucket state: ru-burst-limit=%g ru-refill-rate=%g ru-current=%.12g ru-current-avg=%.12g\n", + tenant.Bucket.RUBurstLimit, + tenant.Bucket.RURefillRate, + tenant.Bucket.RUCurrent, + tenant.Bucket.RUCurrentAvg, ) - fmt.Fprintf(&buf, "Consumption: ru=%.12g kvru=%.12g reads=%d in %d batches (%d bytes) writes=%d in %d batches (%d bytes) pod-cpu-usage: %g secs pgwire-egress=%d bytes external-egress=%d bytes external-ingress=%d bytes estimated-cpu: %g secs\n", + fmt.Fprintf(&buf, "Consumption: ru=%.12g kvru=%.12g reads=%d in %d batches (%d bytes) writes=%d in %d batches (%d bytes) pod-cpu-usage: %g secs pgwire-egress=%d bytes external-egress=%d bytes external-ingress=%d bytes\n", tenant.Consumption.RU, tenant.Consumption.KVRU, tenant.Consumption.ReadRequests, @@ -586,11 +571,7 @@ func InspectTenantMetadata( tenant.Consumption.PGWireEgressBytes, tenant.Consumption.ExternalIOEgressBytes, tenant.Consumption.ExternalIOIngressBytes, - tenant.Consumption.EstimatedCPUSeconds, ) - fmt.Fprintf(&buf, "Rates: write-batches=%.12g,%.12g estimated-cpu=%.12g,%.12g\n", - tenant.Rates.current.WriteBatchRate, tenant.Rates.next.WriteBatchRate, - tenant.Rates.current.EstimatedCPURate, tenant.Rates.next.EstimatedCPURate) fmt.Fprintf(&buf, "Last update: %s\n", tenant.LastUpdate.Time.Format(timeFormat)) fmt.Fprintf(&buf, "First active instance: %d\n", tenant.FirstInstance) @@ -598,11 +579,12 @@ func InspectTenantMetadata( ctx, "inspect-tenant-state", txn.KV(), sessiondata.NodeUserSessionDataOverride, `SELECT - instance_id, /* 0 */ + instance_id, /* 0 */ next_instance_id, /* 1 */ last_update, /* 2 */ instance_lease, /* 3 */ - instance_seq /* 4 */ + instance_seq, /* 4 */ + instance_shares /* 5 */ FROM system.tenant_usage WHERE tenant_id = $1 AND instance_id > 0 ORDER BY instance_id`, @@ -613,8 +595,8 @@ func InspectTenantMetadata( } for _, r := range rows { fmt.Fprintf( - &buf, " Instance %s: lease=%q seq=%s next-instance=%s last-update=%s\n", - r[0], tree.MustBeDBytes(r[3]), r[4], r[1], tree.MustBeDTimestamp(r[2]).Time.Format(timeFormat), + &buf, " Instance %s: lease=%q seq=%s shares=%s next-instance=%s last-update=%s\n", + r[0], tree.MustBeDBytes(r[3]), r[4], r[5], r[1], tree.MustBeDTimestamp(r[2]).Time.Format(timeFormat), ) } return buf.String(), nil diff --git a/pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket/tenant_token_bucket.go b/pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket/tenant_token_bucket.go index e89aaf5acb8a..72842f8a52e0 100644 --- a/pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket/tenant_token_bucket.go +++ b/pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket/tenant_token_bucket.go @@ -22,49 +22,49 @@ import ( ) // movingAvgFactor is the weight applied to a new "sample" of the current number -// of tokens in the bucket (with one sample per Request call). +// of RUs in the bucket (with one sample per Request call). const movingAvgFactor = 0.25 // debtLimitMultiple is a multiple of the default debt limit (number of tokens // refilled in target period). This is used to allow grants that temporarily // exceed the default debt limit in the case where multiple tenant instances are -// competing and TokenCurrentAvg has not yet stabilized at a level that provides +// competing and RUCurrentAvg has not yet stabilized at a level that provides // the right grant size to each of them. const debtLimitMultiple = 1.5 // State of the distributed token bucket. type State struct { - // TokenBurstLimit is the burst limit in tokens. - TokenBurstLimit float64 + // RUBurstLimit is the burst limit in RUs. + RUBurstLimit float64 - // TokenRefillRate is the refill rate in tokens/second. - TokenRefillRate float64 + // RURefillRate is the refill rate in RUs/second. + RURefillRate float64 - // TokenCurrent is the available (burst) tokens. - TokenCurrent float64 + // RUCurrent is the available (burst) RUs. + RUCurrent float64 - // TokenCurrentAvg is the average number of (burst) tokens in the bucket when + // RUCurrentAvg is the average number of (burst) RUs in the bucket when // requests arrive. This is used to smooth out the size of trickle grants // made to competing tenant instances. // NOTE: This field is serialized as the current_share_sum column in the // system.tenant_usage table. That column is unused and reusing it avoids // a system table schema change. - TokenCurrentAvg float64 + RUCurrentAvg float64 } // fallbackRateTimeFrame is a time frame used to calculate a fallback rate. // // The fallback rate is used when the tenant can't get a TokenBucket request -// through. It is calculated so that all available (burst) tokens are used -// through this time period. We assume that this time frame is enough to react -// to and fix an infrastructure problem. +// through. It is calculated so that all available (burst) RUs are used through +// this time period. We assume that this time frame is enough to react to and +// fix an infrastructure problem. const fallbackRateTimeFrame = time.Hour // Update accounts for passing of time, replenishing tokens according to the // rate. func (s *State) Update(since time.Duration) { if since > 0 { - s.TokenCurrent += s.TokenRefillRate * since.Seconds() + s.RUCurrent += s.RURefillRate * since.Seconds() } s.clampToLimit() } @@ -76,35 +76,35 @@ func (s *State) Request( ) kvpb.TokenBucketResponse { var res kvpb.TokenBucketResponse - // Compute the exponential moving average (EMA) of the number of tokens in - // the bucket when Request is called. - s.TokenCurrentAvg = movingAvgFactor*s.TokenCurrent + (1-movingAvgFactor)*s.TokenCurrentAvg + // Compute the exponential moving average (EMA) of the number of RUs in the + // bucket when Request is called. + s.RUCurrentAvg = movingAvgFactor*s.RUCurrent + (1-movingAvgFactor)*s.RUCurrentAvg // Calculate the fallback rate. - res.FallbackRate = s.TokenRefillRate - if s.TokenCurrent > 0 { - res.FallbackRate += s.TokenCurrent / fallbackRateTimeFrame.Seconds() + res.FallbackRate = s.RURefillRate + if s.RUCurrent > 0 { + res.FallbackRate += s.RUCurrent / fallbackRateTimeFrame.Seconds() } if log.V(1) { log.Infof(ctx, "token bucket request (tenant=%d requested=%g current=%g, avg=%g)", - req.TenantID, req.RequestedTokens, s.TokenCurrent, s.TokenCurrentAvg) + req.TenantID, req.RequestedRU, s.RUCurrent, s.RUCurrentAvg) } - needed := req.RequestedTokens - if needed > s.TokenCurrent && s.TokenRefillRate == 0 { + needed := req.RequestedRU + if needed > s.RUCurrent && s.RURefillRate == 0 { // No way to refill tokens, so don't allow taking on debt. - needed = s.TokenCurrent + needed = s.RUCurrent } if needed <= 0 { // Grant zero tokens. return res } - if s.TokenCurrent >= needed { - s.TokenCurrent -= needed - res.GrantedTokens = needed + if s.RUCurrent >= needed { + s.RUCurrent -= needed + res.GrantedRU = needed if log.V(1) { - log.Infof(ctx, "request granted (tenant=%d remaining=%g)", req.TenantID, s.TokenCurrent) + log.Infof(ctx, "request granted (tenant=%d remaining=%g)", req.TenantID, s.RUCurrent) } return res } @@ -113,10 +113,10 @@ func (s *State) Request( // There are not enough tokens in the bucket, so take on debt and return a // trickle grant that needs to be consumed over the target request period. - if s.TokenCurrent > 0 { + if s.RUCurrent > 0 { // Consume remaining available tokens. - granted = s.TokenCurrent - needed -= s.TokenCurrent + granted = s.RUCurrent + needed -= s.RUCurrent } // The trickle grant algorithm tries to ensure that the rate of token grants @@ -128,44 +128,43 @@ func (s *State) Request( // at any given time, it may temporarily exceed it. // // The way this is accomplished is quite simple. We track the average number - // of tokens that are present in the bucket when Request is called - // (TokenCurrentAvg). This is typically a negative number, as the bucket will - // be in debt when trickle grants are made. The grant increases the average - // debt to the maximum allowed level - the number of tokens that would refill - // the bucket during the target request period. + // of request units that are present in the bucket when Request is called + // (RUCurrentAvg). This is typically a negative number, as the bucket will be + // in debt when trickle grants are made. The grant increases the average debt + // to the maximum allowed level - the number of tokens that would refill the + // bucket during the target request period. // - // As an example, say that TokenCurrentAvg starts at 0 and the refill rate is - // 1000 tokens/s. Tenant instance #1 requests 1000 tokens/s with a target - // request period of 10 seconds. It is granted the entire 1000 tokens/s rate - // with a 10-second trickle. Four seconds later, instance #2 also requests - // 1000 tokens/s. The bucket has -6000 tokens available, and TokenCurrentAvg - // is updated to the EMA of -6000 * 0.2 = -1200. Instance #2 is therefore - // granted 880 tokens/s. This temporarily exceeds the token bucket refill - // rate. However, over time the EMA will converge towards -5000 and each - // instance will get 500 tokens/s. - refill := req.TargetRequestPeriod.Seconds() * s.TokenRefillRate + // As an example, say that RUCurrentAvg starts at 0 and the refill rate is + // 1000 RU/s. Tenant instance #1 requests 1000 RU/s with a target request + // period of 10 seconds. It is granted the entire 1000 RU/s rate with a 10- + // second trickle. Four seconds later, instance #2 also requests 1000 RU/s. + // The bucket has -6000 RUs available, and RUCurrentAvg is updated to the + // EMA of -6000 * 0.2 = -1200. Instance #2 is therefore granted 880 RU/s. + // This temporarily exceeds the token bucket refill rate. However, over time + // the EMA will converge towards -5000 and each instance will get 500 RU/s. + refill := req.TargetRequestPeriod.Seconds() * s.RURefillRate available := refill - if debtAvg := -s.TokenCurrentAvg; debtAvg > 0 { - // Clamp available tokens to average. + if debtAvg := -s.RUCurrentAvg; debtAvg > 0 { + // Clamp available RUs to average. available -= debtAvg } - if debt := -s.TokenCurrent; debt > 0 { + if debt := -s.RUCurrent; debt > 0 { // Don't allow debt to exceed max limit. available = math.Min(available, refill*debtLimitMultiple-debt) } needed = math.Min(needed, math.Max(available, 0)) - // Compute the grant and adjust the current token balance. + // Compute the grant and adjust the current RU balance. granted += needed - s.TokenCurrent -= granted - res.GrantedTokens = granted + s.RUCurrent -= granted + res.GrantedRU = granted res.TrickleDuration = req.TargetRequestPeriod if log.V(1) { log.Infof(ctx, "request granted over time (tenant=%d granted=%g trickle=%s)", - req.TenantID, res.GrantedTokens, res.TrickleDuration) + req.TenantID, res.GrantedRU, res.TrickleDuration) } return res } @@ -174,39 +173,56 @@ func (s *State) Request( // // Arguments: // -// - availableTokens is the number of tokens that the tenant can consume at -// will. Also known as "burst tokens". If this is -1 (or any negative -// number), the bucket's available tokens are not updated. +// - availableRU is the amount of Request Units that the tenant can consume at +// will. Also known as "burst RUs". If this is -1 (or any negative number), +// the bucket's available tokens are not updated. // -// - refillRate is the amount of tokens per second that the tenant receives. -// If this is 0, the bucket does not refill on its own. +// - refillRate is the amount of Request Units per second that the tenant +// receives. If this is 0, the bucket does not refill on its own. // -// - maxBurstTokens is the maximum number of tokens that can be accumulated +// - maxBurstRU is the maximum amount of Request Units that can be accumulated // from the refill rate, or 0 if there is no limit. +// +// - asOf is a timestamp; the reconfiguration request is assumed to be based on +// the consumption at that time. This timestamp is used to compensate for any +// refill that would have happened in the meantime. +// +// - asOfConsumedRequestUnits is the total number of consumed RUs based on +// which the reconfiguration values were calculated (i.e. at the asOf time). +// It is used to adjust availableRU with the consumption that happened in the +// meantime. +// +// - now is the current time. +// +// - currentConsumedRequestUnits is the current total number of consumed RUs. func (s *State) Reconfigure( ctx context.Context, tenantID roachpb.TenantID, - availableTokens float64, + availableRU float64, refillRate float64, - maxBurstTokens float64, + maxBurstRU float64, + asOf time.Time, + asOfConsumedRequestUnits float64, + now time.Time, + currentConsumedRequestUnits float64, ) { - // TODO(radu): adjust available tokens according to asOf and asOfConsumedUnits + // TODO(radu): adjust available RUs according to asOf and asOfConsumedUnits // and add tests. - if availableTokens >= 0 { - s.TokenCurrent = availableTokens + if availableRU >= 0 { + s.RUCurrent = availableRU } - s.TokenRefillRate = refillRate - s.TokenBurstLimit = maxBurstTokens + s.RURefillRate = refillRate + s.RUBurstLimit = maxBurstRU s.clampToLimit() log.Infof( ctx, "token bucket for tenant %s reconfigured: available=%g refill-rate=%g burst-limit=%g", - tenantID.String(), s.TokenCurrent, s.TokenRefillRate, s.TokenBurstLimit, + tenantID.String(), s.RUCurrent, s.RURefillRate, s.RUBurstLimit, ) } -// clampToLimit limits current tokens in the bucket to the burst limit. +// clampToLimit limits current RUs in the bucket to the burst limit. func (s *State) clampToLimit() { - if s.TokenBurstLimit > 0 && s.TokenCurrent > s.TokenBurstLimit { - s.TokenCurrent = s.TokenBurstLimit + if s.RUBurstLimit > 0 && s.RUCurrent > s.RUBurstLimit { + s.RUCurrent = s.RUBurstLimit } } diff --git a/pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket/tenant_token_bucket_test.go b/pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket/tenant_token_bucket_test.go index 63a9aa36325a..a1e78cbfe4be 100644 --- a/pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket/tenant_token_bucket_test.go +++ b/pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket/tenant_token_bucket_test.go @@ -51,10 +51,10 @@ func (ts *testState) String() string { []string{ "Burst Limit: %.10g", "Refill Rate: %.10g", - "Current Tokens: %.10g", - "Average Tokens: %.10g", + "Current RUs: %.10g", + "Average RUs: %.10g", }, "\n"), - ts.TokenBurstLimit, ts.TokenRefillRate, ts.TokenCurrent, ts.TokenCurrentAvg, + ts.RUBurstLimit, ts.RURefillRate, ts.RUCurrent, ts.RUCurrentAvg, ) } @@ -74,7 +74,8 @@ func (ts *testState) reconfigure(t *testing.T, d *datadriven.TestData) string { d.Fatalf(t, "failed to unmarshal reconfigure values: %v", err) } ts.State.Reconfigure( - context.Background(), roachpb.TenantID{}, vals.Current, vals.Rate, vals.Limit) + context.Background(), roachpb.TenantID{}, vals.Current, vals.Rate, vals.Limit, + time.Time{}, 0, time.Time{}, 0) return ts.String() } @@ -94,7 +95,7 @@ func (ts *testState) update(t *testing.T, d *datadriven.TestData) string { func (ts *testState) request(t *testing.T, d *datadriven.TestData) string { var vals struct { - Tokens float64 + RU float64 Period string } vals.Period = "10s" @@ -102,21 +103,21 @@ func (ts *testState) request(t *testing.T, d *datadriven.TestData) string { d.Fatalf(t, "failed to unmarshal init values: %v", err) } req := kvpb.TokenBucketRequest{ - RequestedTokens: vals.Tokens, + RequestedRU: vals.RU, TargetRequestPeriod: parseDuration(t, d, vals.Period), } resp := ts.State.Request(context.Background(), &req) return fmt.Sprintf( strings.Join( []string{ - "Granted: %.10g tokens", + "Granted: %.10g RU", "Trickle duration: %s", - "Fallback rate: %.10g tokens/s", + "Fallback rate: %.10g RU/s", "%s", }, "\n", ), - resp.GrantedTokens, + resp.GrantedRU, resp.TrickleDuration, resp.FallbackRate, ts.String(), diff --git a/pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket/testdata/fallback b/pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket/testdata/fallback index de836276779a..e30df4ac99ec 100644 --- a/pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket/testdata/fallback +++ b/pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket/testdata/fallback @@ -7,20 +7,20 @@ current: 0 ---- Burst Limit: 1000 Refill Rate: 1000 -Current Tokens: 0 -Average Tokens: 0 +Current RUs: 0 +Average RUs: 0 # Fallback rate should be just the base rate 1000. request -tokens: 10 +ru: 10 ---- -Granted: 10 tokens +Granted: 10 RU Trickle duration: 10s -Fallback rate: 1000 tokens/s +Fallback rate: 1000 RU/s Burst Limit: 1000 Refill Rate: 1000 -Current Tokens: -10 -Average Tokens: 0 +Current RUs: -10 +Average RUs: 0 reconfigure limit: 5000000 @@ -29,17 +29,17 @@ current: 3600000 ---- Burst Limit: 5000000 Refill Rate: 500 -Current Tokens: 3600000 -Average Tokens: 0 +Current RUs: 3600000 +Average RUs: 0 # Fallback rate should be the base rate 500 plus 1000. request -tokens: 10 +ru: 10 ---- -Granted: 10 tokens +Granted: 10 RU Trickle duration: 0s -Fallback rate: 1500 tokens/s +Fallback rate: 1500 RU/s Burst Limit: 5000000 Refill Rate: 500 -Current Tokens: 3599990 -Average Tokens: 900000 +Current RUs: 3599990 +Average RUs: 900000 diff --git a/pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket/testdata/reconfigure b/pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket/testdata/reconfigure index 3a3853852972..925b63cd0a64 100644 --- a/pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket/testdata/reconfigure +++ b/pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket/testdata/reconfigure @@ -6,8 +6,8 @@ current: 100 ---- Burst Limit: 50 Refill Rate: 100 -Current Tokens: 50 -Average Tokens: 0 +Current RUs: 50 +Average RUs: 0 # Ensure that update respects the limit. update @@ -15,33 +15,33 @@ update ---- Burst Limit: 50 Refill Rate: 100 -Current Tokens: 50 -Average Tokens: 0 +Current RUs: 50 +Average RUs: 0 # Request tokens and go into debt. request -tokens: 100 +ru: 100 ---- -Granted: 100 tokens +Granted: 100 RU Trickle duration: 10s -Fallback rate: 100.0138889 tokens/s +Fallback rate: 100.0138889 RU/s Burst Limit: 50 Refill Rate: 100 -Current Tokens: -50 -Average Tokens: 12.5 +Current RUs: -50 +Average RUs: 12.5 request -tokens: 100 +ru: 100 ---- -Granted: 100 tokens +Granted: 100 RU Trickle duration: 10s -Fallback rate: 100 tokens/s +Fallback rate: 100 RU/s Burst Limit: 50 Refill Rate: 100 -Current Tokens: -150 -Average Tokens: -3.125 +Current RUs: -150 +Average RUs: -3.125 -# Update limit, but don't update current Tokens. +# Update limit, but don't update current RUs. reconfigure limit: 100 rate: 100 @@ -49,8 +49,8 @@ current: -1 ---- Burst Limit: 100 Refill Rate: 100 -Current Tokens: -150 -Average Tokens: -3.125 +Current RUs: -150 +Average RUs: -3.125 # Ensure that update respects the burst limit. update @@ -58,8 +58,8 @@ update ---- Burst Limit: 100 Refill Rate: 100 -Current Tokens: 100 -Average Tokens: -3.125 +Current RUs: 100 +Average RUs: -3.125 # No token refill, set current. reconfigure @@ -69,19 +69,19 @@ current: 5000000 ---- Burst Limit: 5000000 Refill Rate: 0 -Current Tokens: 5000000 -Average Tokens: -3.125 +Current RUs: 5000000 +Average RUs: -3.125 request -tokens: 1000000 +ru: 1000000 ---- -Granted: 1000000 tokens +Granted: 1000000 RU Trickle duration: 0s -Fallback rate: 1388.888889 tokens/s +Fallback rate: 1388.888889 RU/s Burst Limit: 5000000 Refill Rate: 0 -Current Tokens: 4000000 -Average Tokens: 1249997.656 +Current RUs: 4000000 +Average RUs: 1249997.656 # Limit of 0 = unlimited. reconfigure @@ -91,13 +91,13 @@ current: -1 ---- Burst Limit: 0 Refill Rate: 1000000 -Current Tokens: 4000000 -Average Tokens: 1249997.656 +Current RUs: 4000000 +Average RUs: 1249997.656 update 10s ---- Burst Limit: 0 Refill Rate: 1000000 -Current Tokens: 14000000 -Average Tokens: 1249997.656 +Current RUs: 14000000 +Average RUs: 1249997.656 diff --git a/pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket/testdata/request b/pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket/testdata/request index 072ce77f1b6e..330ec5b7a909 100644 --- a/pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket/testdata/request +++ b/pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket/testdata/request @@ -5,68 +5,68 @@ current: 1000 ---- Burst Limit: 1000 Refill Rate: 100 -Current Tokens: 1000 -Average Tokens: 0 +Current RUs: 1000 +Average RUs: 0 request -tokens: 10 +ru: 10 ---- -Granted: 10 tokens +Granted: 10 RU Trickle duration: 0s -Fallback rate: 100.2777778 tokens/s +Fallback rate: 100.2777778 RU/s Burst Limit: 1000 Refill Rate: 100 -Current Tokens: 990 -Average Tokens: 250 +Current RUs: 990 +Average RUs: 250 request -tokens: 890 +ru: 890 ---- -Granted: 890 tokens +Granted: 890 RU Trickle duration: 0s -Fallback rate: 100.275 tokens/s +Fallback rate: 100.275 RU/s Burst Limit: 1000 Refill Rate: 100 -Current Tokens: 100 -Average Tokens: 435 +Current RUs: 100 +Average RUs: 435 # Go into debt. request -tokens: 200 +ru: 200 ---- -Granted: 200 tokens +Granted: 200 RU Trickle duration: 10s -Fallback rate: 100.0277778 tokens/s +Fallback rate: 100.0277778 RU/s Burst Limit: 1000 Refill Rate: 100 -Current Tokens: -100 -Average Tokens: 351.25 +Current RUs: -100 +Average RUs: 351.25 # Request a very large value. We only grant what we get over the next request # period (10s by default). request -tokens: 10000 +ru: 10000 ---- -Granted: 1000 tokens +Granted: 1000 RU Trickle duration: 10s -Fallback rate: 100 tokens/s +Fallback rate: 100 RU/s Burst Limit: 1000 Refill Rate: 100 -Current Tokens: -1100 -Average Tokens: 238.4375 +Current RUs: -1100 +Average RUs: 238.4375 # Try to request enough that we hit max debt levels. Note that we're temporarily -# giving out more than the configured rate while Average Tokens stabilizes. +# giving out more than the configured rate while Average RUs stabilizes. request -tokens: 1000 +ru: 1000 ---- -Granted: 400 tokens +Granted: 400 RU Trickle duration: 10s -Fallback rate: 100 tokens/s +Fallback rate: 100 RU/s Burst Limit: 1000 Refill Rate: 100 -Current Tokens: -1500 -Average Tokens: -96.171875 +Current RUs: -1500 +Average RUs: -96.171875 # Fast-forward 10 seconds. update @@ -74,32 +74,32 @@ update ---- Burst Limit: 1000 Refill Rate: 100 -Current Tokens: -500 -Average Tokens: -96.171875 +Current RUs: -500 +Average RUs: -96.171875 -# Make a request that is limited by average Tokens. +# Make a request that is limited by average RUs. request -tokens: 1000 +ru: 1000 ---- -Granted: 802.8710938 tokens +Granted: 802.8710938 RU Trickle duration: 10s -Fallback rate: 100 tokens/s +Fallback rate: 100 RU/s Burst Limit: 1000 Refill Rate: 100 -Current Tokens: -1302.871094 -Average Tokens: -197.1289062 +Current RUs: -1302.871094 +Average RUs: -197.1289062 # Make another request that should be granted. request -tokens: 100 +ru: 100 ---- -Granted: 100 tokens +Granted: 100 RU Trickle duration: 10s -Fallback rate: 100 tokens/s +Fallback rate: 100 RU/s Burst Limit: 1000 Refill Rate: 100 -Current Tokens: -1402.871094 -Average Tokens: -473.5644531 +Current RUs: -1402.871094 +Average RUs: -473.5644531 # Fast-forward 10 seconds. update @@ -107,40 +107,40 @@ update ---- Burst Limit: 1000 Refill Rate: 100 -Current Tokens: -402.8710938 -Average Tokens: -473.5644531 +Current RUs: -402.8710938 +Average RUs: -473.5644531 request -tokens: 100 +ru: 100 ---- -Granted: 100 tokens +Granted: 100 RU Trickle duration: 10s -Fallback rate: 100 tokens/s +Fallback rate: 100 RU/s Burst Limit: 1000 Refill Rate: 100 -Current Tokens: -502.8710938 -Average Tokens: -455.8911133 +Current RUs: -502.8710938 +Average RUs: -455.8911133 update 10s ---- Burst Limit: 1000 Refill Rate: 100 -Current Tokens: 497.1289062 -Average Tokens: -455.8911133 +Current RUs: 497.1289062 +Average RUs: -455.8911133 request -tokens: 500 +ru: 500 ---- -Granted: 500 tokens +Granted: 500 RU Trickle duration: 10s -Fallback rate: 100.1380914 tokens/s +Fallback rate: 100.1380914 RU/s Burst Limit: 1000 Refill Rate: 100 -Current Tokens: -2.87109375 -Average Tokens: -217.6361084 +Current RUs: -2.87109375 +Average RUs: -217.6361084 -# No token refill, don't update current Tokens. +# No token refill, don't update current RUs. reconfigure limit: 1000 rate: 0 @@ -148,17 +148,17 @@ current: -1 ---- Burst Limit: 1000 Refill Rate: 0 -Current Tokens: -2.87109375 -Average Tokens: -217.6361084 +Current RUs: -2.87109375 +Average RUs: -217.6361084 # Try to request tokens, expect 0 grant. request -tokens: 100 +ru: 100 ---- -Granted: 0 tokens +Granted: 0 RU Trickle duration: 0s -Fallback rate: 0 tokens/s +Fallback rate: 0 RU/s Burst Limit: 1000 Refill Rate: 0 -Current Tokens: -2.87109375 -Average Tokens: -163.9448547 +Current RUs: -2.87109375 +Average RUs: -163.9448547 diff --git a/pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket/testdata/update b/pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket/testdata/update index 459ab312a322..bd67db946749 100644 --- a/pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket/testdata/update +++ b/pkg/ccl/multitenantccl/tenantcostserver/tenanttokenbucket/testdata/update @@ -4,48 +4,48 @@ rate: 1000 ---- Burst Limit: 1000000000 Refill Rate: 1000 -Current Tokens: 0 -Average Tokens: 0 +Current RUs: 0 +Average RUs: 0 update 1s ---- Burst Limit: 1000000000 Refill Rate: 1000 -Current Tokens: 1000 -Average Tokens: 0 +Current RUs: 1000 +Average RUs: 0 update 0s ---- Burst Limit: 1000000000 Refill Rate: 1000 -Current Tokens: 1000 -Average Tokens: 0 +Current RUs: 1000 +Average RUs: 0 update -5s ---- Burst Limit: 1000000000 Refill Rate: 1000 -Current Tokens: 1000 -Average Tokens: 0 +Current RUs: 1000 +Average RUs: 0 update 10s ---- Burst Limit: 1000000000 Refill Rate: 1000 -Current Tokens: 11000 -Average Tokens: 0 +Current RUs: 11000 +Average RUs: 0 update 72h ---- Burst Limit: 1000000000 Refill Rate: 1000 -Current Tokens: 259211000 -Average Tokens: 0 +Current RUs: 259211000 +Average RUs: 0 reconfigure limit: 10000 @@ -54,13 +54,13 @@ current: 1234 ---- Burst Limit: 10000 Refill Rate: 10 -Current Tokens: 1234 -Average Tokens: 0 +Current RUs: 1234 +Average RUs: 0 update 10s ---- Burst Limit: 10000 Refill Rate: 10 -Current Tokens: 1334 -Average Tokens: 0 +Current RUs: 1334 +Average RUs: 0 diff --git a/pkg/ccl/multitenantccl/tenantcostserver/testdata/cleanup b/pkg/ccl/multitenantccl/tenantcostserver/testdata/cleanup index 765885541f7c..6de524a6372d 100644 --- a/pkg/ccl/multitenantccl/tenantcostserver/testdata/cleanup +++ b/pkg/ccl/multitenantccl/tenantcostserver/testdata/cleanup @@ -21,15 +21,14 @@ instance_id: 9 inspect tenant=5 ---- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=0 token-current-avg=0 -Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 0 secs -Rates: write-batches=0,0 estimated-cpu=0,0 +Bucket state: ru-burst-limit=0 ru-refill-rate=100 ru-current=10000000 ru-current-avg=6835937.5 +Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:00:00.000 First active instance: 3 - Instance 3: lease="foo" seq=2 next-instance=5 last-update=00:00:00.000 - Instance 5: lease="foo" seq=3 next-instance=7 last-update=00:00:00.000 - Instance 7: lease="foo" seq=1 next-instance=9 last-update=00:00:00.000 - Instance 9: lease="foo" seq=4 next-instance=0 last-update=00:00:00.000 + Instance 3: lease="foo" seq=2 shares=0.0 next-instance=5 last-update=00:00:00.000 + Instance 5: lease="foo" seq=3 shares=0.0 next-instance=7 last-update=00:00:00.000 + Instance 7: lease="foo" seq=1 shares=0.0 next-instance=9 last-update=00:00:00.000 + Instance 9: lease="foo" seq=4 shares=0.0 next-instance=0 last-update=00:00:00.000 create-tenant tenant=13 ---- @@ -48,14 +47,13 @@ instance_id: 3 inspect tenant=13 ---- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=0 token-current-avg=0 -Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 0 secs -Rates: write-batches=0,0 estimated-cpu=0,0 +Bucket state: ru-burst-limit=0 ru-refill-rate=100 ru-current=10000000 ru-current-avg=5781250 +Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:00:00.000 First active instance: 2 - Instance 2: lease="foo" seq=5 next-instance=3 last-update=00:00:00.000 - Instance 3: lease="foo" seq=7 next-instance=8 last-update=00:00:00.000 - Instance 8: lease="foo" seq=6 next-instance=0 last-update=00:00:00.000 + Instance 2: lease="foo" seq=5 shares=0.0 next-instance=3 last-update=00:00:00.000 + Instance 3: lease="foo" seq=7 shares=0.0 next-instance=8 last-update=00:00:00.000 + Instance 8: lease="foo" seq=6 shares=0.0 next-instance=0 last-update=00:00:00.000 # Set up another tenant to verify that the cleanup of one tenant does not # affect another tenant. @@ -75,14 +73,13 @@ next_live_instance_id: 9 wait-inspect tenant=5 ---- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=3000000 token-current-avg=750000 -Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 0 secs -Rates: write-batches=0,0 estimated-cpu=0,0 +Bucket state: ru-burst-limit=0 ru-refill-rate=100 ru-current=10030000 ru-current-avg=7634453.125 +Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:05:00.000 First active instance: 3 - Instance 3: lease="foo" seq=2 next-instance=5 last-update=00:00:00.000 - Instance 5: lease="foo" seq=8 next-instance=9 last-update=00:05:00.000 - Instance 9: lease="foo" seq=4 next-instance=0 last-update=00:00:00.000 + Instance 3: lease="foo" seq=2 shares=0.0 next-instance=5 last-update=00:00:00.000 + Instance 5: lease="foo" seq=8 shares=0.0 next-instance=9 last-update=00:05:00.000 + Instance 9: lease="foo" seq=4 shares=0.0 next-instance=0 last-update=00:00:00.000 advance 5m @@ -97,14 +94,13 @@ next_live_instance_id: 3 wait-inspect tenant=5 ---- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=6000000 token-current-avg=2062500 -Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 0 secs -Rates: write-batches=0,0 estimated-cpu=0,0 +Bucket state: ru-burst-limit=0 ru-refill-rate=100 ru-current=10060000 ru-current-avg=8240839.84375 +Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:10:00.000 First active instance: 3 - Instance 3: lease="foo" seq=2 next-instance=5 last-update=00:00:00.000 - Instance 5: lease="foo" seq=8 next-instance=8 last-update=00:05:00.000 - Instance 8: lease="foo" seq=9 next-instance=0 last-update=00:10:00.000 + Instance 3: lease="foo" seq=2 shares=0.0 next-instance=5 last-update=00:00:00.000 + Instance 5: lease="foo" seq=8 shares=0.0 next-instance=8 last-update=00:05:00.000 + Instance 8: lease="foo" seq=9 shares=0.0 next-instance=0 last-update=00:10:00.000 advance 5m @@ -119,20 +115,18 @@ next_live_instance_id: 5 wait-inspect tenant=5 ---- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=9000000 token-current-avg=3796875 -Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 0 secs -Rates: write-batches=0,0 estimated-cpu=0,0 +Bucket state: ru-burst-limit=0 ru-refill-rate=100 ru-current=10090000 ru-current-avg=8703129.88281 +Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:15:00.000 First active instance: 5 - Instance 5: lease="foo" seq=10 next-instance=0 last-update=00:15:00.000 + Instance 5: lease="foo" seq=10 shares=0.0 next-instance=0 last-update=00:15:00.000 inspect tenant=13 ---- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=0 token-current-avg=0 -Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 0 secs -Rates: write-batches=0,0 estimated-cpu=0,0 +Bucket state: ru-burst-limit=0 ru-refill-rate=100 ru-current=10000000 ru-current-avg=5781250 +Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:00:00.000 First active instance: 2 - Instance 2: lease="foo" seq=5 next-instance=3 last-update=00:00:00.000 - Instance 3: lease="foo" seq=7 next-instance=8 last-update=00:00:00.000 - Instance 8: lease="foo" seq=6 next-instance=0 last-update=00:00:00.000 + Instance 2: lease="foo" seq=5 shares=0.0 next-instance=3 last-update=00:00:00.000 + Instance 3: lease="foo" seq=7 shares=0.0 next-instance=8 last-update=00:00:00.000 + Instance 8: lease="foo" seq=6 shares=0.0 next-instance=0 last-update=00:00:00.000 diff --git a/pkg/ccl/multitenantccl/tenantcostserver/testdata/configure b/pkg/ccl/multitenantccl/tenantcostserver/testdata/configure index d80a28c52a04..f6eab2f7d49c 100644 --- a/pkg/ccl/multitenantccl/tenantcostserver/testdata/configure +++ b/pkg/ccl/multitenantccl/tenantcostserver/testdata/configure @@ -10,16 +10,15 @@ inspect tenant=5 empty state configure tenant=5 -available_tokens: 1000 +available_ru: 1000 refill_rate: 100 -max_burst_tokens: 5000 +max_burst_ru: 5000 ---- inspect tenant=5 ---- -Bucket state: token-burst-limit=5000 token-refill-rate=100 token-current=1000 token-current-avg=0 -Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 0 secs -Rates: write-batches=0,0 estimated-cpu=0,0 +Bucket state: ru-burst-limit=5000 ru-refill-rate=100 ru-current=1000 ru-current-avg=0 +Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:00:00.000 First active instance: 0 @@ -34,18 +33,17 @@ consumption: write_batches: 2 write_req: 40 write_bytes: 50 - sql_pods_cpu_seconds: 60 + sql_pods_cpu_usage: 60 pgwire_egress_bytes: 70 ---- inspect tenant=5 ---- -Bucket state: token-burst-limit=5000 token-refill-rate=100 token-current=1000 token-current-avg=250 -Consumption: ru=10 kvru=10 reads=20 in 2 batches (30 bytes) writes=40 in 2 batches (50 bytes) pod-cpu-usage: 60 secs pgwire-egress=70 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 0 secs -Rates: write-batches=0,0.2 estimated-cpu=0,0 +Bucket state: ru-burst-limit=5000 ru-refill-rate=100 ru-current=1000 ru-current-avg=250 +Consumption: ru=10 kvru=10 reads=20 in 2 batches (30 bytes) writes=40 in 2 batches (50 bytes) pod-cpu-usage: 60 secs pgwire-egress=70 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:00:00.000 First active instance: 1 - Instance 1: lease="foo" seq=1 next-instance=0 last-update=00:00:00.000 + Instance 1: lease="foo" seq=1 shares=0.0 next-instance=0 last-update=00:00:00.000 advance 1m @@ -53,15 +51,14 @@ advance 00:01:00.000 configure tenant=5 -available_tokens: 2000 +available_ru: 2000 refill_rate: 100 ---- inspect tenant=5 ---- -Bucket state: token-burst-limit=0 token-refill-rate=100 token-current=2000 token-current-avg=250 -Consumption: ru=10 kvru=10 reads=20 in 2 batches (30 bytes) writes=40 in 2 batches (50 bytes) pod-cpu-usage: 60 secs pgwire-egress=70 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 0 secs -Rates: write-batches=0,0.2 estimated-cpu=0,0 +Bucket state: ru-burst-limit=0 ru-refill-rate=100 ru-current=2000 ru-current-avg=250 +Consumption: ru=10 kvru=10 reads=20 in 2 batches (30 bytes) writes=40 in 2 batches (50 bytes) pod-cpu-usage: 60 secs pgwire-egress=70 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:01:00.000 First active instance: 1 - Instance 1: lease="foo" seq=1 next-instance=0 last-update=00:00:00.000 + Instance 1: lease="foo" seq=1 shares=0.0 next-instance=0 last-update=00:00:00.000 diff --git a/pkg/ccl/multitenantccl/tenantcostserver/testdata/instances b/pkg/ccl/multitenantccl/tenantcostserver/testdata/instances index 4b622c5e4b2c..980b2e55e265 100644 --- a/pkg/ccl/multitenantccl/tenantcostserver/testdata/instances +++ b/pkg/ccl/multitenantccl/tenantcostserver/testdata/instances @@ -17,12 +17,11 @@ instance_id: 10 inspect tenant=5 ---- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=0 token-current-avg=0 -Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 0 secs -Rates: write-batches=0,0 estimated-cpu=0,0 +Bucket state: ru-burst-limit=0 ru-refill-rate=100 ru-current=10000000 ru-current-avg=2500000 +Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:00:00.000 First active instance: 10 - Instance 10: lease="foo" seq=1 next-instance=0 last-update=00:00:00.000 + Instance 10: lease="foo" seq=1 shares=0.0 next-instance=0 last-update=00:00:00.000 token-bucket-request tenant=5 instance_id: 10 @@ -30,12 +29,11 @@ instance_id: 10 inspect tenant=5 ---- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=0 token-current-avg=0 -Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 0 secs -Rates: write-batches=0,0 estimated-cpu=0,0 +Bucket state: ru-burst-limit=0 ru-refill-rate=100 ru-current=10000000 ru-current-avg=4375000 +Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:00:00.000 First active instance: 10 - Instance 10: lease="foo" seq=2 next-instance=0 last-update=00:00:00.000 + Instance 10: lease="foo" seq=2 shares=0.0 next-instance=0 last-update=00:00:00.000 token-bucket-request tenant=5 instance_id: 20 @@ -43,13 +41,12 @@ instance_id: 20 inspect tenant=5 ---- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=0 token-current-avg=0 -Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 0 secs -Rates: write-batches=0,0 estimated-cpu=0,0 +Bucket state: ru-burst-limit=0 ru-refill-rate=100 ru-current=10000000 ru-current-avg=5781250 +Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:00:00.000 First active instance: 10 - Instance 10: lease="foo" seq=2 next-instance=20 last-update=00:00:00.000 - Instance 20: lease="foo" seq=3 next-instance=0 last-update=00:00:00.000 + Instance 10: lease="foo" seq=2 shares=0.0 next-instance=20 last-update=00:00:00.000 + Instance 20: lease="foo" seq=3 shares=0.0 next-instance=0 last-update=00:00:00.000 token-bucket-request tenant=5 instance_id: 15 @@ -57,14 +54,13 @@ instance_id: 15 inspect tenant=5 ---- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=0 token-current-avg=0 -Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 0 secs -Rates: write-batches=0,0 estimated-cpu=0,0 +Bucket state: ru-burst-limit=0 ru-refill-rate=100 ru-current=10000000 ru-current-avg=6835937.5 +Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:00:00.000 First active instance: 10 - Instance 10: lease="foo" seq=2 next-instance=15 last-update=00:00:00.000 - Instance 15: lease="foo" seq=4 next-instance=20 last-update=00:00:00.000 - Instance 20: lease="foo" seq=3 next-instance=0 last-update=00:00:00.000 + Instance 10: lease="foo" seq=2 shares=0.0 next-instance=15 last-update=00:00:00.000 + Instance 15: lease="foo" seq=4 shares=0.0 next-instance=20 last-update=00:00:00.000 + Instance 20: lease="foo" seq=3 shares=0.0 next-instance=0 last-update=00:00:00.000 token-bucket-request tenant=5 instance_id: 1 @@ -72,12 +68,11 @@ instance_id: 1 inspect tenant=5 ---- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=0 token-current-avg=0 -Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 0 secs -Rates: write-batches=0,0 estimated-cpu=0,0 +Bucket state: ru-burst-limit=0 ru-refill-rate=100 ru-current=10000000 ru-current-avg=7626953.125 +Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:00:00.000 First active instance: 1 - Instance 1: lease="foo" seq=5 next-instance=10 last-update=00:00:00.000 - Instance 10: lease="foo" seq=2 next-instance=15 last-update=00:00:00.000 - Instance 15: lease="foo" seq=4 next-instance=20 last-update=00:00:00.000 - Instance 20: lease="foo" seq=3 next-instance=0 last-update=00:00:00.000 + Instance 1: lease="foo" seq=5 shares=0.0 next-instance=10 last-update=00:00:00.000 + Instance 10: lease="foo" seq=2 shares=0.0 next-instance=15 last-update=00:00:00.000 + Instance 15: lease="foo" seq=4 shares=0.0 next-instance=20 last-update=00:00:00.000 + Instance 20: lease="foo" seq=3 shares=0.0 next-instance=0 last-update=00:00:00.000 diff --git a/pkg/ccl/multitenantccl/tenantcostserver/testdata/metrics b/pkg/ccl/multitenantccl/tenantcostserver/testdata/metrics index 3c700abc0b6b..2a3e5e1ff07e 100644 --- a/pkg/ccl/multitenantccl/tenantcostserver/testdata/metrics +++ b/pkg/ccl/multitenantccl/tenantcostserver/testdata/metrics @@ -12,10 +12,9 @@ consumption: write_batches: 3 write_req: 40 write_bytes: 50 - sql_pods_cpu_seconds: 60 + sql_pods_cpu_usage: 60 pgwire_egress_bytes: 70 cross_region_network_ru: 80 - estimated_cpu_seconds: 90 ---- metrics @@ -46,10 +45,9 @@ consumption: write_batches: 30 write_req: 400 write_bytes: 500 - sql_pods_cpu_seconds: 600 + sql_pods_cpu_usage: 600 pgwire_egress_bytes: 700 cross_region_network_ru: 800 - estimated_cpu_seconds: 900 ---- token-bucket-request tenant=5 @@ -63,21 +61,19 @@ consumption: write_batches: 300 write_req: 4000 write_bytes: 5000 - sql_pods_cpu_seconds: 6000 + sql_pods_cpu_usage: 6000 pgwire_egress_bytes: 7000 cross_region_network_ru: 8000 - estimated_cpu_seconds: 9000 ---- inspect tenant=5 ---- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=0 token-current-avg=0 -Consumption: ru=1110 kvru=888 reads=2220 in 222 batches (3330 bytes) writes=4440 in 333 batches (5550 bytes) pod-cpu-usage: 6660 secs pgwire-egress=7770 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 9990 secs -Rates: write-batches=0,33.3 estimated-cpu=0,999 +Bucket state: ru-burst-limit=0 ru-refill-rate=100 ru-current=10000000 ru-current-avg=5781250 +Consumption: ru=1110 kvru=888 reads=2220 in 222 batches (3330 bytes) writes=4440 in 333 batches (5550 bytes) pod-cpu-usage: 6660 secs pgwire-egress=7770 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:00:00.000 First active instance: 1 - Instance 1: lease="foo" seq=2 next-instance=2 last-update=00:00:00.000 - Instance 2: lease="foo" seq=3 next-instance=0 last-update=00:00:00.000 + Instance 1: lease="foo" seq=2 shares=0.0 next-instance=2 last-update=00:00:00.000 + Instance 2: lease="foo" seq=3 shares=0.0 next-instance=0 last-update=00:00:00.000 metrics tenant_id="5" diff --git a/pkg/ccl/multitenantccl/tenantcostserver/testdata/rates b/pkg/ccl/multitenantccl/tenantcostserver/testdata/rates deleted file mode 100644 index db6c6142c3db..000000000000 --- a/pkg/ccl/multitenantccl/tenantcostserver/testdata/rates +++ /dev/null @@ -1,124 +0,0 @@ -# The tests in this file verify consumption rates are calculated correctly. - -create-tenant tenant=5 ----- - -# Generate some usage in the next period. -token-bucket-request tenant=5 -instance_id: 1 -consumption: - ru: 10 - kvru: 10 - read_batches: 1 - read_req: 20 - read_bytes: 30 - write_batches: 10 - write_req: 40 - write_bytes: 50 - sql_pods_cpu_seconds: 60 - pgwire_egress_bytes: 70 - estimated_cpu_seconds: 80 ----- - -inspect tenant=5 ----- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=0 token-current-avg=0 -Consumption: ru=10 kvru=10 reads=20 in 1 batches (30 bytes) writes=40 in 10 batches (50 bytes) pod-cpu-usage: 60 secs pgwire-egress=70 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 80 secs -Rates: write-batches=0,1 estimated-cpu=0,8 -Last update: 00:00:00.000 -First active instance: 1 - Instance 1: lease="foo" seq=1 next-instance=0 last-update=00:00:00.000 - -# Advance time again, but stay within the same period. -advance -5s ----- -00:00:05.000 - -token-bucket-request tenant=5 -instance_id: 1 -consumption: - ru: 10 - kvru: 10 - read_batches: 1 - read_req: 20 - read_bytes: 30 - write_batches: 10 - write_req: 40 - write_bytes: 50 - sql_pods_cpu_seconds: 60 - pgwire_egress_bytes: 70 - estimated_cpu_seconds: 80 ----- - -inspect tenant=5 ----- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=50000 token-current-avg=12500 -Consumption: ru=20 kvru=20 reads=40 in 2 batches (60 bytes) writes=80 in 20 batches (100 bytes) pod-cpu-usage: 120 secs pgwire-egress=140 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 160 secs -Rates: write-batches=0,2 estimated-cpu=0,16 -Last update: 00:00:05.000 -First active instance: 1 - Instance 1: lease="foo" seq=2 next-instance=0 last-update=00:00:05.000 - -# Advance to the next interval. -advance -5s ----- -00:00:10.000 - -token-bucket-request tenant=5 -instance_id: 1 -consumption: - ru: 10 - kvru: 10 - read_batches: 1 - read_req: 20 - read_bytes: 30 - write_batches: 10 - write_req: 40 - write_bytes: 50 - sql_pods_cpu_seconds: 60 - pgwire_egress_bytes: 70 - estimated_cpu_seconds: 80 ----- - -inspect tenant=5 ----- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=100000 token-current-avg=34375 -Consumption: ru=30 kvru=30 reads=60 in 3 batches (90 bytes) writes=120 in 30 batches (150 bytes) pod-cpu-usage: 180 secs pgwire-egress=210 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 240 secs -Rates: write-batches=2,1 estimated-cpu=16,8 -Last update: 00:00:10.000 -First active instance: 1 - Instance 1: lease="foo" seq=3 next-instance=0 last-update=00:00:10.000 - -# Skip several intervals and use longer consumption period. -advance -40s ----- -00:00:50.000 - -token-bucket-request tenant=5 -instance_id: 1 -consumption: - ru: 10 - kvru: 10 - read_batches: 1 - read_req: 20 - read_bytes: 30 - write_batches: 20 - write_req: 40 - write_bytes: 50 - sql_pods_cpu_seconds: 60 - pgwire_egress_bytes: 70 - estimated_cpu_seconds: 80 -consumption_period: 40s ----- - -inspect tenant=5 ----- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=500000 token-current-avg=150781.25 -Consumption: ru=40 kvru=40 reads=80 in 4 batches (120 bytes) writes=160 in 50 batches (200 bytes) pod-cpu-usage: 240 secs pgwire-egress=280 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 320 secs -Rates: write-batches=0.5,0.5 estimated-cpu=2,2 -Last update: 00:00:50.000 -First active instance: 1 - Instance 1: lease="foo" seq=4 next-instance=0 last-update=00:00:50.000 diff --git a/pkg/ccl/multitenantccl/tenantcostserver/testdata/requests b/pkg/ccl/multitenantccl/tenantcostserver/testdata/requests index 6609f0be4223..49383a86f907 100644 --- a/pkg/ccl/multitenantccl/tenantcostserver/testdata/requests +++ b/pkg/ccl/multitenantccl/tenantcostserver/testdata/requests @@ -5,20 +5,26 @@ create-tenant tenant=5 ---- +# First drain all the initially available tokens. token-bucket-request tenant=5 instance_id: 1 -tokens: 10 +ru: 10000000 ---- -10 tokens granted over 10s. Fallback rate: 10000 tokens/s +10000000 RUs granted immediately. Fallback rate: 2877.777778 RU/s + +token-bucket-request tenant=5 +instance_id: 1 +ru: 10 +---- +10 RUs granted over 10s. Fallback rate: 100 RU/s inspect tenant=5 ---- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=-10 token-current-avg=0 -Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 0 secs -Rates: write-batches=0,0 estimated-cpu=0,0 +Bucket state: ru-burst-limit=0 ru-refill-rate=100 ru-current=-10 ru-current-avg=1875000 +Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:00:00.000 First active instance: 1 - Instance 1: lease="foo" seq=1 next-instance=0 last-update=00:00:00.000 + Instance 1: lease="foo" seq=2 shares=0.0 next-instance=0 last-update=00:00:00.000 advance 10s @@ -27,24 +33,23 @@ advance token-bucket-request tenant=5 instance_id: 1 -tokens: 500 +ru: 500 ---- -500 tokens granted immediately. Fallback rate: 10027.775 tokens/s +500 RUs granted immediately. Fallback rate: 100.275 RU/s inspect tenant=5 ---- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=99490 token-current-avg=24997.5 -Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 0 secs -Rates: write-batches=0,0 estimated-cpu=0,0 +Bucket state: ru-burst-limit=0 ru-refill-rate=100 ru-current=490 ru-current-avg=1406497.5 +Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:00:10.000 First active instance: 1 - Instance 1: lease="foo" seq=2 next-instance=0 last-update=00:00:10.000 + Instance 1: lease="foo" seq=3 shares=0.0 next-instance=0 last-update=00:00:10.000 token-bucket-request tenant=5 instance_id: 2 -tokens: 250 +ru: 250 ---- -250 tokens granted immediately. Fallback rate: 10027.63611 tokens/s +250 RUs granted immediately. Fallback rate: 100.1361111 RU/s # Verify that if the time goes backward, the tenant's last_updated does not go # back (which would result in some tokens being doubly refilled). Note that in @@ -58,20 +63,19 @@ advance token-bucket-request tenant=5 instance_id: 1 -tokens: 10 +ru: 10 ---- -10 tokens granted immediately. Fallback rate: 10027.56667 tokens/s +10 RUs granted immediately. Fallback rate: 100.0666667 RU/s # Last update time for the tenant is unchanged. The per-instance time does get updated. inspect tenant=5 ---- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=99230 token-current-avg=57525.46875 -Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 0 secs -Rates: write-batches=0,0 estimated-cpu=0,0 +Bucket state: ru-burst-limit=0 ru-refill-rate=100 ru-current=230 ru-current-avg=791306.71875 +Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:00:10.000 First active instance: 1 - Instance 1: lease="foo" seq=4 next-instance=2 last-update=00:00:09.000 - Instance 2: lease="foo" seq=3 next-instance=0 last-update=00:00:10.000 + Instance 1: lease="foo" seq=5 shares=0.0 next-instance=2 last-update=00:00:09.000 + Instance 2: lease="foo" seq=4 shares=0.0 next-instance=0 last-update=00:00:10.000 advance 1s @@ -82,16 +86,15 @@ token-bucket-request tenant=5 instance_id: 1 ---- -# The current tokens amount stays the same. +# The current RU amount stays the same. inspect tenant=5 ---- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=99230 token-current-avg=67951.6015625 -Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 0 secs -Rates: write-batches=0,0 estimated-cpu=0,0 +Bucket state: ru-burst-limit=0 ru-refill-rate=100 ru-current=230 ru-current-avg=593537.539062 +Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:00:10.000 First active instance: 1 - Instance 1: lease="foo" seq=5 next-instance=2 last-update=00:00:10.000 - Instance 2: lease="foo" seq=3 next-instance=0 last-update=00:00:10.000 + Instance 1: lease="foo" seq=6 shares=0.0 next-instance=2 last-update=00:00:10.000 + Instance 2: lease="foo" seq=4 shares=0.0 next-instance=0 last-update=00:00:10.000 advance 1s @@ -102,13 +105,12 @@ token-bucket-request tenant=5 instance_id: 1 ---- -# tokens refilling resumed. +# RU refilling resumed. inspect tenant=5 ---- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=109230 token-current-avg=78271.2011719 -Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 0 secs -Rates: write-batches=0,0 estimated-cpu=0,0 +Bucket state: ru-burst-limit=0 ru-refill-rate=100 ru-current=330 ru-current-avg=445235.654297 +Consumption: ru=0 kvru=0 reads=0 in 0 batches (0 bytes) writes=0 in 0 batches (0 bytes) pod-cpu-usage: 0 secs pgwire-egress=0 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:00:11.000 First active instance: 1 - Instance 1: lease="foo" seq=6 next-instance=2 last-update=00:00:11.000 - Instance 2: lease="foo" seq=3 next-instance=0 last-update=00:00:10.000 + Instance 1: lease="foo" seq=7 shares=0.0 next-instance=2 last-update=00:00:11.000 + Instance 2: lease="foo" seq=4 shares=0.0 next-instance=0 last-update=00:00:10.000 diff --git a/pkg/ccl/multitenantccl/tenantcostserver/testdata/seqnum b/pkg/ccl/multitenantccl/tenantcostserver/testdata/seqnum index 71a973148b64..85c41fe54a88 100644 --- a/pkg/ccl/multitenantccl/tenantcostserver/testdata/seqnum +++ b/pkg/ccl/multitenantccl/tenantcostserver/testdata/seqnum @@ -14,19 +14,17 @@ consumption: write_batches: 3 write_req: 40 write_bytes: 50 - sql_pods_cpu_seconds: 60 + sql_pods_cpu_usage: 60 pgwire_egress_bytes: 70 - estimated_cpu_seconds: 80 ---- inspect tenant=5 ---- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=0 token-current-avg=0 -Consumption: ru=10 kvru=10 reads=20 in 1 batches (30 bytes) writes=40 in 3 batches (50 bytes) pod-cpu-usage: 60 secs pgwire-egress=70 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 80 secs -Rates: write-batches=0,0.3 estimated-cpu=0,8 +Bucket state: ru-burst-limit=0 ru-refill-rate=100 ru-current=10000000 ru-current-avg=2500000 +Consumption: ru=10 kvru=10 reads=20 in 1 batches (30 bytes) writes=40 in 3 batches (50 bytes) pod-cpu-usage: 60 secs pgwire-egress=70 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:00:00.000 First active instance: 1 - Instance 1: lease="foo" seq=1 next-instance=0 last-update=00:00:00.000 + Instance 1: lease="foo" seq=1 shares=0.0 next-instance=0 last-update=00:00:00.000 # Request with higher seq_num contributes to consumption. token-bucket-request tenant=5 @@ -42,19 +40,17 @@ consumption: write_batches: 3 write_req: 40 write_bytes: 50 - sql_pods_cpu_seconds: 60 + sql_pods_cpu_usage: 60 pgwire_egress_bytes: 70 - estimated_cpu_seconds: 80 ---- inspect tenant=5 ---- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=0 token-current-avg=0 -Consumption: ru=20 kvru=20 reads=40 in 2 batches (60 bytes) writes=80 in 6 batches (100 bytes) pod-cpu-usage: 120 secs pgwire-egress=140 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 160 secs -Rates: write-batches=0,0.6 estimated-cpu=0,16 +Bucket state: ru-burst-limit=0 ru-refill-rate=100 ru-current=10000000 ru-current-avg=4375000 +Consumption: ru=20 kvru=20 reads=40 in 2 batches (60 bytes) writes=80 in 6 batches (100 bytes) pod-cpu-usage: 120 secs pgwire-egress=140 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:00:00.000 First active instance: 1 - Instance 1: lease="foo" seq=2 next-instance=0 last-update=00:00:00.000 + Instance 1: lease="foo" seq=2 shares=0.0 next-instance=0 last-update=00:00:00.000 # Request with duplicate seq_num should not contribute to consumption. token-bucket-request tenant=5 @@ -70,19 +66,17 @@ consumption: write_batches: 3 write_req: 40 write_bytes: 50 - sql_pods_cpu_seconds: 60 + sql_pods_cpu_usage: 60 pgwire_egress_bytes: 70 - estimated_cpu_seconds: 80 ---- inspect tenant=5 ---- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=0 token-current-avg=0 -Consumption: ru=20 kvru=20 reads=40 in 2 batches (60 bytes) writes=80 in 6 batches (100 bytes) pod-cpu-usage: 120 secs pgwire-egress=140 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 160 secs -Rates: write-batches=0,0.6 estimated-cpu=0,16 +Bucket state: ru-burst-limit=0 ru-refill-rate=100 ru-current=10000000 ru-current-avg=5781250 +Consumption: ru=20 kvru=20 reads=40 in 2 batches (60 bytes) writes=80 in 6 batches (100 bytes) pod-cpu-usage: 120 secs pgwire-egress=140 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:00:00.000 First active instance: 1 - Instance 1: lease="foo" seq=2 next-instance=0 last-update=00:00:00.000 + Instance 1: lease="foo" seq=2 shares=0.0 next-instance=0 last-update=00:00:00.000 # Request with older seq_num should not contribute to consumption. token-bucket-request tenant=5 @@ -97,19 +91,17 @@ consumption: write_batches: 3 write_req: 40 write_bytes: 50 - sql_pods_cpu_seconds: 60 + sql_pods_cpu_usage: 60 pgwire_egress_bytes: 70 - estimated_cpu_seconds: 80 ---- inspect tenant=5 ---- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=0 token-current-avg=0 -Consumption: ru=20 kvru=20 reads=40 in 2 batches (60 bytes) writes=80 in 6 batches (100 bytes) pod-cpu-usage: 120 secs pgwire-egress=140 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 160 secs -Rates: write-batches=0,0.6 estimated-cpu=0,16 +Bucket state: ru-burst-limit=0 ru-refill-rate=100 ru-current=10000000 ru-current-avg=6835937.5 +Consumption: ru=20 kvru=20 reads=40 in 2 batches (60 bytes) writes=80 in 6 batches (100 bytes) pod-cpu-usage: 120 secs pgwire-egress=140 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:00:00.000 First active instance: 1 - Instance 1: lease="foo" seq=2 next-instance=0 last-update=00:00:00.000 + Instance 1: lease="foo" seq=2 shares=0.0 next-instance=0 last-update=00:00:00.000 # However, if the lease changes, we accept a new sequence number. token-bucket-request tenant=5 @@ -125,19 +117,17 @@ consumption: write_batches: 3 write_req: 40 write_bytes: 50 - sql_pods_cpu_seconds: 60 + sql_pods_cpu_usage: 60 pgwire_egress_bytes: 70 - estimated_cpu_seconds: 80 ---- inspect tenant=5 ---- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=0 token-current-avg=0 -Consumption: ru=30 kvru=40 reads=60 in 3 batches (90 bytes) writes=120 in 9 batches (150 bytes) pod-cpu-usage: 180 secs pgwire-egress=210 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 240 secs -Rates: write-batches=0,0.9 estimated-cpu=0,24 +Bucket state: ru-burst-limit=0 ru-refill-rate=100 ru-current=10000000 ru-current-avg=7626953.125 +Consumption: ru=30 kvru=40 reads=60 in 3 batches (90 bytes) writes=120 in 9 batches (150 bytes) pod-cpu-usage: 180 secs pgwire-egress=210 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:00:00.000 First active instance: 1 - Instance 1: lease="bar" seq=1 next-instance=0 last-update=00:00:00.000 + Instance 1: lease="bar" seq=1 shares=0.0 next-instance=0 last-update=00:00:00.000 # A different instance has its own sequence number. token-bucket-request tenant=5 @@ -153,17 +143,15 @@ consumption: write_batches: 3 write_req: 40 write_bytes: 50 - sql_pods_cpu_seconds: 60 + sql_pods_cpu_usage: 60 pgwire_egress_bytes: 70 - estimated_cpu_seconds: 80 ---- inspect tenant=5 ---- -Bucket state: token-burst-limit=0 token-refill-rate=10000 token-current=0 token-current-avg=0 -Consumption: ru=40 kvru=70 reads=80 in 4 batches (120 bytes) writes=160 in 12 batches (200 bytes) pod-cpu-usage: 240 secs pgwire-egress=280 bytes external-egress=0 bytes external-ingress=0 bytes estimated-cpu: 320 secs -Rates: write-batches=0,1.2 estimated-cpu=0,32 +Bucket state: ru-burst-limit=0 ru-refill-rate=100 ru-current=10000000 ru-current-avg=8220214.84375 +Consumption: ru=40 kvru=70 reads=80 in 4 batches (120 bytes) writes=160 in 12 batches (200 bytes) pod-cpu-usage: 240 secs pgwire-egress=280 bytes external-egress=0 bytes external-ingress=0 bytes Last update: 00:00:00.000 First active instance: 1 - Instance 1: lease="bar" seq=1 next-instance=2 last-update=00:00:00.000 - Instance 2: lease="baz" seq=1 next-instance=0 last-update=00:00:00.000 + Instance 1: lease="bar" seq=1 shares=0.0 next-instance=2 last-update=00:00:00.000 + Instance 2: lease="baz" seq=1 shares=0.0 next-instance=0 last-update=00:00:00.000 diff --git a/pkg/ccl/multitenantccl/tenantcostserver/token_bucket.go b/pkg/ccl/multitenantccl/tenantcostserver/token_bucket.go index 6068aa416f8e..67459ff89571 100644 --- a/pkg/ccl/multitenantccl/tenantcostserver/token_bucket.go +++ b/pkg/ccl/multitenantccl/tenantcostserver/token_bucket.go @@ -12,7 +12,6 @@ import ( "context" "github.com/cockroachdb/cockroach/pkg/base" - "github.com/cockroachdb/cockroach/pkg/clusterversion" "github.com/cockroachdb/cockroach/pkg/kv/kvpb" "github.com/cockroachdb/cockroach/pkg/roachpb" "github.com/cockroachdb/cockroach/pkg/sql/isql" @@ -38,9 +37,9 @@ func (s *instance) TokenBucketRequest( Error: errors.EncodeError(ctx, errors.Errorf("invalid instance ID %d", instanceID)), } } - if in.RequestedTokens < 0 { + if in.RequestedRU < 0 { return &kvpb.TokenBucketResponse{ - Error: errors.EncodeError(ctx, errors.Errorf("negative requested tokens")), + Error: errors.EncodeError(ctx, errors.Errorf("negative requested RUs")), } } @@ -52,17 +51,12 @@ func (s *instance) TokenBucketRequest( metrics.mutex.Lock() defer metrics.mutex.Unlock() - // Check whether the consumption rates migration has run. If not, then do not - // attempt to read/write the new rates columns. - // TODO(andyk): Remove this after 24.3. - ratesAvailable := s.settings.Version.IsActive(ctx, clusterversion.V24_2_TenantRates) - result := &kvpb.TokenBucketResponse{} var consumption kvpb.TenantConsumption if err := s.ief.Txn(ctx, func(ctx context.Context, txn isql.Txn) error { *result = kvpb.TokenBucketResponse{} - h := makeSysTableHelper(ctx, tenantID, ratesAvailable) + h := makeSysTableHelper(ctx, tenantID) tenant, instance, err := h.readTenantAndInstanceState(txn, instanceID) if err != nil { return err @@ -76,13 +70,11 @@ func (s *instance) TokenBucketRequest( return err } } - now := s.timeSource.Now() - last := tenant.LastUpdate.Time tenant.update(now) if !instance.Present { - if err := h.accommodateNewInstance(txn, &tenant, &instance); err != nil { + if err := h.accomodateNewInstance(txn, &tenant, &instance); err != nil { return err } } @@ -103,22 +95,18 @@ func (s *instance) TokenBucketRequest( // Only update consumption if we are sure this is not a duplicate request // that we already counted. Note that if this is a duplicate request, it - // will still use tokens from the bucket (TokenCurrent); we rely on a higher - // level control loop that periodically reconfigures the token bucket to - // correct such errors. + // will still use RUs from the bucket (RUCurrent); we rely on a higher level + // control loop that periodically reconfigures the token bucket to correct + // such errors. if instance.Seq == 0 || instance.Seq < in.SeqNum { - instance.Seq = in.SeqNum tenant.Consumption.Add(&in.ConsumptionSinceLastRequest) - - // Update consumption rates. - tenant.Rates.Update(now, last, &in.ConsumptionSinceLastRequest, in.ConsumptionPeriod) + instance.Seq = in.SeqNum } *result = tenant.Bucket.Request(ctx, in) - result.ConsumptionRates = *tenant.Rates.Current() instance.LastUpdate.Time = now - if err := h.updateTenantAndInstanceState(txn, &tenant, &instance); err != nil { + if err := h.updateTenantAndInstanceState(txn, tenant, instance); err != nil { return err } diff --git a/pkg/ccl/oidcccl/BUILD.bazel b/pkg/ccl/oidcccl/BUILD.bazel index 78d9136ea905..1dd8cfef86be 100644 --- a/pkg/ccl/oidcccl/BUILD.bazel +++ b/pkg/ccl/oidcccl/BUILD.bazel @@ -24,7 +24,6 @@ go_library( "//pkg/sql/pgwire", "//pkg/sql/pgwire/identmap", "//pkg/ui", - "//pkg/util/httputil", "//pkg/util/log", "//pkg/util/protoutil", "//pkg/util/syncutil", @@ -43,7 +42,6 @@ go_test( "main_test.go", "settings_test.go", ], - data = glob(["testdata/**"]), embed = [":oidcccl"], deps = [ "//pkg/base", diff --git a/pkg/ccl/oidcccl/authentication_oidc.go b/pkg/ccl/oidcccl/authentication_oidc.go index 2072b6c6718c..bedcb742e762 100644 --- a/pkg/ccl/oidcccl/authentication_oidc.go +++ b/pkg/ccl/oidcccl/authentication_oidc.go @@ -31,7 +31,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/sql/pgwire" "github.com/cockroachdb/cockroach/pkg/sql/pgwire/identmap" "github.com/cockroachdb/cockroach/pkg/ui" - "github.com/cockroachdb/cockroach/pkg/util/httputil" "github.com/cockroachdb/cockroach/pkg/util/log" "github.com/cockroachdb/cockroach/pkg/util/syncutil" "github.com/cockroachdb/cockroach/pkg/util/uuid" @@ -153,7 +152,6 @@ type oidcAuthenticationConf struct { generateJWTAuthTokenUseToken tokenToUse generateJWTAuthTokenSQLHost string generateJWTAuthTokenSQLPort int64 - clientTimeout time.Duration } // GetOIDCConf is used to extract certain parts of the OIDC @@ -188,7 +186,6 @@ func (s *oidcAuthenticationServer) maybeInitializeLocked( type oidcManager struct { oauth2Config *oauth2.Config verifier *oidc.IDTokenVerifier - httpClient *httputil.Client } func (o *oidcManager) ExchangeVerifyGetClaims( @@ -223,26 +220,13 @@ func (o *oidcManager) ExchangeVerifyGetClaims( } func (o *oidcManager) Verify(ctx context.Context, s string) (*oidc.IDToken, error) { - // Set the HTTP client in the context, as required by the `go-oidc` module. - // - // Note that the `Verify` method in the current version (v2.2.1) of the - // `go-oidc` module does not use the HTTP client from the ctx provided here. - // - // It uses the HTTP client from the ctx passed to `NewProvider` at the time - // of initialization instead. However, this behavior has been fixed in the - // latest version of the module. - // - // This change is being made for forward-compatibility. - octx := oidc.ClientContext(ctx, o.httpClient.Client) - return o.verifier.Verify(octx, s) + return o.verifier.Verify(ctx, s) } func (o *oidcManager) Exchange( ctx context.Context, s string, option ...oauth2.AuthCodeOption, ) (*oauth2.Token, error) { - // Set the HTTP client in the context, as required by the `oauth2` module. - octx := oidc.ClientContext(ctx, o.httpClient.Client) - return o.oauth2Config.Exchange(octx, s, option...) + return o.oauth2Config.Exchange(ctx, s, option...) } func (o oidcManager) AuthCodeURL(s string, option ...oauth2.AuthCodeOption) string { @@ -272,11 +256,7 @@ var NewOIDCManager func(context.Context, oidcAuthenticationConf, string, []strin // https://github.com/coreos/go-oidc/blob/6d6be43e852de391805e5a5bc14146ba3cdd4195/oidc/verify.go#L125 ctx = context.WithoutCancel(ctx) - // Set the HTTP client in the context, as required by the `go-oidc` module. - httpClient := httputil.NewClientWithTimeout(conf.clientTimeout) - octx := oidc.ClientContext(ctx, httpClient.Client) - - provider, err := oidc.NewProvider(octx, conf.providerURL) + provider, err := oidc.NewProvider(ctx, conf.providerURL) if err != nil { return nil, err } @@ -295,7 +275,6 @@ var NewOIDCManager func(context.Context, oidcAuthenticationConf, string, []strin return &oidcManager{ verifier: verifier, oauth2Config: oauth2Config, - httpClient: httpClient, }, nil } @@ -331,10 +310,9 @@ func reloadConfigLocked( successPath: server.ServerHTTPBasePath.Get(&st.SV), generateJWTAuthTokenEnabled: OIDCGenerateClusterSSOTokenEnabled.Get(&st.SV), - generateJWTAuthTokenUseToken: OIDCGenerateClusterSSOTokenUseToken.Get(&st.SV), + generateJWTAuthTokenUseToken: tokenToUse(OIDCGenerateClusterSSOTokenUseToken.Get(&st.SV)), generateJWTAuthTokenSQLHost: OIDCGenerateClusterSSOTokenSQLHost.Get(&st.SV), generateJWTAuthTokenSQLPort: OIDCGenerateClusterSSOTokenSQLPort.Get(&st.SV), - clientTimeout: OIDCAuthClientTimeout.Get(&st.SV), } if !oidcAuthServer.conf.enabled && conf.enabled { @@ -824,9 +802,6 @@ var ConfigureOIDC = func( OIDCGenerateClusterSSOTokenSQLPort.SetOnChange(&st.SV, func(ctx context.Context) { reloadConfig(ambientCtx.AnnotateCtx(ctx), oidcAuthentication, locality, st) }) - OIDCAuthClientTimeout.SetOnChange(&st.SV, func(ctx context.Context) { - reloadConfig(ambientCtx.AnnotateCtx(ctx), oidcAuthentication, locality, st) - }) return oidcAuthentication, nil } diff --git a/pkg/ccl/oidcccl/authentication_oidc_test.go b/pkg/ccl/oidcccl/authentication_oidc_test.go index 51aeb62b7b28..8e52ef8109ba 100644 --- a/pkg/ccl/oidcccl/authentication_oidc_test.go +++ b/pkg/ccl/oidcccl/authentication_oidc_test.go @@ -17,13 +17,10 @@ import ( "fmt" "io" "net/http" - "net/http/httptest" "net/url" - "os" "regexp" "strings" "testing" - "time" "github.com/cockroachdb/cockroach/pkg/base" "github.com/cockroachdb/cockroach/pkg/roachpb" @@ -126,22 +123,17 @@ func TestOIDCEnabled(t *testing.T) { NewOIDCManager = realNewManager }() - // Set minimum settings to successfully enable the OIDC client sqlDB := sqlutils.MakeSQLRunner(db) sqlDB.Exec(t, fmt.Sprintf(`CREATE USER %s with password 'unused'`, usernameUnderTest)) - sqlDB.Exec(t, `SET CLUSTER SETTING server.oidc_authentication.provider_url = "providerURL"`) - sqlDB.Exec(t, `SET CLUSTER SETTING server.oidc_authentication.client_id = "fake_client_id"`) - sqlDB.Exec(t, `SET CLUSTER SETTING server.oidc_authentication.client_secret = "fake_client_secret"`) - sqlDB.Exec(t, `SET CLUSTER SETTING server.oidc_authentication.redirect_url = "https://cockroachlabs.com/oidc/v1/callback"`) - sqlDB.Exec(t, `set cluster setting server.oidc_authentication.claim_json_key = "email"`) - sqlDB.Exec(t, `set cluster setting server.oidc_authentication.principal_regex = '^([^@]+)@[^@]+$'`) - sqlDB.Exec(t, fmt.Sprintf(`SET CLUSTER SETTING server.http.base_path = "%s"`, basePath)) - // Setting the `server.oidc_authentication.enabled` cluster setting through - // SQL command adds an overhead in updating the `OIDCEnabled` var. - // This fails the test under stress as the value of `OIDCEnabled` var - // determines the response to the `/oidc/v1/login` API handler. - // Hence, it is recommended to override the value directly. - // TODO(pritesh-lahoti): Refactor the above OIDC cluster setting statements. + + // Set minimum settings to successfully enable the OIDC client + OIDCProviderURL.Override(ctx, &s.ClusterSettings().SV, "providerURL") + OIDCClientID.Override(ctx, &s.ClusterSettings().SV, "fake_client_id") + OIDCClientSecret.Override(ctx, &s.ClusterSettings().SV, "fake_client_secret") + OIDCRedirectURL.Override(ctx, &s.ClusterSettings().SV, "https://cockroachlabs.com/oidc/v1/callback") + OIDCClaimJSONKey.Override(ctx, &s.ClusterSettings().SV, "email") + OIDCPrincipalRegex.Override(ctx, &s.ClusterSettings().SV, "^([^@]+)@[^@]+$") + server.ServerHTTPBasePath.Override(ctx, &s.ClusterSettings().SV, basePath) OIDCEnabled.Override(ctx, &s.ClusterSettings().SV, true) testCertsContext := s.NewClientRPCContext(ctx, username.TestUserName()) @@ -509,108 +501,3 @@ func TestOIDCManagerInitialisationUnderNetworkAvailability(t *testing.T) { }) } } - -func TestOIDCProviderInitialization(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - // Initiate a test server to handle `./well-known/openid-configuration`. - testServer := httptest.NewUnstartedServer(nil) - testServerURL := "http://" + testServer.Listener.Addr().String() - - mux := http.NewServeMux() - mux.HandleFunc( - "GET /.well-known/openid-configuration", - func(w http.ResponseWriter, r *http.Request) { - // Serve the response locally from testdata. - dataBytes, err := os.ReadFile("testdata/issuer_well_known_openid_configuration") - require.NoError(t, err) - - // We need to match the 'issuer' key in the response to the test server URL. - // Hence, we read the test response and overwrite the 'issuer'. - type providerJSON struct { - Issuer string `json:"issuer"` - AuthURL string `json:"authorization_endpoint"` - TokenURL string `json:"token_endpoint"` - JWKSURI string `json:"jwks_uri"` - UserInfoURL string `json:"userinfo_endpoint"` - Algorithms []string `json:"id_token_signing_alg_values_supported"` - } - - var p providerJSON - err = json.Unmarshal(dataBytes, &p) - require.NoError(t, err) - - p.Issuer = testServerURL - - updatedBytes, err := json.Marshal(p) - require.NoError(t, err) - - _, err = w.Write(updatedBytes) - require.NoError(t, err) - }, - ) - - testServer.Config = &http.Server{ - Handler: mux, - } - testServer.Start() - defer testServer.Close() - - // Initialize the OIDC manager. - clientTimeout := 10 * time.Second - oidcConf := oidcAuthenticationConf{ - providerURL: testServerURL, - clientTimeout: clientTimeout, - } - iOIDCMgr, err := NewOIDCManager(context.Background(), oidcConf, "redirectURL", []string{}) - require.NoError(t, err) - require.NotNil(t, iOIDCMgr) - - oidcMgr, _ := iOIDCMgr.(*oidcManager) - require.NotNil(t, oidcMgr.verifier) - require.NotNil(t, oidcMgr.oauth2Config) - require.NotNil(t, oidcMgr.httpClient) - require.Equal(t, clientTimeout, oidcMgr.httpClient.Timeout) -} - -func TestOIDCProviderInitializationTimeout(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - // Initiate a test server to handle `./well-known/openid-configuration`. - testServer := httptest.NewUnstartedServer(nil) - testServerURL := "http://" + testServer.Listener.Addr().String() - - waitChan := make(chan struct{}, 1) - - mux := http.NewServeMux() - mux.HandleFunc( - "GET /.well-known/openid-configuration", - func(w http.ResponseWriter, r *http.Request) { - // Hang the request handler so as to enforce HTTP client timeout. - <-waitChan - }, - ) - - testServer.Config = &http.Server{ - Handler: mux, - } - testServer.Start() - defer func() { - waitChan <- struct{}{} - close(waitChan) - testServer.Close() - }() - - // Initialize the OIDC manager. - oidcConf := oidcAuthenticationConf{ - providerURL: testServerURL, - // Set a small client timeout and assert that the initialization times out. - clientTimeout: time.Millisecond, - } - _, err := NewOIDCManager(context.Background(), oidcConf, "redirectURL", []string{}) - var urlError *url.Error - require.ErrorAs(t, err, &urlError) - require.True(t, urlError.Timeout()) -} diff --git a/pkg/ccl/oidcccl/settings.go b/pkg/ccl/oidcccl/settings.go index b6a9e3f74d68..67e87bfbdfd2 100644 --- a/pkg/ccl/oidcccl/settings.go +++ b/pkg/ccl/oidcccl/settings.go @@ -14,7 +14,6 @@ import ( "net/url" "regexp" "strings" - "time" "github.com/cockroachdb/cockroach/pkg/settings" "github.com/cockroachdb/errors" @@ -39,7 +38,6 @@ const ( OIDCGenerateClusterSSOTokenUseTokenSettingName = baseOIDCSettingName + "generate_cluster_sso_token.use_token" OIDCGenerateClusterSSOTokenSQLHostSettingName = baseOIDCSettingName + "generate_cluster_sso_token.sql_host" OIDCGenerateClusterSSOTokenSQLPortSettingName = baseOIDCSettingName + "generate_cluster_sso_token.sql_port" - oidcAuthClientTimeoutSettingName = baseOIDCSettingName + "client.timeout" ) // OIDCEnabled enables or disabled OIDC login for the DB Console. @@ -74,18 +72,6 @@ var OIDCClientSecret = settings.RegisterStringSetting( settings.Sensitive, ) -// OIDCAuthClientTimeout is the client timeout for all the external calls made -// during OIDC authentication (e.g. authorization code flow, etc.). -var OIDCAuthClientTimeout = settings.RegisterDurationSetting( - settings.ApplicationLevel, - oidcAuthClientTimeoutSettingName, - "sets the client timeout for external calls made during OIDC authentication "+ - "(e.g. authorization code flow, etc.)", - 15*time.Second, - settings.NonNegativeDuration, - settings.WithPublic, -) - type redirectURLConf struct { mrru *multiRegionRedirectURLs sru *singleRedirectURL @@ -306,9 +292,9 @@ var OIDCGenerateClusterSSOTokenUseToken = settings.RegisterEnumSetting( OIDCGenerateClusterSSOTokenUseTokenSettingName, "selects which OIDC callback token to use for cluster SSO", "id_token", - map[tokenToUse]string{ - useIdToken: "id_token", - useAccessToken: "access_token", + map[int64]string{ + int64(useIdToken): "id_token", + int64(useAccessToken): "access_token", }, ) diff --git a/pkg/ccl/oidcccl/testdata/issuer_well_known_openid_configuration b/pkg/ccl/oidcccl/testdata/issuer_well_known_openid_configuration deleted file mode 100644 index c8527dbc0128..000000000000 --- a/pkg/ccl/oidcccl/testdata/issuer_well_known_openid_configuration +++ /dev/null @@ -1,10 +0,0 @@ -{ - "issuer": "https://accounts.idp1.com", - "authorization_endpoint": "https://accounts.idp1.com/o/oauth2/v2/auth", - "token_endpoint": "https://oauth2.idp1apis.com/token", - "jwks_uri": "https://www.idp1apis.com/oauth2/v3/certs", - "userinfo_endpoint": "https://openidconnect.idp1apis.com/v1/userinfo", - "id_token_signing_alg_values_supported": [ - "RS256" - ] -} diff --git a/pkg/ccl/partitionccl/zone_test.go b/pkg/ccl/partitionccl/zone_test.go index 458c81aa6f81..75bf7394a272 100644 --- a/pkg/ccl/partitionccl/zone_test.go +++ b/pkg/ccl/partitionccl/zone_test.go @@ -273,9 +273,6 @@ func TestInvalidIndexPartitionSetShowZones(t *testing.T) { "SHOW ZONE CONFIGURATION FOR INDEX foo", `index "foo" does not exist`, }, - // N.B. The following will always fallback to the legacy schema changer - // because multi-statement txns are not yet supported by our declarative - // schema changer. { "USE system; ALTER INDEX foo CONFIGURE ZONE USING DEFAULT", `index "foo" does not exist`, @@ -353,7 +350,7 @@ func (pt partitioningTest) parse() (parsed parsedPartitioningTest, _ error) { { ctx := context.Background() - semaCtx := tree.MakeSemaContext(nil /* resolver */) + semaCtx := tree.MakeSemaContext() stmt, err := parser.ParseOne(parsed.createStmt) if err != nil { return parsed, errors.Wrapf(err, `parsing %s`, parsed.createStmt) diff --git a/pkg/ccl/pgcryptoccl/pgcryptocipherccl/BUILD.bazel b/pkg/ccl/pgcryptoccl/pgcryptocipherccl/BUILD.bazel index 97c104b1cda8..2b4db1d16959 100644 --- a/pkg/ccl/pgcryptoccl/pgcryptocipherccl/BUILD.bazel +++ b/pkg/ccl/pgcryptoccl/pgcryptocipherccl/BUILD.bazel @@ -4,11 +4,9 @@ go_library( name = "pgcryptocipherccl", srcs = [ "cipher.go", - "cipher_fuzz.go", "cipher_method.go", "doc.go", "padding.go", - "test_helper.go", ], importpath = "github.com/cockroachdb/cockroach/pkg/ccl/pgcryptoccl/pgcryptocipherccl", visibility = ["//visibility:public"], @@ -17,7 +15,6 @@ go_library( "//pkg/sql/pgwire/pgerror", "//pkg/util/errorutil/unimplemented", "@com_github_cockroachdb_errors//:errors", - "@com_github_stretchr_testify//require", ], ) diff --git a/pkg/ccl/pgcryptoccl/pgcryptocipherccl/cipher_fuzz.go b/pkg/ccl/pgcryptoccl/pgcryptocipherccl/cipher_fuzz.go deleted file mode 100644 index cbb8958262c8..000000000000 --- a/pkg/ccl/pgcryptoccl/pgcryptocipherccl/cipher_fuzz.go +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package pgcryptocipherccl - -import ( - "crypto/aes" - "testing" - - "github.com/stretchr/testify/require" -) - -func FuzzEncryptDecryptAES(f *testing.F) { - for _, tc := range CipherTestCases { - f.Add(tc.Plaintext, tc.Key, tc.Iv) - } - f.Fuzz(func(t *testing.T, plaintext []byte, key []byte, iv []byte) { - ciphertext, err := Encrypt(plaintext, key, iv, "aes") - require.NoError(t, err) - decryptedCiphertext, err := Decrypt(ciphertext, key, iv, "aes") - require.NoError(t, err) - require.Equal(t, plaintext, decryptedCiphertext) - }) -} - -func FuzzNoPaddingEncryptDecryptAES(f *testing.F) { - for _, tc := range CipherTestCases { - f.Add(tc.Plaintext, tc.Key, tc.Iv) - } - f.Fuzz(func(t *testing.T, plaintext []byte, key []byte, iv []byte) { - ciphertext, err := Encrypt(plaintext, key, iv, "aes/pad:none") - if plaintextLength := len(plaintext); plaintextLength%aes.BlockSize != 0 { - require.ErrorIs(t, err, ErrInvalidDataLength) - return - } - require.NoError(t, err) - decryptedCiphertext, err := Decrypt(ciphertext, key, iv, "aes/pad:none") - require.NoError(t, err) - require.Equal(t, plaintext, decryptedCiphertext) - }) -} diff --git a/pkg/ccl/pgcryptoccl/pgcryptocipherccl/cipher_test.go b/pkg/ccl/pgcryptoccl/pgcryptocipherccl/cipher_test.go index 768c0dd6c611..bca9e5a9c8fc 100644 --- a/pkg/ccl/pgcryptoccl/pgcryptocipherccl/cipher_test.go +++ b/pkg/ccl/pgcryptoccl/pgcryptocipherccl/cipher_test.go @@ -9,6 +9,7 @@ package pgcryptocipherccl_test import ( + "crypto/aes" "testing" "github.com/cockroachdb/cockroach/pkg/ccl/pgcryptoccl/pgcryptocipherccl" @@ -16,37 +17,67 @@ import ( ) func TestEncrypt(t *testing.T) { - for name, tc := range pgcryptocipherccl.CipherTestCases { + for name, tc := range cipherTestCases { t.Run(name, func(t *testing.T) { - res, err := pgcryptocipherccl.Encrypt(tc.Plaintext, tc.Key, tc.Iv, tc.CipherType) + res, err := pgcryptocipherccl.Encrypt(tc.plaintext, tc.key, tc.iv, tc.cipherType) require.NoError(t, err) - require.Equal(t, tc.Ciphertext, res) + require.Equal(t, tc.ciphertext, res) }) } } func TestDecrypt(t *testing.T) { - for name, tc := range pgcryptocipherccl.CipherTestCases { + for name, tc := range cipherTestCases { t.Run(name, func(t *testing.T) { - res, err := pgcryptocipherccl.Decrypt(tc.Ciphertext, tc.Key, tc.Iv, tc.CipherType) + res, err := pgcryptocipherccl.Decrypt(tc.ciphertext, tc.key, tc.iv, tc.cipherType) require.NoError(t, err) - require.Equal(t, tc.Plaintext, res) + require.Equal(t, tc.plaintext, res) }) } } +func FuzzEncryptDecryptAES(f *testing.F) { + for _, tc := range cipherTestCases { + f.Add(tc.plaintext, tc.key, tc.iv) + } + f.Fuzz(func(t *testing.T, plaintext []byte, key []byte, iv []byte) { + ciphertext, err := pgcryptocipherccl.Encrypt(plaintext, key, iv, "aes") + require.NoError(t, err) + decryptedCiphertext, err := pgcryptocipherccl.Decrypt(ciphertext, key, iv, "aes") + require.NoError(t, err) + require.Equal(t, plaintext, decryptedCiphertext) + }) +} + +func FuzzEncryptDecryptAESNoPadding(f *testing.F) { + for _, tc := range cipherTestCases { + f.Add(tc.plaintext, tc.key, tc.iv) + } + f.Fuzz(func(t *testing.T, plaintext []byte, key []byte, iv []byte) { + ciphertext, err := pgcryptocipherccl.Encrypt(plaintext, key, iv, "aes/pad:none") + if plaintextLength := len(plaintext); plaintextLength%aes.BlockSize != 0 { + require.ErrorIs(t, err, pgcryptocipherccl.ErrInvalidDataLength) + return + } + require.NoError(t, err) + decryptedCiphertext, err := pgcryptocipherccl.Decrypt(ciphertext, key, iv, "aes/pad:none") + require.NoError(t, err) + require.Equal(t, plaintext, decryptedCiphertext) + }) +} + func BenchmarkEncrypt(b *testing.B) { - for name, tc := range pgcryptocipherccl.CipherTestCases { + for name, tc := range cipherTestCases { b.Run(name, func(b *testing.B) { - benchmarkEncrypt(b, tc.Plaintext, tc.Key, tc.Iv, tc.CipherType) + benchmarkEncrypt(b, tc.plaintext, tc.key, tc.iv, tc.cipherType) }) } } func BenchmarkDecrypt(b *testing.B) { - for name, tc := range pgcryptocipherccl.CipherTestCases { + for name, tc := range cipherTestCases { b.Run(name, func(*testing.B) { - benchmarkDecrypt(b, tc.Ciphertext, tc.Key, tc.Iv, tc.CipherType) + benchmarkDecrypt(b, tc.ciphertext, tc.key, tc.iv, tc.cipherType) }) } } @@ -64,3 +95,53 @@ func benchmarkDecrypt(b *testing.B, data []byte, key []byte, iv []byte, cipherTy require.NoError(b, err) } } + +// Note: The encrypted values were manually checked against the results of +// the equivalent function on Postgres 15.3. +var cipherTestCases = map[string]struct { + plaintext []byte + key []byte + iv []byte + cipherType string + ciphertext []byte +}{ + "AES-128": { + plaintext: []byte("abc"), + key: []byte("16_byte_long_key"), + cipherType: "aes", + ciphertext: []byte{0x0, 0x26, 0xcd, 0x62, 0x6, 0xcf, 0xd9, 0x21, 0x40, 0x88, 0x3b, 0x75, 0xc0, 0x98, 0xd6, 0x13}, + }, + "AES-128 with IV": { + plaintext: []byte("abc"), + key: []byte("16_byte_long_key"), + iv: []byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20}, + cipherType: "aes/pad:pkcs", + ciphertext: []byte{0xf8, 0x3e, 0xf0, 0x88, 0x83, 0x9b, 0x2f, 0x19, 0x1c, 0x42, 0x5, 0xa2, 0xe, 0x62, 0x69, 0xd3}, + }, + "AES-192": { + plaintext: []byte("UCVBgQEhwVxXrABksapmqglhTGNWRRnGnUUQHtNanYuyIDrQgHvQanwkfXRvTnJLsMauOfdlLBuJRJkzaGpnVRyENKGwFfauXLJD"), + key: []byte("24_byte_looooooooong_key"), + cipherType: "aes", + ciphertext: []byte{0x44, 0x68, 0x34, 0xe4, 0x3c, 0xb1, 0x76, 0x3, 0xa2, 0xb2, 0x3d, 0x25, 0x13, 0xa7, 0x84, 0xa3, 0x6b, 0xae, 0x79, 0x3, 0x72, 0x74, 0x57, 0x1c, 0x32, 0xcd, 0x29, 0x4a, 0xd, 0x6e, 0xe, 0xf9, 0x27, 0xee, 0x0, 0x76, 0xdc, 0xa4, 0x60, 0xb0, 0x9, 0x0, 0xbc, 0x11, 0x75, 0x4f, 0xee, 0x61, 0x22, 0x52, 0xa6, 0x7, 0x25, 0xa, 0x4f, 0x86, 0xd6, 0x20, 0x56, 0xb6, 0xae, 0xee, 0xc, 0xcd, 0x66, 0x4, 0x88, 0x9e, 0x7f, 0x39, 0xaf, 0x64, 0xce, 0x8b, 0x59, 0x60, 0xc1, 0x74, 0x4d, 0xb2, 0x16, 0xb0, 0x10, 0xea, 0x9c, 0x1, 0x49, 0x6c, 0x42, 0x9f, 0xd5, 0xf5, 0x81, 0x6, 0xf6, 0x4f, 0x21, 0x12, 0xf4, 0xdb, 0xc2, 0x90, 0x74, 0x2a, 0xa3, 0xd1, 0x66, 0x91, 0x5d, 0x97, 0x60, 0x64}, + }, + "AES-192 with IV": { + plaintext: []byte("UCVBgQEhwVxXrABksapmqglhTGNWRRnGnUUQHtNanYuyIDrQgHvQanwkfXRvTnJLsMauOfdlLBuJRJkzaGpnVRyENKGwFfauXLJD"), + key: []byte("24_byte_looooooooong_key"), + iv: []byte{152, 0, 68, 172}, + cipherType: "aes", + ciphertext: []byte{0xd2, 0x84, 0x24, 0x69, 0x11, 0x17, 0xec, 0x5c, 0x1c, 0xbe, 0x2d, 0x34, 0x67, 0xb7, 0xf, 0xa9, 0x94, 0xeb, 0x11, 0x97, 0xe4, 0x60, 0x72, 0xe7, 0xf1, 0x49, 0x9b, 0xc7, 0xc8, 0xc6, 0x7e, 0xad, 0x2b, 0xe2, 0x36, 0x6a, 0xd1, 0x20, 0x0, 0x4a, 0x28, 0x7a, 0x25, 0x86, 0x9a, 0x23, 0x9, 0xe9, 0xf1, 0x2c, 0x7e, 0xe, 0x3a, 0xec, 0xb9, 0x10, 0xf5, 0x35, 0xb6, 0xc2, 0xf6, 0x93, 0x16, 0x2, 0xd, 0x3b, 0x65, 0x63, 0x27, 0x29, 0xd2, 0xeb, 0xc8, 0xc0, 0xa0, 0x2e, 0x19, 0x22, 0xc4, 0x1e, 0x38, 0x73, 0xb0, 0x34, 0x69, 0xda, 0x52, 0x63, 0x9e, 0xaa, 0xa5, 0x93, 0x1, 0x37, 0xff, 0x9d, 0x4e, 0xf1, 0x7f, 0x72, 0x79, 0xe6, 0xad, 0x4b, 0x1f, 0x67, 0x4f, 0x2, 0xab, 0x17, 0x13, 0xcc}, + }, + "AES-256": { + plaintext: []byte("ghJxetyYQiLwdAtibf52bECQbA6QP0FsC0wDURcrR9DRZs7WChql2cJSunTh6rr6b5MM5YYgzWgXHvTxHaEIMiAuEXHsfcyInlxIyaHe2wS03PV6HZ1GKNbhksUx6NjKEoW5SmvmSngdlXSAOWwTYalUP6mKZm9BYHe57LQiHhiX76dKkqqVBvt16t6Hki3hRbqxdUH9JTB3sNAjoH6EjZKnH9h04M02IYncyJAhEpfDINkaerYMQ1Hbavpo0UHu"), + key: []byte("32_byte_looooooooooooooooong_key"), + cipherType: "aes/pad:none", + ciphertext: []byte{0xb1, 0x7e, 0x2f, 0xfd, 0x8d, 0xe2, 0x96, 0x5, 0xdc, 0xb1, 0x74, 0x5f, 0x59, 0x67, 0x2e, 0x30, 0x78, 0x6c, 0xdf, 0x2e, 0xd6, 0xbd, 0x23, 0xcd, 0xf2, 0x9b, 0x31, 0xd0, 0xa1, 0xa3, 0xd5, 0xd0, 0x4e, 0x25, 0x81, 0x25, 0x19, 0xdd, 0x4a, 0x67, 0xb4, 0xba, 0x71, 0x28, 0x2f, 0xa6, 0x31, 0x71, 0xf, 0xfc, 0xd6, 0x9a, 0xe3, 0xa6, 0x7e, 0xc7, 0x5d, 0xe7, 0xe5, 0xef, 0x8c, 0x90, 0xeb, 0x15, 0xfb, 0xa0, 0xd7, 0x30, 0x87, 0xf6, 0x5, 0xa9, 0x16, 0x86, 0xcc, 0xc0, 0x9f, 0x19, 0x14, 0xb8, 0x43, 0x72, 0xcb, 0x35, 0x9d, 0x18, 0xdc, 0xd2, 0xd6, 0xe4, 0x30, 0xc5, 0xc4, 0x8f, 0x4b, 0x98, 0xdd, 0x29, 0x53, 0xd9, 0x6, 0x1b, 0x48, 0xe9, 0x4a, 0x76, 0x36, 0xf5, 0x5a, 0x55, 0x5e, 0xd, 0x18, 0x57, 0xfe, 0xc2, 0x90, 0x5b, 0x82, 0x50, 0x7e, 0x14, 0xe1, 0xe0, 0xb0, 0x5e, 0x26, 0x44, 0x61, 0xe4, 0x22, 0x72, 0x7, 0x19, 0x60, 0xef, 0x6c, 0xb9, 0xfb, 0xa5, 0x9e, 0x5c, 0x7, 0xf6, 0x13, 0xc7, 0xa1, 0x97, 0x6b, 0xc, 0x1c, 0xaa, 0xaa, 0xcf, 0xd8, 0x6d, 0x39, 0x50, 0x57, 0x94, 0xce, 0x5d, 0xd, 0xf2, 0xd4, 0x2b, 0xbd, 0x71, 0xb4, 0xc6, 0x3b, 0x92, 0xb0, 0x5f, 0x3d, 0x56, 0xf5, 0x23, 0x6d, 0xaf, 0xb0, 0xbc, 0x62, 0xd5, 0xf0, 0x1e, 0x75, 0xad, 0xc2, 0x64, 0xbf, 0x66, 0xe7, 0xad, 0xab, 0xfd, 0xbf, 0xde, 0x72, 0xa4, 0x6, 0x39, 0xd2, 0xf4, 0x3, 0x5e, 0x27, 0x6, 0x98, 0x92, 0x7d, 0x2c, 0xe4, 0xac, 0x9e, 0xff, 0x41, 0xc1, 0xe7, 0xc1, 0x69, 0xbd, 0x8f, 0x5b, 0xc4, 0x1e, 0x36, 0x59, 0xa9, 0xb5, 0xbc, 0x64, 0x49, 0xfd, 0x78, 0x7f, 0xc, 0xad, 0x25, 0xae, 0x4b, 0xec, 0xb5, 0x4f, 0x97, 0x9e, 0x8c, 0xa6, 0x7b, 0x9, 0x2a, 0x76, 0xcd, 0x2d, 0x2e, 0x41}, + }, + "AES-256 with IV": { + plaintext: []byte("ghJxetyYQiLwdAtibf52bECQbA6QP0FsC0wDURcrR9DRZs7WChql2cJSunTh6rr6b5MM5YYgzWgXHvTxHaEIMiAuEXHsfcyInlxIyaHe2wS03PV6HZ1GKNbhksUx6NjKEoW5SmvmSngdlXSAOWwTYalUP6mKZm9BYHe57LQiHhiX76dKkqqVBvt16t6Hki3hRbqxdUH9JTB3sNAjoH6EjZKnH9h04M02IYncyJAhEpfDINkaerYMQ1Hbavpo0UHu"), + key: []byte("32_byte_looooooooooooooooong_key"), + iv: []byte{154, 201, 158, 144, 3, 25, 184, 208, 70, 90, 123, 45, 168, 27, 236, 25}, + cipherType: "aes", + ciphertext: []byte{0x8b, 0xb2, 0xd7, 0x52, 0xdd, 0xff, 0x46, 0xa, 0xb9, 0x67, 0x12, 0x57, 0xe0, 0xff, 0x61, 0x23, 0x7, 0x60, 0x2, 0xe2, 0x28, 0x53, 0x53, 0x7c, 0x3e, 0xa, 0xdf, 0x8, 0x6e, 0xbd, 0x54, 0x48, 0xb3, 0x82, 0xf7, 0x6a, 0xce, 0xc6, 0xc8, 0xb3, 0xda, 0x19, 0xc5, 0x81, 0x91, 0x11, 0xd8, 0xd0, 0x87, 0x7d, 0xc0, 0x29, 0xb4, 0xe4, 0x8d, 0x74, 0x93, 0x0, 0xeb, 0x34, 0xc9, 0xd2, 0xb1, 0xc9, 0x30, 0xbc, 0xd9, 0x67, 0x7b, 0xa4, 0xeb, 0x81, 0x32, 0x8c, 0xa9, 0x95, 0xb9, 0x7c, 0xfb, 0xc0, 0x5f, 0x87, 0x2c, 0x32, 0x43, 0x15, 0xb4, 0xd1, 0x9b, 0x25, 0x3c, 0xe, 0xaf, 0xd1, 0x56, 0x17, 0xac, 0x26, 0x51, 0x17, 0x36, 0xda, 0xf6, 0x13, 0x5d, 0xf8, 0x12, 0xf6, 0x1f, 0x4, 0x17, 0x5b, 0xa8, 0xf1, 0xb1, 0xda, 0xc, 0x38, 0x13, 0x10, 0xe7, 0xe0, 0xd7, 0xa8, 0x4a, 0x69, 0x83, 0x5e, 0xe7, 0xc0, 0xf7, 0x21, 0xdb, 0xe3, 0x9d, 0x84, 0xce, 0x8e, 0x50, 0x7, 0x44, 0xe4, 0xe, 0xdf, 0xde, 0x88, 0xa5, 0xee, 0xd7, 0xf4, 0x32, 0xa0, 0x60, 0x24, 0x9d, 0x8b, 0x5a, 0xdf, 0xbc, 0xca, 0x6c, 0x2c, 0x80, 0x40, 0x47, 0xdf, 0x3f, 0x9b, 0xbe, 0x86, 0x34, 0x2b, 0x79, 0xc1, 0x27, 0xcf, 0x4c, 0xda, 0x89, 0x6b, 0xd8, 0xcb, 0xf8, 0xcd, 0x57, 0x46, 0xbc, 0x54, 0x55, 0x21, 0xc3, 0x34, 0x5e, 0x4c, 0xc8, 0xc3, 0x21, 0x51, 0xce, 0x8b, 0x3e, 0xcb, 0x36, 0xdc, 0x32, 0x31, 0xdc, 0x27, 0xf8, 0x12, 0x77, 0x64, 0xa8, 0xb8, 0x6d, 0x3c, 0x42, 0x6a, 0xd9, 0x7c, 0xbf, 0x14, 0xc5, 0x58, 0xdb, 0x1d, 0x24, 0x74, 0xb5, 0x47, 0xce, 0x54, 0x50, 0x32, 0xfc, 0xb9, 0x9f, 0xd3, 0x45, 0xa2, 0x5, 0x5d, 0xa4, 0x8a, 0x57, 0x58, 0x10, 0xc7, 0x5e, 0x83, 0x9f, 0x2b, 0x64, 0xe3, 0xd4, 0x98, 0x15, 0xf7, 0x8a, 0xdf, 0xe7, 0xc7, 0x2, 0x27, 0xa4, 0xff, 0xa7, 0x98, 0x24, 0xa, 0xf0, 0x2d}, + }, +} diff --git a/pkg/ccl/pgcryptoccl/pgcryptocipherccl/test_helper.go b/pkg/ccl/pgcryptoccl/pgcryptocipherccl/test_helper.go deleted file mode 100644 index 296a9b5266ee..000000000000 --- a/pkg/ccl/pgcryptoccl/pgcryptocipherccl/test_helper.go +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Licensed as a CockroachDB Enterprise file under the Cockroach Community -// License (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt - -package pgcryptocipherccl - -// Note: The encrypted values were manually checked against the results of -// the equivalent function on Postgres 15.3. -var CipherTestCases = map[string]struct { - Plaintext []byte - Key []byte - Iv []byte - CipherType string - Ciphertext []byte -}{ - "AES-128": { - Plaintext: []byte("abc"), - Key: []byte("16_byte_long_key"), - CipherType: "aes", - Ciphertext: []byte{0x0, 0x26, 0xcd, 0x62, 0x6, 0xcf, 0xd9, 0x21, 0x40, 0x88, 0x3b, 0x75, 0xc0, 0x98, 0xd6, 0x13}, - }, - "AES-128 with IV": { - Plaintext: []byte("abc"), - Key: []byte("16_byte_long_key"), - Iv: []byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20}, - CipherType: "aes/pad:pkcs", - Ciphertext: []byte{0xf8, 0x3e, 0xf0, 0x88, 0x83, 0x9b, 0x2f, 0x19, 0x1c, 0x42, 0x5, 0xa2, 0xe, 0x62, 0x69, 0xd3}, - }, - "AES-192": { - Plaintext: []byte("UCVBgQEhwVxXrABksapmqglhTGNWRRnGnUUQHtNanYuyIDrQgHvQanwkfXRvTnJLsMauOfdlLBuJRJkzaGpnVRyENKGwFfauXLJD"), - Key: []byte("24_byte_looooooooong_key"), - CipherType: "aes", - Ciphertext: []byte{0x44, 0x68, 0x34, 0xe4, 0x3c, 0xb1, 0x76, 0x3, 0xa2, 0xb2, 0x3d, 0x25, 0x13, 0xa7, 0x84, 0xa3, 0x6b, 0xae, 0x79, 0x3, 0x72, 0x74, 0x57, 0x1c, 0x32, 0xcd, 0x29, 0x4a, 0xd, 0x6e, 0xe, 0xf9, 0x27, 0xee, 0x0, 0x76, 0xdc, 0xa4, 0x60, 0xb0, 0x9, 0x0, 0xbc, 0x11, 0x75, 0x4f, 0xee, 0x61, 0x22, 0x52, 0xa6, 0x7, 0x25, 0xa, 0x4f, 0x86, 0xd6, 0x20, 0x56, 0xb6, 0xae, 0xee, 0xc, 0xcd, 0x66, 0x4, 0x88, 0x9e, 0x7f, 0x39, 0xaf, 0x64, 0xce, 0x8b, 0x59, 0x60, 0xc1, 0x74, 0x4d, 0xb2, 0x16, 0xb0, 0x10, 0xea, 0x9c, 0x1, 0x49, 0x6c, 0x42, 0x9f, 0xd5, 0xf5, 0x81, 0x6, 0xf6, 0x4f, 0x21, 0x12, 0xf4, 0xdb, 0xc2, 0x90, 0x74, 0x2a, 0xa3, 0xd1, 0x66, 0x91, 0x5d, 0x97, 0x60, 0x64}, - }, - "AES-192 with IV": { - Plaintext: []byte("UCVBgQEhwVxXrABksapmqglhTGNWRRnGnUUQHtNanYuyIDrQgHvQanwkfXRvTnJLsMauOfdlLBuJRJkzaGpnVRyENKGwFfauXLJD"), - Key: []byte("24_byte_looooooooong_key"), - Iv: []byte{152, 0, 68, 172}, - CipherType: "aes", - Ciphertext: []byte{0xd2, 0x84, 0x24, 0x69, 0x11, 0x17, 0xec, 0x5c, 0x1c, 0xbe, 0x2d, 0x34, 0x67, 0xb7, 0xf, 0xa9, 0x94, 0xeb, 0x11, 0x97, 0xe4, 0x60, 0x72, 0xe7, 0xf1, 0x49, 0x9b, 0xc7, 0xc8, 0xc6, 0x7e, 0xad, 0x2b, 0xe2, 0x36, 0x6a, 0xd1, 0x20, 0x0, 0x4a, 0x28, 0x7a, 0x25, 0x86, 0x9a, 0x23, 0x9, 0xe9, 0xf1, 0x2c, 0x7e, 0xe, 0x3a, 0xec, 0xb9, 0x10, 0xf5, 0x35, 0xb6, 0xc2, 0xf6, 0x93, 0x16, 0x2, 0xd, 0x3b, 0x65, 0x63, 0x27, 0x29, 0xd2, 0xeb, 0xc8, 0xc0, 0xa0, 0x2e, 0x19, 0x22, 0xc4, 0x1e, 0x38, 0x73, 0xb0, 0x34, 0x69, 0xda, 0x52, 0x63, 0x9e, 0xaa, 0xa5, 0x93, 0x1, 0x37, 0xff, 0x9d, 0x4e, 0xf1, 0x7f, 0x72, 0x79, 0xe6, 0xad, 0x4b, 0x1f, 0x67, 0x4f, 0x2, 0xab, 0x17, 0x13, 0xcc}, - }, - "AES-256": { - Plaintext: []byte("ghJxetyYQiLwdAtibf52bECQbA6QP0FsC0wDURcrR9DRZs7WChql2cJSunTh6rr6b5MM5YYgzWgXHvTxHaEIMiAuEXHsfcyInlxIyaHe2wS03PV6HZ1GKNbhksUx6NjKEoW5SmvmSngdlXSAOWwTYalUP6mKZm9BYHe57LQiHhiX76dKkqqVBvt16t6Hki3hRbqxdUH9JTB3sNAjoH6EjZKnH9h04M02IYncyJAhEpfDINkaerYMQ1Hbavpo0UHu"), - Key: []byte("32_byte_looooooooooooooooong_key"), - CipherType: "aes/pad:none", - Ciphertext: []byte{0xb1, 0x7e, 0x2f, 0xfd, 0x8d, 0xe2, 0x96, 0x5, 0xdc, 0xb1, 0x74, 0x5f, 0x59, 0x67, 0x2e, 0x30, 0x78, 0x6c, 0xdf, 0x2e, 0xd6, 0xbd, 0x23, 0xcd, 0xf2, 0x9b, 0x31, 0xd0, 0xa1, 0xa3, 0xd5, 0xd0, 0x4e, 0x25, 0x81, 0x25, 0x19, 0xdd, 0x4a, 0x67, 0xb4, 0xba, 0x71, 0x28, 0x2f, 0xa6, 0x31, 0x71, 0xf, 0xfc, 0xd6, 0x9a, 0xe3, 0xa6, 0x7e, 0xc7, 0x5d, 0xe7, 0xe5, 0xef, 0x8c, 0x90, 0xeb, 0x15, 0xfb, 0xa0, 0xd7, 0x30, 0x87, 0xf6, 0x5, 0xa9, 0x16, 0x86, 0xcc, 0xc0, 0x9f, 0x19, 0x14, 0xb8, 0x43, 0x72, 0xcb, 0x35, 0x9d, 0x18, 0xdc, 0xd2, 0xd6, 0xe4, 0x30, 0xc5, 0xc4, 0x8f, 0x4b, 0x98, 0xdd, 0x29, 0x53, 0xd9, 0x6, 0x1b, 0x48, 0xe9, 0x4a, 0x76, 0x36, 0xf5, 0x5a, 0x55, 0x5e, 0xd, 0x18, 0x57, 0xfe, 0xc2, 0x90, 0x5b, 0x82, 0x50, 0x7e, 0x14, 0xe1, 0xe0, 0xb0, 0x5e, 0x26, 0x44, 0x61, 0xe4, 0x22, 0x72, 0x7, 0x19, 0x60, 0xef, 0x6c, 0xb9, 0xfb, 0xa5, 0x9e, 0x5c, 0x7, 0xf6, 0x13, 0xc7, 0xa1, 0x97, 0x6b, 0xc, 0x1c, 0xaa, 0xaa, 0xcf, 0xd8, 0x6d, 0x39, 0x50, 0x57, 0x94, 0xce, 0x5d, 0xd, 0xf2, 0xd4, 0x2b, 0xbd, 0x71, 0xb4, 0xc6, 0x3b, 0x92, 0xb0, 0x5f, 0x3d, 0x56, 0xf5, 0x23, 0x6d, 0xaf, 0xb0, 0xbc, 0x62, 0xd5, 0xf0, 0x1e, 0x75, 0xad, 0xc2, 0x64, 0xbf, 0x66, 0xe7, 0xad, 0xab, 0xfd, 0xbf, 0xde, 0x72, 0xa4, 0x6, 0x39, 0xd2, 0xf4, 0x3, 0x5e, 0x27, 0x6, 0x98, 0x92, 0x7d, 0x2c, 0xe4, 0xac, 0x9e, 0xff, 0x41, 0xc1, 0xe7, 0xc1, 0x69, 0xbd, 0x8f, 0x5b, 0xc4, 0x1e, 0x36, 0x59, 0xa9, 0xb5, 0xbc, 0x64, 0x49, 0xfd, 0x78, 0x7f, 0xc, 0xad, 0x25, 0xae, 0x4b, 0xec, 0xb5, 0x4f, 0x97, 0x9e, 0x8c, 0xa6, 0x7b, 0x9, 0x2a, 0x76, 0xcd, 0x2d, 0x2e, 0x41}, - }, - "AES-256 with IV": { - Plaintext: []byte("ghJxetyYQiLwdAtibf52bECQbA6QP0FsC0wDURcrR9DRZs7WChql2cJSunTh6rr6b5MM5YYgzWgXHvTxHaEIMiAuEXHsfcyInlxIyaHe2wS03PV6HZ1GKNbhksUx6NjKEoW5SmvmSngdlXSAOWwTYalUP6mKZm9BYHe57LQiHhiX76dKkqqVBvt16t6Hki3hRbqxdUH9JTB3sNAjoH6EjZKnH9h04M02IYncyJAhEpfDINkaerYMQ1Hbavpo0UHu"), - Key: []byte("32_byte_looooooooooooooooong_key"), - Iv: []byte{154, 201, 158, 144, 3, 25, 184, 208, 70, 90, 123, 45, 168, 27, 236, 25}, - CipherType: "aes", - Ciphertext: []byte{0x8b, 0xb2, 0xd7, 0x52, 0xdd, 0xff, 0x46, 0xa, 0xb9, 0x67, 0x12, 0x57, 0xe0, 0xff, 0x61, 0x23, 0x7, 0x60, 0x2, 0xe2, 0x28, 0x53, 0x53, 0x7c, 0x3e, 0xa, 0xdf, 0x8, 0x6e, 0xbd, 0x54, 0x48, 0xb3, 0x82, 0xf7, 0x6a, 0xce, 0xc6, 0xc8, 0xb3, 0xda, 0x19, 0xc5, 0x81, 0x91, 0x11, 0xd8, 0xd0, 0x87, 0x7d, 0xc0, 0x29, 0xb4, 0xe4, 0x8d, 0x74, 0x93, 0x0, 0xeb, 0x34, 0xc9, 0xd2, 0xb1, 0xc9, 0x30, 0xbc, 0xd9, 0x67, 0x7b, 0xa4, 0xeb, 0x81, 0x32, 0x8c, 0xa9, 0x95, 0xb9, 0x7c, 0xfb, 0xc0, 0x5f, 0x87, 0x2c, 0x32, 0x43, 0x15, 0xb4, 0xd1, 0x9b, 0x25, 0x3c, 0xe, 0xaf, 0xd1, 0x56, 0x17, 0xac, 0x26, 0x51, 0x17, 0x36, 0xda, 0xf6, 0x13, 0x5d, 0xf8, 0x12, 0xf6, 0x1f, 0x4, 0x17, 0x5b, 0xa8, 0xf1, 0xb1, 0xda, 0xc, 0x38, 0x13, 0x10, 0xe7, 0xe0, 0xd7, 0xa8, 0x4a, 0x69, 0x83, 0x5e, 0xe7, 0xc0, 0xf7, 0x21, 0xdb, 0xe3, 0x9d, 0x84, 0xce, 0x8e, 0x50, 0x7, 0x44, 0xe4, 0xe, 0xdf, 0xde, 0x88, 0xa5, 0xee, 0xd7, 0xf4, 0x32, 0xa0, 0x60, 0x24, 0x9d, 0x8b, 0x5a, 0xdf, 0xbc, 0xca, 0x6c, 0x2c, 0x80, 0x40, 0x47, 0xdf, 0x3f, 0x9b, 0xbe, 0x86, 0x34, 0x2b, 0x79, 0xc1, 0x27, 0xcf, 0x4c, 0xda, 0x89, 0x6b, 0xd8, 0xcb, 0xf8, 0xcd, 0x57, 0x46, 0xbc, 0x54, 0x55, 0x21, 0xc3, 0x34, 0x5e, 0x4c, 0xc8, 0xc3, 0x21, 0x51, 0xce, 0x8b, 0x3e, 0xcb, 0x36, 0xdc, 0x32, 0x31, 0xdc, 0x27, 0xf8, 0x12, 0x77, 0x64, 0xa8, 0xb8, 0x6d, 0x3c, 0x42, 0x6a, 0xd9, 0x7c, 0xbf, 0x14, 0xc5, 0x58, 0xdb, 0x1d, 0x24, 0x74, 0xb5, 0x47, 0xce, 0x54, 0x50, 0x32, 0xfc, 0xb9, 0x9f, 0xd3, 0x45, 0xa2, 0x5, 0x5d, 0xa4, 0x8a, 0x57, 0x58, 0x10, 0xc7, 0x5e, 0x83, 0x9f, 0x2b, 0x64, 0xe3, 0xd4, 0x98, 0x15, 0xf7, 0x8a, 0xdf, 0xe7, 0xc7, 0x2, 0x27, 0xa4, 0xff, 0xa7, 0x98, 0x24, 0xa, 0xf0, 0x2d}, - }, -} diff --git a/pkg/ccl/revertccl/revert_test.go b/pkg/ccl/revertccl/revert_test.go index 38386e8927a1..0c2e2e720745 100644 --- a/pkg/ccl/revertccl/revert_test.go +++ b/pkg/ccl/revertccl/revert_test.go @@ -181,18 +181,15 @@ func TestRevertGCThreshold(t *testing.T) { defer srv.Stopper().Stop(ctx) codec := srv.ApplicationLayer().Codec() - req1 := kvpb.RevertRangeRequest{ + req := &kvpb.RevertRangeRequest{ RequestHeader: kvpb.RequestHeader{Key: bootstrap.TestingUserTableDataMin(codec), EndKey: codec.TenantEndKey()}, TargetTime: hlc.Timestamp{WallTime: -1}, } - req2 := req1 - req2.IgnoreGcThreshold = true - - _, pErr := kv.SendWrapped(ctx, kvDB.NonTransactionalSender(), &req1) + _, pErr := kv.SendWrapped(ctx, kvDB.NonTransactionalSender(), req) if !testutils.IsPError(pErr, "must be after replica GC threshold") { t.Fatalf(`expected "must be after replica GC threshold" error got: %+v`, pErr) } - - _, pErr = kv.SendWrapped(ctx, kvDB.NonTransactionalSender(), &req2) + req.IgnoreGcThreshold = true + _, pErr = kv.SendWrapped(ctx, kvDB.NonTransactionalSender(), req) require.Nil(t, pErr) } diff --git a/pkg/ccl/schemachangerccl/backup_base_generated_test.go b/pkg/ccl/schemachangerccl/backup_base_generated_test.go index e7e01bc8dc67..611eeebb52d9 100644 --- a/pkg/ccl/schemachangerccl/backup_base_generated_test.go +++ b/pkg/ccl/schemachangerccl/backup_base_generated_test.go @@ -53,13 +53,6 @@ func TestBackupRollbacks_base_add_column_no_default(t *testing.T) { sctest.BackupRollbacks(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupRollbacks_base_add_column_serial(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/add_column_serial" - sctest.BackupRollbacks(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupRollbacks_base_add_column_virtual_not_null(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -81,20 +74,6 @@ func TestBackupRollbacks_base_add_column_with_stored_family(t *testing.T) { sctest.BackupRollbacks(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupRollbacks_base_alter_database_configure_zone(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_database_configure_zone" - sctest.BackupRollbacks(t, path, sctest.SingleNodeTestClusterFactory{}) -} - -func TestBackupRollbacks_base_alter_database_configure_zone_multiple(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_database_configure_zone_multiple" - sctest.BackupRollbacks(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupRollbacks_base_alter_table_add_check_udf(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -172,27 +151,6 @@ func TestBackupRollbacks_base_alter_table_alter_column_set_not_null(t *testing.T sctest.BackupRollbacks(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupRollbacks_base_alter_table_alter_column_type_noop(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_table_alter_column_type_noop" - sctest.BackupRollbacks(t, path, sctest.SingleNodeTestClusterFactory{}) -} - -func TestBackupRollbacks_base_alter_table_alter_column_type_trivial(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_table_alter_column_type_trivial" - sctest.BackupRollbacks(t, path, sctest.SingleNodeTestClusterFactory{}) -} - -func TestBackupRollbacks_base_alter_table_alter_column_type_validation(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_table_alter_column_type_validation" - sctest.BackupRollbacks(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupRollbacks_base_alter_table_alter_primary_key_drop_rowid(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -214,20 +172,6 @@ func TestBackupRollbacks_base_alter_table_alter_primary_key_vanilla(t *testing.T sctest.BackupRollbacks(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupRollbacks_base_alter_table_configure_zone(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_table_configure_zone" - sctest.BackupRollbacks(t, path, sctest.SingleNodeTestClusterFactory{}) -} - -func TestBackupRollbacks_base_alter_table_configure_zone_multiple(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_table_configure_zone_multiple" - sctest.BackupRollbacks(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupRollbacks_base_alter_table_drop_add_same_col_implicit(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -270,20 +214,6 @@ func TestBackupRollbacks_base_alter_table_validate_constraint(t *testing.T) { sctest.BackupRollbacks(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupRollbacks_base_comment_on_type_composite(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/comment_on_type_composite" - sctest.BackupRollbacks(t, path, sctest.SingleNodeTestClusterFactory{}) -} - -func TestBackupRollbacks_base_comment_on_type_enum(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/comment_on_type_enum" - sctest.BackupRollbacks(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupRollbacks_base_create_complex(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -382,13 +312,6 @@ func TestBackupRollbacks_base_create_sequence_drop_sequence(t *testing.T) { sctest.BackupRollbacks(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupRollbacks_base_create_temp_sequence(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/create_temp_sequence" - sctest.BackupRollbacks(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupRollbacks_base_drop_column_basic(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -445,20 +368,6 @@ func TestBackupRollbacks_base_drop_column_with_udf_default(t *testing.T) { sctest.BackupRollbacks(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupRollbacks_base_drop_comment_on_type_composite(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/drop_comment_on_type_composite" - sctest.BackupRollbacks(t, path, sctest.SingleNodeTestClusterFactory{}) -} - -func TestBackupRollbacks_base_drop_comment_on_type_enum(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/drop_comment_on_type_enum" - sctest.BackupRollbacks(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupRollbacks_base_drop_function(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -564,13 +473,6 @@ func TestBackupRollbacksMixedVersion_base_add_column_no_default(t *testing.T) { sctest.BackupRollbacksMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupRollbacksMixedVersion_base_add_column_serial(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/add_column_serial" - sctest.BackupRollbacksMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupRollbacksMixedVersion_base_add_column_virtual_not_null(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -592,20 +494,6 @@ func TestBackupRollbacksMixedVersion_base_add_column_with_stored_family(t *testi sctest.BackupRollbacksMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupRollbacksMixedVersion_base_alter_database_configure_zone(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_database_configure_zone" - sctest.BackupRollbacksMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - -func TestBackupRollbacksMixedVersion_base_alter_database_configure_zone_multiple(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_database_configure_zone_multiple" - sctest.BackupRollbacksMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupRollbacksMixedVersion_base_alter_table_add_check_udf(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -683,27 +571,6 @@ func TestBackupRollbacksMixedVersion_base_alter_table_alter_column_set_not_null( sctest.BackupRollbacksMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupRollbacksMixedVersion_base_alter_table_alter_column_type_noop(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_table_alter_column_type_noop" - sctest.BackupRollbacksMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - -func TestBackupRollbacksMixedVersion_base_alter_table_alter_column_type_trivial(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_table_alter_column_type_trivial" - sctest.BackupRollbacksMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - -func TestBackupRollbacksMixedVersion_base_alter_table_alter_column_type_validation(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_table_alter_column_type_validation" - sctest.BackupRollbacksMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupRollbacksMixedVersion_base_alter_table_alter_primary_key_drop_rowid(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -725,20 +592,6 @@ func TestBackupRollbacksMixedVersion_base_alter_table_alter_primary_key_vanilla( sctest.BackupRollbacksMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupRollbacksMixedVersion_base_alter_table_configure_zone(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_table_configure_zone" - sctest.BackupRollbacksMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - -func TestBackupRollbacksMixedVersion_base_alter_table_configure_zone_multiple(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_table_configure_zone_multiple" - sctest.BackupRollbacksMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupRollbacksMixedVersion_base_alter_table_drop_add_same_col_implicit(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -781,20 +634,6 @@ func TestBackupRollbacksMixedVersion_base_alter_table_validate_constraint(t *tes sctest.BackupRollbacksMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupRollbacksMixedVersion_base_comment_on_type_composite(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/comment_on_type_composite" - sctest.BackupRollbacksMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - -func TestBackupRollbacksMixedVersion_base_comment_on_type_enum(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/comment_on_type_enum" - sctest.BackupRollbacksMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupRollbacksMixedVersion_base_create_complex(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -893,13 +732,6 @@ func TestBackupRollbacksMixedVersion_base_create_sequence_drop_sequence(t *testi sctest.BackupRollbacksMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupRollbacksMixedVersion_base_create_temp_sequence(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/create_temp_sequence" - sctest.BackupRollbacksMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupRollbacksMixedVersion_base_drop_column_basic(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -956,20 +788,6 @@ func TestBackupRollbacksMixedVersion_base_drop_column_with_udf_default(t *testin sctest.BackupRollbacksMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupRollbacksMixedVersion_base_drop_comment_on_type_composite(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/drop_comment_on_type_composite" - sctest.BackupRollbacksMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - -func TestBackupRollbacksMixedVersion_base_drop_comment_on_type_enum(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/drop_comment_on_type_enum" - sctest.BackupRollbacksMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupRollbacksMixedVersion_base_drop_function(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -1075,13 +893,6 @@ func TestBackupSuccess_base_add_column_no_default(t *testing.T) { sctest.BackupSuccess(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupSuccess_base_add_column_serial(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/add_column_serial" - sctest.BackupSuccess(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupSuccess_base_add_column_virtual_not_null(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -1103,20 +914,6 @@ func TestBackupSuccess_base_add_column_with_stored_family(t *testing.T) { sctest.BackupSuccess(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupSuccess_base_alter_database_configure_zone(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_database_configure_zone" - sctest.BackupSuccess(t, path, sctest.SingleNodeTestClusterFactory{}) -} - -func TestBackupSuccess_base_alter_database_configure_zone_multiple(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_database_configure_zone_multiple" - sctest.BackupSuccess(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupSuccess_base_alter_table_add_check_udf(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -1194,27 +991,6 @@ func TestBackupSuccess_base_alter_table_alter_column_set_not_null(t *testing.T) sctest.BackupSuccess(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupSuccess_base_alter_table_alter_column_type_noop(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_table_alter_column_type_noop" - sctest.BackupSuccess(t, path, sctest.SingleNodeTestClusterFactory{}) -} - -func TestBackupSuccess_base_alter_table_alter_column_type_trivial(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_table_alter_column_type_trivial" - sctest.BackupSuccess(t, path, sctest.SingleNodeTestClusterFactory{}) -} - -func TestBackupSuccess_base_alter_table_alter_column_type_validation(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_table_alter_column_type_validation" - sctest.BackupSuccess(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupSuccess_base_alter_table_alter_primary_key_drop_rowid(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -1236,20 +1012,6 @@ func TestBackupSuccess_base_alter_table_alter_primary_key_vanilla(t *testing.T) sctest.BackupSuccess(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupSuccess_base_alter_table_configure_zone(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_table_configure_zone" - sctest.BackupSuccess(t, path, sctest.SingleNodeTestClusterFactory{}) -} - -func TestBackupSuccess_base_alter_table_configure_zone_multiple(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_table_configure_zone_multiple" - sctest.BackupSuccess(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupSuccess_base_alter_table_drop_add_same_col_implicit(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -1292,20 +1054,6 @@ func TestBackupSuccess_base_alter_table_validate_constraint(t *testing.T) { sctest.BackupSuccess(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupSuccess_base_comment_on_type_composite(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/comment_on_type_composite" - sctest.BackupSuccess(t, path, sctest.SingleNodeTestClusterFactory{}) -} - -func TestBackupSuccess_base_comment_on_type_enum(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/comment_on_type_enum" - sctest.BackupSuccess(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupSuccess_base_create_complex(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -1404,13 +1152,6 @@ func TestBackupSuccess_base_create_sequence_drop_sequence(t *testing.T) { sctest.BackupSuccess(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupSuccess_base_create_temp_sequence(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/create_temp_sequence" - sctest.BackupSuccess(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupSuccess_base_drop_column_basic(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -1467,20 +1208,6 @@ func TestBackupSuccess_base_drop_column_with_udf_default(t *testing.T) { sctest.BackupSuccess(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupSuccess_base_drop_comment_on_type_composite(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/drop_comment_on_type_composite" - sctest.BackupSuccess(t, path, sctest.SingleNodeTestClusterFactory{}) -} - -func TestBackupSuccess_base_drop_comment_on_type_enum(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/drop_comment_on_type_enum" - sctest.BackupSuccess(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupSuccess_base_drop_function(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -1586,13 +1313,6 @@ func TestBackupSuccessMixedVersion_base_add_column_no_default(t *testing.T) { sctest.BackupSuccessMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupSuccessMixedVersion_base_add_column_serial(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/add_column_serial" - sctest.BackupSuccessMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupSuccessMixedVersion_base_add_column_virtual_not_null(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -1614,20 +1334,6 @@ func TestBackupSuccessMixedVersion_base_add_column_with_stored_family(t *testing sctest.BackupSuccessMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupSuccessMixedVersion_base_alter_database_configure_zone(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_database_configure_zone" - sctest.BackupSuccessMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - -func TestBackupSuccessMixedVersion_base_alter_database_configure_zone_multiple(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_database_configure_zone_multiple" - sctest.BackupSuccessMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupSuccessMixedVersion_base_alter_table_add_check_udf(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -1705,27 +1411,6 @@ func TestBackupSuccessMixedVersion_base_alter_table_alter_column_set_not_null(t sctest.BackupSuccessMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupSuccessMixedVersion_base_alter_table_alter_column_type_noop(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_table_alter_column_type_noop" - sctest.BackupSuccessMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - -func TestBackupSuccessMixedVersion_base_alter_table_alter_column_type_trivial(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_table_alter_column_type_trivial" - sctest.BackupSuccessMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - -func TestBackupSuccessMixedVersion_base_alter_table_alter_column_type_validation(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_table_alter_column_type_validation" - sctest.BackupSuccessMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupSuccessMixedVersion_base_alter_table_alter_primary_key_drop_rowid(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -1747,20 +1432,6 @@ func TestBackupSuccessMixedVersion_base_alter_table_alter_primary_key_vanilla(t sctest.BackupSuccessMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupSuccessMixedVersion_base_alter_table_configure_zone(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_table_configure_zone" - sctest.BackupSuccessMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - -func TestBackupSuccessMixedVersion_base_alter_table_configure_zone_multiple(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/alter_table_configure_zone_multiple" - sctest.BackupSuccessMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupSuccessMixedVersion_base_alter_table_drop_add_same_col_implicit(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -1803,20 +1474,6 @@ func TestBackupSuccessMixedVersion_base_alter_table_validate_constraint(t *testi sctest.BackupSuccessMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupSuccessMixedVersion_base_comment_on_type_composite(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/comment_on_type_composite" - sctest.BackupSuccessMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - -func TestBackupSuccessMixedVersion_base_comment_on_type_enum(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/comment_on_type_enum" - sctest.BackupSuccessMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupSuccessMixedVersion_base_create_complex(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -1915,13 +1572,6 @@ func TestBackupSuccessMixedVersion_base_create_sequence_drop_sequence(t *testing sctest.BackupSuccessMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupSuccessMixedVersion_base_create_temp_sequence(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/create_temp_sequence" - sctest.BackupSuccessMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupSuccessMixedVersion_base_drop_column_basic(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -1978,20 +1628,6 @@ func TestBackupSuccessMixedVersion_base_drop_column_with_udf_default(t *testing. sctest.BackupSuccessMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) } -func TestBackupSuccessMixedVersion_base_drop_comment_on_type_composite(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/drop_comment_on_type_composite" - sctest.BackupSuccessMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - -func TestBackupSuccessMixedVersion_base_drop_comment_on_type_enum(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/sql/schemachanger/testdata/end_to_end/drop_comment_on_type_enum" - sctest.BackupSuccessMixedVersion(t, path, sctest.SingleNodeTestClusterFactory{}) -} - func TestBackupSuccessMixedVersion_base_drop_function(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) diff --git a/pkg/ccl/schemachangerccl/ccl_generated_test.go b/pkg/ccl/schemachangerccl/ccl_generated_test.go index cb91f20fc128..27a92aba5e65 100644 --- a/pkg/ccl/schemachangerccl/ccl_generated_test.go +++ b/pkg/ccl/schemachangerccl/ccl_generated_test.go @@ -18,20 +18,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/log" ) -func TestBackupRollbacks_ccl_alter_index_configure_zone(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone" - sctest.BackupRollbacks(t, path, MultiRegionTestClusterFactory{}) -} - -func TestBackupRollbacks_ccl_alter_index_configure_zone_multiple(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple" - sctest.BackupRollbacks(t, path, MultiRegionTestClusterFactory{}) -} - func TestBackupRollbacks_ccl_create_index(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -60,20 +46,6 @@ func TestBackupRollbacks_ccl_drop_table_multiregion_primary_region(t *testing.T) sctest.BackupRollbacks(t, path, MultiRegionTestClusterFactory{}) } -func TestBackupRollbacksMixedVersion_ccl_alter_index_configure_zone(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone" - sctest.BackupRollbacksMixedVersion(t, path, MultiRegionTestClusterFactory{}) -} - -func TestBackupRollbacksMixedVersion_ccl_alter_index_configure_zone_multiple(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple" - sctest.BackupRollbacksMixedVersion(t, path, MultiRegionTestClusterFactory{}) -} - func TestBackupRollbacksMixedVersion_ccl_create_index(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -102,20 +74,6 @@ func TestBackupRollbacksMixedVersion_ccl_drop_table_multiregion_primary_region(t sctest.BackupRollbacksMixedVersion(t, path, MultiRegionTestClusterFactory{}) } -func TestBackupSuccess_ccl_alter_index_configure_zone(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone" - sctest.BackupSuccess(t, path, MultiRegionTestClusterFactory{}) -} - -func TestBackupSuccess_ccl_alter_index_configure_zone_multiple(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple" - sctest.BackupSuccess(t, path, MultiRegionTestClusterFactory{}) -} - func TestBackupSuccess_ccl_create_index(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -144,20 +102,6 @@ func TestBackupSuccess_ccl_drop_table_multiregion_primary_region(t *testing.T) { sctest.BackupSuccess(t, path, MultiRegionTestClusterFactory{}) } -func TestBackupSuccessMixedVersion_ccl_alter_index_configure_zone(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone" - sctest.BackupSuccessMixedVersion(t, path, MultiRegionTestClusterFactory{}) -} - -func TestBackupSuccessMixedVersion_ccl_alter_index_configure_zone_multiple(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple" - sctest.BackupSuccessMixedVersion(t, path, MultiRegionTestClusterFactory{}) -} - func TestBackupSuccessMixedVersion_ccl_create_index(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -186,20 +130,6 @@ func TestBackupSuccessMixedVersion_ccl_drop_table_multiregion_primary_region(t * sctest.BackupSuccessMixedVersion(t, path, MultiRegionTestClusterFactory{}) } -func TestEndToEndSideEffects_ccl_alter_index_configure_zone(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone" - sctest.EndToEndSideEffects(t, path, MultiRegionTestClusterFactory{}) -} - -func TestEndToEndSideEffects_ccl_alter_index_configure_zone_multiple(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple" - sctest.EndToEndSideEffects(t, path, MultiRegionTestClusterFactory{}) -} - func TestEndToEndSideEffects_ccl_create_index(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -228,20 +158,6 @@ func TestEndToEndSideEffects_ccl_drop_table_multiregion_primary_region(t *testin sctest.EndToEndSideEffects(t, path, MultiRegionTestClusterFactory{}) } -func TestExecuteWithDMLInjection_ccl_alter_index_configure_zone(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone" - sctest.ExecuteWithDMLInjection(t, path, MultiRegionTestClusterFactory{}) -} - -func TestExecuteWithDMLInjection_ccl_alter_index_configure_zone_multiple(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple" - sctest.ExecuteWithDMLInjection(t, path, MultiRegionTestClusterFactory{}) -} - func TestExecuteWithDMLInjection_ccl_create_index(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -270,20 +186,6 @@ func TestExecuteWithDMLInjection_ccl_drop_table_multiregion_primary_region(t *te sctest.ExecuteWithDMLInjection(t, path, MultiRegionTestClusterFactory{}) } -func TestGenerateSchemaChangeCorpus_ccl_alter_index_configure_zone(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone" - sctest.GenerateSchemaChangeCorpus(t, path, MultiRegionTestClusterFactory{}) -} - -func TestGenerateSchemaChangeCorpus_ccl_alter_index_configure_zone_multiple(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple" - sctest.GenerateSchemaChangeCorpus(t, path, MultiRegionTestClusterFactory{}) -} - func TestGenerateSchemaChangeCorpus_ccl_create_index(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -312,20 +214,6 @@ func TestGenerateSchemaChangeCorpus_ccl_drop_table_multiregion_primary_region(t sctest.GenerateSchemaChangeCorpus(t, path, MultiRegionTestClusterFactory{}) } -func TestPause_ccl_alter_index_configure_zone(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone" - sctest.Pause(t, path, MultiRegionTestClusterFactory{}) -} - -func TestPause_ccl_alter_index_configure_zone_multiple(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple" - sctest.Pause(t, path, MultiRegionTestClusterFactory{}) -} - func TestPause_ccl_create_index(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -354,20 +242,6 @@ func TestPause_ccl_drop_table_multiregion_primary_region(t *testing.T) { sctest.Pause(t, path, MultiRegionTestClusterFactory{}) } -func TestPauseMixedVersion_ccl_alter_index_configure_zone(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone" - sctest.PauseMixedVersion(t, path, MultiRegionTestClusterFactory{}) -} - -func TestPauseMixedVersion_ccl_alter_index_configure_zone_multiple(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple" - sctest.PauseMixedVersion(t, path, MultiRegionTestClusterFactory{}) -} - func TestPauseMixedVersion_ccl_create_index(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -396,20 +270,6 @@ func TestPauseMixedVersion_ccl_drop_table_multiregion_primary_region(t *testing. sctest.PauseMixedVersion(t, path, MultiRegionTestClusterFactory{}) } -func TestRollback_ccl_alter_index_configure_zone(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone" - sctest.Rollback(t, path, MultiRegionTestClusterFactory{}) -} - -func TestRollback_ccl_alter_index_configure_zone_multiple(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - const path = "pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple" - sctest.Rollback(t, path, MultiRegionTestClusterFactory{}) -} - func TestRollback_ccl_create_index(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) diff --git a/pkg/ccl/schemachangerccl/schemachanger_ccl_test.go b/pkg/ccl/schemachangerccl/schemachanger_ccl_test.go index 544b5b89da86..68aa3a461af5 100644 --- a/pkg/ccl/schemachangerccl/schemachanger_ccl_test.go +++ b/pkg/ccl/schemachangerccl/schemachanger_ccl_test.go @@ -46,7 +46,7 @@ func (f MultiRegionTestClusterFactory) WithSchemaChangerKnobs( // WithMixedVersion implements the sctest.TestServerFactory interface. func (f MultiRegionTestClusterFactory) WithMixedVersion() sctest.TestServerFactory { f.server = &server.TestingKnobs{ - ClusterVersionOverride: sctest.OldVersionKey.Version(), + BinaryVersionOverride: sctest.OldVersionKey.Version(), DisableAutomaticVersionUpgrade: make(chan struct{}), } return f diff --git a/pkg/ccl/schemachangerccl/testdata/decomp/multiregion b/pkg/ccl/schemachangerccl/testdata/decomp/multiregion index 93fcdefea301..2dcd8bff9b8e 100644 --- a/pkg/ccl/schemachangerccl/testdata/decomp/multiregion +++ b/pkg/ccl/schemachangerccl/testdata/decomp/multiregion @@ -38,49 +38,6 @@ ElementState: databaseId: 104 roleName: __placeholder_role_name__ Status: PUBLIC -- DatabaseZoneConfig: - databaseId: 104 - seqNum: 0 - zoneConfig: - constraints: - - constraints: - - key: region - type: REQUIRED - value: us-east1 - numReplicas: 1 - - constraints: - - key: region - type: REQUIRED - value: us-east2 - numReplicas: 1 - - constraints: - - key: region - type: REQUIRED - value: us-east3 - numReplicas: 1 - gc: null - globalReads: null - inheritedConstraints: false - inheritedLeasePreferences: false - leasePreferences: - - constraints: - - key: region - type: REQUIRED - value: us-east1 - nullVoterConstraintsIsEmpty: true - numReplicas: 5 - numVoters: 5 - rangeMaxBytes: null - rangeMinBytes: null - subzoneSpans: [] - subzones: [] - voterConstraints: - - constraints: - - key: region - type: REQUIRED - value: us-east1 - numReplicas: 2 - Status: PUBLIC - Namespace: databaseId: 0 descriptorId: 104 @@ -200,7 +157,6 @@ ElementState: computeExpr: null elementCreationMetadata: in231OrLater: true - in243OrLater: true familyId: 0 isNullable: true isVirtual: false @@ -221,7 +177,6 @@ ElementState: udtMetadata: null visibleType: 0 width: 64 - typeName: INT8 Status: PUBLIC - ColumnType: closedTypeIds: [] @@ -229,7 +184,6 @@ ElementState: computeExpr: null elementCreationMetadata: in231OrLater: true - in243OrLater: true familyId: 0 isNullable: false isVirtual: false @@ -250,7 +204,6 @@ ElementState: udtMetadata: null visibleType: 0 width: 64 - typeName: INT8 Status: PUBLIC - ColumnType: closedTypeIds: [] @@ -258,7 +211,6 @@ ElementState: computeExpr: null elementCreationMetadata: in231OrLater: true - in243OrLater: true familyId: 0 isNullable: true isVirtual: false @@ -279,7 +231,6 @@ ElementState: udtMetadata: null visibleType: 0 width: 0 - typeName: OID Status: PUBLIC - ColumnType: closedTypeIds: [] @@ -287,7 +238,6 @@ ElementState: computeExpr: null elementCreationMetadata: in231OrLater: true - in243OrLater: true familyId: 0 isNullable: true isVirtual: false @@ -308,7 +258,6 @@ ElementState: udtMetadata: null visibleType: 0 width: 0 - typeName: DECIMAL Status: PUBLIC - IndexColumn: columnId: 1 @@ -380,23 +329,7 @@ ElementState: tableId: 110 Status: PUBLIC - TableZoneConfig: - seqNum: 0 tableId: 110 - zoneConfig: - constraints: [] - gc: null - globalReads: true - inheritedConstraints: true - inheritedLeasePreferences: true - leasePreferences: [] - nullVoterConstraintsIsEmpty: false - numReplicas: null - numVoters: null - rangeMaxBytes: null - rangeMinBytes: null - subzoneSpans: [] - subzones: [] - voterConstraints: [] Status: PUBLIC - UserPrivileges: descriptorId: 110 @@ -501,7 +434,6 @@ ElementState: computeExpr: null elementCreationMetadata: in231OrLater: true - in243OrLater: true familyId: 0 isNullable: true isVirtual: false @@ -522,7 +454,6 @@ ElementState: udtMetadata: null visibleType: 0 width: 64 - typeName: INT8 Status: PUBLIC - ColumnType: closedTypeIds: [] @@ -530,7 +461,6 @@ ElementState: computeExpr: null elementCreationMetadata: in231OrLater: true - in243OrLater: true familyId: 0 isNullable: false isVirtual: false @@ -551,7 +481,6 @@ ElementState: udtMetadata: null visibleType: 0 width: 64 - typeName: INT8 Status: PUBLIC - ColumnType: closedTypeIds: [] @@ -559,7 +488,6 @@ ElementState: computeExpr: null elementCreationMetadata: in231OrLater: true - in243OrLater: true familyId: 0 isNullable: true isVirtual: false @@ -580,7 +508,6 @@ ElementState: udtMetadata: null visibleType: 0 width: 0 - typeName: OID Status: PUBLIC - ColumnType: closedTypeIds: [] @@ -588,7 +515,6 @@ ElementState: computeExpr: null elementCreationMetadata: in231OrLater: true - in243OrLater: true familyId: 0 isNullable: true isVirtual: false @@ -609,7 +535,6 @@ ElementState: udtMetadata: null visibleType: 0 width: 0 - typeName: DECIMAL Status: PUBLIC - IndexColumn: columnId: 1 @@ -683,32 +608,7 @@ ElementState: tableId: 109 Status: PUBLIC - TableZoneConfig: - seqNum: 0 tableId: 109 - zoneConfig: - constraints: [] - gc: null - globalReads: null - inheritedConstraints: true - inheritedLeasePreferences: false - leasePreferences: - - constraints: - - key: region - type: REQUIRED - value: us-east2 - nullVoterConstraintsIsEmpty: true - numReplicas: null - numVoters: 5 - rangeMaxBytes: null - rangeMinBytes: null - subzoneSpans: [] - subzones: [] - voterConstraints: - - constraints: - - key: region - type: REQUIRED - value: us-east2 - numReplicas: 2 Status: PUBLIC - UserPrivileges: descriptorId: 109 @@ -843,7 +743,6 @@ ElementState: computeExpr: null elementCreationMetadata: in231OrLater: true - in243OrLater: true familyId: 0 isNullable: false isVirtual: false @@ -865,7 +764,6 @@ ElementState: arrayTypeOid: 100107 visibleType: 0 width: 0 - typeName: public.crdb_internal_region Status: PUBLIC - ColumnType: closedTypeIds: [] @@ -873,7 +771,6 @@ ElementState: computeExpr: null elementCreationMetadata: in231OrLater: true - in243OrLater: true familyId: 0 isNullable: false isVirtual: false @@ -894,7 +791,6 @@ ElementState: udtMetadata: null visibleType: 0 width: 64 - typeName: INT8 Status: PUBLIC - ColumnType: closedTypeIds: [] @@ -902,7 +798,6 @@ ElementState: computeExpr: null elementCreationMetadata: in231OrLater: true - in243OrLater: true familyId: 0 isNullable: true isVirtual: false @@ -923,7 +818,6 @@ ElementState: udtMetadata: null visibleType: 0 width: 0 - typeName: STRING Status: PUBLIC - ColumnType: closedTypeIds: [] @@ -931,7 +825,6 @@ ElementState: computeExpr: null elementCreationMetadata: in231OrLater: true - in243OrLater: true familyId: 0 isNullable: true isVirtual: false @@ -952,7 +845,6 @@ ElementState: udtMetadata: null visibleType: 0 width: 0 - typeName: OID Status: PUBLIC - ColumnType: closedTypeIds: [] @@ -960,7 +852,6 @@ ElementState: computeExpr: null elementCreationMetadata: in231OrLater: true - in243OrLater: true familyId: 0 isNullable: true isVirtual: false @@ -981,7 +872,6 @@ ElementState: udtMetadata: null visibleType: 0 width: 0 - typeName: DECIMAL Status: PUBLIC - IndexColumn: columnId: 1 @@ -1063,103 +953,16 @@ ElementState: - IndexZoneConfig: indexId: 1 partitionName: us-east1 - seqNum: 0 - subzone: - config: - constraints: [] - gc: null - globalReads: null - inheritedConstraints: true - inheritedLeasePreferences: false - leasePreferences: - - constraints: - - key: region - type: REQUIRED - value: us-east1 - nullVoterConstraintsIsEmpty: true - numReplicas: null - numVoters: 5 - rangeMaxBytes: null - rangeMinBytes: null - subzoneSpans: [] - subzones: [] - voterConstraints: - - constraints: - - key: region - type: REQUIRED - value: us-east1 - numReplicas: 2 - indexId: 1 - partitionName: us-east1 - subzoneSpans: [] tableId: 108 Status: PUBLIC - IndexZoneConfig: indexId: 1 partitionName: us-east2 - seqNum: 0 - subzone: - config: - constraints: [] - gc: null - globalReads: null - inheritedConstraints: true - inheritedLeasePreferences: false - leasePreferences: - - constraints: - - key: region - type: REQUIRED - value: us-east2 - nullVoterConstraintsIsEmpty: true - numReplicas: null - numVoters: 5 - rangeMaxBytes: null - rangeMinBytes: null - subzoneSpans: [] - subzones: [] - voterConstraints: - - constraints: - - key: region - type: REQUIRED - value: us-east2 - numReplicas: 2 - indexId: 1 - partitionName: us-east2 - subzoneSpans: [] tableId: 108 Status: PUBLIC - IndexZoneConfig: indexId: 1 partitionName: us-east3 - seqNum: 0 - subzone: - config: - constraints: [] - gc: null - globalReads: null - inheritedConstraints: true - inheritedLeasePreferences: false - leasePreferences: - - constraints: - - key: region - type: REQUIRED - value: us-east3 - nullVoterConstraintsIsEmpty: true - numReplicas: null - numVoters: 5 - rangeMaxBytes: null - rangeMinBytes: null - subzoneSpans: [] - subzones: [] - voterConstraints: - - constraints: - - key: region - type: REQUIRED - value: us-east3 - numReplicas: 2 - indexId: 1 - partitionName: us-east3 - subzoneSpans: [] tableId: 108 Status: PUBLIC - Namespace: @@ -1211,110 +1014,7 @@ ElementState: tableId: 108 Status: PUBLIC - TableZoneConfig: - seqNum: 0 tableId: 108 - zoneConfig: - constraints: [] - gc: null - globalReads: null - inheritedConstraints: true - inheritedLeasePreferences: true - leasePreferences: [] - nullVoterConstraintsIsEmpty: false - numReplicas: 0 - numVoters: null - rangeMaxBytes: null - rangeMinBytes: null - subzoneSpans: - - endKey: null - key: iRJAAAE= - subzoneIndex: 0 - - endKey: null - key: iRKAAAE= - subzoneIndex: 1 - - endKey: null - key: iRLAAAE= - subzoneIndex: 2 - subzones: - - config: - constraints: [] - gc: null - globalReads: null - inheritedConstraints: true - inheritedLeasePreferences: false - leasePreferences: - - constraints: - - key: region - type: REQUIRED - value: us-east1 - nullVoterConstraintsIsEmpty: true - numReplicas: null - numVoters: 5 - rangeMaxBytes: null - rangeMinBytes: null - subzoneSpans: [] - subzones: [] - voterConstraints: - - constraints: - - key: region - type: REQUIRED - value: us-east1 - numReplicas: 2 - indexId: 1 - partitionName: us-east1 - - config: - constraints: [] - gc: null - globalReads: null - inheritedConstraints: true - inheritedLeasePreferences: false - leasePreferences: - - constraints: - - key: region - type: REQUIRED - value: us-east2 - nullVoterConstraintsIsEmpty: true - numReplicas: null - numVoters: 5 - rangeMaxBytes: null - rangeMinBytes: null - subzoneSpans: [] - subzones: [] - voterConstraints: - - constraints: - - key: region - type: REQUIRED - value: us-east2 - numReplicas: 2 - indexId: 1 - partitionName: us-east2 - - config: - constraints: [] - gc: null - globalReads: null - inheritedConstraints: true - inheritedLeasePreferences: false - leasePreferences: - - constraints: - - key: region - type: REQUIRED - value: us-east3 - nullVoterConstraintsIsEmpty: true - numReplicas: null - numVoters: 5 - rangeMaxBytes: null - rangeMinBytes: null - subzoneSpans: [] - subzones: [] - voterConstraints: - - constraints: - - key: region - type: REQUIRED - value: us-east3 - numReplicas: 2 - indexId: 1 - partitionName: us-east3 - voterConstraints: [] Status: PUBLIC - UserPrivileges: descriptorId: 108 diff --git a/pkg/ccl/schemachangerccl/testdata/decomp/partitioning b/pkg/ccl/schemachangerccl/testdata/decomp/partitioning index c58b1147dded..e22044395730 100644 --- a/pkg/ccl/schemachangerccl/testdata/decomp/partitioning +++ b/pkg/ccl/schemachangerccl/testdata/decomp/partitioning @@ -131,7 +131,6 @@ ElementState: computeExpr: null elementCreationMetadata: in231OrLater: true - in243OrLater: true familyId: 0 isNullable: false isVirtual: false @@ -152,7 +151,6 @@ ElementState: udtMetadata: null visibleType: 0 width: 64 - typeName: INT8 Status: PUBLIC - ColumnType: closedTypeIds: [] @@ -160,7 +158,6 @@ ElementState: computeExpr: null elementCreationMetadata: in231OrLater: true - in243OrLater: true familyId: 0 isNullable: false isVirtual: false @@ -181,7 +178,6 @@ ElementState: udtMetadata: null visibleType: 0 width: 64 - typeName: INT8 Status: PUBLIC - ColumnType: closedTypeIds: [] @@ -189,7 +185,6 @@ ElementState: computeExpr: null elementCreationMetadata: in231OrLater: true - in243OrLater: true familyId: 0 isNullable: true isVirtual: false @@ -210,7 +205,6 @@ ElementState: udtMetadata: null visibleType: 0 width: 0 - typeName: JSONB Status: PUBLIC - ColumnType: closedTypeIds: [] @@ -218,7 +212,6 @@ ElementState: computeExpr: null elementCreationMetadata: in231OrLater: true - in243OrLater: true familyId: 0 isNullable: true isVirtual: false @@ -239,7 +232,6 @@ ElementState: udtMetadata: null visibleType: 0 width: 0 - typeName: OID Status: PUBLIC - ColumnType: closedTypeIds: [] @@ -247,7 +239,6 @@ ElementState: computeExpr: null elementCreationMetadata: in231OrLater: true - in243OrLater: true familyId: 0 isNullable: true isVirtual: false @@ -268,7 +259,6 @@ ElementState: udtMetadata: null visibleType: 0 width: 0 - typeName: DECIMAL Status: PUBLIC - IndexColumn: columnId: 1 @@ -539,7 +529,6 @@ ElementState: computeExpr: null elementCreationMetadata: in231OrLater: true - in243OrLater: true familyId: 0 isNullable: false isVirtual: false @@ -560,7 +549,6 @@ ElementState: udtMetadata: null visibleType: 0 width: 64 - typeName: INT8 Status: PUBLIC - ColumnType: closedTypeIds: [] @@ -568,7 +556,6 @@ ElementState: computeExpr: null elementCreationMetadata: in231OrLater: true - in243OrLater: true familyId: 0 isNullable: true isVirtual: false @@ -589,7 +576,6 @@ ElementState: udtMetadata: null visibleType: 0 width: 64 - typeName: INT8 Status: PUBLIC - ColumnType: closedTypeIds: [] @@ -597,7 +583,6 @@ ElementState: computeExpr: null elementCreationMetadata: in231OrLater: true - in243OrLater: true familyId: 0 isNullable: true isVirtual: false @@ -618,7 +603,6 @@ ElementState: udtMetadata: null visibleType: 0 width: 0 - typeName: OID Status: PUBLIC - ColumnType: closedTypeIds: [] @@ -626,7 +610,6 @@ ElementState: computeExpr: null elementCreationMetadata: in231OrLater: true - in243OrLater: true familyId: 0 isNullable: true isVirtual: false @@ -647,7 +630,6 @@ ElementState: udtMetadata: null visibleType: 0 width: 0 - typeName: DECIMAL Status: PUBLIC - IndexColumn: columnId: 1 diff --git a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone/alter_index_configure_zone.definition b/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone/alter_index_configure_zone.definition deleted file mode 100644 index cdc875cf1793..000000000000 --- a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone/alter_index_configure_zone.definition +++ /dev/null @@ -1,8 +0,0 @@ -setup -CREATE TABLE t(i int); -CREATE INDEX foo ON t(i); ----- - -test -ALTER INDEX t@foo CONFIGURE ZONE USING num_replicas = 7, gc.ttlseconds = 10000; ----- diff --git a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone/alter_index_configure_zone.explain b/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone/alter_index_configure_zone.explain deleted file mode 100644 index 2fd8aee84199..000000000000 --- a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone/alter_index_configure_zone.explain +++ /dev/null @@ -1,25 +0,0 @@ -/* setup */ -CREATE TABLE t(i int); -CREATE INDEX foo ON t(i); - -/* test */ -EXPLAIN (DDL) ALTER INDEX t@foo CONFIGURE ZONE USING num_replicas = 7, gc.ttlseconds = 10000; ----- -Schema change plan for ALTER INDEX ‹defaultdb›.‹public›.‹t›@‹foo› CONFIGURE ZONE USING ‹num_replicas› = ‹7›, ‹"gc.ttlseconds"› = ‹10000›; - ├── StatementPhase - │ └── Stage 1 of 1 in StatementPhase - │ ├── 1 element transitioning toward PUBLIC - │ │ └── ABSENT → PUBLIC IndexZoneConfig:{DescID: 104 (t), IndexID: 2 (foo), SeqNum: 1} - │ └── 1 Mutation operation - │ └── AddIndexZoneConfig {"IndexID":2,"TableID":104} - └── PreCommitPhase - ├── Stage 1 of 2 in PreCommitPhase - │ ├── 1 element transitioning toward PUBLIC - │ │ └── PUBLIC → ABSENT IndexZoneConfig:{DescID: 104 (t), IndexID: 2 (foo), SeqNum: 1} - │ └── 1 Mutation operation - │ └── UndoAllInTxnImmediateMutationOpSideEffects - └── Stage 2 of 2 in PreCommitPhase - ├── 1 element transitioning toward PUBLIC - │ └── ABSENT → PUBLIC IndexZoneConfig:{DescID: 104 (t), IndexID: 2 (foo), SeqNum: 1} - └── 1 Mutation operation - └── AddIndexZoneConfig {"IndexID":2,"TableID":104} diff --git a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone/alter_index_configure_zone.explain_shape b/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone/alter_index_configure_zone.explain_shape deleted file mode 100644 index e5387e6ab28d..000000000000 --- a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone/alter_index_configure_zone.explain_shape +++ /dev/null @@ -1,9 +0,0 @@ -/* setup */ -CREATE TABLE t(i int); -CREATE INDEX foo ON t(i); - -/* test */ -EXPLAIN (DDL, SHAPE) ALTER INDEX t@foo CONFIGURE ZONE USING num_replicas = 7, gc.ttlseconds = 10000; ----- -Schema change plan for ALTER INDEX ‹defaultdb›.‹public›.‹t›@‹foo› CONFIGURE ZONE USING ‹num_replicas› = ‹7›, ‹"gc.ttlseconds"› = ‹10000›; - └── execute 1 system table mutations transaction diff --git a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone/alter_index_configure_zone.side_effects b/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone/alter_index_configure_zone.side_effects deleted file mode 100644 index b23996af169e..000000000000 --- a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone/alter_index_configure_zone.side_effects +++ /dev/null @@ -1,33 +0,0 @@ -/* setup */ -CREATE TABLE t(i int); -CREATE INDEX foo ON t(i); ----- -... -+object {100 101 t} -> 104 - -/* test */ -ALTER INDEX t@foo CONFIGURE ZONE USING num_replicas = 7, gc.ttlseconds = 10000; ----- -begin transaction #1 -# begin StatementPhase -checking for feature: CONFIGURE ZONE -write *eventpb.AlterTable to event log: - mutationId: 1 - sql: - descriptorId: 104 - statement: ALTER INDEX ‹defaultdb›.‹public›.‹t›@‹foo› CONFIGURE ZONE USING ‹num_replicas› = ‹7›, ‹"gc.ttlseconds"› = ‹10000› - tag: CONFIGURE ZONE - user: root - tableName: defaultdb.public.t -## StatementPhase stage 1 of 1 with 1 MutationType op -upsert zone config for #104 -# end StatementPhase -# begin PreCommitPhase -## PreCommitPhase stage 1 of 2 with 1 MutationType op -undo all catalog changes within txn #1 -persist all catalog changes to storage -## PreCommitPhase stage 2 of 2 with 1 MutationType op -upsert zone config for #104 -persist all catalog changes to storage -# end PreCommitPhase -commit transaction #1 diff --git a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple.definition b/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple.definition deleted file mode 100644 index 9cd84439bac8..000000000000 --- a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple.definition +++ /dev/null @@ -1,10 +0,0 @@ -setup -CREATE TABLE t(i int); -CREATE INDEX foo ON t(i); ----- - -test -ALTER INDEX t@foo CONFIGURE ZONE USING num_replicas = 7; -ALTER INDEX t@foo CONFIGURE ZONE USING gc.ttlseconds = 10000; -ALTER INDEX t@foo CONFIGURE ZONE USING num_replicas = 10; ----- diff --git a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple.explain b/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple.explain deleted file mode 100644 index f115c1e80113..000000000000 --- a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple.explain +++ /dev/null @@ -1,25 +0,0 @@ -/* setup */ -CREATE TABLE t(i int); -CREATE INDEX foo ON t(i); - -/* test */ -EXPLAIN (DDL) ALTER INDEX t@foo CONFIGURE ZONE USING num_replicas = 7, gc.ttlseconds = 10000; ----- -Schema change plan for ALTER INDEX ‹defaultdb›.‹public›.‹t›@‹foo› CONFIGURE ZONE USING ‹num_replicas› = ‹7›, ‹"gc.ttlseconds"› = ‹10000›; - ├── StatementPhase - │ └── Stage 1 of 1 in StatementPhase - │ ├── 1 element transitioning toward PUBLIC - │ │ └── ABSENT → PUBLIC IndexZoneConfig:{DescID: 104 (t), IndexID: 0, SeqNum: 1} - │ └── 1 Mutation operation - │ └── AddIndexZoneConfig {"TableID":104} - └── PreCommitPhase - ├── Stage 1 of 2 in PreCommitPhase - │ ├── 1 element transitioning toward PUBLIC - │ │ └── PUBLIC → ABSENT IndexZoneConfig:{DescID: 104 (t), IndexID: 0, SeqNum: 1} - │ └── 1 Mutation operation - │ └── UndoAllInTxnImmediateMutationOpSideEffects - └── Stage 2 of 2 in PreCommitPhase - ├── 1 element transitioning toward PUBLIC - │ └── ABSENT → PUBLIC IndexZoneConfig:{DescID: 104 (t), IndexID: 0, SeqNum: 1} - └── 1 Mutation operation - └── AddIndexZoneConfig {"TableID":104} diff --git a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple.explain_shape b/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple.explain_shape deleted file mode 100644 index e5387e6ab28d..000000000000 --- a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple.explain_shape +++ /dev/null @@ -1,9 +0,0 @@ -/* setup */ -CREATE TABLE t(i int); -CREATE INDEX foo ON t(i); - -/* test */ -EXPLAIN (DDL, SHAPE) ALTER INDEX t@foo CONFIGURE ZONE USING num_replicas = 7, gc.ttlseconds = 10000; ----- -Schema change plan for ALTER INDEX ‹defaultdb›.‹public›.‹t›@‹foo› CONFIGURE ZONE USING ‹num_replicas› = ‹7›, ‹"gc.ttlseconds"› = ‹10000›; - └── execute 1 system table mutations transaction diff --git a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple.side_effects b/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple.side_effects deleted file mode 100644 index 099d632b6f15..000000000000 --- a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple.side_effects +++ /dev/null @@ -1,57 +0,0 @@ -/* setup */ -CREATE TABLE t(i int); -CREATE INDEX foo ON t(i); ----- -... -+object {100 101 t} -> 104 - -/* test */ -ALTER INDEX t@foo CONFIGURE ZONE USING num_replicas = 7; -ALTER INDEX t@foo CONFIGURE ZONE USING gc.ttlseconds = 10000; -ALTER INDEX t@foo CONFIGURE ZONE USING num_replicas = 10; ----- -begin transaction #1 -# begin StatementPhase -checking for feature: CONFIGURE ZONE -write *eventpb.AlterTable to event log: - mutationId: 1 - sql: - descriptorId: 104 - statement: ALTER INDEX ‹defaultdb›.‹public›.‹t›@‹foo› CONFIGURE ZONE USING ‹num_replicas› = ‹7› - tag: CONFIGURE ZONE - user: root - tableName: defaultdb.public.t -## StatementPhase stage 1 of 1 with 1 MutationType op -upsert zone config for #104 -checking for feature: CONFIGURE ZONE -write *eventpb.AlterTable to event log: - mutationId: 1 - sql: - descriptorId: 104 - statement: ALTER INDEX ‹defaultdb›.‹public›.‹t›@‹foo› CONFIGURE ZONE USING ‹"gc.ttlseconds"› = ‹10000› - tag: CONFIGURE ZONE - user: root - tableName: defaultdb.public.t -## StatementPhase stage 1 of 1 with 1 MutationType op -upsert zone config for #104 -checking for feature: CONFIGURE ZONE -write *eventpb.AlterTable to event log: - mutationId: 1 - sql: - descriptorId: 104 - statement: ALTER INDEX ‹defaultdb›.‹public›.‹t›@‹foo› CONFIGURE ZONE USING ‹num_replicas› = ‹10› - tag: CONFIGURE ZONE - user: root - tableName: defaultdb.public.t -## StatementPhase stage 1 of 1 with 1 MutationType op -upsert zone config for #104 -# end StatementPhase -# begin PreCommitPhase -## PreCommitPhase stage 1 of 2 with 1 MutationType op -undo all catalog changes within txn #1 -persist all catalog changes to storage -## PreCommitPhase stage 2 of 2 with 3 MutationType ops -upsert zone config for #104 -persist all catalog changes to storage -# end PreCommitPhase -commit transaction #1 diff --git a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple__statement_1_of_3.explain b/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple__statement_1_of_3.explain deleted file mode 100644 index 05d3ab8c2972..000000000000 --- a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple__statement_1_of_3.explain +++ /dev/null @@ -1,25 +0,0 @@ -/* setup */ -CREATE TABLE t(i int); -CREATE INDEX foo ON t(i); - -/* test */ -EXPLAIN (DDL) ALTER INDEX t@foo CONFIGURE ZONE USING num_replicas = 7; ----- -Schema change plan for ALTER INDEX ‹defaultdb›.‹public›.‹t›@‹foo› CONFIGURE ZONE USING ‹num_replicas› = ‹7›; - ├── StatementPhase - │ └── Stage 1 of 1 in StatementPhase - │ ├── 1 element transitioning toward PUBLIC - │ │ └── ABSENT → PUBLIC IndexZoneConfig:{DescID: 104 (t), IndexID: 2 (foo), SeqNum: 1} - │ └── 1 Mutation operation - │ └── AddIndexZoneConfig {"IndexID":2,"TableID":104} - └── PreCommitPhase - ├── Stage 1 of 2 in PreCommitPhase - │ ├── 1 element transitioning toward PUBLIC - │ │ └── PUBLIC → ABSENT IndexZoneConfig:{DescID: 104 (t), IndexID: 2 (foo), SeqNum: 1} - │ └── 1 Mutation operation - │ └── UndoAllInTxnImmediateMutationOpSideEffects - └── Stage 2 of 2 in PreCommitPhase - ├── 1 element transitioning toward PUBLIC - │ └── ABSENT → PUBLIC IndexZoneConfig:{DescID: 104 (t), IndexID: 2 (foo), SeqNum: 1} - └── 1 Mutation operation - └── AddIndexZoneConfig {"IndexID":2,"TableID":104} diff --git a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple__statement_1_of_3.explain_shape b/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple__statement_1_of_3.explain_shape deleted file mode 100644 index c67a70d6ee9d..000000000000 --- a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple__statement_1_of_3.explain_shape +++ /dev/null @@ -1,9 +0,0 @@ -/* setup */ -CREATE TABLE t(i int); -CREATE INDEX foo ON t(i); - -/* test */ -EXPLAIN (DDL, SHAPE) ALTER INDEX t@foo CONFIGURE ZONE USING num_replicas = 7; ----- -Schema change plan for ALTER INDEX ‹defaultdb›.‹public›.‹t›@‹foo› CONFIGURE ZONE USING ‹num_replicas› = ‹7›; - └── execute 1 system table mutations transaction diff --git a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple__statement_2_of_3.explain b/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple__statement_2_of_3.explain deleted file mode 100644 index cfd192dd5bb3..000000000000 --- a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple__statement_2_of_3.explain +++ /dev/null @@ -1,29 +0,0 @@ -/* setup */ -CREATE TABLE t(i int); -CREATE INDEX foo ON t(i); - -/* test */ -ALTER INDEX t@foo CONFIGURE ZONE USING num_replicas = 7; -EXPLAIN (DDL) ALTER INDEX t@foo CONFIGURE ZONE USING gc.ttlseconds = 10000; ----- -Schema change plan for ALTER INDEX ‹defaultdb›.‹public›.‹t›@‹foo› CONFIGURE ZONE USING ‹"gc.ttlseconds"› = ‹10000›; following ALTER INDEX ‹defaultdb›.‹public›.‹t›@‹foo› CONFIGURE ZONE USING ‹num_replicas› = ‹7›; - ├── StatementPhase - │ └── Stage 1 of 1 in StatementPhase - │ ├── 1 element transitioning toward PUBLIC - │ │ └── ABSENT → PUBLIC IndexZoneConfig:{DescID: 104 (t), IndexID: 2 (foo), SeqNum: 2} - │ └── 1 Mutation operation - │ └── AddIndexZoneConfig {"IndexID":2,"TableID":104} - └── PreCommitPhase - ├── Stage 1 of 2 in PreCommitPhase - │ ├── 2 elements transitioning toward PUBLIC - │ │ ├── PUBLIC → ABSENT IndexZoneConfig:{DescID: 104 (t), IndexID: 2 (foo), SeqNum: 1} - │ │ └── PUBLIC → ABSENT IndexZoneConfig:{DescID: 104 (t), IndexID: 2 (foo), SeqNum: 2} - │ └── 1 Mutation operation - │ └── UndoAllInTxnImmediateMutationOpSideEffects - └── Stage 2 of 2 in PreCommitPhase - ├── 2 elements transitioning toward PUBLIC - │ ├── ABSENT → PUBLIC IndexZoneConfig:{DescID: 104 (t), IndexID: 2 (foo), SeqNum: 1} - │ └── ABSENT → PUBLIC IndexZoneConfig:{DescID: 104 (t), IndexID: 2 (foo), SeqNum: 2} - └── 2 Mutation operations - ├── AddIndexZoneConfig {"IndexID":2,"TableID":104} - └── AddIndexZoneConfig {"IndexID":2,"TableID":104} diff --git a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple__statement_2_of_3.explain_shape b/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple__statement_2_of_3.explain_shape deleted file mode 100644 index dd4ac2d53639..000000000000 --- a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple__statement_2_of_3.explain_shape +++ /dev/null @@ -1,10 +0,0 @@ -/* setup */ -CREATE TABLE t(i int); -CREATE INDEX foo ON t(i); - -/* test */ -ALTER INDEX t@foo CONFIGURE ZONE USING num_replicas = 7; -EXPLAIN (DDL, SHAPE) ALTER INDEX t@foo CONFIGURE ZONE USING gc.ttlseconds = 10000; ----- -Schema change plan for ALTER INDEX ‹defaultdb›.‹public›.‹t›@‹foo› CONFIGURE ZONE USING ‹"gc.ttlseconds"› = ‹10000›; following ALTER INDEX ‹defaultdb›.‹public›.‹t›@‹foo› CONFIGURE ZONE USING ‹num_replicas› = ‹7›; - └── execute 1 system table mutations transaction diff --git a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple__statement_3_of_3.explain b/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple__statement_3_of_3.explain deleted file mode 100644 index 82cf275912b1..000000000000 --- a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple__statement_3_of_3.explain +++ /dev/null @@ -1,33 +0,0 @@ -/* setup */ -CREATE TABLE t(i int); -CREATE INDEX foo ON t(i); - -/* test */ -ALTER INDEX t@foo CONFIGURE ZONE USING num_replicas = 7; -ALTER INDEX t@foo CONFIGURE ZONE USING gc.ttlseconds = 10000; -EXPLAIN (DDL) ALTER INDEX t@foo CONFIGURE ZONE USING num_replicas = 10; ----- -Schema change plan for ALTER INDEX ‹defaultdb›.‹public›.‹t›@‹foo› CONFIGURE ZONE USING ‹num_replicas› = ‹10›; following ALTER INDEX ‹defaultdb›.‹public›.‹t›@‹foo› CONFIGURE ZONE USING ‹num_replicas› = ‹7›; ALTER INDEX ‹defaultdb›.‹public›.‹t›@‹foo› CONFIGURE ZONE USING ‹"gc.ttlseconds"› = ‹10000›; - ├── StatementPhase - │ └── Stage 1 of 1 in StatementPhase - │ ├── 1 element transitioning toward PUBLIC - │ │ └── ABSENT → PUBLIC IndexZoneConfig:{DescID: 104 (t), IndexID: 2 (foo), SeqNum: 3} - │ └── 1 Mutation operation - │ └── AddIndexZoneConfig {"IndexID":2,"TableID":104} - └── PreCommitPhase - ├── Stage 1 of 2 in PreCommitPhase - │ ├── 3 elements transitioning toward PUBLIC - │ │ ├── PUBLIC → ABSENT IndexZoneConfig:{DescID: 104 (t), IndexID: 2 (foo), SeqNum: 1} - │ │ ├── PUBLIC → ABSENT IndexZoneConfig:{DescID: 104 (t), IndexID: 2 (foo), SeqNum: 2} - │ │ └── PUBLIC → ABSENT IndexZoneConfig:{DescID: 104 (t), IndexID: 2 (foo), SeqNum: 3} - │ └── 1 Mutation operation - │ └── UndoAllInTxnImmediateMutationOpSideEffects - └── Stage 2 of 2 in PreCommitPhase - ├── 3 elements transitioning toward PUBLIC - │ ├── ABSENT → PUBLIC IndexZoneConfig:{DescID: 104 (t), IndexID: 2 (foo), SeqNum: 1} - │ ├── ABSENT → PUBLIC IndexZoneConfig:{DescID: 104 (t), IndexID: 2 (foo), SeqNum: 2} - │ └── ABSENT → PUBLIC IndexZoneConfig:{DescID: 104 (t), IndexID: 2 (foo), SeqNum: 3} - └── 3 Mutation operations - ├── AddIndexZoneConfig {"IndexID":2,"TableID":104} - ├── AddIndexZoneConfig {"IndexID":2,"TableID":104} - └── AddIndexZoneConfig {"IndexID":2,"TableID":104} diff --git a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple__statement_3_of_3.explain_shape b/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple__statement_3_of_3.explain_shape deleted file mode 100644 index 57c4392f19a9..000000000000 --- a/pkg/ccl/schemachangerccl/testdata/end_to_end/alter_index_configure_zone_multiple/alter_index_configure_zone_multiple__statement_3_of_3.explain_shape +++ /dev/null @@ -1,11 +0,0 @@ -/* setup */ -CREATE TABLE t(i int); -CREATE INDEX foo ON t(i); - -/* test */ -ALTER INDEX t@foo CONFIGURE ZONE USING num_replicas = 7; -ALTER INDEX t@foo CONFIGURE ZONE USING gc.ttlseconds = 10000; -EXPLAIN (DDL, SHAPE) ALTER INDEX t@foo CONFIGURE ZONE USING num_replicas = 10; ----- -Schema change plan for ALTER INDEX ‹defaultdb›.‹public›.‹t›@‹foo› CONFIGURE ZONE USING ‹num_replicas› = ‹10›; following ALTER INDEX ‹defaultdb›.‹public›.‹t›@‹foo› CONFIGURE ZONE USING ‹num_replicas› = ‹7›; ALTER INDEX ‹defaultdb›.‹public›.‹t›@‹foo› CONFIGURE ZONE USING ‹"gc.ttlseconds"› = ‹10000›; - └── execute 1 system table mutations transaction diff --git a/pkg/ccl/schemachangerccl/testdata/end_to_end/drop_database_multiregion_primary_region/drop_database_multiregion_primary_region.explain b/pkg/ccl/schemachangerccl/testdata/end_to_end/drop_database_multiregion_primary_region/drop_database_multiregion_primary_region.explain index 247c56596408..8cb06f315bdc 100644 --- a/pkg/ccl/schemachangerccl/testdata/end_to_end/drop_database_multiregion_primary_region/drop_database_multiregion_primary_region.explain +++ b/pkg/ccl/schemachangerccl/testdata/end_to_end/drop_database_multiregion_primary_region/drop_database_multiregion_primary_region.explain @@ -53,14 +53,14 @@ Schema change plan for DROP DATABASE ‹multi_region_test_db› CASCADE; │ │ ├── PUBLIC → ABSENT ColumnFamily:{DescID: 108 (table_regional_by_table-), Name: "primary", ColumnFamilyID: 0 (primary-)} │ │ ├── PUBLIC → ABSENT Column:{DescID: 108 (table_regional_by_table-), ColumnID: 1 (a-)} │ │ ├── PUBLIC → ABSENT ColumnName:{DescID: 108 (table_regional_by_table-), Name: "a", ColumnID: 1 (a-)} - │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 1 (a-), TypeName: "INT8"} + │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 1 (a-)} │ │ ├── PUBLIC → ABSENT ColumnNotNull:{DescID: 108 (table_regional_by_table-), ColumnID: 1 (a-), IndexID: 0} │ │ ├── PUBLIC → ABSENT Column:{DescID: 108 (table_regional_by_table-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} │ │ ├── PUBLIC → ABSENT ColumnName:{DescID: 108 (table_regional_by_table-), Name: "crdb_internal_mvcc_timestamp", ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} - │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-), TypeName: "DECIMAL"} + │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} │ │ ├── PUBLIC → ABSENT Column:{DescID: 108 (table_regional_by_table-), ColumnID: 4294967294 (tableoid-)} │ │ ├── PUBLIC → ABSENT ColumnName:{DescID: 108 (table_regional_by_table-), Name: "tableoid", ColumnID: 4294967294 (tableoid-)} - │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967294 (tableoid-), TypeName: "OID"} + │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967294 (tableoid-)} │ │ ├── PUBLIC → ABSENT IndexColumn:{DescID: 108 (table_regional_by_table-), ColumnID: 1 (a-), IndexID: 1 (table_regional_by_table_pkey-)} │ │ ├── PUBLIC → ABSENT PrimaryIndex:{DescID: 108 (table_regional_by_table-), IndexID: 1 (table_regional_by_table_pkey-), ConstraintID: 1} │ │ └── PUBLIC → ABSENT IndexName:{DescID: 108 (table_regional_by_table-), Name: "table_regional_by_table_pkey", IndexID: 1 (table_regional_by_table_pkey-)} @@ -167,14 +167,14 @@ Schema change plan for DROP DATABASE ‹multi_region_test_db› CASCADE; │ │ │ ├── ABSENT → PUBLIC ColumnFamily:{DescID: 108 (table_regional_by_table-), Name: "primary", ColumnFamilyID: 0 (primary-)} │ │ │ ├── ABSENT → PUBLIC Column:{DescID: 108 (table_regional_by_table-), ColumnID: 1 (a-)} │ │ │ ├── ABSENT → PUBLIC ColumnName:{DescID: 108 (table_regional_by_table-), Name: "a", ColumnID: 1 (a-)} - │ │ │ ├── ABSENT → PUBLIC ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 1 (a-), TypeName: "INT8"} + │ │ │ ├── ABSENT → PUBLIC ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 1 (a-)} │ │ │ ├── ABSENT → PUBLIC ColumnNotNull:{DescID: 108 (table_regional_by_table-), ColumnID: 1 (a-), IndexID: 0} │ │ │ ├── ABSENT → PUBLIC Column:{DescID: 108 (table_regional_by_table-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} │ │ │ ├── ABSENT → PUBLIC ColumnName:{DescID: 108 (table_regional_by_table-), Name: "crdb_internal_mvcc_timestamp", ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} - │ │ │ ├── ABSENT → PUBLIC ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-), TypeName: "DECIMAL"} + │ │ │ ├── ABSENT → PUBLIC ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} │ │ │ ├── ABSENT → PUBLIC Column:{DescID: 108 (table_regional_by_table-), ColumnID: 4294967294 (tableoid-)} │ │ │ ├── ABSENT → PUBLIC ColumnName:{DescID: 108 (table_regional_by_table-), Name: "tableoid", ColumnID: 4294967294 (tableoid-)} - │ │ │ ├── ABSENT → PUBLIC ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967294 (tableoid-), TypeName: "OID"} + │ │ │ ├── ABSENT → PUBLIC ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967294 (tableoid-)} │ │ │ ├── ABSENT → PUBLIC IndexColumn:{DescID: 108 (table_regional_by_table-), ColumnID: 1 (a-), IndexID: 1 (table_regional_by_table_pkey-)} │ │ │ ├── ABSENT → PUBLIC PrimaryIndex:{DescID: 108 (table_regional_by_table-), IndexID: 1 (table_regional_by_table_pkey-), ConstraintID: 1} │ │ │ └── ABSENT → PUBLIC IndexName:{DescID: 108 (table_regional_by_table-), Name: "table_regional_by_table_pkey", IndexID: 1 (table_regional_by_table_pkey-)} @@ -224,14 +224,14 @@ Schema change plan for DROP DATABASE ‹multi_region_test_db› CASCADE; │ │ ├── PUBLIC → ABSENT ColumnFamily:{DescID: 108 (table_regional_by_table-), Name: "primary", ColumnFamilyID: 0 (primary-)} │ │ ├── PUBLIC → ABSENT Column:{DescID: 108 (table_regional_by_table-), ColumnID: 1 (a-)} │ │ ├── PUBLIC → ABSENT ColumnName:{DescID: 108 (table_regional_by_table-), Name: "a", ColumnID: 1 (a-)} - │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 1 (a-), TypeName: "INT8"} + │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 1 (a-)} │ │ ├── PUBLIC → ABSENT ColumnNotNull:{DescID: 108 (table_regional_by_table-), ColumnID: 1 (a-), IndexID: 0} │ │ ├── PUBLIC → ABSENT Column:{DescID: 108 (table_regional_by_table-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} │ │ ├── PUBLIC → ABSENT ColumnName:{DescID: 108 (table_regional_by_table-), Name: "crdb_internal_mvcc_timestamp", ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} - │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-), TypeName: "DECIMAL"} + │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} │ │ ├── PUBLIC → ABSENT Column:{DescID: 108 (table_regional_by_table-), ColumnID: 4294967294 (tableoid-)} │ │ ├── PUBLIC → ABSENT ColumnName:{DescID: 108 (table_regional_by_table-), Name: "tableoid", ColumnID: 4294967294 (tableoid-)} - │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967294 (tableoid-), TypeName: "OID"} + │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967294 (tableoid-)} │ │ ├── PUBLIC → ABSENT IndexColumn:{DescID: 108 (table_regional_by_table-), ColumnID: 1 (a-), IndexID: 1 (table_regional_by_table_pkey-)} │ │ ├── PUBLIC → ABSENT PrimaryIndex:{DescID: 108 (table_regional_by_table-), IndexID: 1 (table_regional_by_table_pkey-), ConstraintID: 1} │ │ └── PUBLIC → ABSENT IndexName:{DescID: 108 (table_regional_by_table-), Name: "table_regional_by_table_pkey", IndexID: 1 (table_regional_by_table_pkey-)} diff --git a/pkg/ccl/schemachangerccl/testdata/end_to_end/drop_table_multiregion/drop_table_multiregion.explain b/pkg/ccl/schemachangerccl/testdata/end_to_end/drop_table_multiregion/drop_table_multiregion.explain index 3be1edd46867..76fa73026265 100644 --- a/pkg/ccl/schemachangerccl/testdata/end_to_end/drop_table_multiregion/drop_table_multiregion.explain +++ b/pkg/ccl/schemachangerccl/testdata/end_to_end/drop_table_multiregion/drop_table_multiregion.explain @@ -22,19 +22,19 @@ Schema change plan for DROP TABLE ‹multi_region_test_db›.‹public›.‹tab │ │ ├── PUBLIC → ABSENT ColumnFamily:{DescID: 108 (table_regional_by_row-), Name: "primary", ColumnFamilyID: 0 (primary-)} │ │ ├── PUBLIC → ABSENT Column:{DescID: 108 (table_regional_by_row-), ColumnID: 1 (k-)} │ │ ├── PUBLIC → ABSENT ColumnName:{DescID: 108 (table_regional_by_row-), Name: "k", ColumnID: 1 (k-)} - │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_row-), ColumnFamilyID: 0 (primary-), ColumnID: 1 (k-), TypeName: "INT8"} + │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_row-), ColumnFamilyID: 0 (primary-), ColumnID: 1 (k-)} │ │ ├── PUBLIC → ABSENT ColumnNotNull:{DescID: 108 (table_regional_by_row-), ColumnID: 1 (k-), IndexID: 0} │ │ ├── PUBLIC → ABSENT Column:{DescID: 108 (table_regional_by_row-), ColumnID: 2 (crdb_region-)} │ │ ├── PUBLIC → ABSENT ColumnName:{DescID: 108 (table_regional_by_row-), Name: "crdb_region", ColumnID: 2 (crdb_region-)} - │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_row-), ReferencedTypeIDs: [106 (crdb_internal_region), 107 (_crdb_internal_region)], ColumnFamilyID: 0 (primary-), ColumnID: 2 (crdb_region-), TypeName: "public.crdb_internal_region"} + │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_row-), ReferencedTypeIDs: [106 (crdb_internal_region), 107 (_crdb_internal_region)], ColumnFamilyID: 0 (primary-), ColumnID: 2 (crdb_region-)} │ │ ├── PUBLIC → ABSENT ColumnNotNull:{DescID: 108 (table_regional_by_row-), ColumnID: 2 (crdb_region-), IndexID: 0} │ │ ├── PUBLIC → ABSENT ColumnDefaultExpression:{DescID: 108 (table_regional_by_row-), ReferencedTypeIDs: [106 (crdb_internal_region), 107 (_crdb_internal_region)], ColumnID: 2 (crdb_region-), Expr: default_to_database_primary_region(gateway_region())::@100106} │ │ ├── PUBLIC → ABSENT Column:{DescID: 108 (table_regional_by_row-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} │ │ ├── PUBLIC → ABSENT ColumnName:{DescID: 108 (table_regional_by_row-), Name: "crdb_internal_mvcc_timestamp", ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} - │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_row-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-), TypeName: "DECIMAL"} + │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_row-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} │ │ ├── PUBLIC → ABSENT Column:{DescID: 108 (table_regional_by_row-), ColumnID: 4294967294 (tableoid-)} │ │ ├── PUBLIC → ABSENT ColumnName:{DescID: 108 (table_regional_by_row-), Name: "tableoid", ColumnID: 4294967294 (tableoid-)} - │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_row-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967294 (tableoid-), TypeName: "OID"} + │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_row-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967294 (tableoid-)} │ │ ├── PUBLIC → ABSENT IndexColumn:{DescID: 108 (table_regional_by_row-), ColumnID: 2 (crdb_region-), IndexID: 1 (table_regional_by_row_pkey-)} │ │ ├── PUBLIC → ABSENT IndexColumn:{DescID: 108 (table_regional_by_row-), ColumnID: 1 (k-), IndexID: 1 (table_regional_by_row_pkey-)} │ │ ├── PUBLIC → ABSENT PrimaryIndex:{DescID: 108 (table_regional_by_row-), IndexID: 1 (table_regional_by_row_pkey-), ConstraintID: 1} @@ -93,19 +93,19 @@ Schema change plan for DROP TABLE ‹multi_region_test_db›.‹public›.‹tab │ │ │ ├── ABSENT → PUBLIC ColumnFamily:{DescID: 108 (table_regional_by_row-), Name: "primary", ColumnFamilyID: 0 (primary-)} │ │ │ ├── ABSENT → PUBLIC Column:{DescID: 108 (table_regional_by_row-), ColumnID: 1 (k-)} │ │ │ ├── ABSENT → PUBLIC ColumnName:{DescID: 108 (table_regional_by_row-), Name: "k", ColumnID: 1 (k-)} - │ │ │ ├── ABSENT → PUBLIC ColumnType:{DescID: 108 (table_regional_by_row-), ColumnFamilyID: 0 (primary-), ColumnID: 1 (k-), TypeName: "INT8"} + │ │ │ ├── ABSENT → PUBLIC ColumnType:{DescID: 108 (table_regional_by_row-), ColumnFamilyID: 0 (primary-), ColumnID: 1 (k-)} │ │ │ ├── ABSENT → PUBLIC ColumnNotNull:{DescID: 108 (table_regional_by_row-), ColumnID: 1 (k-), IndexID: 0} │ │ │ ├── ABSENT → PUBLIC Column:{DescID: 108 (table_regional_by_row-), ColumnID: 2 (crdb_region-)} │ │ │ ├── ABSENT → PUBLIC ColumnName:{DescID: 108 (table_regional_by_row-), Name: "crdb_region", ColumnID: 2 (crdb_region-)} - │ │ │ ├── ABSENT → PUBLIC ColumnType:{DescID: 108 (table_regional_by_row-), ReferencedTypeIDs: [106 (crdb_internal_region), 107 (_crdb_internal_region)], ColumnFamilyID: 0 (primary-), ColumnID: 2 (crdb_region-), TypeName: "public.crdb_internal_region"} + │ │ │ ├── ABSENT → PUBLIC ColumnType:{DescID: 108 (table_regional_by_row-), ReferencedTypeIDs: [106 (crdb_internal_region), 107 (_crdb_internal_region)], ColumnFamilyID: 0 (primary-), ColumnID: 2 (crdb_region-)} │ │ │ ├── ABSENT → PUBLIC ColumnNotNull:{DescID: 108 (table_regional_by_row-), ColumnID: 2 (crdb_region-), IndexID: 0} │ │ │ ├── ABSENT → PUBLIC ColumnDefaultExpression:{DescID: 108 (table_regional_by_row-), ReferencedTypeIDs: [106 (crdb_internal_region), 107 (_crdb_internal_region)], ColumnID: 2 (crdb_region-), Expr: default_to_database_primary_region(gateway_region())::@100106} │ │ │ ├── ABSENT → PUBLIC Column:{DescID: 108 (table_regional_by_row-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} │ │ │ ├── ABSENT → PUBLIC ColumnName:{DescID: 108 (table_regional_by_row-), Name: "crdb_internal_mvcc_timestamp", ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} - │ │ │ ├── ABSENT → PUBLIC ColumnType:{DescID: 108 (table_regional_by_row-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-), TypeName: "DECIMAL"} + │ │ │ ├── ABSENT → PUBLIC ColumnType:{DescID: 108 (table_regional_by_row-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} │ │ │ ├── ABSENT → PUBLIC Column:{DescID: 108 (table_regional_by_row-), ColumnID: 4294967294 (tableoid-)} │ │ │ ├── ABSENT → PUBLIC ColumnName:{DescID: 108 (table_regional_by_row-), Name: "tableoid", ColumnID: 4294967294 (tableoid-)} - │ │ │ ├── ABSENT → PUBLIC ColumnType:{DescID: 108 (table_regional_by_row-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967294 (tableoid-), TypeName: "OID"} + │ │ │ ├── ABSENT → PUBLIC ColumnType:{DescID: 108 (table_regional_by_row-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967294 (tableoid-)} │ │ │ ├── ABSENT → PUBLIC IndexColumn:{DescID: 108 (table_regional_by_row-), ColumnID: 2 (crdb_region-), IndexID: 1 (table_regional_by_row_pkey-)} │ │ │ ├── ABSENT → PUBLIC IndexColumn:{DescID: 108 (table_regional_by_row-), ColumnID: 1 (k-), IndexID: 1 (table_regional_by_row_pkey-)} │ │ │ ├── ABSENT → PUBLIC PrimaryIndex:{DescID: 108 (table_regional_by_row-), IndexID: 1 (table_regional_by_row_pkey-), ConstraintID: 1} @@ -126,19 +126,19 @@ Schema change plan for DROP TABLE ‹multi_region_test_db›.‹public›.‹tab │ │ ├── PUBLIC → ABSENT ColumnFamily:{DescID: 108 (table_regional_by_row-), Name: "primary", ColumnFamilyID: 0 (primary-)} │ │ ├── PUBLIC → ABSENT Column:{DescID: 108 (table_regional_by_row-), ColumnID: 1 (k-)} │ │ ├── PUBLIC → ABSENT ColumnName:{DescID: 108 (table_regional_by_row-), Name: "k", ColumnID: 1 (k-)} - │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_row-), ColumnFamilyID: 0 (primary-), ColumnID: 1 (k-), TypeName: "INT8"} + │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_row-), ColumnFamilyID: 0 (primary-), ColumnID: 1 (k-)} │ │ ├── PUBLIC → ABSENT ColumnNotNull:{DescID: 108 (table_regional_by_row-), ColumnID: 1 (k-), IndexID: 0} │ │ ├── PUBLIC → ABSENT Column:{DescID: 108 (table_regional_by_row-), ColumnID: 2 (crdb_region-)} │ │ ├── PUBLIC → ABSENT ColumnName:{DescID: 108 (table_regional_by_row-), Name: "crdb_region", ColumnID: 2 (crdb_region-)} - │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_row-), ReferencedTypeIDs: [106 (crdb_internal_region), 107 (_crdb_internal_region)], ColumnFamilyID: 0 (primary-), ColumnID: 2 (crdb_region-), TypeName: "public.crdb_internal_region"} + │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_row-), ReferencedTypeIDs: [106 (crdb_internal_region), 107 (_crdb_internal_region)], ColumnFamilyID: 0 (primary-), ColumnID: 2 (crdb_region-)} │ │ ├── PUBLIC → ABSENT ColumnNotNull:{DescID: 108 (table_regional_by_row-), ColumnID: 2 (crdb_region-), IndexID: 0} │ │ ├── PUBLIC → ABSENT ColumnDefaultExpression:{DescID: 108 (table_regional_by_row-), ReferencedTypeIDs: [106 (crdb_internal_region), 107 (_crdb_internal_region)], ColumnID: 2 (crdb_region-), Expr: default_to_database_primary_region(gateway_region())::@100106} │ │ ├── PUBLIC → ABSENT Column:{DescID: 108 (table_regional_by_row-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} │ │ ├── PUBLIC → ABSENT ColumnName:{DescID: 108 (table_regional_by_row-), Name: "crdb_internal_mvcc_timestamp", ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} - │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_row-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-), TypeName: "DECIMAL"} + │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_row-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} │ │ ├── PUBLIC → ABSENT Column:{DescID: 108 (table_regional_by_row-), ColumnID: 4294967294 (tableoid-)} │ │ ├── PUBLIC → ABSENT ColumnName:{DescID: 108 (table_regional_by_row-), Name: "tableoid", ColumnID: 4294967294 (tableoid-)} - │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_row-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967294 (tableoid-), TypeName: "OID"} + │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_row-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967294 (tableoid-)} │ │ ├── PUBLIC → ABSENT IndexColumn:{DescID: 108 (table_regional_by_row-), ColumnID: 2 (crdb_region-), IndexID: 1 (table_regional_by_row_pkey-)} │ │ ├── PUBLIC → ABSENT IndexColumn:{DescID: 108 (table_regional_by_row-), ColumnID: 1 (k-), IndexID: 1 (table_regional_by_row_pkey-)} │ │ ├── PUBLIC → ABSENT PrimaryIndex:{DescID: 108 (table_regional_by_row-), IndexID: 1 (table_regional_by_row_pkey-), ConstraintID: 1} diff --git a/pkg/ccl/schemachangerccl/testdata/end_to_end/drop_table_multiregion_primary_region/drop_table_multiregion_primary_region.explain b/pkg/ccl/schemachangerccl/testdata/end_to_end/drop_table_multiregion_primary_region/drop_table_multiregion_primary_region.explain index 28333a589450..04444b79c2ba 100644 --- a/pkg/ccl/schemachangerccl/testdata/end_to_end/drop_table_multiregion_primary_region/drop_table_multiregion_primary_region.explain +++ b/pkg/ccl/schemachangerccl/testdata/end_to_end/drop_table_multiregion_primary_region/drop_table_multiregion_primary_region.explain @@ -21,14 +21,14 @@ Schema change plan for DROP TABLE ‹multi_region_test_db›.‹public›.‹tab │ │ ├── PUBLIC → ABSENT ColumnFamily:{DescID: 108 (table_regional_by_table-), Name: "primary", ColumnFamilyID: 0 (primary-)} │ │ ├── PUBLIC → ABSENT Column:{DescID: 108 (table_regional_by_table-), ColumnID: 1 (a-)} │ │ ├── PUBLIC → ABSENT ColumnName:{DescID: 108 (table_regional_by_table-), Name: "a", ColumnID: 1 (a-)} - │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 1 (a-), TypeName: "INT8"} + │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 1 (a-)} │ │ ├── PUBLIC → ABSENT ColumnNotNull:{DescID: 108 (table_regional_by_table-), ColumnID: 1 (a-), IndexID: 0} │ │ ├── PUBLIC → ABSENT Column:{DescID: 108 (table_regional_by_table-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} │ │ ├── PUBLIC → ABSENT ColumnName:{DescID: 108 (table_regional_by_table-), Name: "crdb_internal_mvcc_timestamp", ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} - │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-), TypeName: "DECIMAL"} + │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} │ │ ├── PUBLIC → ABSENT Column:{DescID: 108 (table_regional_by_table-), ColumnID: 4294967294 (tableoid-)} │ │ ├── PUBLIC → ABSENT ColumnName:{DescID: 108 (table_regional_by_table-), Name: "tableoid", ColumnID: 4294967294 (tableoid-)} - │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967294 (tableoid-), TypeName: "OID"} + │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967294 (tableoid-)} │ │ ├── PUBLIC → ABSENT IndexColumn:{DescID: 108 (table_regional_by_table-), ColumnID: 1 (a-), IndexID: 1 (table_regional_by_table_pkey-)} │ │ ├── PUBLIC → ABSENT PrimaryIndex:{DescID: 108 (table_regional_by_table-), IndexID: 1 (table_regional_by_table_pkey-), ConstraintID: 1} │ │ └── PUBLIC → ABSENT IndexName:{DescID: 108 (table_regional_by_table-), Name: "table_regional_by_table_pkey", IndexID: 1 (table_regional_by_table_pkey-)} @@ -73,14 +73,14 @@ Schema change plan for DROP TABLE ‹multi_region_test_db›.‹public›.‹tab │ │ │ ├── ABSENT → PUBLIC ColumnFamily:{DescID: 108 (table_regional_by_table-), Name: "primary", ColumnFamilyID: 0 (primary-)} │ │ │ ├── ABSENT → PUBLIC Column:{DescID: 108 (table_regional_by_table-), ColumnID: 1 (a-)} │ │ │ ├── ABSENT → PUBLIC ColumnName:{DescID: 108 (table_regional_by_table-), Name: "a", ColumnID: 1 (a-)} - │ │ │ ├── ABSENT → PUBLIC ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 1 (a-), TypeName: "INT8"} + │ │ │ ├── ABSENT → PUBLIC ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 1 (a-)} │ │ │ ├── ABSENT → PUBLIC ColumnNotNull:{DescID: 108 (table_regional_by_table-), ColumnID: 1 (a-), IndexID: 0} │ │ │ ├── ABSENT → PUBLIC Column:{DescID: 108 (table_regional_by_table-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} │ │ │ ├── ABSENT → PUBLIC ColumnName:{DescID: 108 (table_regional_by_table-), Name: "crdb_internal_mvcc_timestamp", ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} - │ │ │ ├── ABSENT → PUBLIC ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-), TypeName: "DECIMAL"} + │ │ │ ├── ABSENT → PUBLIC ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} │ │ │ ├── ABSENT → PUBLIC Column:{DescID: 108 (table_regional_by_table-), ColumnID: 4294967294 (tableoid-)} │ │ │ ├── ABSENT → PUBLIC ColumnName:{DescID: 108 (table_regional_by_table-), Name: "tableoid", ColumnID: 4294967294 (tableoid-)} - │ │ │ ├── ABSENT → PUBLIC ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967294 (tableoid-), TypeName: "OID"} + │ │ │ ├── ABSENT → PUBLIC ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967294 (tableoid-)} │ │ │ ├── ABSENT → PUBLIC IndexColumn:{DescID: 108 (table_regional_by_table-), ColumnID: 1 (a-), IndexID: 1 (table_regional_by_table_pkey-)} │ │ │ ├── ABSENT → PUBLIC PrimaryIndex:{DescID: 108 (table_regional_by_table-), IndexID: 1 (table_regional_by_table_pkey-), ConstraintID: 1} │ │ │ └── ABSENT → PUBLIC IndexName:{DescID: 108 (table_regional_by_table-), Name: "table_regional_by_table_pkey", IndexID: 1 (table_regional_by_table_pkey-)} @@ -98,14 +98,14 @@ Schema change plan for DROP TABLE ‹multi_region_test_db›.‹public›.‹tab │ │ ├── PUBLIC → ABSENT ColumnFamily:{DescID: 108 (table_regional_by_table-), Name: "primary", ColumnFamilyID: 0 (primary-)} │ │ ├── PUBLIC → ABSENT Column:{DescID: 108 (table_regional_by_table-), ColumnID: 1 (a-)} │ │ ├── PUBLIC → ABSENT ColumnName:{DescID: 108 (table_regional_by_table-), Name: "a", ColumnID: 1 (a-)} - │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 1 (a-), TypeName: "INT8"} + │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 1 (a-)} │ │ ├── PUBLIC → ABSENT ColumnNotNull:{DescID: 108 (table_regional_by_table-), ColumnID: 1 (a-), IndexID: 0} │ │ ├── PUBLIC → ABSENT Column:{DescID: 108 (table_regional_by_table-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} │ │ ├── PUBLIC → ABSENT ColumnName:{DescID: 108 (table_regional_by_table-), Name: "crdb_internal_mvcc_timestamp", ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} - │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-), TypeName: "DECIMAL"} + │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967295 (crdb_internal_mvcc_timestamp-)} │ │ ├── PUBLIC → ABSENT Column:{DescID: 108 (table_regional_by_table-), ColumnID: 4294967294 (tableoid-)} │ │ ├── PUBLIC → ABSENT ColumnName:{DescID: 108 (table_regional_by_table-), Name: "tableoid", ColumnID: 4294967294 (tableoid-)} - │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967294 (tableoid-), TypeName: "OID"} + │ │ ├── PUBLIC → ABSENT ColumnType:{DescID: 108 (table_regional_by_table-), ColumnFamilyID: 0 (primary-), ColumnID: 4294967294 (tableoid-)} │ │ ├── PUBLIC → ABSENT IndexColumn:{DescID: 108 (table_regional_by_table-), ColumnID: 1 (a-), IndexID: 1 (table_regional_by_table_pkey-)} │ │ ├── PUBLIC → ABSENT PrimaryIndex:{DescID: 108 (table_regional_by_table-), IndexID: 1 (table_regional_by_table_pkey-), ConstraintID: 1} │ │ └── PUBLIC → ABSENT IndexName:{DescID: 108 (table_regional_by_table-), Name: "table_regional_by_table_pkey", IndexID: 1 (table_regional_by_table_pkey-)} diff --git a/pkg/ccl/serverccl/admin_test.go b/pkg/ccl/serverccl/admin_test.go index e907791e0cb6..bfa46f08dd41 100644 --- a/pkg/ccl/serverccl/admin_test.go +++ b/pkg/ccl/serverccl/admin_test.go @@ -52,7 +52,14 @@ func TestAdminAPIDataDistributionPartitioning(t *testing.T) { // TODO(clust-obs): This test should work with just a single node, // i.e. using serverutils.StartServer` instead of // `StartCluster`. - testCluster := serverutils.StartCluster(t, 3, base.TestClusterArgs{}) + testCluster := serverutils.StartCluster(t, 3, + base.TestClusterArgs{ + ServerArgs: base.TestServerArgs{ + // The code below ought to work when this is omitted. This + // needs to be investigated further. + DefaultTestTenant: base.TestIsForStuffThatShouldWorkWithSecondaryTenantsButDoesntYet(106897), + }, + }) defer testCluster.Stopper().Stop(context.Background()) firstServer := testCluster.Server(0) diff --git a/pkg/ccl/serverccl/server_startup_guardrails_test.go b/pkg/ccl/serverccl/server_startup_guardrails_test.go index b6d85583a6d1..2137cff93479 100644 --- a/pkg/ccl/serverccl/server_startup_guardrails_test.go +++ b/pkg/ccl/serverccl/server_startup_guardrails_test.go @@ -97,7 +97,7 @@ func TestServerStartupGuardrails(t *testing.T) { Settings: storageSettings, Knobs: base.TestingKnobs{ Server: &server.TestingKnobs{ - ClusterVersionOverride: test.storageBinaryVersion, + BinaryVersionOverride: test.storageBinaryVersion, DisableAutomaticVersionUpgrade: make(chan struct{}), }, SQLEvalContext: &eval.TestingKnobs{ @@ -124,7 +124,7 @@ func TestServerStartupGuardrails(t *testing.T) { TenantID: serverutils.TestTenantID(), TestingKnobs: base.TestingKnobs{ Server: &server.TestingKnobs{ - ClusterVersionOverride: test.tenantBinaryVersion, + BinaryVersionOverride: test.tenantBinaryVersion, DisableAutomaticVersionUpgrade: make(chan struct{}), }, }, diff --git a/pkg/ccl/serverccl/statusccl/tenant_status_test.go b/pkg/ccl/serverccl/statusccl/tenant_status_test.go index 641353a1884c..2b8f857e7746 100644 --- a/pkg/ccl/serverccl/statusccl/tenant_status_test.go +++ b/pkg/ccl/serverccl/statusccl/tenant_status_test.go @@ -1102,16 +1102,8 @@ func selectClusterSessionIDs(t *testing.T, conn *sqlutils.SQLRunner) []string { func testTenantStatusCancelSession(t *testing.T, helper serverccl.TenantTestHelper) { // Open a SQL session on tenant SQL pod 0. - ctx := context.Background() - // Open two different SQL sessions on tenant SQL pod 0. - sqlPod0 := helper.TestCluster().TenantDB(0) - sqlPod0SessionToCancel, err := sqlPod0.Conn(ctx) - require.NoError(t, err) - sqlPod0SessionForIntrospection, err := sqlPod0.Conn(ctx) - require.NoError(t, err) - _, err = sqlPod0SessionToCancel.ExecContext(ctx, "SELECT 1") - require.NoError(t, err) - introspectionRunner := sqlutils.MakeSQLRunner(sqlPod0SessionForIntrospection) + sqlPod0 := helper.TestCluster().TenantConn(0) + sqlPod0.Exec(t, "SELECT 1") // See the session over HTTP on tenant SQL pod 1. httpPod1 := helper.TestCluster().TenantAdminHTTPClient(t, 1) @@ -1130,7 +1122,7 @@ func testTenantStatusCancelSession(t *testing.T, helper serverccl.TenantTestHelp // See the session over SQL on tenant SQL pod 0. sessionID := hex.EncodeToString(session.ID) require.Eventually(t, func() bool { - return strings.Contains(strings.Join(selectClusterSessionIDs(t, introspectionRunner), ","), sessionID) + return strings.Contains(strings.Join(selectClusterSessionIDs(t, sqlPod0), ","), sessionID) }, 5*time.Second, 100*time.Millisecond) // Cancel the session over HTTP from tenant SQL pod 1. @@ -1142,7 +1134,7 @@ func testTenantStatusCancelSession(t *testing.T, helper serverccl.TenantTestHelp // No longer see the session over SQL from tenant SQL pod 0. // (The SQL client maintains an internal connection pool and automatically reconnects.) require.Eventually(t, func() bool { - return !strings.Contains(strings.Join(selectClusterSessionIDs(t, introspectionRunner), ","), sessionID) + return !strings.Contains(strings.Join(selectClusterSessionIDs(t, sqlPod0), ","), sessionID) }, 5*time.Second, 100*time.Millisecond) // Attempt to cancel the session again over HTTP from tenant SQL pod 1, so that we can see the error message. diff --git a/pkg/ccl/serverccl/tenant_migration_test.go b/pkg/ccl/serverccl/tenant_migration_test.go index f4f9c76ef1a9..cf49bbce4d7a 100644 --- a/pkg/ccl/serverccl/tenant_migration_test.go +++ b/pkg/ccl/serverccl/tenant_migration_test.go @@ -91,7 +91,7 @@ func TestValidateTargetTenantClusterVersion(t *testing.T) { Settings: makeSettings(), Knobs: base.TestingKnobs{ Server: &server.TestingKnobs{ - ClusterVersionOverride: test.binaryVersion, + BinaryVersionOverride: test.binaryVersion, // We're bumping cluster versions manually ourselves. We // want to avoid racing with the auto-upgrade process. DisableAutomaticVersionUpgrade: make(chan struct{}), @@ -107,7 +107,7 @@ func TestValidateTargetTenantClusterVersion(t *testing.T) { TenantID: serverutils.TestTenantID(), TestingKnobs: base.TestingKnobs{ Server: &server.TestingKnobs{ - ClusterVersionOverride: test.binaryVersion, + BinaryVersionOverride: test.binaryVersion, }, }, }) @@ -207,7 +207,7 @@ func TestBumpTenantClusterVersion(t *testing.T) { // This test wants to bootstrap at the previously active // cluster version, so we can actually bump the cluster // version to the binary version. - ClusterVersionOverride: test.initialClusterVersion.Version, + BinaryVersionOverride: test.initialClusterVersion.Version, // We're bumping cluster versions manually ourselves. We // want to avoid racing with the auto-upgrade process. DisableAutomaticVersionUpgrade: make(chan struct{}), @@ -222,7 +222,7 @@ func TestBumpTenantClusterVersion(t *testing.T) { TenantID: serverutils.TestTenantID(), TestingKnobs: base.TestingKnobs{ Server: &server.TestingKnobs{ - ClusterVersionOverride: test.initialClusterVersion.Version, + BinaryVersionOverride: test.initialClusterVersion.Version, }, }, }) diff --git a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/BUILD.bazel b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/BUILD.bazel index 93d41ac82d77..2ef43847dd76 100644 --- a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/BUILD.bazel +++ b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/BUILD.bazel @@ -20,7 +20,6 @@ go_test( "//pkg/spanconfig", "//pkg/spanconfig/spanconfigtestutils", "//pkg/spanconfig/spanconfigtestutils/spanconfigtestcluster", - "//pkg/sql", "//pkg/sql/sqlliveness/sqllivenesstestutils", "//pkg/testutils", "//pkg/testutils/datapathutils", diff --git a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/datadriven_test.go b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/datadriven_test.go index 8e8dfd0b7636..4fa3a8664bd4 100644 --- a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/datadriven_test.go +++ b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/datadriven_test.go @@ -23,7 +23,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/spanconfig" "github.com/cockroachdb/cockroach/pkg/spanconfig/spanconfigtestutils" "github.com/cockroachdb/cockroach/pkg/spanconfig/spanconfigtestutils/spanconfigtestcluster" - "github.com/cockroachdb/cockroach/pkg/sql" "github.com/cockroachdb/cockroach/pkg/sql/sqlliveness/sqllivenesstestutils" "github.com/cockroachdb/cockroach/pkg/testutils" "github.com/cockroachdb/cockroach/pkg/testutils/datapathutils" @@ -109,9 +108,6 @@ func TestDataDriven(t *testing.T) { Knobs: base.TestingKnobs{ JobsTestingKnobs: jobs.NewTestingKnobsWithShortIntervals(), // speeds up test SpanConfig: scKnobs, - SQLExecutor: &sql.ExecutorTestingKnobs{ - UseTransactionalDescIDGenerator: true, - }, }, }, }) diff --git a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/basic b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/basic index 38c7a9cbd7e5..85d3f1a1b0c7 100644 --- a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/basic +++ b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/basic @@ -74,7 +74,6 @@ upsert /Table/6{3-4} database system (host) upsert /Table/6{4-5} database system (host) upsert /Table/6{5-6} database system (host) upsert /Table/6{6-7} database system (host) -upsert /Table/6{7-8} database system (host) exec-sql CREATE DATABASE db; @@ -131,7 +130,6 @@ state offset=47 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) /Table/10{6-7} num_replicas=7 num_voters=5 /Table/10{7-8} num_replicas=7 /Table/11{2-3} num_replicas=7 @@ -249,8 +247,6 @@ delete /Table/6{5-6} upsert /Table/6{5-6} ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true delete /Table/6{6-7} upsert /Table/6{6-7} ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true -delete /Table/6{7-8} -upsert /Table/6{7-8} ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true state offset=5 limit=42 ---- diff --git a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/indexes b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/indexes index f14ef9b03779..badedd2ef41c 100644 --- a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/indexes +++ b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/indexes @@ -41,7 +41,6 @@ state offset=47 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) /Table/10{6-7} range default exec-sql @@ -83,7 +82,6 @@ state offset=47 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) /Table/106{-/2} num_replicas=7 /Table/106/{2-3} num_replicas=7 num_voters=5 /Table/10{6/3-7} num_replicas=7 @@ -127,7 +125,6 @@ state offset=47 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) /Table/106{-/2} ttl_seconds=3600 num_replicas=7 /Table/106/{2-3} ttl_seconds=25 num_replicas=7 num_voters=5 /Table/10{6/3-7} ttl_seconds=3600 num_replicas=7 @@ -161,7 +158,6 @@ state offset=47 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) /Table/106{-/2} ttl_seconds=3600 num_replicas=9 /Table/106/{2-3} ttl_seconds=25 num_replicas=9 num_voters=5 /Table/10{6/3-7} ttl_seconds=3600 num_replicas=9 @@ -209,4 +205,3 @@ state offset=46 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) diff --git a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/basic b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/basic index f3cd74c1dbf4..ae94ee345021 100644 --- a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/basic +++ b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/basic @@ -42,7 +42,6 @@ state offset=47 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) /Tenant/10{-\x00} database system (tenant) /Tenant/11{-\x00} database system (tenant) /Tenant/12{-\x00} database system (tenant) @@ -110,7 +109,6 @@ upsert /Tenant/10/Table/6{3-4} database system (tenant) upsert /Tenant/10/Table/6{4-5} database system (tenant) upsert /Tenant/10/Table/6{5-6} database system (tenant) upsert /Tenant/10/Table/6{6-7} database system (tenant) -upsert /Tenant/10/Table/6{7-8} database system (tenant) state offset=47 ---- @@ -135,7 +133,6 @@ state offset=47 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) /Tenant/10{-/Table/4} database system (tenant) /Tenant/10/Table/{4-5} database system (tenant) /Tenant/10/Table/{5-6} database system (tenant) @@ -192,7 +189,6 @@ state offset=47 /Tenant/10/Table/6{4-5} database system (tenant) /Tenant/10/Table/6{5-6} database system (tenant) /Tenant/10/Table/6{6-7} database system (tenant) -/Tenant/10/Table/6{7-8} database system (tenant) /Tenant/11{-\x00} database system (tenant) /Tenant/12{-\x00} database system (tenant) @@ -209,15 +205,14 @@ CREATE MATERIALIZED VIEW mv AS SELECT 1; mutations tenant=10 ---- -upsert /Tenant/10/Table/10{6-7} rangefeed_enabled=true -upsert /Tenant/10/Table/10{7-8} rangefeed_enabled=true -upsert /Tenant/10/Table/11{2-3} rangefeed_enabled=true -upsert /Tenant/10/Table/11{3-4} rangefeed_enabled=true +upsert /Tenant/10/Table/10{6-7} range default +upsert /Tenant/10/Table/10{7-8} range default +upsert /Tenant/10/Table/11{2-3} range default +upsert /Tenant/10/Table/11{3-4} range default state offset=81 ---- ... -/Tenant/10/Table/2{0-1} database system (tenant) /Tenant/10/Table/2{1-2} database system (tenant) /Tenant/10/Table/2{3-4} database system (tenant) /Tenant/10/Table/2{4-5} database system (tenant) @@ -260,10 +255,9 @@ state offset=81 /Tenant/10/Table/6{4-5} database system (tenant) /Tenant/10/Table/6{5-6} database system (tenant) /Tenant/10/Table/6{6-7} database system (tenant) -/Tenant/10/Table/6{7-8} database system (tenant) -/Tenant/10/Table/10{6-7} rangefeed_enabled=true -/Tenant/10/Table/10{7-8} rangefeed_enabled=true -/Tenant/10/Table/11{2-3} rangefeed_enabled=true -/Tenant/10/Table/11{3-4} rangefeed_enabled=true +/Tenant/10/Table/10{6-7} range default +/Tenant/10/Table/10{7-8} range default +/Tenant/10/Table/11{2-3} range default +/Tenant/10/Table/11{3-4} range default /Tenant/11{-\x00} database system (tenant) /Tenant/12{-\x00} database system (tenant) diff --git a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/protectedts b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/protectedts index bb5e06b987d8..27cc2bb800d5 100644 --- a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/protectedts +++ b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/protectedts @@ -39,7 +39,6 @@ state offset=47 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) /Tenant/10{-\x00} database system (tenant) /Tenant/11{-\x00} database system (tenant) @@ -126,7 +125,6 @@ upsert /Tenant/10/Table/6{3-4} database system (tenant) upsert /Tenant/10/Table/6{4-5} database system (tenant) upsert /Tenant/10/Table/6{5-6} database system (tenant) upsert /Tenant/10/Table/6{6-7} database system (tenant) -upsert /Tenant/10/Table/6{7-8} database system (tenant) exec-sql tenant=10 CREATE DATABASE db; @@ -136,8 +134,8 @@ CREATE TABLE db.t2(); mutations tenant=10 ---- -upsert /Tenant/10/Table/10{6-7} rangefeed_enabled=true -upsert /Tenant/10/Table/10{7-8} rangefeed_enabled=true +upsert /Tenant/10/Table/10{6-7} range default +upsert /Tenant/10/Table/10{7-8} range default # Write a protected timestamp record on the cluster as a secondary tenant. protect record-id=3 ts=3 cluster tenant=10 diff --git a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/range_tenants b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/range_tenants index 240c0c4752ef..e031a39ffd03 100644 --- a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/range_tenants +++ b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/range_tenants @@ -58,7 +58,6 @@ state offset=47 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) /Tenant/10{-\x00} database system (tenant) /Tenant/11{-\x00} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true /Tenant/12{-\x00} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true @@ -95,7 +94,6 @@ state offset=47 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) /Tenant/10{-/Table/4} database system (tenant) /Tenant/10/Table/{4-5} database system (tenant) /Tenant/10/Table/{5-6} database system (tenant) @@ -152,7 +150,6 @@ state offset=47 /Tenant/10/Table/6{4-5} database system (tenant) /Tenant/10/Table/6{5-6} database system (tenant) /Tenant/10/Table/6{6-7} database system (tenant) -/Tenant/10/Table/6{7-8} database system (tenant) /Tenant/11{-\x00} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true /Tenant/12{-\x00} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true @@ -175,8 +172,8 @@ CREATE TABLE db.t2(); mutations tenant=10 ---- -upsert /Tenant/10/Table/10{6-7} rangefeed_enabled=true -upsert /Tenant/10/Table/10{7-8} rangefeed_enabled=true +upsert /Tenant/10/Table/10{6-7} range default +upsert /Tenant/10/Table/10{7-8} range default # Start the reconciliation loop for the tenant=11. It should have a modified # RANGE DEFAULT. Check against the underlying KV state, the SQL view of the @@ -190,7 +187,6 @@ mutations discard tenant=11 state offset=81 ---- ... -/Tenant/10/Table/2{0-1} database system (tenant) /Tenant/10/Table/2{1-2} database system (tenant) /Tenant/10/Table/2{3-4} database system (tenant) /Tenant/10/Table/2{4-5} database system (tenant) @@ -233,9 +229,8 @@ state offset=81 /Tenant/10/Table/6{4-5} database system (tenant) /Tenant/10/Table/6{5-6} database system (tenant) /Tenant/10/Table/6{6-7} database system (tenant) -/Tenant/10/Table/6{7-8} database system (tenant) -/Tenant/10/Table/10{6-7} rangefeed_enabled=true -/Tenant/10/Table/10{7-8} rangefeed_enabled=true +/Tenant/10/Table/10{6-7} range default +/Tenant/10/Table/10{7-8} range default /Tenant/11{-/Table/4} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true /Tenant/11/Table/{4-5} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true /Tenant/11/Table/{5-6} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true @@ -292,7 +287,6 @@ state offset=81 /Tenant/11/Table/6{4-5} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true /Tenant/11/Table/6{5-6} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true /Tenant/11/Table/6{6-7} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true -/Tenant/11/Table/6{7-8} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true /Tenant/12{-\x00} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true query-sql tenant=11 @@ -314,5 +308,5 @@ CREATE TABLE db.t2(); mutations tenant=11 ---- -upsert /Tenant/11/Table/10{6-7} ttl_seconds=18000 rangefeed_enabled=true -upsert /Tenant/11/Table/10{7-8} ttl_seconds=18000 rangefeed_enabled=true +upsert /Tenant/11/Table/10{6-7} ttl_seconds=18000 +upsert /Tenant/11/Table/10{7-8} ttl_seconds=18000 diff --git a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/tenant_end_key_split b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/tenant_end_key_split index 26b28cb40571..bab0223a3ef3 100644 --- a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/tenant_end_key_split +++ b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/multitenant/tenant_end_key_split @@ -25,7 +25,6 @@ state offset=59 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) /Tenant/11{-\x00} database system (tenant) /Tenant/12{-\x00} database system (tenant) @@ -54,7 +53,6 @@ state offset=60 limit=3 state offset=103 ---- ... -/Tenant/11/Table/4{5-6} ignore_strict_gc=true rangefeed_enabled=true exclude_data_from_backup=true /Tenant/11/Table/4{6-7} database system (tenant) /Tenant/11/Table/4{7-8} ignore_strict_gc=true rangefeed_enabled=true exclude_data_from_backup=true /Tenant/11/Table/4{8-9} database system (tenant) @@ -75,7 +73,6 @@ state offset=103 /Tenant/11/Table/6{4-5} database system (tenant) /Tenant/11/Table/6{5-6} database system (tenant) /Tenant/11/Table/6{6-7} database system (tenant) -/Tenant/11/Table/6{7-8} database system (tenant) /Tenant/12{-\x00} database system (tenant) # Just another view of what the tenant's reconciler actually did. It got rid of @@ -141,7 +138,6 @@ upsert /Tenant/11/Table/6{3-4} database system (tenant) upsert /Tenant/11/Table/6{4-5} database system (tenant) upsert /Tenant/11/Table/6{5-6} database system (tenant) upsert /Tenant/11/Table/6{6-7} database system (tenant) -upsert /Tenant/11/Table/6{7-8} database system (tenant) # Initialize a new tenant, tenant=10, that DOES have a pre-existing tenant, # tenant=11, next to it. diff --git a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/named_zones b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/named_zones index acdc6fc99700..3efbf1218381 100644 --- a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/named_zones +++ b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/named_zones @@ -144,7 +144,6 @@ state offset=46 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) /Table/10{6-7} ttl_seconds=50 # Make sure future descendants observe the same. @@ -180,7 +179,6 @@ state offset=46 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) /Table/10{6-7} ttl_seconds=50 /Table/10{7-8} ttl_seconds=50 diff --git a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/partitions b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/partitions index 7dd22d33850e..a6c9fc6a7f0e 100644 --- a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/partitions +++ b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/partitions @@ -33,7 +33,6 @@ state offset=47 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) exec-sql CREATE DATABASE db; @@ -73,7 +72,6 @@ state offset=47 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) /Table/10{6-7} range default # All parent schema zone config changes cascade to the entire table's span. @@ -110,7 +108,6 @@ state offset=47 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) /Table/10{6-7} num_replicas=7 num_voters=5 # Apply a zone configuration on one of the partitions, `one_two`, which @@ -152,7 +149,6 @@ state offset=47 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) /Table/106{-/1/1} num_replicas=7 num_voters=5 /Table/106/1/{1-2} global_reads=true num_replicas=7 num_voters=5 /Table/106/1/{2-3} global_reads=true num_replicas=7 num_voters=5 @@ -194,7 +190,6 @@ state offset=47 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) /Table/106{-/1/1} num_replicas=7 num_voters=5 /Table/106/1/{1-2} global_reads=true num_replicas=7 num_voters=5 /Table/106/1/{2-3} global_reads=true num_replicas=7 num_voters=5 @@ -250,7 +245,6 @@ state offset=47 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) /Table/106{-/1} num_replicas=7 num_voters=5 /Table/106/1{-/1} num_replicas=7 num_voters=6 /Table/106/1/{1-2} global_reads=true num_replicas=7 num_voters=5 @@ -304,7 +298,6 @@ state offset=47 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) /Table/106{-/1} num_replicas=7 /Table/106/1{-/1} num_replicas=7 num_voters=6 /Table/106/1/{1-2} global_reads=true num_replicas=7 @@ -352,4 +345,3 @@ state offset=47 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) diff --git a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/protectedts b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/protectedts index df1a1d8508f4..0e6bbe3cae56 100644 --- a/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/protectedts +++ b/pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/protectedts @@ -96,7 +96,6 @@ state offset=51 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) /Table/10{6-7} protection_policies=[{ts: 3} {ts: 4}] /Table/10{7-8} protection_policies=[{ts: 3} {ts: 4}] @@ -155,7 +154,6 @@ state offset=57 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) /Table/10{6-7} protection_policies=[{ts: 3} {ts: 4}] /Table/10{7-8} protection_policies=[{ts: 3} {ts: 4}] @@ -180,6 +178,5 @@ state offset=57 /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) /Table/10{6-7} range default /Table/10{7-8} range default diff --git a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/full_translate b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/full_translate index e3cd919048cb..70cc62ac4439 100644 --- a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/full_translate +++ b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/full_translate @@ -90,7 +90,6 @@ full-translate /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) /Table/11{0-1} range default /Table/11{1-2} range default /Table/11{2-3} range default diff --git a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/full_translate_named_zones_deleted b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/full_translate_named_zones_deleted index 1d066d0cc22e..f6fccf3b144f 100644 --- a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/full_translate_named_zones_deleted +++ b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/full_translate_named_zones_deleted @@ -12,7 +12,6 @@ SELECT id FROM system.zones 11 16 17 -18 22 25 27 @@ -116,4 +115,3 @@ full-translate /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) diff --git a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/named_zones b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/named_zones index a971d9c64294..cd3ab2fb49f4 100644 --- a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/named_zones +++ b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/named_zones @@ -3,12 +3,13 @@ # RANGE DEFAULT is akin to a full reconciliation. -# ID 18 is for the time series range. At bootstrap, it has an explicit zone -# config which should inherit from RANGE DEFAULT. +# ID 18 is for the time series range which is the only named zone that doesn't +# have an entry in `system.zones` at bootstrap. It should inherit from RANGE +# DEFAULT. query-sql SELECT count(*) FROM system.zones WHERE id=18 ---- -1 +0 translate named-zone=timeseries ---- diff --git a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/partitions b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/partitions index 6dadcbeabe8e..c467d91643d1 100644 --- a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/partitions +++ b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/partitions @@ -148,22 +148,3 @@ translate database=db table=partition_by_list /Table/109/1/{6-7} ttl_seconds=4 /Table/109/{1/7-2} ttl_seconds=4 /Table/109/{2-PrefixEnd} ttl_seconds=1 - -exec-sql -CREATE TABLE db.test(i INT PRIMARY KEY, j INT) PARTITION BY LIST (i) ( - PARTITION one_and_five VALUES IN (1, 5) -); -ALTER PARTITION one_and_five OF TABLE db.test CONFIGURE ZONE USING gc.ttlseconds = 2; -ALTER INDEX db.test@test_pkey CONFIGURE ZONE USING num_replicas = 4; -ALTER PARTITION one_and_five OF TABLE db.test CONFIGURE ZONE USING gc.ttlseconds = 3; ----- - -translate database=db table=test ----- -/Table/110{-/1} range default -/Table/110/1{-/1} num_replicas=4 -/Table/110/1/{1-2} ttl_seconds=3 num_replicas=4 -/Table/110/1/{2-5} num_replicas=4 -/Table/110/1/{5-6} ttl_seconds=3 num_replicas=4 -/Table/110/{1/6-2} num_replicas=4 -/Table/11{0/2-1} range default diff --git a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/system_database b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/system_database index 431ed189fea2..6265954731c2 100644 --- a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/system_database +++ b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/system_database @@ -66,7 +66,6 @@ translate database=system /Table/6{4-5} database system (host) /Table/6{5-6} database system (host) /Table/6{6-7} database system (host) -/Table/6{7-8} database system (host) # Alter zone config fields on the database to ensure the effects cascade. exec-sql @@ -137,7 +136,6 @@ translate database=system /Table/6{4-5} ignore_strict_gc=true num_replicas=7 rangefeed_enabled=true /Table/6{5-6} ignore_strict_gc=true num_replicas=7 rangefeed_enabled=true /Table/6{6-7} ignore_strict_gc=true num_replicas=7 rangefeed_enabled=true -/Table/6{7-8} ignore_strict_gc=true num_replicas=7 rangefeed_enabled=true # Alter a named range that maps to a pseudo table ID, ensuring that its effects # are independent. @@ -214,4 +212,3 @@ full-translate /Table/6{4-5} ignore_strict_gc=true num_replicas=7 rangefeed_enabled=true /Table/6{5-6} ignore_strict_gc=true num_replicas=7 rangefeed_enabled=true /Table/6{6-7} ignore_strict_gc=true num_replicas=7 rangefeed_enabled=true -/Table/6{7-8} ignore_strict_gc=true num_replicas=7 rangefeed_enabled=true diff --git a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/databases b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/databases index dd529ec4e987..9d783c305058 100644 --- a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/databases +++ b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/databases @@ -22,8 +22,8 @@ SELECT id FROM system.namespace WHERE name='t2' # We expect there to be span config entries for tables t1 and t2. translate database=db ---- -/Tenant/10/Table/10{6-7} rangefeed_enabled=true -/Tenant/10/Table/11{0-1} rangefeed_enabled=true +/Tenant/10/Table/10{6-7} range default +/Tenant/10/Table/11{0-1} range default # Alter zone config fields on the database and one of the tables to ensure # things are cascading. @@ -34,15 +34,15 @@ ALTER TABLE db.t1 CONFIGURE ZONE USING num_voters=5; translate database=db ---- -/Tenant/10/Table/10{6-7} num_replicas=7 num_voters=5 rangefeed_enabled=true -/Tenant/10/Table/11{0-1} num_replicas=7 rangefeed_enabled=true +/Tenant/10/Table/10{6-7} num_replicas=7 num_voters=5 +/Tenant/10/Table/11{0-1} num_replicas=7 # Translating the tables in the database individually should result in the same # config as above. translate database=db table=t1 ---- -/Tenant/10/Table/10{6-7} num_replicas=7 num_voters=5 rangefeed_enabled=true +/Tenant/10/Table/10{6-7} num_replicas=7 num_voters=5 translate database=db table=t2 ---- -/Tenant/10/Table/11{0-1} num_replicas=7 rangefeed_enabled=true +/Tenant/10/Table/11{0-1} num_replicas=7 diff --git a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/exclude_data_from_backup b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/exclude_data_from_backup index c40f6f6a0212..19860ba9fc09 100644 --- a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/exclude_data_from_backup +++ b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/exclude_data_from_backup @@ -17,8 +17,8 @@ SELECT id FROM system.namespace WHERE name='t2' # We only expect there to be span config entries for tables t1 and t2. translate database=db ---- -/Tenant/10/Table/10{6-7} rangefeed_enabled=true -/Tenant/10/Table/10{7-8} rangefeed_enabled=true +/Tenant/10/Table/10{6-7} range default +/Tenant/10/Table/10{7-8} range default # Alter table t1 to mark its data ephemeral. exec-sql @@ -27,19 +27,19 @@ ALTER TABLE db.t1 SET (exclude_data_from_backup = true) translate database=db ---- -/Tenant/10/Table/10{6-7} rangefeed_enabled=true exclude_data_from_backup=true -/Tenant/10/Table/10{7-8} rangefeed_enabled=true +/Tenant/10/Table/10{6-7} exclude_data_from_backup=true +/Tenant/10/Table/10{7-8} range default # Translating the tables in the database individually should result in the same # config as above. translate database=db table=t1 ---- -/Tenant/10/Table/10{6-7} rangefeed_enabled=true exclude_data_from_backup=true +/Tenant/10/Table/10{6-7} exclude_data_from_backup=true translate database=db table=t2 ---- -/Tenant/10/Table/10{7-8} rangefeed_enabled=true +/Tenant/10/Table/10{7-8} range default # Write a protection record as a "backup" to test the translation of the @@ -57,8 +57,8 @@ descs 104 # `ignore_if_excluded_from_backup` for the record written by the backup only. translate database=db ---- -/Tenant/10/Table/10{6-7} rangefeed_enabled=true protection_policies=[{ts: 1,ignore_if_excluded_from_backup: true} {ts: 2}] exclude_data_from_backup=true -/Tenant/10/Table/10{7-8} rangefeed_enabled=true protection_policies=[{ts: 1,ignore_if_excluded_from_backup: true} {ts: 2}] +/Tenant/10/Table/10{6-7} protection_policies=[{ts: 1,ignore_if_excluded_from_backup: true} {ts: 2}] exclude_data_from_backup=true +/Tenant/10/Table/10{7-8} protection_policies=[{ts: 1,ignore_if_excluded_from_backup: true} {ts: 2}] # Alter table t1 to unmark its data ephemeral. exec-sql @@ -67,5 +67,5 @@ ALTER TABLE db.t1 SET (exclude_data_from_backup = false); translate database=db ---- -/Tenant/10/Table/10{6-7} rangefeed_enabled=true protection_policies=[{ts: 1,ignore_if_excluded_from_backup: true} {ts: 2}] -/Tenant/10/Table/10{7-8} rangefeed_enabled=true protection_policies=[{ts: 1,ignore_if_excluded_from_backup: true} {ts: 2}] +/Tenant/10/Table/10{6-7} protection_policies=[{ts: 1,ignore_if_excluded_from_backup: true} {ts: 2}] +/Tenant/10/Table/10{7-8} protection_policies=[{ts: 1,ignore_if_excluded_from_backup: true} {ts: 2}] diff --git a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/full_translate b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/full_translate index 9a226d9c7f20..665d345eef6c 100644 --- a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/full_translate +++ b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/full_translate @@ -73,10 +73,9 @@ full-translate /Tenant/10/Table/6{4-5} database system (tenant) /Tenant/10/Table/6{5-6} database system (tenant) /Tenant/10/Table/6{6-7} database system (tenant) -/Tenant/10/Table/6{7-8} database system (tenant) -/Tenant/10/Table/11{0-1} rangefeed_enabled=true -/Tenant/10/Table/11{1-2} rangefeed_enabled=true -/Tenant/10/Table/11{2-3} rangefeed_enabled=true +/Tenant/10/Table/11{0-1} range default +/Tenant/10/Table/11{1-2} range default +/Tenant/10/Table/11{2-3} range default # We should expect the same for RANGE DEFAULT. translate named-zone=default @@ -137,7 +136,6 @@ translate named-zone=default /Tenant/10/Table/6{4-5} database system (tenant) /Tenant/10/Table/6{5-6} database system (tenant) /Tenant/10/Table/6{6-7} database system (tenant) -/Tenant/10/Table/6{7-8} database system (tenant) -/Tenant/10/Table/11{0-1} rangefeed_enabled=true -/Tenant/10/Table/11{1-2} rangefeed_enabled=true -/Tenant/10/Table/11{2-3} rangefeed_enabled=true +/Tenant/10/Table/11{0-1} range default +/Tenant/10/Table/11{1-2} range default +/Tenant/10/Table/11{2-3} range default diff --git a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/indexes b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/indexes index 35becc5d6640..c973a2b3276a 100644 --- a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/indexes +++ b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/indexes @@ -51,9 +51,9 @@ INDEX db.public.t@idx ALTER INDEX db.public.t@idx CONFIGURE ZONE USING # the same as the table's config. translate database=db table=t ---- -/Tenant/10/Table/106{-/2} num_replicas=7 rangefeed_enabled=true -/Tenant/10/Table/106/{2-3} num_replicas=7 num_voters=5 rangefeed_enabled=true -/Tenant/10/Table/10{6/3-7} num_replicas=7 rangefeed_enabled=true +/Tenant/10/Table/106{-/2} num_replicas=7 +/Tenant/10/Table/106/{2-3} num_replicas=7 num_voters=5 +/Tenant/10/Table/10{6/3-7} num_replicas=7 # Configure GC ttl on the database and override it for the index. The table # continues to hold a placeholder zone config. @@ -64,9 +64,9 @@ ALTER INDEX db.t@idx CONFIGURE ZONE USING gc.ttlseconds = 25 translate database=db table=t ---- -/Tenant/10/Table/106{-/2} ttl_seconds=3600 num_replicas=7 rangefeed_enabled=true -/Tenant/10/Table/106/{2-3} ttl_seconds=25 num_replicas=7 num_voters=5 rangefeed_enabled=true -/Tenant/10/Table/10{6/3-7} ttl_seconds=3600 num_replicas=7 rangefeed_enabled=true +/Tenant/10/Table/106{-/2} ttl_seconds=3600 num_replicas=7 +/Tenant/10/Table/106/{2-3} ttl_seconds=25 num_replicas=7 num_voters=5 +/Tenant/10/Table/10{6/3-7} ttl_seconds=3600 num_replicas=7 # Configure a zone config field on the table, so that it is no longer a # placeholder zone config. @@ -89,9 +89,9 @@ INDEX db.public.t@idx ALTER INDEX db.public.t@idx CONFIGURE ZONE USING translate database=db table=t ---- -/Tenant/10/Table/106{-/2} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=3600 num_replicas=7 rangefeed_enabled=true -/Tenant/10/Table/106/{2-3} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=25 num_replicas=7 num_voters=5 rangefeed_enabled=true -/Tenant/10/Table/10{6/3-7} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=3600 num_replicas=7 rangefeed_enabled=true +/Tenant/10/Table/106{-/2} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=3600 num_replicas=7 +/Tenant/10/Table/106/{2-3} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=25 num_replicas=7 num_voters=5 +/Tenant/10/Table/10{6/3-7} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=3600 num_replicas=7 block-gc-jobs ---- @@ -105,12 +105,12 @@ ALTER INDEX db.t@idx2 CONFIGURE ZONE USING gc.ttlseconds = 1; # Both the newly added index and the temporary index have the configured zone configuration. translate database=db table=t ---- -/Tenant/10/Table/106{-/2} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=3600 num_replicas=7 rangefeed_enabled=true -/Tenant/10/Table/106/{2-3} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=25 num_replicas=7 num_voters=5 rangefeed_enabled=true -/Tenant/10/Table/106/{3-4} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=3600 num_replicas=7 rangefeed_enabled=true -/Tenant/10/Table/106/{4-5} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=1 num_replicas=7 rangefeed_enabled=true -/Tenant/10/Table/106/{5-6} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=1 num_replicas=7 rangefeed_enabled=true -/Tenant/10/Table/10{6/6-7} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=3600 num_replicas=7 rangefeed_enabled=true +/Tenant/10/Table/106{-/2} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=3600 num_replicas=7 +/Tenant/10/Table/106/{2-3} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=25 num_replicas=7 num_voters=5 +/Tenant/10/Table/106/{3-4} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=3600 num_replicas=7 +/Tenant/10/Table/106/{4-5} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=1 num_replicas=7 +/Tenant/10/Table/106/{5-6} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=1 num_replicas=7 +/Tenant/10/Table/10{6/6-7} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=3600 num_replicas=7 unblock-gc-jobs ---- @@ -122,11 +122,11 @@ SHOW JOBS WHEN COMPLETE (SELECT job_id FROM [SHOW JOBS]) # The zone configuration for the temporary index is cleaned up translate database=db table=t ---- -/Tenant/10/Table/106{-/2} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=3600 num_replicas=7 rangefeed_enabled=true -/Tenant/10/Table/106/{2-3} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=25 num_replicas=7 num_voters=5 rangefeed_enabled=true -/Tenant/10/Table/106/{3-4} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=3600 num_replicas=7 rangefeed_enabled=true -/Tenant/10/Table/106/{4-5} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=1 num_replicas=7 rangefeed_enabled=true -/Tenant/10/Table/10{6/5-7} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=3600 num_replicas=7 rangefeed_enabled=true +/Tenant/10/Table/106{-/2} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=3600 num_replicas=7 +/Tenant/10/Table/106/{2-3} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=25 num_replicas=7 num_voters=5 +/Tenant/10/Table/106/{3-4} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=3600 num_replicas=7 +/Tenant/10/Table/106/{4-5} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=1 num_replicas=7 +/Tenant/10/Table/10{6/5-7} range_max_bytes=100000000 range_min_bytes=1000 ttl_seconds=3600 num_replicas=7 # Create and drop an index inside the same transaction. The related # zone configuration should also be cleaned up. @@ -139,4 +139,4 @@ DROP INDEX db.t2@idx translate database=db table=t2 ---- -/Tenant/10/Table/10{7-8} ttl_seconds=3600 num_replicas=7 rangefeed_enabled=true +/Tenant/10/Table/10{7-8} ttl_seconds=3600 num_replicas=7 diff --git a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/misc b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/misc index f60312733fdf..776ad56a691a 100644 --- a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/misc +++ b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/misc @@ -10,8 +10,8 @@ ALTER TABLE db.t1 CONFIGURE ZONE USING gc.ttlseconds=1; translate database=db ---- -/Tenant/10/Table/10{6-7} ttl_seconds=1 rangefeed_enabled=true -/Tenant/10/Table/10{7-8} rangefeed_enabled=true +/Tenant/10/Table/10{6-7} ttl_seconds=1 +/Tenant/10/Table/10{7-8} range default # Drop the table. exec-sql @@ -21,7 +21,7 @@ DROP TABLE db.t1; # We should no longer see the dropped table's spans. translate database=db ---- -/Tenant/10/Table/10{7-8} rangefeed_enabled=true +/Tenant/10/Table/10{7-8} range default # Same as above, except this time the translation starts from the table's ID. translate id=56 @@ -41,7 +41,7 @@ mark-database-offline database=db translate database=db ---- -/Tenant/10/Table/10{7-8} ttl_seconds=10 rangefeed_enabled=true +/Tenant/10/Table/10{7-8} ttl_seconds=10 # Delete the bespoke zone config on db. t2 should fallback to the RANGE DEFAULT # zone config even though all descriptors are offline. @@ -51,11 +51,11 @@ DELETE FROM system.zones WHERE id = 104; translate database=db ---- -/Tenant/10/Table/10{7-8} rangefeed_enabled=true +/Tenant/10/Table/10{7-8} range default translate database=db table=t2 ---- -/Tenant/10/Table/10{7-8} rangefeed_enabled=true +/Tenant/10/Table/10{7-8} range default mark-database-public database=db ---- @@ -73,11 +73,11 @@ mark-table-offline database=db table=t2 # database. translate database=db table=t2 ---- -/Tenant/10/Table/10{7-8} ttl_seconds=11 rangefeed_enabled=true +/Tenant/10/Table/10{7-8} ttl_seconds=11 translate database=db ---- -/Tenant/10/Table/10{7-8} ttl_seconds=11 rangefeed_enabled=true +/Tenant/10/Table/10{7-8} ttl_seconds=11 # Mark the table as public again. mark-table-public database=db table=t2 @@ -85,7 +85,7 @@ mark-table-public database=db table=t2 translate database=db table=t2 ---- -/Tenant/10/Table/10{7-8} ttl_seconds=11 rangefeed_enabled=true +/Tenant/10/Table/10{7-8} ttl_seconds=11 subtest end @@ -97,7 +97,7 @@ CREATE TYPE db.typ AS ENUM(); translate database=db ---- -/Tenant/10/Table/10{7-8} ttl_seconds=11 rangefeed_enabled=true +/Tenant/10/Table/10{7-8} ttl_seconds=11 # Test that non-existent IDs do not generate span configurations either. translate id=500 diff --git a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/partitions_primary_index b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/partitions_primary_index index 1c7fc791a6fe..4d80ec73eafd 100644 --- a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/partitions_primary_index +++ b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/partitions_primary_index @@ -55,7 +55,7 @@ TABLE db.public.t ALTER TABLE db.public.t CONFIGURE ZONE USING # there is just one entry here which covers the entire table's span. translate database=db table=t ---- -/Tenant/10/Table/10{6-7} num_replicas=7 num_voters=5 rangefeed_enabled=true +/Tenant/10/Table/10{6-7} num_replicas=7 num_voters=5 exec-sql @@ -68,10 +68,10 @@ ALTER PARTITION one_two OF TABLE db.t CONFIGURE ZONE USING global_reads=true # have the table's zone configuration. translate database=db table=t ---- -/Tenant/10/Table/106{-/1/1} num_replicas=7 num_voters=5 rangefeed_enabled=true -/Tenant/10/Table/106/1/{1-2} global_reads=true num_replicas=7 num_voters=5 rangefeed_enabled=true -/Tenant/10/Table/106/1/{2-3} global_reads=true num_replicas=7 num_voters=5 rangefeed_enabled=true -/Tenant/10/Table/10{6/1/3-7} num_replicas=7 num_voters=5 rangefeed_enabled=true +/Tenant/10/Table/106{-/1/1} num_replicas=7 num_voters=5 +/Tenant/10/Table/106/1/{1-2} global_reads=true num_replicas=7 num_voters=5 +/Tenant/10/Table/106/1/{2-3} global_reads=true num_replicas=7 num_voters=5 +/Tenant/10/Table/10{6/1/3-7} num_replicas=7 num_voters=5 # Change two fields on the second partition. One of them (num_voters) is an # override on the value set on the database's zone config. The other, gc.ttlseconds, @@ -85,12 +85,12 @@ ALTER PARTITION three_four OF TABLE db.t CONFIGURE ZONE USING num_voters=3 # have the correct values of gc.ttlseconds (5) and num_voters (3). translate database=db table=t ---- -/Tenant/10/Table/106{-/1/1} num_replicas=7 num_voters=5 rangefeed_enabled=true -/Tenant/10/Table/106/1/{1-2} global_reads=true num_replicas=7 num_voters=5 rangefeed_enabled=true -/Tenant/10/Table/106/1/{2-3} global_reads=true num_replicas=7 num_voters=5 rangefeed_enabled=true -/Tenant/10/Table/106/1/{3-4} ttl_seconds=5 num_replicas=7 num_voters=3 rangefeed_enabled=true -/Tenant/10/Table/106/1/{4-5} ttl_seconds=5 num_replicas=7 num_voters=3 rangefeed_enabled=true -/Tenant/10/Table/10{6/1/5-7} num_replicas=7 num_voters=5 rangefeed_enabled=true +/Tenant/10/Table/106{-/1/1} num_replicas=7 num_voters=5 +/Tenant/10/Table/106/1/{1-2} global_reads=true num_replicas=7 num_voters=5 +/Tenant/10/Table/106/1/{2-3} global_reads=true num_replicas=7 num_voters=5 +/Tenant/10/Table/106/1/{3-4} ttl_seconds=5 num_replicas=7 num_voters=3 +/Tenant/10/Table/106/1/{4-5} ttl_seconds=5 num_replicas=7 num_voters=3 +/Tenant/10/Table/10{6/1/5-7} num_replicas=7 num_voters=5 exec-sql ALTER PARTITION default OF TABLE db.t CONFIGURE ZONE USING num_voters=6 @@ -107,14 +107,14 @@ ALTER PARTITION default OF TABLE db.t CONFIGURE ZONE USING num_voters=6 # set to 6, as that's what we did above. translate database=db table=t ---- -/Tenant/10/Table/106{-/1} num_replicas=7 num_voters=5 rangefeed_enabled=true -/Tenant/10/Table/106/1{-/1} num_replicas=7 num_voters=6 rangefeed_enabled=true -/Tenant/10/Table/106/1/{1-2} global_reads=true num_replicas=7 num_voters=5 rangefeed_enabled=true -/Tenant/10/Table/106/1/{2-3} global_reads=true num_replicas=7 num_voters=5 rangefeed_enabled=true -/Tenant/10/Table/106/1/{3-4} ttl_seconds=5 num_replicas=7 num_voters=3 rangefeed_enabled=true -/Tenant/10/Table/106/1/{4-5} ttl_seconds=5 num_replicas=7 num_voters=3 rangefeed_enabled=true -/Tenant/10/Table/106/{1/5-2} num_replicas=7 num_voters=6 rangefeed_enabled=true -/Tenant/10/Table/10{6/2-7} num_replicas=7 num_voters=5 rangefeed_enabled=true +/Tenant/10/Table/106{-/1} num_replicas=7 num_voters=5 +/Tenant/10/Table/106/1{-/1} num_replicas=7 num_voters=6 +/Tenant/10/Table/106/1/{1-2} global_reads=true num_replicas=7 num_voters=5 +/Tenant/10/Table/106/1/{2-3} global_reads=true num_replicas=7 num_voters=5 +/Tenant/10/Table/106/1/{3-4} ttl_seconds=5 num_replicas=7 num_voters=3 +/Tenant/10/Table/106/1/{4-5} ttl_seconds=5 num_replicas=7 num_voters=3 +/Tenant/10/Table/106/{1/5-2} num_replicas=7 num_voters=6 +/Tenant/10/Table/10{6/2-7} num_replicas=7 num_voters=5 # Discard the table's zone configuration. This essentially means that the table # has a "placeholder" zone config (to capture partition subzone configs). @@ -128,11 +128,11 @@ ALTER TABLE db.t CONFIGURE ZONE DISCARD # table above (which is where num_voters=5 was coming from). translate database=db table=t ---- -/Tenant/10/Table/106{-/1} num_replicas=7 rangefeed_enabled=true -/Tenant/10/Table/106/1{-/1} num_replicas=7 num_voters=6 rangefeed_enabled=true -/Tenant/10/Table/106/1/{1-2} global_reads=true num_replicas=7 rangefeed_enabled=true -/Tenant/10/Table/106/1/{2-3} global_reads=true num_replicas=7 rangefeed_enabled=true -/Tenant/10/Table/106/1/{3-4} ttl_seconds=5 num_replicas=7 num_voters=3 rangefeed_enabled=true -/Tenant/10/Table/106/1/{4-5} ttl_seconds=5 num_replicas=7 num_voters=3 rangefeed_enabled=true -/Tenant/10/Table/106/{1/5-2} num_replicas=7 num_voters=6 rangefeed_enabled=true -/Tenant/10/Table/10{6/2-7} num_replicas=7 rangefeed_enabled=true +/Tenant/10/Table/106{-/1} num_replicas=7 +/Tenant/10/Table/106/1{-/1} num_replicas=7 num_voters=6 +/Tenant/10/Table/106/1/{1-2} global_reads=true num_replicas=7 +/Tenant/10/Table/106/1/{2-3} global_reads=true num_replicas=7 +/Tenant/10/Table/106/1/{3-4} ttl_seconds=5 num_replicas=7 num_voters=3 +/Tenant/10/Table/106/1/{4-5} ttl_seconds=5 num_replicas=7 num_voters=3 +/Tenant/10/Table/106/{1/5-2} num_replicas=7 num_voters=6 +/Tenant/10/Table/10{6/2-7} num_replicas=7 diff --git a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/protectedts b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/protectedts index e380b740603d..82cc499f1a04 100644 --- a/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/protectedts +++ b/pkg/ccl/spanconfigccl/spanconfigsqltranslatorccl/testdata/tenant/protectedts @@ -31,8 +31,8 @@ descs 104 # We should still see the protectedts translate onto the offline db. translate database=db ---- -/Tenant/10/Table/10{6-7} num_replicas=7 num_voters=5 rangefeed_enabled=true protection_policies=[{ts: 9}] -/Tenant/10/Table/10{7-8} num_replicas=7 rangefeed_enabled=true protection_policies=[{ts: 9}] +/Tenant/10/Table/10{6-7} num_replicas=7 num_voters=5 protection_policies=[{ts: 9}] +/Tenant/10/Table/10{7-8} num_replicas=7 protection_policies=[{ts: 9}] release record-id=9 ---- @@ -42,8 +42,8 @@ mark-database-public database=db translate database=db ---- -/Tenant/10/Table/10{6-7} num_replicas=7 num_voters=5 rangefeed_enabled=true -/Tenant/10/Table/10{7-8} num_replicas=7 rangefeed_enabled=true +/Tenant/10/Table/10{6-7} num_replicas=7 num_voters=5 +/Tenant/10/Table/10{7-8} num_replicas=7 # Write a protected timestamp on t1. protect record-id=1 ts=1 @@ -52,8 +52,8 @@ descs 106 translate database=db ---- -/Tenant/10/Table/10{6-7} num_replicas=7 num_voters=5 rangefeed_enabled=true protection_policies=[{ts: 1}] -/Tenant/10/Table/10{7-8} num_replicas=7 rangefeed_enabled=true +/Tenant/10/Table/10{6-7} num_replicas=7 num_voters=5 protection_policies=[{ts: 1}] +/Tenant/10/Table/10{7-8} num_replicas=7 # Write a protected timestamp on db, so we should see it on both t1 and t2. protect record-id=2 ts=2 @@ -62,8 +62,8 @@ descs 104 translate database=db ---- -/Tenant/10/Table/10{6-7} num_replicas=7 num_voters=5 rangefeed_enabled=true protection_policies=[{ts: 1} {ts: 2}] -/Tenant/10/Table/10{7-8} num_replicas=7 rangefeed_enabled=true protection_policies=[{ts: 2}] +/Tenant/10/Table/10{6-7} num_replicas=7 num_voters=5 protection_policies=[{ts: 1} {ts: 2}] +/Tenant/10/Table/10{7-8} num_replicas=7 protection_policies=[{ts: 2}] # Write a protected timestamp on the tenant cluster. @@ -82,8 +82,8 @@ translate system-span-configurations translate database=db ---- -/Tenant/10/Table/10{6-7} num_replicas=7 num_voters=5 rangefeed_enabled=true protection_policies=[{ts: 1} {ts: 2}] -/Tenant/10/Table/10{7-8} num_replicas=7 rangefeed_enabled=true protection_policies=[{ts: 2}] +/Tenant/10/Table/10{6-7} num_replicas=7 num_voters=5 protection_policies=[{ts: 1} {ts: 2}] +/Tenant/10/Table/10{7-8} num_replicas=7 protection_policies=[{ts: 2}] # Release the protected timestamp on table t1 release record-id=1 @@ -95,8 +95,8 @@ translate system-span-configurations translate database=db ---- -/Tenant/10/Table/10{6-7} num_replicas=7 num_voters=5 rangefeed_enabled=true protection_policies=[{ts: 2}] -/Tenant/10/Table/10{7-8} num_replicas=7 rangefeed_enabled=true protection_policies=[{ts: 2}] +/Tenant/10/Table/10{6-7} num_replicas=7 num_voters=5 protection_policies=[{ts: 2}] +/Tenant/10/Table/10{7-8} num_replicas=7 protection_policies=[{ts: 2}] # Release the protected timestamp on database db release record-id=2 @@ -108,8 +108,8 @@ translate system-span-configurations translate database=db ---- -/Tenant/10/Table/10{6-7} num_replicas=7 num_voters=5 rangefeed_enabled=true -/Tenant/10/Table/10{7-8} num_replicas=7 rangefeed_enabled=true +/Tenant/10/Table/10{6-7} num_replicas=7 num_voters=5 +/Tenant/10/Table/10{7-8} num_replicas=7 # Create an index on t1 to ensure that subzones also see protected timestamps. exec-sql @@ -140,7 +140,7 @@ translate system-span-configurations translate database=db ---- -/Tenant/10/Table/106{-/2} num_replicas=7 num_voters=5 rangefeed_enabled=true protection_policies=[{ts: 5}] -/Tenant/10/Table/106/{2-3} ttl_seconds=1 num_replicas=7 num_voters=5 rangefeed_enabled=true protection_policies=[{ts: 5}] -/Tenant/10/Table/10{6/3-7} num_replicas=7 num_voters=5 rangefeed_enabled=true protection_policies=[{ts: 5}] -/Tenant/10/Table/10{7-8} num_replicas=7 rangefeed_enabled=true +/Tenant/10/Table/106{-/2} num_replicas=7 num_voters=5 protection_policies=[{ts: 5}] +/Tenant/10/Table/106/{2-3} ttl_seconds=1 num_replicas=7 num_voters=5 protection_policies=[{ts: 5}] +/Tenant/10/Table/10{6/3-7} num_replicas=7 num_voters=5 protection_policies=[{ts: 5}] +/Tenant/10/Table/10{7-8} num_replicas=7 diff --git a/pkg/ccl/sqlitelogictestccl/tests/3node-tenant/generated_test.go b/pkg/ccl/sqlitelogictestccl/tests/3node-tenant/generated_test.go index 32c0f7ab9b4f..65ff6984915e 100644 --- a/pkg/ccl/sqlitelogictestccl/tests/3node-tenant/generated_test.go +++ b/pkg/ccl/sqlitelogictestccl/tests/3node-tenant/generated_test.go @@ -31,7 +31,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/randutil" ) -const configIdx = 10 +const configIdx = 9 var sqliteLogicTestDir string diff --git a/pkg/ccl/sqlproxyccl/BUILD.bazel b/pkg/ccl/sqlproxyccl/BUILD.bazel index 884ab5a6a99f..b66dbe300c71 100644 --- a/pkg/ccl/sqlproxyccl/BUILD.bazel +++ b/pkg/ccl/sqlproxyccl/BUILD.bazel @@ -38,7 +38,6 @@ go_library( "//pkg/util/httputil", "//pkg/util/log", "//pkg/util/metric", - "//pkg/util/metric/aggmetric", "//pkg/util/netutil/addr", "//pkg/util/randutil", "//pkg/util/retry", @@ -55,6 +54,7 @@ go_library( "@org_golang_google_grpc//codes", "@org_golang_google_grpc//credentials/insecure", "@org_golang_google_grpc//status", + "@org_golang_x_exp//slices", ], ) diff --git a/pkg/ccl/sqlproxyccl/authentication.go b/pkg/ccl/sqlproxyccl/authentication.go index f6f19acf25a2..e6371e3ab463 100644 --- a/pkg/ccl/sqlproxyccl/authentication.go +++ b/pkg/ccl/sqlproxyccl/authentication.go @@ -10,13 +10,13 @@ package sqlproxyccl import ( "net" - "slices" "github.com/cockroachdb/cockroach/pkg/ccl/sqlproxyccl/interceptor" "github.com/cockroachdb/cockroach/pkg/ccl/sqlproxyccl/throttler" "github.com/cockroachdb/cockroach/pkg/sql/pgwire/pgcode" "github.com/cockroachdb/errors" pgproto3 "github.com/jackc/pgproto3/v2" + "golang.org/x/exp/slices" ) // These errors occur after successful auth but are sent back as a result of diff --git a/pkg/ccl/sqlproxyccl/metrics.go b/pkg/ccl/sqlproxyccl/metrics.go index 1c1cda51a887..253f740bee51 100644 --- a/pkg/ccl/sqlproxyccl/metrics.go +++ b/pkg/ccl/sqlproxyccl/metrics.go @@ -11,7 +11,6 @@ package sqlproxyccl import ( "github.com/cockroachdb/cockroach/pkg/base" "github.com/cockroachdb/cockroach/pkg/util/metric" - "github.com/cockroachdb/cockroach/pkg/util/metric/aggmetric" ) // metrics contains pointers to the metrics for monitoring proxy operations. @@ -46,11 +45,6 @@ type metrics struct { QueryCancelSuccessful *metric.Counter AccessControlFileErrorCount *metric.Gauge - - RoutingMethodCount *aggmetric.AggCounter - SNIRoutingMethodCount *aggmetric.Counter - DatabaseRoutingMethodCount *aggmetric.Counter - ClusterOptionRoutingMethodCount *aggmetric.Counter } // MetricStruct implements the metrics.Struct interface. @@ -218,23 +212,18 @@ var ( Measurement: "Query Cancel Requests", Unit: metric.Unit_COUNT, } - metaAccessControlFileErrorCount = metric.Metadata{ + accessControlFileErrorCount = metric.Metadata{ Name: "proxy.access_control.errors", Help: "Numbers of access control list files that are currently having errors", Measurement: "Access Control File Errors", Unit: metric.Unit_COUNT, } - metaRoutingMethodCount = metric.Metadata{ - Name: "proxy.sql.routing_method_count", - Help: "Number of occurrences of each proxy routing method", - Measurement: "Number of occurrences", - Unit: metric.Unit_COUNT, - } ) // makeProxyMetrics instantiates the metrics holder for proxy monitoring. func makeProxyMetrics() metrics { - m := &metrics{ + + return metrics{ BackendDisconnectCount: metric.NewCounter(metaBackendDisconnectCount), IdleDisconnectCount: metric.NewCounter(metaIdleDisconnectCount), BackendDownCount: metric.NewCounter(metaBackendDownCount), @@ -284,14 +273,8 @@ func makeProxyMetrics() metrics { QueryCancelForwarded: metric.NewCounter(metaQueryCancelForwarded), QueryCancelSuccessful: metric.NewCounter(metaQueryCancelSuccessful), - AccessControlFileErrorCount: metric.NewGauge(metaAccessControlFileErrorCount), - - RoutingMethodCount: aggmetric.NewCounter(metaRoutingMethodCount, "method"), + AccessControlFileErrorCount: metric.NewGauge(accessControlFileErrorCount), } - m.SNIRoutingMethodCount = m.RoutingMethodCount.AddChild("sni") - m.DatabaseRoutingMethodCount = m.RoutingMethodCount.AddChild("database") - m.ClusterOptionRoutingMethodCount = m.RoutingMethodCount.AddChild("cluster_option") - return *m } // updateForError updates the metrics relevant for the type of the error diff --git a/pkg/ccl/sqlproxyccl/proxy_handler.go b/pkg/ccl/sqlproxyccl/proxy_handler.go index 39d49726b5c3..ad32cc4ed2b1 100644 --- a/pkg/ccl/sqlproxyccl/proxy_handler.go +++ b/pkg/ccl/sqlproxyccl/proxy_handler.go @@ -375,7 +375,7 @@ func (handler *proxyHandler) handle( // NOTE: Errors returned from this function are user-facing errors so we // should be careful with the details that we want to expose. - backendStartupMsg, clusterName, tenID, err := clusterNameAndTenantFromParams(ctx, fe, handler.metrics) + backendStartupMsg, clusterName, tenID, err := clusterNameAndTenantFromParams(ctx, fe) if err != nil { clientErr := withCode(err, codeParamsRoutingFailed) log.Errorf(ctx, "unable to extract cluster name and tenant id: %s", err.Error()) @@ -715,7 +715,7 @@ func (handler *proxyHandler) setupIncomingCert(ctx context.Context) error { // through its command-line options, i.e. "-c NAME=VALUE", "-cNAME=VALUE", and // "--NAME=VALUE". func clusterNameAndTenantFromParams( - ctx context.Context, fe *FrontendAdmitInfo, metrics *metrics, + ctx context.Context, fe *FrontendAdmitInfo, ) (*pgproto3.StartupMessage, string, roachpb.TenantID, error) { clusterIdentifierDB, databaseName, err := parseDatabaseParam(fe.Msg.Parameters["database"]) if err != nil { @@ -748,7 +748,6 @@ func clusterNameAndTenantFromParams( // are blank. If SNI doesn't parse as a valid cluster id, then we assume // that the end user didn't intend to pass cluster info through SNI and // show missing cluster identifier instead of invalid cluster identifier. - metrics.SNIRoutingMethodCount.Inc(1) return fe.Msg, clusterName, tenID, nil } } @@ -791,16 +790,7 @@ func clusterNameAndTenantFromParams( paramsOut[key] = value } } - // If both are provided, they must be the same, and we will track both. - if clusterIdentifierDB != "" { - metrics.DatabaseRoutingMethodCount.Inc(1) - } - // This metric is specific to the --cluster option. If we introduce a new - // --routing-id in the future, the existing metrics will still work, and - // we should introduce a new RoutingIDOptionReads metric. - if clusterIdentifierOpt != "" { - metrics.ClusterOptionRoutingMethodCount.Inc(1) - } + outMsg := &pgproto3.StartupMessage{ ProtocolVersion: fe.Msg.ProtocolVersion, Parameters: paramsOut, diff --git a/pkg/ccl/sqlproxyccl/proxy_handler_test.go b/pkg/ccl/sqlproxyccl/proxy_handler_test.go index 272407665590..83e0fb9853f4 100644 --- a/pkg/ccl/sqlproxyccl/proxy_handler_test.go +++ b/pkg/ccl/sqlproxyccl/proxy_handler_test.go @@ -1894,10 +1894,6 @@ func TestPodWatcher(t *testing.T) { opts.testingKnobs.balancerOpts = []balancer.Option{ balancer.NoRebalanceLoop(), balancer.RebalanceRate(1.0), - // Set a rebalance delay of zero. Rebalance is triggered on startup because - // the watch enumerates three existing pods. The delay of zero allows - // addition of the fourth pod to trigger rebalancing. - balancer.RebalanceDelay(0), } proxy, addrs := newSecureProxyServer(ctx, t, s.Stopper(), opts) connectionString := fmt.Sprintf("postgres://testuser:hunter2@%s/?sslmode=require&options=--cluster=tenant-cluster-%s", addrs.listenAddr, tenantID) @@ -2521,17 +2517,15 @@ func TestClusterNameAndTenantFromParams(t *testing.T) { testCases := []struct { name string - sniServerName string params map[string]string expectedClusterName string expectedTenantID uint64 expectedParams map[string]string expectedError string expectedHint string - expectedMetrics func(t *testing.T, m *metrics) }{ { - name: "empty params and server name", + name: "empty params", params: map[string]string{}, expectedError: "missing cluster identifier", expectedHint: clusterIdentifierHint, @@ -2646,32 +2640,6 @@ func TestClusterNameAndTenantFromParams(t *testing.T) { expectedError: "invalid cluster identifier 'happy-koala-0'", expectedHint: "Tenant ID 0 is invalid.", }, - { - name: "invalid sni format", - sniServerName: "foo-bar-baz", - params: map[string]string{}, - expectedError: "missing cluster identifier", - expectedHint: clusterIdentifierHint, - }, - { - name: "invalid sni value", - sniServerName: "happy2koala-.abc.aws-ap-south-1.cockroachlabs.cloud", - params: map[string]string{}, - expectedError: "missing cluster identifier", - expectedHint: clusterIdentifierHint, - }, - { - name: "valid sni value", - sniServerName: "happy-seal-10.abc.gcp-us-central1.cockroachlabs.cloud", - params: map[string]string{}, - expectedClusterName: "happy-seal", - expectedTenantID: 10, - expectedParams: map[string]string{}, - expectedMetrics: func(t *testing.T, m *metrics) { - require.Equal(t, int64(1), m.RoutingMethodCount.Count()) - require.Equal(t, int64(1), m.SNIRoutingMethodCount.Value()) - }, - }, { name: "multiple similar cluster identifiers", params: map[string]string{ @@ -2681,11 +2649,6 @@ func TestClusterNameAndTenantFromParams(t *testing.T) { expectedClusterName: "happy-koala", expectedTenantID: 7, expectedParams: map[string]string{"database": "defaultdb"}, - expectedMetrics: func(t *testing.T, m *metrics) { - require.Equal(t, int64(2), m.RoutingMethodCount.Count()) - require.Equal(t, int64(1), m.DatabaseRoutingMethodCount.Value()) - require.Equal(t, int64(1), m.ClusterOptionRoutingMethodCount.Value()) - }, }, { name: "cluster identifier in database param", @@ -2696,10 +2659,6 @@ func TestClusterNameAndTenantFromParams(t *testing.T) { expectedClusterName: strings.Repeat("a", 100), expectedTenantID: 7, expectedParams: map[string]string{"database": "defaultdb", "foo": "bar"}, - expectedMetrics: func(t *testing.T, m *metrics) { - require.Equal(t, int64(1), m.RoutingMethodCount.Count()) - require.Equal(t, int64(1), m.DatabaseRoutingMethodCount.Value()) - }, }, { name: "valid cluster identifier with invalid arrangements", @@ -2713,10 +2672,6 @@ func TestClusterNameAndTenantFromParams(t *testing.T) { "database": "defaultdb", "options": "-c -c -c -c", }, - expectedMetrics: func(t *testing.T, m *metrics) { - require.Equal(t, int64(1), m.RoutingMethodCount.Count()) - require.Equal(t, int64(1), m.ClusterOptionRoutingMethodCount.Value()) - }, }, { name: "short option: cluster identifier in options param", @@ -2727,10 +2682,6 @@ func TestClusterNameAndTenantFromParams(t *testing.T) { expectedClusterName: "happy-koala", expectedTenantID: 7, expectedParams: map[string]string{"database": "defaultdb"}, - expectedMetrics: func(t *testing.T, m *metrics) { - require.Equal(t, int64(1), m.RoutingMethodCount.Count()) - require.Equal(t, int64(1), m.ClusterOptionRoutingMethodCount.Value()) - }, }, { name: "short option with spaces: cluster identifier in options param", @@ -2741,10 +2692,6 @@ func TestClusterNameAndTenantFromParams(t *testing.T) { expectedClusterName: "happy-koala", expectedTenantID: 7, expectedParams: map[string]string{"database": "defaultdb"}, - expectedMetrics: func(t *testing.T, m *metrics) { - require.Equal(t, int64(1), m.RoutingMethodCount.Count()) - require.Equal(t, int64(1), m.ClusterOptionRoutingMethodCount.Value()) - }, }, { name: "long option: cluster identifier in options param", @@ -2758,10 +2705,6 @@ func TestClusterNameAndTenantFromParams(t *testing.T) { "database": "defaultdb", "options": "--foo=test", }, - expectedMetrics: func(t *testing.T, m *metrics) { - require.Equal(t, int64(1), m.RoutingMethodCount.Count()) - require.Equal(t, int64(1), m.ClusterOptionRoutingMethodCount.Value()) - }, }, { name: "long option: cluster identifier in options param with other options", @@ -2775,10 +2718,6 @@ func TestClusterNameAndTenantFromParams(t *testing.T) { "database": "defaultdb", "options": "-csearch_path=public \t--foo=test", }, - expectedMetrics: func(t *testing.T, m *metrics) { - require.Equal(t, int64(1), m.RoutingMethodCount.Count()) - require.Equal(t, int64(1), m.ClusterOptionRoutingMethodCount.Value()) - }, }, { name: "leading 0s are ok", @@ -2786,24 +2725,19 @@ func TestClusterNameAndTenantFromParams(t *testing.T) { expectedClusterName: "happy-koala-0", expectedTenantID: 7, expectedParams: map[string]string{"database": "defaultdb"}, - expectedMetrics: func(t *testing.T, m *metrics) { - require.Equal(t, int64(1), m.RoutingMethodCount.Count()) - require.Equal(t, int64(1), m.DatabaseRoutingMethodCount.Value()) - }, }, } for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { msg := &pgproto3.StartupMessage{Parameters: tc.params} - m := makeProxyMetrics() originalParams := make(map[string]string) for k, v := range msg.Parameters { originalParams[k] = v } - fe := &FrontendAdmitInfo{Msg: msg, SniServerName: tc.sniServerName} - outMsg, clusterName, tenantID, err := clusterNameAndTenantFromParams(ctx, fe, &m) + fe := &FrontendAdmitInfo{Msg: msg} + outMsg, clusterName, tenantID, err := clusterNameAndTenantFromParams(ctx, fe) if tc.expectedError == "" { require.NoErrorf(t, err, "failed test case\n%+v", tc) @@ -2821,15 +2755,6 @@ func TestClusterNameAndTenantFromParams(t *testing.T) { // Check that the original parameters were not modified. require.Equal(t, originalParams, msg.Parameters) - - if tc.expectedMetrics != nil { - tc.expectedMetrics(t, &m) - } else { - require.Zero(t, m.RoutingMethodCount.Count()) - require.Zero(t, m.SNIRoutingMethodCount.Value()) - require.Zero(t, m.DatabaseRoutingMethodCount.Value()) - require.Zero(t, m.ClusterOptionRoutingMethodCount.Value()) - } }) } } diff --git a/pkg/ccl/sqlproxyccl/tenantdirsvr/BUILD.bazel b/pkg/ccl/sqlproxyccl/tenantdirsvr/BUILD.bazel index 9b2d991a4891..9b87f03128c3 100644 --- a/pkg/ccl/sqlproxyccl/tenantdirsvr/BUILD.bazel +++ b/pkg/ccl/sqlproxyccl/tenantdirsvr/BUILD.bazel @@ -16,7 +16,6 @@ go_library( "//pkg/roachpb", "//pkg/util/grpcutil", "//pkg/util/log", - "//pkg/util/protoutil", "//pkg/util/stop", "//pkg/util/syncutil", "//pkg/util/timeutil", diff --git a/pkg/ccl/sqlproxyccl/tenantdirsvr/test_static_directory_svr.go b/pkg/ccl/sqlproxyccl/tenantdirsvr/test_static_directory_svr.go index 27f936e7e9db..9e78f11e91b3 100644 --- a/pkg/ccl/sqlproxyccl/tenantdirsvr/test_static_directory_svr.go +++ b/pkg/ccl/sqlproxyccl/tenantdirsvr/test_static_directory_svr.go @@ -15,7 +15,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/ccl/sqlproxyccl/tenant" "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/util/protoutil" "github.com/cockroachdb/cockroach/pkg/util/stop" "github.com/cockroachdb/cockroach/pkg/util/syncutil" "github.com/cockroachdb/cockroach/pkg/util/timeutil" @@ -163,19 +162,6 @@ func (d *TestStaticDirectoryServer) WatchPods( c := make(chan *tenant.WatchPodsResponse, 10) chElement := addListener(c) - initialPods := func() (result []tenant.WatchPodsResponse) { - d.mu.Lock() - defer d.mu.Unlock() - for _, pods := range d.mu.tenantPods { - for _, pod := range pods { - result = append(result, tenant.WatchPodsResponse{ - Pod: protoutil.Clone(pod).(*tenant.Pod), - }) - } - } - return result - }() - return stopper.RunTask( server.Context(), "watch-pods-server", @@ -186,24 +172,19 @@ func (d *TestStaticDirectoryServer) WatchPods( } }() - for i := range initialPods { - if err := server.Send(&initialPods[i]); err != nil { - return - } - } - - for { + for watch := true; watch; { select { case e, ok := <-c: // Channel was closed. if !ok { - return + watch = false + break } if err := server.Send(e); err != nil { - return + watch = false } case <-stopper.ShouldQuiesce(): - return + watch = false } } }, @@ -293,18 +274,6 @@ func (d *TestStaticDirectoryServer) WatchTenants( c := make(chan *tenant.WatchTenantsResponse, 10) chElement := addListener(c) - initialTenants := func() (result []tenant.WatchTenantsResponse) { - d.mu.Lock() - defer d.mu.Unlock() - for id := range d.mu.tenants { - result = append(result, tenant.WatchTenantsResponse{ - Type: tenant.EVENT_ADDED, - Tenant: protoutil.Clone(d.mu.tenants[id]).(*tenant.Tenant), - }) - } - return result - }() - return stopper.RunTask( server.Context(), "watch-tenants-server", @@ -315,24 +284,19 @@ func (d *TestStaticDirectoryServer) WatchTenants( } }() - for i := range initialTenants { - if err := server.Send(&initialTenants[i]); err != nil { - return - } - } - - for { + for watch := true; watch; { select { case e, ok := <-c: // Channel was closed. if !ok { - return + watch = false + break } if err := server.Send(e); err != nil { - return + watch = false } case <-stopper.ShouldQuiesce(): - return + watch = false } } }, @@ -597,10 +561,12 @@ func (d *TestStaticDirectoryServer) notifyTenantUpdateLocked( typ tenant.WatchEventType, t *tenant.Tenant, ) { // Make a copy of the tenant to prevent race issues. - res := &tenant.WatchTenantsResponse{ - Type: typ, - Tenant: protoutil.Clone(t).(*tenant.Tenant), - } + copyTenant := *t + copyTenant.AllowedCIDRRanges = make([]string, len(t.AllowedCIDRRanges)) + copy(copyTenant.AllowedCIDRRanges, t.AllowedCIDRRanges) + copyTenant.AllowedPrivateEndpoints = make([]string, len(t.AllowedPrivateEndpoints)) + copy(copyTenant.AllowedPrivateEndpoints, t.AllowedPrivateEndpoints) + res := &tenant.WatchTenantsResponse{Type: typ, Tenant: ©Tenant} for e := d.mu.tenantEventListeners.Front(); e != nil; { select { diff --git a/pkg/ccl/storageccl/BUILD.bazel b/pkg/ccl/storageccl/BUILD.bazel index 81ac5ff6e6cb..c48481976331 100644 --- a/pkg/ccl/storageccl/BUILD.bazel +++ b/pkg/ccl/storageccl/BUILD.bazel @@ -53,7 +53,6 @@ go_test( "//pkg/util/ioctx", "//pkg/util/leaktest", "//pkg/util/log", - "//pkg/util/mon", "//pkg/util/randutil", "@com_github_stretchr_testify//require", ], diff --git a/pkg/ccl/storageccl/encryption.go b/pkg/ccl/storageccl/encryption.go index ea29ab1a30d2..f4d44ff5636a 100644 --- a/pkg/ccl/storageccl/encryption.go +++ b/pkg/ccl/storageccl/encryption.go @@ -186,7 +186,7 @@ func (e *encWriter) flush() error { // DecryptFile decrypts a file encrypted by EncryptFile, using the supplied key // and reading the IV from a prefix of the file. See comments on EncryptFile -// for intended usage, and see DecryptFile. +// for intended usage, and see DecryptFile func DecryptFile( ctx context.Context, ciphertext, key []byte, mm *mon.BoundAccount, ) ([]byte, error) { @@ -338,29 +338,17 @@ func (r *decryptReader) Close() error { } // Size returns the size of the file. -func (r *decryptReader) Stat() (vfs.FileInfo, error) { - var size int64 - // The vfs interface uses its own vfs.FileInfo interface. Check for either - // the vfs Stat() or the os Stat(). - // TODO(jackson): Do we ever actually use a native os.File here? We might be - // able to remove the support for os.FileInfo (and change r.ciphertext to a - // vfs.File). - if stater, ok := r.ciphertext.(interface{ Stat() (os.FileInfo, error) }); ok { - stat, err := stater.Stat() - if err != nil { - return nil, err - } - size = stat.Size() - } else if stater, ok := r.ciphertext.(interface{ Stat() (vfs.FileInfo, error) }); ok { - stat, err := stater.Stat() - if err != nil { - return nil, err - } - size = stat.Size() - } else { +func (r *decryptReader) Stat() (os.FileInfo, error) { + stater, ok := r.ciphertext.(interface{ Stat() (os.FileInfo, error) }) + if !ok { return nil, errors.Newf("%T does not support stat", r.ciphertext) } + stat, err := stater.Stat() + if err != nil { + return nil, err + } + size := stat.Size() size -= headerSize size -= tagSize * ((size / (int64(encryptionChunkSizeV2) + tagSize)) + 1) return sizeStat(size), nil diff --git a/pkg/ccl/storageccl/encryption_test.go b/pkg/ccl/storageccl/encryption_test.go index b8c1d68cc292..e8e5d233b432 100644 --- a/pkg/ccl/storageccl/encryption_test.go +++ b/pkg/ccl/storageccl/encryption_test.go @@ -17,7 +17,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/humanizeutil" "github.com/cockroachdb/cockroach/pkg/util/leaktest" - "github.com/cockroachdb/cockroach/pkg/util/mon" "github.com/cockroachdb/cockroach/pkg/util/randutil" "github.com/stretchr/testify/require" ) @@ -44,7 +43,7 @@ func TestEncryptDecrypt(t *testing.T) { require.NoError(t, err) require.True(t, AppearsEncrypted(ciphertext), "cipher text should appear encrypted") - decrypted, err := DecryptFile(context.Background(), ciphertext, key, mon.NewStandaloneUnlimitedAccount()) + decrypted, err := DecryptFile(context.Background(), ciphertext, key, nil /* mm */) require.NoError(t, err) require.Equal(t, plaintext, decrypted) }) @@ -54,7 +53,7 @@ func TestEncryptDecrypt(t *testing.T) { }) t.Run("helpful error on bad input", func(t *testing.T) { - _, err := DecryptFile(context.Background(), []byte("a"), key, mon.NewStandaloneUnlimitedAccount()) + _, err := DecryptFile(context.Background(), []byte("a"), key, nil /* mm */) require.EqualError(t, err, "file does not appear to be encrypted") }) @@ -163,7 +162,7 @@ func TestEncryptDecrypt(t *testing.T) { plaintext := randutil.RandBytes(rng, rng.Intn(1024*32)) ciphertext, err := EncryptFile(plaintext, key) require.NoError(t, err) - decrypted, err := DecryptFile(context.Background(), ciphertext, key, mon.NewStandaloneUnlimitedAccount()) + decrypted, err := DecryptFile(context.Background(), ciphertext, key, nil /* mm */) require.NoError(t, err) if len(plaintext) == 0 { require.Equal(t, len(plaintext), len(decrypted)) diff --git a/pkg/ccl/storageccl/engineccl/BUILD.bazel b/pkg/ccl/storageccl/engineccl/BUILD.bazel index 555437bfa324..f146b628c2d0 100644 --- a/pkg/ccl/storageccl/engineccl/BUILD.bazel +++ b/pkg/ccl/storageccl/engineccl/BUILD.bazel @@ -32,8 +32,8 @@ go_library( "@com_github_cockroachdb_pebble//vfs", "@com_github_cockroachdb_pebble//vfs/atomicfs", "@com_github_gogo_protobuf//proto", - "@com_github_lestrrat_go_jwx_v2//jwa", - "@com_github_lestrrat_go_jwx_v2//jwk", + "@com_github_lestrrat_go_jwx//jwa", + "@com_github_lestrrat_go_jwx//jwk", ], ) diff --git a/pkg/ccl/storageccl/engineccl/ctr_stream_test.go b/pkg/ccl/storageccl/engineccl/ctr_stream_test.go index 862ba75ac99c..d24df35e12d5 100644 --- a/pkg/ccl/storageccl/engineccl/ctr_stream_test.go +++ b/pkg/ccl/storageccl/engineccl/ctr_stream_test.go @@ -95,8 +95,7 @@ func encryptManySubBlocks( // Running non-fips mode: // ./dev test pkg/ccl/storageccl/engineccl -f CTRStreamDataDriven --rewrite --stream-output // Running fips mode: -// ./dev test-binaries --cross=crosslinuxfips pkg/ccl/storageccl/engineccl && mkdir -p fipsbin && tar xf bin/test_binaries.tar.gz -C fipsbin && docker run -v -// $PWD/fipsbin:/fipsbin -it redhat/ubi9 bash -c 'cd /fipsbin/pkg/ccl/storageccl/engineccl/bin && ./run.sh -test.run CTRStreamDataDriven' +// ./dev test-binaries --cross=crosslinuxfips pkg/ccl/storageccl/engineccl && mkdir -p fipsbin && tar xf bin/test_binaries.tar.gz -C fipsbin && docker run -v $PWD/fipsbin:/fipsbin -it redhat/ubi9 bash -c 'cd /fipsbin/pkg/ccl/storageccl/engineccl/bin && ./run.sh -test.run CTRStreamDataDriven' func TestCTRStreamDataDriven(t *testing.T) { defer leaktest.AfterTest(t)() for _, impl := range []string{"v1", "v2"} { @@ -344,8 +343,7 @@ func TestFileCipherStreamCreator(t *testing.T) { // Running non-fips mode: // ./dev bench pkg/ccl/storageccl/engineccl -f FileCipherStream --stream-output --ignore-cache // Running fips mode (be sure to look for fips=true in the output): -// ./dev test-binaries --cross=crosslinuxfips pkg/ccl/storageccl/engineccl && mkdir -p fipsbin && tar xf bin/test_binaries.tar.gz -C fipsbin && docker run -v -// $PWD/fipsbin:/fipsbin -it redhat/ubi9 /fipsbin/pkg/ccl/storageccl/engineccl/bin/engineccl_test -test.run '^$' -test.bench FileCipherStream +// ./dev test-binaries --cross=crosslinuxfips pkg/ccl/storageccl/engineccl && mkdir -p fipsbin && tar xf bin/test_binaries.tar.gz -C fipsbin && docker run -v $PWD/fipsbin:/fipsbin -it redhat/ubi9 /fipsbin/pkg/ccl/storageccl/engineccl/bin/engineccl_test -test.run '^$' -test.bench FileCipherStream func BenchmarkFileCipherStream(b *testing.B) { isFips := fipsccl.IsFIPSReady() for _, impl := range []string{"v1", "v2"} { diff --git a/pkg/ccl/storageccl/engineccl/encrypted_fs.go b/pkg/ccl/storageccl/engineccl/encrypted_fs.go index 24d7d4cbc7a3..735f4a514c54 100644 --- a/pkg/ccl/storageccl/engineccl/encrypted_fs.go +++ b/pkg/ccl/storageccl/engineccl/encrypted_fs.go @@ -112,8 +112,8 @@ type encryptedFS struct { } // Create implements vfs.FS.Create. -func (fs *encryptedFS) Create(name string, category vfs.DiskWriteCategory) (vfs.File, error) { - f, err := fs.FS.Create(name, category) +func (fs *encryptedFS) Create(name string) (vfs.File, error) { + f, err := fs.FS.Create(name) if err != nil { return f, err } @@ -230,15 +230,13 @@ func (fs *encryptedFS) Rename(oldname, newname string) error { // like non-empty WAL files with zero readable entries. There is a todo in env_encryption.cc // to change this RocksDB behavior. We need to handle a user switching from Pebble to RocksDB, // so cannot generate WAL files that RocksDB will complain about. -func (fs *encryptedFS) ReuseForWrite( - oldname, newname string, category vfs.DiskWriteCategory, -) (vfs.File, error) { +func (fs *encryptedFS) ReuseForWrite(oldname, newname string) (vfs.File, error) { // This is slower than simply calling Create(newname) since the Remove() and Create() // will write and sync the file registry file twice. We can optimize this if needed. if err := fs.Remove(oldname); err != nil { return nil, err } - return fs.Create(newname, category) + return fs.Create(newname) } type encryptionStatsHandler struct { diff --git a/pkg/ccl/storageccl/engineccl/encrypted_fs_test.go b/pkg/ccl/storageccl/engineccl/encrypted_fs_test.go index 297433f2ccc0..0dd0dd42f3ef 100644 --- a/pkg/ccl/storageccl/engineccl/encrypted_fs_test.go +++ b/pkg/ccl/storageccl/engineccl/encrypted_fs_test.go @@ -55,7 +55,7 @@ func TestEncryptedFS(t *testing.T) { for i := 0; i < keyIDLength+16; i++ { b = append(b, 'a') } - f, err := memFS.Create("keyfile", fs.UnspecifiedWriteCategory) + f, err := memFS.Create("keyfile") require.NoError(t, err) bReader := bytes.NewReader(b) _, err = io.Copy(f, bReader) @@ -66,7 +66,7 @@ func TestEncryptedFS(t *testing.T) { streamCreator := &FileCipherStreamCreator{keyManager: keyManager, envType: enginepb.EnvType_Store} - encryptedFS := &encryptedFS{FS: memFS, fileRegistry: fileRegistry, streamCreator: streamCreator} + fs := &encryptedFS{FS: memFS, fileRegistry: fileRegistry, streamCreator: streamCreator} // Style (and most code) is from Pebble's mem_fs_test.go. We are mainly testing the integration of // encryptedFS with FileRegistry and FileCipherStreamCreator. This uses real encryption but the @@ -128,19 +128,19 @@ func TestEncryptedFS(t *testing.T) { ) switch s[0] { case "create": - g, err = encryptedFS.Create(s[1], fs.UnspecifiedWriteCategory) + g, err = fs.Create(s[1]) case "link": - err = encryptedFS.Link(s[1], s[2]) + err = fs.Link(s[1], s[2]) case "open": - g, err = encryptedFS.Open(s[1]) + g, err = fs.Open(s[1]) case "mkdirall": - err = encryptedFS.MkdirAll(s[1], 0755) + err = fs.MkdirAll(s[1], 0755) case "remove": - err = encryptedFS.Remove(s[1]) + err = fs.Remove(s[1]) case "rename": - err = encryptedFS.Rename(s[1], s[2]) + err = fs.Rename(s[1], s[2]) case "reuseForWrite": - g, err = encryptedFS.ReuseForWrite(s[1], s[2], fs.UnspecifiedWriteCategory) + g, err = fs.ReuseForWrite(s[1], s[2]) case "f.write": _, err = f.Write([]byte(s[1])) case "f.read": @@ -210,12 +210,12 @@ func TestEncryptedFSUnencryptedFiles(t *testing.T) { streamCreator := &FileCipherStreamCreator{keyManager: keyManager, envType: enginepb.EnvType_Store} - encryptedFS := &encryptedFS{FS: memFS, fileRegistry: fileRegistry, streamCreator: streamCreator} + fs := &encryptedFS{FS: memFS, fileRegistry: fileRegistry, streamCreator: streamCreator} var filesCreated []string for i := 0; i < 5; i++ { filename := fmt.Sprintf("file%d", i) - f, err := encryptedFS.Create(filename, fs.UnspecifiedWriteCategory) + f, err := fs.Create(filename) require.NoError(t, err) filesCreated = append(filesCreated, filename) require.NoError(t, f.Close()) @@ -263,7 +263,6 @@ func TestPebbleEncryption(t *testing.T) { }, fs.ReadWrite, stickyRegistry, /* sticky registry */ - nil, /* statsCollector */ ) require.NoError(t, err) db, err := storage.Open(ctx, env, cluster.MakeTestingClusterSettings()) @@ -312,7 +311,6 @@ func TestPebbleEncryption(t *testing.T) { }, fs.ReadWrite, stickyRegistry, /* sticky registry */ - nil, /* statsCollector */ ) require.NoError(t, err) db, err := storage.Open(ctx, env, cluster.MakeTestingClusterSettings()) @@ -401,7 +399,6 @@ func TestPebbleEncryption2(t *testing.T) { }, fs.ReadWrite, stickyRegistry, /* sticky registry */ - nil, /* statsCollector */ ) require.NoError(t, err) db, err := storage.Open(ctx, env, cluster.MakeTestingClusterSettings()) @@ -536,7 +533,7 @@ func (etfs *encryptedTestFS) restart() error { etfs.encEnv.Closer.Close() etfs.encEnv = nil } - etfs.mem = etfs.mem.CrashClone(vfs.CrashCloneCfg{}) + etfs.mem.ResetToSyncedState() ei := &errorInjector{prob: etfs.errorProb, rand: etfs.errorRand} fsMeta := errorfs.Wrap(etfs.mem, ei) // TODO(sumeer): Do deterministic rollover of file registry after small @@ -559,7 +556,7 @@ func (etfs *encryptedTestFS) restart() error { } func makeEncryptedTestFS(t *testing.T, errorProb float64, errorRand *rand.Rand) *encryptedTestFS { - mem := vfs.NewCrashableMem() + mem := vfs.NewStrictMem() keyFile128 := "111111111111111111111111111111111234567890123456" writeToFile(t, mem, "16.key", []byte(keyFile128)) dir, err := mem.OpenDir("/") @@ -624,7 +621,7 @@ func (op *createOp) run(t *fsTest) { // Create is idempotent, so we simply retry on injected errors. withRetry(t, func() error { var f vfs.File - f, err := t.fs.fs().Create(op.name, fs.UnspecifiedWriteCategory) + f, err := t.fs.fs().Create(op.name) if err != nil { return err } diff --git a/pkg/ccl/storageccl/engineccl/pebble_key_manager.go b/pkg/ccl/storageccl/engineccl/pebble_key_manager.go index 724d689bce93..48b132bd9f12 100644 --- a/pkg/ccl/storageccl/engineccl/pebble_key_manager.go +++ b/pkg/ccl/storageccl/engineccl/pebble_key_manager.go @@ -17,7 +17,6 @@ import ( "time" "github.com/cockroachdb/cockroach/pkg/ccl/storageccl/engineccl/enginepbccl" - "github.com/cockroachdb/cockroach/pkg/storage/fs" "github.com/cockroachdb/cockroach/pkg/util/log" "github.com/cockroachdb/cockroach/pkg/util/protoutil" "github.com/cockroachdb/cockroach/pkg/util/syncutil" @@ -26,8 +25,8 @@ import ( "github.com/cockroachdb/pebble/vfs" "github.com/cockroachdb/pebble/vfs/atomicfs" "github.com/gogo/protobuf/proto" - "github.com/lestrrat-go/jwx/v2/jwa" - "github.com/lestrrat-go/jwx/v2/jwk" + "github.com/lestrrat-go/jwx/jwa" + "github.com/lestrrat-go/jwx/jwk" ) const ( @@ -163,7 +162,7 @@ func LoadKeyFromFile(fs vfs.FS, filename string) (*enginepbccl.SecretKey, error) // Since random generation of 48+ bytes will not produce a valid json object, // if the file parses as JWK, assume that was the intended format. if keySet, jwkErr := jwk.Parse(b); jwkErr == nil { - jwKey, ok := keySet.Key(0) + jwKey, ok := keySet.Get(0) if !ok { return nil, fmt.Errorf("JWKS file contains no keys") } @@ -173,7 +172,7 @@ func LoadKeyFromFile(fs vfs.FS, filename string) (*enginepbccl.SecretKey, error) if jwKey.KeyType() != jwa.OctetSeq { return nil, fmt.Errorf("expected kty=oct, found %s", jwKey.KeyType()) } - key.Info.EncryptionType, err = enginepbccl.EncryptionTypeFromJWKAlgorithm(jwKey.Algorithm().String()) + key.Info.EncryptionType, err = enginepbccl.EncryptionTypeFromJWKAlgorithm(jwKey.Algorithm()) if err != nil { return nil, err } @@ -532,7 +531,7 @@ func (m *DataKeyManager) rotateDataKeyAndWrite( // number to ensure we're not overwriting the existing registry. filename := fmt.Sprintf( "%s_%06d_%s", keyRegistryFilename, m.writeMu.marker.NextIter(), registryFormatMonolith) - f, err := m.fs.Create(m.fs.PathJoin(m.dbDir, filename), fs.EncryptionRegistryWriteCategory) + f, err := m.fs.Create(m.fs.PathJoin(m.dbDir, filename)) if err != nil { return err } diff --git a/pkg/ccl/storageccl/engineccl/pebble_key_manager_test.go b/pkg/ccl/storageccl/engineccl/pebble_key_manager_test.go index f9c27b3a1c16..513a6010607c 100644 --- a/pkg/ccl/storageccl/engineccl/pebble_key_manager_test.go +++ b/pkg/ccl/storageccl/engineccl/pebble_key_manager_test.go @@ -34,8 +34,8 @@ import ( "github.com/stretchr/testify/require" ) -func writeToFile(t *testing.T, vfs vfs.FS, filename string, b []byte) { - f, err := vfs.Create(filename, fs.UnspecifiedWriteCategory) +func writeToFile(t *testing.T, fs vfs.FS, filename string, b []byte) { + f, err := fs.Create(filename) require.NoError(t, err) breader := bytes.NewReader(b) _, err = io.Copy(f, breader) @@ -479,9 +479,9 @@ type loggingFS struct { w io.Writer } -func (fs loggingFS) Create(name string, category vfs.DiskWriteCategory) (vfs.File, error) { +func (fs loggingFS) Create(name string) (vfs.File, error) { fmt.Fprintf(fs.w, "create(%q)\n", name) - f, err := fs.FS.Create(name, category) + f, err := fs.FS.Create(name) if err != nil { return nil, err } @@ -521,18 +521,16 @@ func (fs loggingFS) Rename(oldname, newname string) error { return fs.FS.Rename(oldname, newname) } -func (fs loggingFS) ReuseForWrite( - oldname, newname string, category vfs.DiskWriteCategory, -) (vfs.File, error) { +func (fs loggingFS) ReuseForWrite(oldname, newname string) (vfs.File, error) { fmt.Fprintf(fs.w, "reuseForWrite(%q, %q)\n", oldname, newname) - f, err := fs.FS.ReuseForWrite(oldname, newname, category) + f, err := fs.FS.ReuseForWrite(oldname, newname) if err == nil { f = loggingFile{f, newname, fs.w} } return f, err } -func (fs loggingFS) Stat(path string) (vfs.FileInfo, error) { +func (fs loggingFS) Stat(path string) (os.FileInfo, error) { fmt.Fprintf(fs.w, "stat(%q)\n", path) return fs.FS.Stat(path) } diff --git a/pkg/ccl/storageccl/engineccl/shared_storage.go b/pkg/ccl/storageccl/engineccl/shared_storage.go index 5394a75b0efa..ae5d414496e0 100644 --- a/pkg/ccl/storageccl/engineccl/shared_storage.go +++ b/pkg/ccl/storageccl/engineccl/shared_storage.go @@ -47,7 +47,7 @@ func iterateReplicaKeySpansShared( _ uuid.UUID, reader storage.Reader, visitPoint func(key *pebble.InternalKey, val pebble.LazyValue, info pebble.IteratorLevel) error, - visitRangeDel func(start, end []byte, seqNum pebble.SeqNum) error, + visitRangeDel func(start, end []byte, seqNum uint64) error, visitRangeKey func(start, end []byte, keys []rangekey.Key) error, visitSharedFile func(sst *pebble.SharedSSTMeta) error, visitExternalFile func(sst *pebble.ExternalFile) error, diff --git a/pkg/ccl/storageccl/external_sst_reader.go b/pkg/ccl/storageccl/external_sst_reader.go index d5ecde363262..5426a5c73bd5 100644 --- a/pkg/ccl/storageccl/external_sst_reader.go +++ b/pkg/ccl/storageccl/external_sst_reader.go @@ -20,11 +20,9 @@ import ( "github.com/cockroachdb/cockroach/pkg/settings" "github.com/cockroachdb/cockroach/pkg/storage" "github.com/cockroachdb/cockroach/pkg/util/ioctx" - "github.com/cockroachdb/cockroach/pkg/util/mon" "github.com/cockroachdb/cockroach/pkg/util/retry" "github.com/cockroachdb/errors" "github.com/cockroachdb/pebble/sstable" - "github.com/cockroachdb/pebble/vfs" ) // RemoteSSTs lets external SSTables get iterated directly in some cases, @@ -80,7 +78,6 @@ func newMemPebbleSSTReader( ) (storage.SimpleMVCCIterator, error) { inMemorySSTs := make([][]byte, 0, len(storeFiles)) - memAcc := mon.NewStandaloneUnlimitedAccount() for _, sf := range storeFiles { f, _, err := getFileWithRetry(ctx, sf.FilePath, sf.Store) @@ -93,7 +90,7 @@ func newMemPebbleSSTReader( return nil, err } if encryption != nil { - content, err = DecryptFile(ctx, content, encryption.Key, memAcc) + content, err = DecryptFile(ctx, content, encryption.Key, nil /* mm */) if err != nil { return nil, err } @@ -221,7 +218,7 @@ func (r *sstReader) Close() error { } // Stat returns the size of the file. -func (r *sstReader) Stat() (vfs.FileInfo, error) { +func (r *sstReader) Stat() (os.FileInfo, error) { return r.sz, nil } @@ -305,10 +302,9 @@ func (r *sstReader) ReadAt(p []byte, offset int64) (int, error) { type sizeStat int64 -func (s sizeStat) Size() int64 { return int64(s) } -func (sizeStat) IsDir() bool { panic(errors.AssertionFailedf("unimplemented")) } -func (sizeStat) ModTime() time.Time { panic(errors.AssertionFailedf("unimplemented")) } -func (sizeStat) Mode() os.FileMode { panic(errors.AssertionFailedf("unimplemented")) } -func (sizeStat) Name() string { panic(errors.AssertionFailedf("unimplemented")) } -func (sizeStat) Sys() interface{} { panic(errors.AssertionFailedf("unimplemented")) } -func (sizeStat) DeviceID() vfs.DeviceID { panic(errors.AssertionFailedf("unimplemented")) } +func (s sizeStat) Size() int64 { return int64(s) } +func (sizeStat) IsDir() bool { panic(errors.AssertionFailedf("unimplemented")) } +func (sizeStat) ModTime() time.Time { panic(errors.AssertionFailedf("unimplemented")) } +func (sizeStat) Mode() os.FileMode { panic(errors.AssertionFailedf("unimplemented")) } +func (sizeStat) Name() string { panic(errors.AssertionFailedf("unimplemented")) } +func (sizeStat) Sys() interface{} { panic(errors.AssertionFailedf("unimplemented")) } diff --git a/pkg/ccl/crosscluster/BUILD.bazel b/pkg/ccl/streamingccl/BUILD.bazel similarity index 78% rename from pkg/ccl/crosscluster/BUILD.bazel rename to pkg/ccl/streamingccl/BUILD.bazel index 14bc5b9c8700..610c56a2d34d 100644 --- a/pkg/ccl/crosscluster/BUILD.bazel +++ b/pkg/ccl/streamingccl/BUILD.bazel @@ -1,14 +1,14 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library") go_library( - name = "crosscluster", + name = "streamingccl", srcs = [ "addresses.go", "errors.go", "event.go", "settings.go", ], - importpath = "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster", + importpath = "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl", visibility = ["//visibility:public"], deps = [ "//pkg/jobs/jobspb", diff --git a/pkg/ccl/crosscluster/addresses.go b/pkg/ccl/streamingccl/addresses.go similarity index 98% rename from pkg/ccl/crosscluster/addresses.go rename to pkg/ccl/streamingccl/addresses.go index c9a4199f7353..185feac23a02 100644 --- a/pkg/ccl/crosscluster/addresses.go +++ b/pkg/ccl/streamingccl/addresses.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package crosscluster +package streamingccl import "net/url" diff --git a/pkg/ccl/crosscluster/errors.go b/pkg/ccl/streamingccl/errors.go similarity index 98% rename from pkg/ccl/crosscluster/errors.go rename to pkg/ccl/streamingccl/errors.go index b6404120194d..f6e98bcb94a2 100644 --- a/pkg/ccl/crosscluster/errors.go +++ b/pkg/ccl/streamingccl/errors.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package crosscluster +package streamingccl import ( "fmt" diff --git a/pkg/ccl/crosscluster/event.go b/pkg/ccl/streamingccl/event.go similarity index 62% rename from pkg/ccl/crosscluster/event.go rename to pkg/ccl/streamingccl/event.go index bfa543697ae2..c931709e755f 100644 --- a/pkg/ccl/crosscluster/event.go +++ b/pkg/ccl/streamingccl/event.go @@ -6,11 +6,9 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package crosscluster +package streamingccl import ( - "fmt" - "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" "github.com/cockroachdb/cockroach/pkg/kv/kvpb" "github.com/cockroachdb/cockroach/pkg/repstream/streampb" @@ -40,25 +38,6 @@ const ( SplitEvent ) -func (e EventType) String() string { - switch e { - case KVEvent: - return "KVEvent" - case SSTableEvent: - return "SSTableEvent" - case DeleteRangeEvent: - return "DeleteRangeEvent" - case CheckpointEvent: - return "CheckpointEvent" - case SpanConfigEvent: - return "SpanConfigEvent" - case SplitEvent: - return "SplitEvent" - default: - return fmt.Sprintf("unknown event: %d", e) - } -} - // Event describes an event emitted by a cluster to cluster stream. Its Type // field indicates which other fields are meaningful. // TODO(casper): refactor this to use a protobuf message type that has one of @@ -68,7 +47,7 @@ type Event interface { Type() EventType // GetKVs returns a KV event if the EventType is KVEvent. - GetKVs() []streampb.StreamEvent_KV + GetKVs() []roachpb.KeyValue // GetSSTable returns a AddSSTable event if the EventType is SSTableEvent. GetSSTable() *kvpb.RangeFeedSSTable @@ -89,8 +68,7 @@ type Event interface { // kvEvent is a key value pair that needs to be ingested. type kvEvent struct { - emptyEvent - kv []streampb.StreamEvent_KV + kv []roachpb.KeyValue } var _ Event = kvEvent{} @@ -101,13 +79,37 @@ func (kve kvEvent) Type() EventType { } // GetKVs implements the Event interface. -func (kve kvEvent) GetKVs() []streampb.StreamEvent_KV { +func (kve kvEvent) GetKVs() []roachpb.KeyValue { return kve.kv } +// GetSSTable implements the Event interface. +func (kve kvEvent) GetSSTable() *kvpb.RangeFeedSSTable { + return nil +} + +// GetDeleteRange implements the Event interface. +func (kve kvEvent) GetDeleteRange() *kvpb.RangeFeedDeleteRange { + return nil +} + +// GetResolvedSpans implements the Event interface. +func (kve kvEvent) GetResolvedSpans() []jobspb.ResolvedSpan { + return nil +} + +// GetSpanConfigEvent implements the Event interface. +func (kve kvEvent) GetSpanConfigEvent() *streampb.StreamedSpanConfigEntry { + return nil +} + +// GetSplitEvent implements the Event interface. +func (kve kvEvent) GetSplitEvent() *roachpb.Key { + return nil +} + // sstableEvent is a sstable that needs to be ingested. type sstableEvent struct { - emptyEvent sst kvpb.RangeFeedSSTable } @@ -116,16 +118,40 @@ func (sste sstableEvent) Type() EventType { return SSTableEvent } +// GetKVs implements the Event interface. +func (sste sstableEvent) GetKVs() []roachpb.KeyValue { + return nil +} + // GetSSTable implements the Event interface. func (sste sstableEvent) GetSSTable() *kvpb.RangeFeedSSTable { return &sste.sst } +// GetDeleteRange implements the Event interface. +func (sste sstableEvent) GetDeleteRange() *kvpb.RangeFeedDeleteRange { + return nil +} + +// GetResolvedSpans implements the Event interface. +func (sste sstableEvent) GetResolvedSpans() []jobspb.ResolvedSpan { + return nil +} + +// GetSpanConfigEvent implements the Event interface. +func (sste sstableEvent) GetSpanConfigEvent() *streampb.StreamedSpanConfigEntry { + return nil +} + +// GetSplitEvent implements the Event interface. +func (sste sstableEvent) GetSplitEvent() *roachpb.Key { + return nil +} + var _ Event = sstableEvent{} // delRangeEvent is a DeleteRange event that needs to be ingested. type delRangeEvent struct { - emptyEvent delRange kvpb.RangeFeedDeleteRange } @@ -134,17 +160,41 @@ func (dre delRangeEvent) Type() EventType { return DeleteRangeEvent } +// GetKVs implements the Event interface. +func (dre delRangeEvent) GetKVs() []roachpb.KeyValue { + return nil +} + +// GetSSTable implements the Event interface. +func (dre delRangeEvent) GetSSTable() *kvpb.RangeFeedSSTable { + return nil +} + // GetDeleteRange implements the Event interface. func (dre delRangeEvent) GetDeleteRange() *kvpb.RangeFeedDeleteRange { return &dre.delRange } +// GetResolvedSpans implements the Event interface. +func (dre delRangeEvent) GetResolvedSpans() []jobspb.ResolvedSpan { + return nil +} + +// GetSpanConfigEvent implements the Event interface. +func (dre delRangeEvent) GetSpanConfigEvent() *streampb.StreamedSpanConfigEntry { + return nil +} + +// GetSplitEvent implements the Event interface. +func (dre delRangeEvent) GetSplitEvent() *roachpb.Key { + return nil +} + var _ Event = delRangeEvent{} // checkpointEvent indicates that the stream has emitted every change for all // keys in the span it is responsible for up until this timestamp. type checkpointEvent struct { - emptyEvent resolvedSpans []jobspb.ResolvedSpan } @@ -155,13 +205,37 @@ func (ce checkpointEvent) Type() EventType { return CheckpointEvent } +// GetKVs implements the Event interface. +func (ce checkpointEvent) GetKVs() []roachpb.KeyValue { + return nil +} + +// GetSSTable implements the Event interface. +func (ce checkpointEvent) GetSSTable() *kvpb.RangeFeedSSTable { + return nil +} + +// GetDeleteRange implements the Event interface. +func (ce checkpointEvent) GetDeleteRange() *kvpb.RangeFeedDeleteRange { + return nil +} + // GetResolvedSpans implements the Event interface. func (ce checkpointEvent) GetResolvedSpans() []jobspb.ResolvedSpan { return ce.resolvedSpans } +// GetSpanConfigEvent implements the Event interface. +func (ce checkpointEvent) GetSpanConfigEvent() *streampb.StreamedSpanConfigEntry { + return nil +} + +// GetSplitEvent implements the Event interface. +func (ce checkpointEvent) GetSplitEvent() *roachpb.Key { + return nil +} + type spanConfigEvent struct { - emptyEvent spanConfig streampb.StreamedSpanConfigEntry } @@ -172,13 +246,37 @@ func (spe spanConfigEvent) Type() EventType { return SpanConfigEvent } +// GetKVs implements the Event interface. +func (spe spanConfigEvent) GetKVs() []roachpb.KeyValue { + return nil +} + +// GetSSTable implements the Event interface. +func (spe spanConfigEvent) GetSSTable() *kvpb.RangeFeedSSTable { + return nil +} + +// GetDeleteRange implements the Event interface. +func (spe spanConfigEvent) GetDeleteRange() *kvpb.RangeFeedDeleteRange { + return nil +} + +// GetResolvedSpans implements the Event interface. +func (spe spanConfigEvent) GetResolvedSpans() []jobspb.ResolvedSpan { + return nil +} + // GetSpanConfigEvent implements the Event interface. func (spe spanConfigEvent) GetSpanConfigEvent() *streampb.StreamedSpanConfigEntry { return &spe.spanConfig } +// GetSplitEvent implements the Event interface. +func (spe spanConfigEvent) GetSplitEvent() *roachpb.Key { + return nil +} + type splitEvent struct { - emptyEvent splitKey roachpb.Key } @@ -189,22 +287,38 @@ func (se splitEvent) Type() EventType { return SplitEvent } +// GetKV implements the Event interface. +func (se splitEvent) GetKVs() []roachpb.KeyValue { + return nil +} + +// GetSSTable implements the Event interface. +func (se splitEvent) GetSSTable() *kvpb.RangeFeedSSTable { + return nil +} + +// GetDeleteRange implements the Event interface. +func (se splitEvent) GetDeleteRange() *kvpb.RangeFeedDeleteRange { + return nil +} + +// GetResolvedSpans implements the Event interface. +func (se splitEvent) GetResolvedSpans() []jobspb.ResolvedSpan { + return nil +} + +// GetSpanConfigEvent implements the Event interface. +func (se splitEvent) GetSpanConfigEvent() *streampb.StreamedSpanConfigEntry { + return nil +} + // GetSplitEvent implements the Event interface. func (se splitEvent) GetSplitEvent() *roachpb.Key { return &se.splitKey } // MakeKVEvent creates an Event from a KV. -func MakeKVEventFromKVs(kv []roachpb.KeyValue) Event { - kvs := make([]streampb.StreamEvent_KV, len(kv)) - for i := range kv { - kvs[i].KeyValue = kv[i] - } - return kvEvent{kv: kvs} -} - -// MakeKVEvent creates an Event from a KV. -func MakeKVEvent(kv []streampb.StreamEvent_KV) Event { +func MakeKVEvent(kv []roachpb.KeyValue) Event { return kvEvent{kv: kv} } @@ -230,37 +344,3 @@ func MakeSpanConfigEvent(streamedSpanConfig streampb.StreamedSpanConfigEntry) Ev func MakeSplitEvent(splitKey roachpb.Key) Event { return splitEvent{splitKey: splitKey} } - -// emptyEvent is not an event (no Type method) but it is used to -// reduce the boilerplate above. -type emptyEvent struct{} - -// GetKVs implements the Event interface. -func (ee emptyEvent) GetKVs() []streampb.StreamEvent_KV { - return nil -} - -// GetSSTable implements the Event interface. -func (ee emptyEvent) GetSSTable() *kvpb.RangeFeedSSTable { - return nil -} - -// GetDeleteRange implements the Event interface. -func (ee emptyEvent) GetDeleteRange() *kvpb.RangeFeedDeleteRange { - return nil -} - -// GetResolvedSpans implements the Event interface. -func (ee emptyEvent) GetResolvedSpans() []jobspb.ResolvedSpan { - return nil -} - -// GetSpanConfigEvent implements the Event interface. -func (ee emptyEvent) GetSpanConfigEvent() *streampb.StreamedSpanConfigEntry { - return nil -} - -// GetSplitEvent implements the Event interface. -func (ee emptyEvent) GetSplitEvent() *roachpb.Key { - return nil -} diff --git a/pkg/ccl/crosscluster/replicationtestutils/BUILD.bazel b/pkg/ccl/streamingccl/replicationtestutils/BUILD.bazel similarity index 87% rename from pkg/ccl/crosscluster/replicationtestutils/BUILD.bazel rename to pkg/ccl/streamingccl/replicationtestutils/BUILD.bazel index bd2e52157789..0c1e1993baac 100644 --- a/pkg/ccl/crosscluster/replicationtestutils/BUILD.bazel +++ b/pkg/ccl/streamingccl/replicationtestutils/BUILD.bazel @@ -5,17 +5,16 @@ go_library( testonly = 1, srcs = [ "encoding.go", - "logical.go", "replication_helpers.go", "span_config_helpers.go", "testutils.go", ], - importpath = "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationtestutils", + importpath = "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/replicationtestutils", visibility = ["//visibility:public"], deps = [ "//pkg/base", - "//pkg/ccl/crosscluster", - "//pkg/ccl/crosscluster/replicationutils", + "//pkg/ccl/streamingccl", + "//pkg/ccl/streamingccl/replicationutils", "//pkg/jobs", "//pkg/jobs/jobspb", "//pkg/keys", @@ -54,7 +53,6 @@ go_library( "//pkg/util/timeutil", "@com_github_cockroachdb_apd_v3//:apd", "@com_github_cockroachdb_errors//:errors", - "@com_github_lib_pq//:pq", "@com_github_stretchr_testify//require", ], ) diff --git a/pkg/ccl/crosscluster/replicationtestutils/encoding.go b/pkg/ccl/streamingccl/replicationtestutils/encoding.go similarity index 91% rename from pkg/ccl/crosscluster/replicationtestutils/encoding.go rename to pkg/ccl/streamingccl/replicationtestutils/encoding.go index c233d8865b34..cb9822df6e57 100644 --- a/pkg/ccl/crosscluster/replicationtestutils/encoding.go +++ b/pkg/ccl/streamingccl/replicationtestutils/encoding.go @@ -23,7 +23,7 @@ import ( // EncodeKV encodes primary key with the specified "values". Values must be // specified in the same order as the columns in the primary family. func EncodeKV( - t testing.TB, codec keys.SQLCodec, descr catalog.TableDescriptor, pkeyVals ...interface{}, + t *testing.T, codec keys.SQLCodec, descr catalog.TableDescriptor, pkeyVals ...interface{}, ) roachpb.KeyValue { require.Equal(t, 1, descr.NumFamilies(), "there can be only one") indexEntries := encodeKVImpl(t, codec, descr, pkeyVals...) @@ -34,7 +34,7 @@ func EncodeKV( // EncodeKVs is similar to EncodeKV, but can be used for a table with multiple // column families, in which case up to one KV is returned per family. func EncodeKVs( - t testing.TB, codec keys.SQLCodec, descr catalog.TableDescriptor, pkeyVals ...interface{}, + t *testing.T, codec keys.SQLCodec, descr catalog.TableDescriptor, pkeyVals ...interface{}, ) []roachpb.KeyValue { indexEntries := encodeKVImpl(t, codec, descr, pkeyVals...) require.GreaterOrEqual(t, len(indexEntries), 1) @@ -46,7 +46,7 @@ func EncodeKVs( } func encodeKVImpl( - t testing.TB, codec keys.SQLCodec, descr catalog.TableDescriptor, pkeyVals ...interface{}, + t *testing.T, codec keys.SQLCodec, descr catalog.TableDescriptor, pkeyVals ...interface{}, ) []rowenc.IndexEntry { primary := descr.GetPrimaryIndex() var datums tree.Datums @@ -68,7 +68,7 @@ func encodeKVImpl( return indexEntries } -func nativeToDatum(t testing.TB, native interface{}) tree.Datum { +func nativeToDatum(t *testing.T, native interface{}) tree.Datum { t.Helper() switch v := native.(type) { case bool: diff --git a/pkg/ccl/crosscluster/replicationtestutils/replication_helpers.go b/pkg/ccl/streamingccl/replicationtestutils/replication_helpers.go similarity index 94% rename from pkg/ccl/crosscluster/replicationtestutils/replication_helpers.go rename to pkg/ccl/streamingccl/replicationtestutils/replication_helpers.go index 3be09cdabfdc..d23d3ee0d1d6 100644 --- a/pkg/ccl/crosscluster/replicationtestutils/replication_helpers.go +++ b/pkg/ccl/streamingccl/replicationtestutils/replication_helpers.go @@ -18,7 +18,7 @@ import ( "time" "github.com/cockroachdb/cockroach/pkg/base" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" "github.com/cockroachdb/cockroach/pkg/keys" "github.com/cockroachdb/cockroach/pkg/repstream/streampb" @@ -36,19 +36,19 @@ import ( ) // FeedEventPredicate allows tests to search a ReplicationFeed. -type FeedEventPredicate func(message crosscluster.Event) bool +type FeedEventPredicate func(message streamingccl.Event) bool // FeedErrorPredicate allows tests to match an error from ReplicationFeed. type FeedErrorPredicate func(err error) bool // KeyMatches makes a FeedEventPredicate that matches a given key in a kv batch. func KeyMatches(key roachpb.Key) FeedEventPredicate { - return func(msg crosscluster.Event) bool { - if msg.Type() != crosscluster.KVEvent { + return func(msg streamingccl.Event) bool { + if msg.Type() != streamingccl.KVEvent { return false } for _, kv := range msg.GetKVs() { - if bytes.Equal(key, kv.KeyValue.Key) { + if bytes.Equal(key, kv.Key) { return true } } @@ -57,8 +57,8 @@ func KeyMatches(key roachpb.Key) FeedEventPredicate { } func AnySpanConfigMatches() FeedEventPredicate { - return func(msg crosscluster.Event) bool { - return msg.Type() == crosscluster.SpanConfigEvent + return func(msg streamingccl.Event) bool { + return msg.Type() == streamingccl.SpanConfigEvent } } @@ -75,8 +75,8 @@ func minResolvedTimestamp(resolvedSpans []jobspb.ResolvedSpan) hlc.Timestamp { // ResolvedAtLeast makes a FeedEventPredicate that matches when a timestamp has been // reached. func ResolvedAtLeast(lo hlc.Timestamp) FeedEventPredicate { - return func(msg crosscluster.Event) bool { - if msg.Type() != crosscluster.CheckpointEvent { + return func(msg streamingccl.Event) bool { + if msg.Type() != streamingccl.CheckpointEvent { return false } return lo.LessEq(minResolvedTimestamp(msg.GetResolvedSpans())) @@ -87,7 +87,7 @@ func ResolvedAtLeast(lo hlc.Timestamp) FeedEventPredicate { type FeedSource interface { // Next returns the next event, and a flag indicating if there are more events // to consume. - Next() (crosscluster.Event, bool) + Next() (streamingccl.Event, bool) // Error returns the error encountered in the feed. If present, it // is set after Next() indicates there is no more event to consume. @@ -101,7 +101,7 @@ type FeedSource interface { type ReplicationFeed struct { t *testing.T f FeedSource - msg crosscluster.Event + msg streamingccl.Event } // MakeReplicationFeed creates a ReplicationFeed based on a given FeedSource. @@ -120,7 +120,7 @@ func (rf *ReplicationFeed) ObserveKey(ctx context.Context, key roachpb.Key) roac rf.consumeUntil(ctx, KeyMatches(key), func(err error) bool { return false }) - return rf.msg.GetKVs()[0].KeyValue + return rf.msg.GetKVs()[0] } // ObserveAnySpanConfigRecord consumes the feed until any span config record is observed. @@ -147,7 +147,7 @@ func (rf *ReplicationFeed) ObserveResolved(ctx context.Context, lo hlc.Timestamp // ObserveError consumes the feed until the feed is exhausted, and the final error should // match 'errPred'. func (rf *ReplicationFeed) ObserveError(ctx context.Context, errPred FeedErrorPredicate) { - rf.consumeUntil(ctx, func(message crosscluster.Event) bool { + rf.consumeUntil(ctx, func(message streamingccl.Event) bool { return false }, errPred) } diff --git a/pkg/ccl/crosscluster/replicationtestutils/span_config_helpers.go b/pkg/ccl/streamingccl/replicationtestutils/span_config_helpers.go similarity index 100% rename from pkg/ccl/crosscluster/replicationtestutils/span_config_helpers.go rename to pkg/ccl/streamingccl/replicationtestutils/span_config_helpers.go diff --git a/pkg/ccl/crosscluster/replicationtestutils/testutils.go b/pkg/ccl/streamingccl/replicationtestutils/testutils.go similarity index 95% rename from pkg/ccl/crosscluster/replicationtestutils/testutils.go rename to pkg/ccl/streamingccl/replicationtestutils/testutils.go index 88809be9b11a..9fd6d8902398 100644 --- a/pkg/ccl/crosscluster/replicationtestutils/testutils.go +++ b/pkg/ccl/streamingccl/replicationtestutils/testutils.go @@ -20,7 +20,7 @@ import ( apd "github.com/cockroachdb/apd/v3" "github.com/cockroachdb/cockroach/pkg/base" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationutils" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/replicationutils" "github.com/cockroachdb/cockroach/pkg/jobs" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" "github.com/cockroachdb/cockroach/pkg/kv/kvpb" @@ -47,7 +47,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/retry" "github.com/cockroachdb/cockroach/pkg/util/timeutil" "github.com/cockroachdb/errors" - "github.com/lib/pq" "github.com/stretchr/testify/require" ) @@ -71,7 +70,6 @@ type TenantStreamingClustersArgs struct { DestClusterSettings map[string]string DestClusterTestRegions []string RetentionTTLSeconds int - EnableReaderTenant bool TestingKnobs *sql.StreamingTestingKnobs TenantCapabilitiesTestingKnobs *tenantcapabilities.TestingKnobs @@ -246,7 +244,7 @@ func (c *TenantStreamingClusters) WaitUntilStartTimeReached(ingestionJobID jobsp func (c *TenantStreamingClusters) WaitForPostCutoverRetentionJob() { c.DestSysSQL.Exec(c.T, fmt.Sprintf(`ALTER TENANT '%s' SET REPLICATION EXPIRATION WINDOW ='10ms'`, c.Args.DestTenantName)) var retentionJobID jobspb.JobID - retentionJobQuery := fmt.Sprintf(`SELECT job_id FROM [SHOW JOBS] + retentionJobQuery := fmt.Sprintf(`SELECT job_id FROM [SHOW JOBS] WHERE description = 'History Retention for Physical Replication of %s' ORDER BY created DESC LIMIT 1`, c.Args.DestTenantName) c.DestSysSQL.QueryRow(c.T, retentionJobQuery).Scan(&retentionJobID) @@ -266,40 +264,28 @@ ORDER BY created DESC LIMIT 1`, c.Args.DestTenantName) // the latest replicated time. func (c *TenantStreamingClusters) Cutover( ctx context.Context, producerJobID, ingestionJobID int, cutoverTime time.Time, async bool, -) hlc.Timestamp { +) string { // Cut over the ingestion job and the job will stop eventually. var cutoverStr string - var cutoverOutput hlc.Timestamp - if cutoverTime.IsZero() { c.DestSysSQL.QueryRow(c.T, `ALTER TENANT $1 COMPLETE REPLICATION TO LATEST`, c.Args.DestTenantName).Scan(&cutoverStr) - cutoverOutput = DecimalTimeToHLC(c.T, cutoverStr) + cutoverOutput := DecimalTimeToHLC(c.T, cutoverStr) + protectedTimestamp := replicationutils.TestingGetPTSFromReplicationJob(c.T, ctx, c.SrcSysSQL, c.SrcSysServer, producerJobID) + require.LessOrEqual(c.T, protectedTimestamp.GoTime(), cutoverOutput.GoTime()) } else { c.DestSysSQL.QueryRow(c.T, `ALTER TENANT $1 COMPLETE REPLICATION TO SYSTEM TIME $2::string`, c.Args.DestTenantName, cutoverTime).Scan(&cutoverStr) - cutoverOutput = DecimalTimeToHLC(c.T, cutoverStr) + cutoverOutput := DecimalTimeToHLC(c.T, cutoverStr) require.Equal(c.T, cutoverTime, cutoverOutput.GoTime()) } - protectedTimestamp := replicationutils.TestingGetPTSFromReplicationJob(c.T, ctx, c.SrcSysSQL, c.SrcSysServer, jobspb.JobID(producerJobID)) - require.LessOrEqual(c.T, protectedTimestamp.GoTime(), cutoverOutput.GoTime()) - - // PTS should be less than or equal to retained time as a result of heartbeats. - var retainedTime pq.NullTime - c.DestSysSQL.QueryRow(c.T, - `SELECT retained_time FROM [SHOW TENANT $1 WITH REPLICATION STATUS]`, - c.Args.DestTenantName).Scan(&retainedTime) - if retainedTime.Valid { - require.LessOrEqual(c.T, protectedTimestamp.GoTime(), retainedTime.Time) - } - if !async { jobutils.WaitForJobToSucceed(c.T, c.DestSysSQL, jobspb.JobID(ingestionJobID)) c.WaitForPostCutoverRetentionJob() } - return cutoverOutput + return cutoverStr } // StartStreamReplication producer job ID and ingestion job ID. @@ -330,13 +316,6 @@ func (c *TenantStreamingClusters) BuildCreateTenantQuery(externalConnection stri if c.Args.RetentionTTLSeconds > 0 { streamReplStmt = fmt.Sprintf("%s WITH RETENTION = '%ds'", streamReplStmt, c.Args.RetentionTTLSeconds) } - if c.Args.EnableReaderTenant { - if c.Args.RetentionTTLSeconds == 0 { - streamReplStmt = fmt.Sprintf("%s WITH READ CAPABILITIES", streamReplStmt) - } else { - streamReplStmt = fmt.Sprintf("%s, READ CAPABILITIES", streamReplStmt) - } - } return streamReplStmt } diff --git a/pkg/ccl/crosscluster/replicationutils/BUILD.bazel b/pkg/ccl/streamingccl/replicationutils/BUILD.bazel similarity index 87% rename from pkg/ccl/crosscluster/replicationutils/BUILD.bazel rename to pkg/ccl/streamingccl/replicationutils/BUILD.bazel index fb873b6d3625..4491661b39d0 100644 --- a/pkg/ccl/crosscluster/replicationutils/BUILD.bazel +++ b/pkg/ccl/streamingccl/replicationutils/BUILD.bazel @@ -3,13 +3,12 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "replicationutils", srcs = ["utils.go"], - importpath = "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationutils", + importpath = "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/replicationutils", visibility = ["//visibility:public"], deps = [ "//pkg/jobs", "//pkg/jobs/jobspb", "//pkg/kv/kvpb", - "//pkg/kv/kvserver/protectedts", "//pkg/kv/kvserver/protectedts/ptpb", "//pkg/repstream/streampb", "//pkg/roachpb", @@ -17,7 +16,6 @@ go_library( "//pkg/sql/catalog/descs", "//pkg/sql/isql", "//pkg/storage", - "//pkg/testutils", "//pkg/testutils/fingerprintutils", "//pkg/testutils/jobutils", "//pkg/testutils/serverutils", @@ -25,7 +23,6 @@ go_library( "//pkg/util/ctxgroup", "//pkg/util/hlc", "//pkg/util/timeutil", - "//pkg/util/uuid", "@com_github_cockroachdb_errors//:errors", "@com_github_stretchr_testify//require", ], diff --git a/pkg/ccl/crosscluster/replicationutils/utils.go b/pkg/ccl/streamingccl/replicationutils/utils.go similarity index 80% rename from pkg/ccl/crosscluster/replicationutils/utils.go rename to pkg/ccl/streamingccl/replicationutils/utils.go index e9bc40dd228d..b75a3d332c14 100644 --- a/pkg/ccl/crosscluster/replicationutils/utils.go +++ b/pkg/ccl/streamingccl/replicationutils/utils.go @@ -13,12 +13,10 @@ import ( gosql "database/sql" "fmt" "testing" - "time" "github.com/cockroachdb/cockroach/pkg/jobs" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" "github.com/cockroachdb/cockroach/pkg/kv/kvpb" - "github.com/cockroachdb/cockroach/pkg/kv/kvserver/protectedts" "github.com/cockroachdb/cockroach/pkg/kv/kvserver/protectedts/ptpb" "github.com/cockroachdb/cockroach/pkg/repstream/streampb" "github.com/cockroachdb/cockroach/pkg/roachpb" @@ -26,7 +24,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/sql/catalog/descs" "github.com/cockroachdb/cockroach/pkg/sql/isql" "github.com/cockroachdb/cockroach/pkg/storage" - "github.com/cockroachdb/cockroach/pkg/testutils" "github.com/cockroachdb/cockroach/pkg/testutils/fingerprintutils" "github.com/cockroachdb/cockroach/pkg/testutils/jobutils" "github.com/cockroachdb/cockroach/pkg/testutils/serverutils" @@ -34,7 +31,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/ctxgroup" "github.com/cockroachdb/cockroach/pkg/util/hlc" "github.com/cockroachdb/cockroach/pkg/util/timeutil" - "github.com/cockroachdb/cockroach/pkg/util/uuid" "github.com/cockroachdb/errors" "github.com/stretchr/testify/require" ) @@ -243,24 +239,6 @@ func InvestigateFingerprints( return nil } -func ResolveHeartbeatTime( - replicatedTime, replicationStartTime, cutoverTime hlc.Timestamp, replicationTTLWindow int32, -) hlc.Timestamp { - newProtectAbove := replicatedTime.Add(-int64(replicationTTLWindow)*time.Second.Nanoseconds(), 0) - - if newProtectAbove.Less(replicationStartTime) { - newProtectAbove = replicationStartTime - } - - // If we have a CutoverTime set, keep the protected - // timestamp at or below the cutover time. - if !cutoverTime.IsEmpty() && cutoverTime.Less(newProtectAbove) { - newProtectAbove = cutoverTime - } - - return newProtectAbove -} - func fingerprintClustersByTable( ctx context.Context, srcConn, dstConn *gosql.DB, @@ -311,9 +289,11 @@ func TestingGetPTSFromReplicationJob( ctx context.Context, sqlRunner *sqlutils.SQLRunner, srv serverutils.ApplicationLayerInterface, - producerJobID jobspb.JobID, + producerJobID int, ) hlc.Timestamp { - ptsRecordID := getPTSRecordIDFromProducerJob(t, sqlRunner, producerJobID) + payload := jobutils.GetJobPayload(t, sqlRunner, jobspb.JobID(producerJobID)) + details := payload.GetStreamReplication() + ptsRecordID := details.ProtectedTimestampRecordID ptsProvider := srv.ExecutorConfig().(sql.ExecutorConfig).ProtectedTimestampProvider var ptsRecord *ptpb.Record @@ -326,58 +306,3 @@ func TestingGetPTSFromReplicationJob( return ptsRecord.Timestamp } - -func WaitForPTSProtection( - t *testing.T, - ctx context.Context, - sqlRunner *sqlutils.SQLRunner, - srv serverutils.ApplicationLayerInterface, - producerJobID jobspb.JobID, - minTime hlc.Timestamp, -) { - testutils.SucceedsSoon(t, func() error { - protected := TestingGetPTSFromReplicationJob(t, ctx, sqlRunner, srv, producerJobID) - if protected.Less(minTime) { - return errors.Newf("pts %s is less than min time %s", protected, minTime) - } - return nil - }) -} - -func WaitForPTSProtectionToNotExist( - t *testing.T, - ctx context.Context, - sqlRunner *sqlutils.SQLRunner, - srv serverutils.ApplicationLayerInterface, - producerJobID jobspb.JobID, -) { - ptsRecordID := getPTSRecordIDFromProducerJob(t, sqlRunner, producerJobID) - ptsProvider := srv.ExecutorConfig().(sql.ExecutorConfig).ProtectedTimestampProvider - testutils.SucceedsSoon(t, func() error { - err := srv.InternalDB().(descs.DB).Txn(ctx, func(ctx context.Context, txn isql.Txn) error { - _, err := ptsProvider.WithTxn(txn).GetRecord(ctx, ptsRecordID) - return err - }) - if errors.Is(err, protectedts.ErrNotExists) { - return nil - } - if err == nil { - return errors.New("PTS record still exists") - } - return err - }) -} - -func getPTSRecordIDFromProducerJob( - t *testing.T, sqlRunner *sqlutils.SQLRunner, producerJobID jobspb.JobID, -) uuid.UUID { - payload := jobutils.GetJobPayload(t, sqlRunner, producerJobID) - return payload.GetStreamReplication().ProtectedTimestampRecordID -} - -func GetProducerJobIDFromLDRJob( - t *testing.T, sqlRunner *sqlutils.SQLRunner, ldrJobID jobspb.JobID, -) jobspb.JobID { - payload := jobutils.GetJobPayload(t, sqlRunner, ldrJobID) - return jobspb.JobID(payload.GetLogicalReplicationDetails().StreamID) -} diff --git a/pkg/ccl/crosscluster/replicationutils/utils_test.go b/pkg/ccl/streamingccl/replicationutils/utils_test.go similarity index 100% rename from pkg/ccl/crosscluster/replicationutils/utils_test.go rename to pkg/ccl/streamingccl/replicationutils/utils_test.go diff --git a/pkg/ccl/crosscluster/settings.go b/pkg/ccl/streamingccl/settings.go similarity index 86% rename from pkg/ccl/crosscluster/settings.go rename to pkg/ccl/streamingccl/settings.go index eab261c22fb7..c42c049c066f 100644 --- a/pkg/ccl/crosscluster/settings.go +++ b/pkg/ccl/streamingccl/settings.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package crosscluster +package streamingccl import ( "time" @@ -17,7 +17,7 @@ import ( // StreamReplicationStreamLivenessTrackFrequency controls frequency to check // the liveness of a streaming replication producer job. var StreamReplicationStreamLivenessTrackFrequency = settings.RegisterDurationSetting( - settings.ApplicationLevel, + settings.SystemOnly, "stream_replication.stream_liveness_track_frequency", "controls how frequent we check for the liveness of a replication stream producer job", time.Minute, @@ -27,7 +27,7 @@ var StreamReplicationStreamLivenessTrackFrequency = settings.RegisterDurationSet // StreamReplicationMinCheckpointFrequency controls the minimum frequency the stream replication // source cluster sends checkpoints to destination cluster. var StreamReplicationMinCheckpointFrequency = settings.RegisterDurationSetting( - settings.ApplicationLevel, + settings.SystemOnly, "stream_replication.min_checkpoint_frequency", "controls minimum frequency the stream replication source cluster sends checkpoints "+ "to the destination cluster", @@ -117,20 +117,3 @@ var ReplicateSpanConfigsEnabled = settings.RegisterBoolSetting( "destination system tenant", true, ) - -var LogicalReplanThreshold = settings.RegisterFloatSetting( - settings.ApplicationLevel, - "logical_replication.replan_flow_threshold", - "fraction of nodes in the producer or consumer job that would need to change to refresh the"+ - " physical execution plan. If set to 0, the physical plan will not automatically refresh.", - 0.1, - settings.NonNegativeFloatWithMaximum(1), -) - -var LogicalReplanFrequency = settings.RegisterDurationSetting( - settings.ApplicationLevel, - "logical_replication.replan_flow_frequency", - "frequency at which the consumer job checks to refresh its physical execution plan", - 10*time.Minute, - settings.PositiveDuration, -) diff --git a/pkg/ccl/crosscluster/streamclient/BUILD.bazel b/pkg/ccl/streamingccl/streamclient/BUILD.bazel similarity index 77% rename from pkg/ccl/crosscluster/streamclient/BUILD.bazel rename to pkg/ccl/streamingccl/streamclient/BUILD.bazel index c1b29423b012..2d7ae0938e80 100644 --- a/pkg/ccl/crosscluster/streamclient/BUILD.bazel +++ b/pkg/ccl/streamingccl/streamclient/BUILD.bazel @@ -5,40 +5,46 @@ go_library( srcs = [ "client.go", "client_helpers.go", - "heartbeat_sender.go", - "mock_stream_client.go", "partitioned_stream_client.go", "pgconn.go", - "random_client.go", + "random_stream_client.go", "span_config_stream_client.go", ], - importpath = "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient", + importpath = "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamclient", visibility = ["//visibility:public"], deps = [ - "//pkg/ccl/crosscluster", + "//pkg/ccl/streamingccl", "//pkg/cloud/externalconn", "//pkg/jobs/jobspb", + "//pkg/keys", "//pkg/kv/kvpb", "//pkg/repstream/streampb", "//pkg/roachpb", + "//pkg/security/username", + "//pkg/sql", + "//pkg/sql/catalog", + "//pkg/sql/catalog/catalogkeys", + "//pkg/sql/catalog/catpb", "//pkg/sql/catalog/descpb", - "//pkg/sql/catalog/descs", + "//pkg/sql/catalog/tabledesc", "//pkg/sql/isql", "//pkg/sql/pgwire/pgcode", - "//pkg/util/ctxgroup", + "//pkg/sql/rowenc", + "//pkg/sql/rowenc/valueside", + "//pkg/sql/sem/tree", + "//pkg/util/bufalloc", "//pkg/util/hlc", "//pkg/util/log", "//pkg/util/protoutil", + "//pkg/util/randutil", "//pkg/util/span", "//pkg/util/syncutil", "//pkg/util/timeutil", "//pkg/util/tracing", "@com_github_cockroachdb_apd_v3//:apd", "@com_github_cockroachdb_errors//:errors", - "@com_github_golang_snappy//:snappy", "@com_github_jackc_pgconn//:pgconn", "@com_github_jackc_pgx_v4//:pgx", - "@com_github_pkg_errors//:errors", ], ) @@ -47,7 +53,6 @@ go_test( size = "medium", srcs = [ "client_test.go", - "heartbeat_sender_test.go", "main_test.go", "partitioned_stream_client_test.go", "span_config_stream_client_test.go", @@ -56,10 +61,10 @@ go_test( deps = [ "//pkg/base", "//pkg/ccl", - "//pkg/ccl/crosscluster", - "//pkg/ccl/crosscluster/replicationtestutils", "//pkg/ccl/kvccl/kvtenantccl", "//pkg/ccl/storageccl", + "//pkg/ccl/streamingccl", + "//pkg/ccl/streamingccl/replicationtestutils", "//pkg/jobs", "//pkg/jobs/jobspb", "//pkg/keys", @@ -69,8 +74,8 @@ go_test( "//pkg/security/securitytest", "//pkg/security/username", "//pkg/server", - "//pkg/sql/catalog/descs", "//pkg/sql/catalog/desctestutils", + "//pkg/sql/isql", "//pkg/sql/pgwire/pgcode", "//pkg/testutils", "//pkg/testutils/jobutils", diff --git a/pkg/ccl/crosscluster/streamclient/client.go b/pkg/ccl/streamingccl/streamclient/client.go similarity index 79% rename from pkg/ccl/crosscluster/streamclient/client.go rename to pkg/ccl/streamingccl/streamclient/client.go index 5b09fb5d6401..2c5efa2a06f8 100644 --- a/pkg/ccl/crosscluster/streamclient/client.go +++ b/pkg/ccl/streamingccl/streamclient/client.go @@ -13,11 +13,10 @@ import ( "fmt" "net/url" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl" "github.com/cockroachdb/cockroach/pkg/cloud/externalconn" "github.com/cockroachdb/cockroach/pkg/repstream/streampb" "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/descs" "github.com/cockroachdb/cockroach/pkg/sql/isql" "github.com/cockroachdb/cockroach/pkg/util/hlc" "github.com/cockroachdb/cockroach/pkg/util/log" @@ -60,10 +59,10 @@ type Dialer interface { type Client interface { Dialer - // CreateForTenant initializes a stream with the source, potentially reserving any + // Create initializes a stream with the source, potentially reserving any // required resources, such as protected timestamps, and returns an ID which // can be used to interact with this stream in the future. - CreateForTenant(ctx context.Context, tenant roachpb.TenantName, req streampb.ReplicationProducerRequest) (streampb.ReplicationProducerSpec, error) + Create(ctx context.Context, tenant roachpb.TenantName, req streampb.ReplicationProducerRequest) (streampb.ReplicationProducerSpec, error) // Destroy informs the source of the stream that it may terminate production // and release resources such as protected timestamps. @@ -79,23 +78,16 @@ type Client interface { consumed hlc.Timestamp, ) (streampb.StreamReplicationStatus, error) - // PlanPhysicalReplication returns a Topology for this stream. + // Plan returns a Topology for this stream. // TODO(dt): separate target argument from address argument. - PlanPhysicalReplication(ctx context.Context, streamID streampb.StreamID) (Topology, error) + Plan(ctx context.Context, streamID streampb.StreamID) (Topology, error) // Subscribe opens and returns a subscription for the specified partition from // the specified remote address. This is used by each consumer processor to // open its subscription to its partition of a larger stream. // TODO(dt): ts -> checkpointToken. - Subscribe( - ctx context.Context, - streamID streampb.StreamID, - consumerNode, consumerProc int32, - spec SubscriptionToken, - initialScanTime hlc.Timestamp, - previousReplicatedTimes span.Frontier, - opts ...SubscribeOption, - ) (Subscription, error) + Subscribe(ctx context.Context, streamID streampb.StreamID, procID int32, spec SubscriptionToken, + initialScanTime hlc.Timestamp, previousReplicatedTimes span.Frontier) (Subscription, error) // Complete completes a replication stream consumption. Complete(ctx context.Context, streamID streampb.StreamID, successfulIngestion bool) error @@ -112,45 +104,6 @@ type Client interface { PriorReplicationDetails( ctx context.Context, tenant roachpb.TenantName, ) (id string, replicatedFrom string, activated hlc.Timestamp, _ error) - - PlanLogicalReplication(ctx context.Context, req streampb.LogicalReplicationPlanRequest) (LogicalReplicationPlan, error) - CreateForTables(ctx context.Context, req *streampb.ReplicationProducerRequest) (*streampb.ReplicationProducerSpec, error) -} - -type subscribeConfig struct { - // withFiltering controls whether the producer-side rangefeeds - // should be started with the WithFiltering option which - // elides rangefeed events. - withFiltering bool - - // withDiff controls wiether the producer-side rangefeeds - // should be started with the WithDiff option - // - // NB: Callers should note that initial scan results will not - // contain a diff. - withDiff bool -} - -type SubscribeOption func(*subscribeConfig) - -// WithFiltering controls whether the producer side rangefeed is -// started with the WithFiltering option, eliding rows where -// OmitInRangefeed was set at write-time. -func WithFiltering(filteringEnabled bool) SubscribeOption { - return func(cfg *subscribeConfig) { - cfg.withFiltering = filteringEnabled - } -} - -// WithDiff controls whether the producer-side rangefeeds -// should be started with the WithDiff option -// -// NB: Callers should note that initial scan results will not -// contain a diff. -func WithDiff(enableDiff bool) SubscribeOption { - return func(cfg *subscribeConfig) { - cfg.withDiff = enableDiff - } } // Topology is a configuration of stream partitions. These are particular to a @@ -179,7 +132,7 @@ type PartitionInfo struct { ID string SubscriptionToken SrcInstanceID int - SrcAddr crosscluster.PartitionAddress + SrcAddr streamingccl.PartitionAddress SrcLocality roachpb.Locality Spans []roachpb.Span } @@ -200,7 +153,7 @@ type Subscription interface { // Events is a channel receiving streaming events. // This channel is closed when no additional values will be sent to this channel. - Events() <-chan crosscluster.Event + Events() <-chan streamingccl.Event // Err is set once when Events channel closed -- must not be called before // the channel closes. @@ -209,7 +162,7 @@ type Subscription interface { // NewStreamClient creates a new stream client based on the stream address. func NewStreamClient( - ctx context.Context, streamAddress crosscluster.StreamAddress, db descs.DB, opts ...Option, + ctx context.Context, streamAddress streamingccl.StreamAddress, db isql.DB, opts ...Option, ) (Client, error) { var streamClient Client streamURL, err := streamAddress.URL() @@ -232,7 +185,7 @@ func NewStreamClient( } return NewStreamClient(ctx, addr, db, opts...) case RandomGenScheme: - streamClient, err = RandomGenClientBuilder(streamURL, db) + streamClient, err = newRandomStreamClient(streamURL) if err != nil { return streamClient, err } @@ -245,7 +198,7 @@ func NewStreamClient( func lookupExternalConnection( ctx context.Context, name string, localDB isql.DB, -) (crosscluster.StreamAddress, error) { +) (streamingccl.StreamAddress, error) { // Retrieve the external connection object from the system table. var ec externalconn.ExternalConnection if err := localDB.Txn(ctx, func(ctx context.Context, txn isql.Txn) error { @@ -255,16 +208,16 @@ func lookupExternalConnection( }); err != nil { return "", errors.Wrap(err, "failed to load external connection object") } - return crosscluster.StreamAddress(ec.ConnectionProto().UnredactedURI()), nil + return streamingccl.StreamAddress(ec.ConnectionProto().UnredactedURI()), nil } // GetFirstActiveClient iterates through each provided stream address // and returns the first client it's able to successfully dial. func GetFirstActiveClient( - ctx context.Context, streamAddresses []string, db descs.DB, opts ...Option, + ctx context.Context, streamAddresses []string, db isql.DB, opts ...Option, ) (Client, error) { - newClient := func(ctx context.Context, address crosscluster.StreamAddress) (Dialer, error) { + newClient := func(ctx context.Context, address streamingccl.StreamAddress) (Dialer, error) { return NewStreamClient(ctx, address, db, opts...) } dialer, err := getFirstDialer(ctx, streamAddresses, newClient) @@ -274,7 +227,7 @@ func GetFirstActiveClient( return dialer.(Client), err } -type dialerFactory func(ctx context.Context, address crosscluster.StreamAddress) (Dialer, error) +type dialerFactory func(ctx context.Context, address streamingccl.StreamAddress) (Dialer, error) func getFirstDialer( ctx context.Context, streamAddresses []string, getNewDialer dialerFactory, @@ -284,7 +237,7 @@ func getFirstDialer( } var combinedError error = nil for _, address := range streamAddresses { - streamAddress := crosscluster.StreamAddress(address) + streamAddress := streamingccl.StreamAddress(address) clientCandidate, err := getNewDialer(ctx, streamAddress) if err == nil { err = clientCandidate.Dial(ctx) @@ -304,9 +257,7 @@ func getFirstDialer( } type options struct { - streamID streampb.StreamID - compressed bool - logical bool + streamID streampb.StreamID } func (o *options) appName() string { @@ -329,19 +280,6 @@ func WithStreamID(id streampb.StreamID) Option { } } -// WithCompression controls requesting a compressed stream from the producer. -func WithCompression(enabled bool) Option { - return func(o *options) { - o.compressed = enabled - } -} - -func WithLogical() Option { - return func(o *options) { - o.logical = true - } -} - func processOptions(opts []Option) *options { ret := &options{} for _, o := range opts { diff --git a/pkg/ccl/crosscluster/streamclient/client_helpers.go b/pkg/ccl/streamingccl/streamclient/client_helpers.go similarity index 53% rename from pkg/ccl/crosscluster/streamclient/client_helpers.go rename to pkg/ccl/streamingccl/streamclient/client_helpers.go index 925cf0cefca5..e2665000f054 100644 --- a/pkg/ccl/crosscluster/streamclient/client_helpers.go +++ b/pkg/ccl/streamingccl/streamclient/client_helpers.go @@ -11,24 +11,18 @@ package streamclient import ( "context" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl" "github.com/cockroachdb/cockroach/pkg/repstream/streampb" "github.com/cockroachdb/cockroach/pkg/util/protoutil" - "github.com/golang/snappy" "github.com/jackc/pgx/v4" - "github.com/pkg/errors" ) func subscribeInternal( - ctx context.Context, - feed pgx.Rows, - eventCh chan crosscluster.Event, - closeCh chan struct{}, - compressed bool, + ctx context.Context, feed pgx.Rows, eventCh chan streamingccl.Event, closeCh chan struct{}, ) error { // Get the next event from the cursor. var bufferedEvent *streampb.StreamEvent - getNextEvent := func() (crosscluster.Event, error) { + getNextEvent := func() (streamingccl.Event, error) { if e := parseEvent(bufferedEvent); e != nil { return e, nil } @@ -44,28 +38,9 @@ func subscribeInternal( return nil, err } var streamEvent streampb.StreamEvent - var decompressionErr error - - if compressed { - decompressed, err := snappy.Decode(nil, data) - if err != nil { - // Maybe it just wasn't compressed by an older source node; proceed to - // try to decode it as-is but then if that fails, return this error. - decompressionErr = err - } else { - data = decompressed - } - } - if err := protoutil.Unmarshal(data, &streamEvent); err != nil { - if decompressionErr != nil { - return nil, errors.Wrap(err, "decompression failed") - } return nil, err } - if streamEvent.Batch != nil && isEmptyBatch(streamEvent.Batch) { - return nil, errors.New("unexpected empty batch in stream event (source cluster version may not be supported)") - } bufferedEvent = &streamEvent return parseEvent(bufferedEvent), nil } @@ -88,52 +63,44 @@ func subscribeInternal( } // parseEvent parses next event from the batch of events inside streampb.StreamEvent. -func parseEvent(streamEvent *streampb.StreamEvent) crosscluster.Event { +func parseEvent(streamEvent *streampb.StreamEvent) streamingccl.Event { if streamEvent == nil { return nil } if streamEvent.Checkpoint != nil { - event := crosscluster.MakeCheckpointEvent(streamEvent.Checkpoint.ResolvedSpans) + event := streamingccl.MakeCheckpointEvent(streamEvent.Checkpoint.ResolvedSpans) streamEvent.Checkpoint = nil return event } - var event crosscluster.Event + var event streamingccl.Event if streamEvent.Batch != nil { switch { case len(streamEvent.Batch.Ssts) > 0: - event = crosscluster.MakeSSTableEvent(streamEvent.Batch.Ssts[0]) + event = streamingccl.MakeSSTableEvent(streamEvent.Batch.Ssts[0]) streamEvent.Batch.Ssts = streamEvent.Batch.Ssts[1:] - case len(streamEvent.Batch.DeprecatedKeyValues) > 0: - event = crosscluster.MakeKVEventFromKVs(streamEvent.Batch.DeprecatedKeyValues) - streamEvent.Batch.DeprecatedKeyValues = nil - case len(streamEvent.Batch.KVs) > 0: - event = crosscluster.MakeKVEvent(streamEvent.Batch.KVs) - streamEvent.Batch.KVs = nil + case len(streamEvent.Batch.KeyValues) > 0: + event = streamingccl.MakeKVEvent(streamEvent.Batch.KeyValues) + streamEvent.Batch.KeyValues = nil case len(streamEvent.Batch.DelRanges) > 0: - event = crosscluster.MakeDeleteRangeEvent(streamEvent.Batch.DelRanges[0]) + event = streamingccl.MakeDeleteRangeEvent(streamEvent.Batch.DelRanges[0]) streamEvent.Batch.DelRanges = streamEvent.Batch.DelRanges[1:] case len(streamEvent.Batch.SpanConfigs) > 0: - event = crosscluster.MakeSpanConfigEvent(streamEvent.Batch.SpanConfigs[0]) + event = streamingccl.MakeSpanConfigEvent(streamEvent.Batch.SpanConfigs[0]) streamEvent.Batch.SpanConfigs = streamEvent.Batch.SpanConfigs[1:] case len(streamEvent.Batch.SplitPoints) > 0: - event = crosscluster.MakeSplitEvent(streamEvent.Batch.SplitPoints[0]) + event = streamingccl.MakeSplitEvent(streamEvent.Batch.SplitPoints[0]) streamEvent.Batch.SplitPoints = streamEvent.Batch.SplitPoints[1:] } - if isEmptyBatch(streamEvent.Batch) { + if len(streamEvent.Batch.KeyValues) == 0 && + len(streamEvent.Batch.Ssts) == 0 && + len(streamEvent.Batch.DelRanges) == 0 && + len(streamEvent.Batch.SpanConfigs) == 0 && + len(streamEvent.Batch.SplitPoints) == 0 { streamEvent.Batch = nil } } return event } - -func isEmptyBatch(b *streampb.StreamEvent_Batch) bool { - return len(b.KVs) == 0 && - len(b.DeprecatedKeyValues) == 0 && - len(b.Ssts) == 0 && - len(b.DelRanges) == 0 && - len(b.SpanConfigs) == 0 && - len(b.SplitPoints) == 0 -} diff --git a/pkg/ccl/crosscluster/streamclient/client_test.go b/pkg/ccl/streamingccl/streamclient/client_test.go similarity index 71% rename from pkg/ccl/crosscluster/streamclient/client_test.go rename to pkg/ccl/streamingccl/streamclient/client_test.go index 6915ed52702a..f2d30168a14f 100644 --- a/pkg/ccl/crosscluster/streamclient/client_test.go +++ b/pkg/ccl/streamingccl/streamclient/client_test.go @@ -16,20 +16,18 @@ import ( "time" "github.com/cockroachdb/cockroach/pkg/base" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" - "github.com/cockroachdb/cockroach/pkg/keys" "github.com/cockroachdb/cockroach/pkg/repstream/streampb" "github.com/cockroachdb/cockroach/pkg/roachpb" "github.com/cockroachdb/cockroach/pkg/security/username" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/descs" + "github.com/cockroachdb/cockroach/pkg/sql/isql" "github.com/cockroachdb/cockroach/pkg/testutils/serverutils" "github.com/cockroachdb/cockroach/pkg/testutils/sqlutils" "github.com/cockroachdb/cockroach/pkg/util/ctxgroup" "github.com/cockroachdb/cockroach/pkg/util/hlc" "github.com/cockroachdb/cockroach/pkg/util/leaktest" "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/cockroach/pkg/util/protoutil" "github.com/cockroachdb/cockroach/pkg/util/span" "github.com/cockroachdb/cockroach/pkg/util/timeutil" "github.com/cockroachdb/errors" @@ -45,20 +43,8 @@ func (sc testStreamClient) Dial(_ context.Context) error { return nil } -func (testStreamClient) PlanLogicalReplication( - ctx context.Context, req streampb.LogicalReplicationPlanRequest, -) (LogicalReplicationPlan, error) { - return LogicalReplicationPlan{}, errors.AssertionFailedf("unimplemented") -} - -func (testStreamClient) CreateForTables( - ctx context.Context, req *streampb.ReplicationProducerRequest, -) (*streampb.ReplicationProducerSpec, error) { - return nil, errors.AssertionFailedf("unimplemented") -} - -// CreateForTenant implements the Client interface. -func (sc testStreamClient) CreateForTenant( +// Create implements the Client interface. +func (sc testStreamClient) Create( _ context.Context, _ roachpb.TenantName, _ streampb.ReplicationProducerRequest, ) (streampb.ReplicationProducerSpec, error) { return streampb.ReplicationProducerSpec{ @@ -67,10 +53,8 @@ func (sc testStreamClient) CreateForTenant( }, nil } -// PlanForPhysicalReplication implements the Client interface. -func (sc testStreamClient) PlanPhysicalReplication( - _ context.Context, _ streampb.StreamID, -) (Topology, error) { +// Plan implements the Client interface. +func (sc testStreamClient) Plan(_ context.Context, _ streampb.StreamID) (Topology, error) { return Topology{ Partitions: []PartitionInfo{ { @@ -99,11 +83,10 @@ func (sc testStreamClient) Close(_ context.Context) error { func (sc testStreamClient) Subscribe( _ context.Context, _ streampb.StreamID, - _, _ int32, + _ int32, _ SubscriptionToken, _ hlc.Timestamp, _ span.Frontier, - _ ...SubscribeOption, ) (Subscription, error) { sampleKV := roachpb.KeyValue{ Key: []byte("key_1"), @@ -118,9 +101,9 @@ func (sc testStreamClient) Subscribe( Timestamp: hlc.Timestamp{WallTime: 100}, } - events := make(chan crosscluster.Event, 2) - events <- crosscluster.MakeKVEventFromKVs([]roachpb.KeyValue{sampleKV}) - events <- crosscluster.MakeCheckpointEvent([]jobspb.ResolvedSpan{sampleResolvedSpan}) + events := make(chan streamingccl.Event, 2) + events <- streamingccl.MakeKVEvent([]roachpb.KeyValue{sampleKV}) + events <- streamingccl.MakeCheckpointEvent([]jobspb.ResolvedSpan{sampleResolvedSpan}) close(events) return &testStreamSubscription{ @@ -141,7 +124,7 @@ func (sc testStreamClient) PriorReplicationDetails( } type testStreamSubscription struct { - eventCh chan crosscluster.Event + eventCh chan streamingccl.Event } // Subscribe implements the Subscription interface. @@ -150,7 +133,7 @@ func (t testStreamSubscription) Subscribe(_ context.Context) error { } // Events implements the Subscription interface. -func (t testStreamSubscription) Events() <-chan crosscluster.Event { +func (t testStreamSubscription) Events() <-chan streamingccl.Event { return t.eventCh } @@ -191,10 +174,10 @@ func TestExternalConnectionClient(t *testing.T) { sql.Exec(t, fmt.Sprintf(`CREATE EXTERNAL CONNECTION "%s" AS "%s"`, externalConnection, pgURL.String())) nonExistentConnection := "i-dont-exist" - address := crosscluster.StreamAddress(fmt.Sprintf("external://%s", externalConnection)) - dontExistAddress := crosscluster.StreamAddress(fmt.Sprintf("external://%s", nonExistentConnection)) + address := streamingccl.StreamAddress(fmt.Sprintf("external://%s", externalConnection)) + dontExistAddress := streamingccl.StreamAddress(fmt.Sprintf("external://%s", nonExistentConnection)) - isqlDB := srv.InternalDB().(descs.DB) + isqlDB := srv.InternalDB().(isql.DB) client, err := NewStreamClient(ctx, address, isqlDB) require.NoError(t, err) require.NoError(t, client.Dial(ctx)) @@ -212,38 +195,54 @@ func TestExternalConnectionClient(t *testing.T) { require.Contains(t, err.Error(), "failed to load external connection object") } -func TestPlannedPartitionBackwardCompatibility(t *testing.T) { +func TestGetFirstActiveClient(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) - t.Run("old source, new client", func(t *testing.T) { - partitionSpec := streampb.StreamPartitionSpec{ - Spans: []roachpb.Span{keys.MakeTenantSpan(serverutils.TestTenantID())}, - Config: streampb.StreamPartitionSpec_ExecutionConfig{ - MinCheckpointFrequency: 10 * time.Millisecond, - }, - } - encodedSpec, err := protoutil.Marshal(&partitionSpec) - require.NoError(t, err) + client := GetRandomStreamClientSingletonForTesting() + defer func() { + require.NoError(t, client.Close(context.Background())) + }() - var sourcePartition = streampb.SourcePartition{} - err = protoutil.Unmarshal(encodedSpec, &sourcePartition) - require.NoError(t, err) - require.Equal(t, partitionSpec.Spans, sourcePartition.Spans) - }) + streamAddresses := []string{ + "randomgen://test0/", + "", + "randomgen://test2/", + "invalidScheme://test3", + "randomgen://test4/", + "randomgen://test5/", + "randomgen://test6/", + } + addressDialCount := map[string]int{} + for _, addr := range streamAddresses { + addressDialCount[addr] = 0 + } - t.Run("new source, old client", func(t *testing.T) { - var sourcePartition = streampb.SourcePartition{ - Spans: []roachpb.Span{keys.MakeTenantSpan(serverutils.TestTenantID())}, + // Track dials and error for all but test3 and test4 + client.RegisterDialInterception(func(streamURL *url.URL) error { + addr := streamURL.String() + addressDialCount[addr]++ + if addr != streamAddresses[3] && addr != streamAddresses[4] { + return errors.Errorf("injected dial error") } - encodedSpec, err := protoutil.Marshal(&sourcePartition) - require.NoError(t, err) - - partitionSpec := streampb.StreamPartitionSpec{} - err = protoutil.Unmarshal(encodedSpec, &partitionSpec) - require.NoError(t, err) - require.Equal(t, sourcePartition.Spans, partitionSpec.Spans) + return nil }) + + activeClient, err := GetFirstActiveClient(context.Background(), streamAddresses, nil) + require.NoError(t, err) + + // Should've dialed the valid schemes up to the 5th one where it should've + // succeeded + require.Equal(t, 1, addressDialCount[streamAddresses[0]]) + require.Equal(t, 0, addressDialCount[streamAddresses[1]]) + require.Equal(t, 1, addressDialCount[streamAddresses[2]]) + require.Equal(t, 0, addressDialCount[streamAddresses[3]]) + require.Equal(t, 1, addressDialCount[streamAddresses[4]]) + require.Equal(t, 0, addressDialCount[streamAddresses[5]]) + require.Equal(t, 0, addressDialCount[streamAddresses[6]]) + + // The 5th should've succeded as it was a valid scheme and succeeded Dial + require.Equal(t, activeClient.(*RandomStreamClient).streamURL.String(), streamAddresses[4]) } // ExampleClientUsage serves as documentation to indicate how a stream @@ -255,7 +254,7 @@ func ExampleClient() { _ = client.Close(ctx) }() - prs, err := client.CreateForTenant(ctx, "system", streampb.ReplicationProducerRequest{}) + prs, err := client.Create(ctx, "system", streampb.ReplicationProducerRequest{}) if err != nil { panic(err) } @@ -286,14 +285,14 @@ func ExampleClient() { grp.GoCtx(func(ctx context.Context) error { defer close(done) - topology, err := client.PlanPhysicalReplication(ctx, id) + topology, err := client.Plan(ctx, id) if err != nil { panic(err) } for _, partition := range topology.Partitions { // TODO(dt): use Subscribe helper and partition.SrcAddr - sub, err := client.Subscribe(ctx, id, 0, 0, partition.SubscriptionToken, hlc.Timestamp{}, ingested) + sub, err := client.Subscribe(ctx, id, 0, partition.SubscriptionToken, hlc.Timestamp{}, ingested) if err != nil { panic(err) } @@ -303,18 +302,18 @@ func ExampleClient() { // cutting over to the new cluster to move to the next stage. for event := range sub.Events() { switch event.Type() { - case crosscluster.KVEvent: + case streamingccl.KVEvent: kvs := event.GetKVs() for _, kv := range kvs { - fmt.Printf("kv: %s->%s@%d\n", kv.KeyValue.Key.String(), string(kv.KeyValue.Value.RawBytes), kv.KeyValue.Value.Timestamp.WallTime) + fmt.Printf("kv: %s->%s@%d\n", kv.Key.String(), string(kv.Value.RawBytes), kv.Value.Timestamp.WallTime) } - case crosscluster.SSTableEvent: + case streamingccl.SSTableEvent: sst := event.GetSSTable() fmt.Printf("sst: %s->%s@%d\n", sst.Span.String(), string(sst.Data), sst.WriteTS.WallTime) - case crosscluster.DeleteRangeEvent: + case streamingccl.DeleteRangeEvent: delRange := event.GetDeleteRange() fmt.Printf("delRange: %s@%d\n", delRange.Span.String(), delRange.Timestamp.WallTime) - case crosscluster.CheckpointEvent: + case streamingccl.CheckpointEvent: minTS := hlc.MaxTimestamp for _, rs := range event.GetResolvedSpans() { if rs.Timestamp.Less(minTS) { diff --git a/pkg/ccl/crosscluster/streamclient/main_test.go b/pkg/ccl/streamingccl/streamclient/main_test.go similarity index 100% rename from pkg/ccl/crosscluster/streamclient/main_test.go rename to pkg/ccl/streamingccl/streamclient/main_test.go diff --git a/pkg/ccl/crosscluster/streamclient/partitioned_stream_client.go b/pkg/ccl/streamingccl/streamclient/partitioned_stream_client.go similarity index 68% rename from pkg/ccl/crosscluster/streamclient/partitioned_stream_client.go rename to pkg/ccl/streamingccl/streamclient/partitioned_stream_client.go index 965956200b97..7f5e667a9be8 100644 --- a/pkg/ccl/crosscluster/streamclient/partitioned_stream_client.go +++ b/pkg/ccl/streamingccl/streamclient/partitioned_stream_client.go @@ -11,16 +11,14 @@ package streamclient import ( "context" gosql "database/sql" - "fmt" "net" "net/url" "github.com/cockroachdb/apd/v3" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" "github.com/cockroachdb/cockroach/pkg/repstream/streampb" "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/descpb" "github.com/cockroachdb/cockroach/pkg/util/hlc" "github.com/cockroachdb/cockroach/pkg/util/log" "github.com/cockroachdb/cockroach/pkg/util/protoutil" @@ -34,8 +32,6 @@ import ( type partitionedStreamClient struct { urlPlaceholder url.URL pgxConfig *pgx.ConnConfig - compressed bool - logical bool mu struct { syncutil.Mutex @@ -48,17 +44,19 @@ type partitionedStreamClient struct { func NewPartitionedStreamClient( ctx context.Context, remote *url.URL, opts ...Option, -) (*partitionedStreamClient, error) { +) (Client, error) { options := processOptions(opts) - conn, config, err := newPGConnForClient(ctx, remote, options) + config, err := setupPGXConfig(remote, options) + if err != nil { + return nil, err + } + conn, err := pgx.ConnectConfig(ctx, config) if err != nil { return nil, err } client := partitionedStreamClient{ urlPlaceholder: *remote, pgxConfig: config, - compressed: options.compressed, - logical: options.logical, } client.mu.activeSubscriptions = make(map[*partitionedStreamSubscription]struct{}) client.mu.srcConn = conn @@ -67,19 +65,15 @@ func NewPartitionedStreamClient( var _ Client = &partitionedStreamClient{} -// CreateForTenant implements Client interface. -func (p *partitionedStreamClient) CreateForTenant( +// Create implements Client interface. +func (p *partitionedStreamClient) Create( ctx context.Context, tenantName roachpb.TenantName, req streampb.ReplicationProducerRequest, ) (streampb.ReplicationProducerSpec, error) { - ctx, sp := tracing.ChildSpan(ctx, "streamclient.Client.CreateForTenant") + ctx, sp := tracing.ChildSpan(ctx, "streamclient.Client.Create") defer sp.Finish() p.mu.Lock() defer p.mu.Unlock() - if p.logical { - return streampb.ReplicationProducerSpec{}, errors.New("cannot create a tenant scoped stream with logical replication flag") - } - var row pgx.Row if !req.ReplicationStartTime.IsEmpty() { reqBytes, err := protoutil.Marshal(&req) @@ -146,8 +140,8 @@ func (p *partitionedStreamClient) postgresURL(servingAddr string) (url.URL, erro return res, nil } -// PlanPhysicalReplication implements Client interface. -func (p *partitionedStreamClient) PlanPhysicalReplication( +// Plan implements Client interface. +func (p *partitionedStreamClient) Plan( ctx context.Context, streamID streampb.StreamID, ) (Topology, error) { var spec streampb.ReplicationStreamSpec @@ -155,10 +149,6 @@ func (p *partitionedStreamClient) PlanPhysicalReplication( p.mu.Lock() defer p.mu.Unlock() - if p.logical { - return Topology{}, errors.New("cannot plan physical replication with logical replication flag") - } - row := p.mu.srcConn.QueryRow(ctx, `SELECT crdb_internal.replication_stream_spec($1)`, streamID) var rawSpec []byte if err := row.Scan(&rawSpec); err != nil { @@ -182,7 +172,7 @@ func (p *partitionedStreamClient) createTopology( if err != nil { return Topology{}, err } - rawSpec, err := protoutil.Marshal(sp.SourcePartition) + rawSpec, err := protoutil.Marshal(sp.PartitionSpec) if err != nil { return Topology{}, err } @@ -190,9 +180,9 @@ func (p *partitionedStreamClient) createTopology( ID: sp.NodeID.String(), SubscriptionToken: SubscriptionToken(rawSpec), SrcInstanceID: int(sp.NodeID), - SrcAddr: crosscluster.PartitionAddress(pgURL.String()), + SrcAddr: streamingccl.PartitionAddress(pgURL.String()), SrcLocality: sp.Locality, - Spans: sp.SourcePartition.Spans, + Spans: sp.PartitionSpec.Spans, }) } return topology, nil @@ -219,27 +209,18 @@ func (p *partitionedStreamClient) Close(ctx context.Context) error { func (p *partitionedStreamClient) Subscribe( ctx context.Context, streamID streampb.StreamID, - consumerNode int32, - consumerProc int32, + consumerID int32, spec SubscriptionToken, initialScanTime hlc.Timestamp, previousReplicatedTimes span.Frontier, - opts ...SubscribeOption, ) (Subscription, error) { _, sp := tracing.ChildSpan(ctx, "streamclient.Client.Subscribe") defer sp.Finish() - cfg := &subscribeConfig{} - for _, opt := range opts { - opt(cfg) - } - - sourcePartition := streampb.SourcePartition{} - if err := protoutil.Unmarshal(spec, &sourcePartition); err != nil { + sps := streampb.StreamPartitionSpec{} + if err := protoutil.Unmarshal(spec, &sps); err != nil { return nil, err } - - sps := streampb.StreamPartitionSpec{} sps.InitialScanTimestamp = initialScanTime if previousReplicatedTimes != nil { sps.PreviousReplicatedTimestamp = previousReplicatedTimes.Frontier() @@ -248,17 +229,7 @@ func (p *partitionedStreamClient) Subscribe( return span.ContinueMatch }) } - sps.Spans = sourcePartition.Spans - sps.ConsumerNode = consumerNode - sps.ConsumerProc = consumerProc - sps.Compressed = true - sps.WrappedEvents = true - sps.WithDiff = cfg.withDiff - sps.WithFiltering = cfg.withFiltering - sps.Type = streampb.ReplicationType_PHYSICAL - if p.logical { - sps.Type = streampb.ReplicationType_LOGICAL - } + sps.ConsumerID = consumerID specBytes, err := protoutil.Marshal(&sps) if err != nil { @@ -266,12 +237,11 @@ func (p *partitionedStreamClient) Subscribe( } res := &partitionedStreamSubscription{ - eventsChan: make(chan crosscluster.Event), + eventsChan: make(chan streamingccl.Event), srcConnConfig: p.pgxConfig, specBytes: specBytes, streamID: streamID, closeChan: make(chan struct{}), - compressed: sps.Compressed, } p.mu.Lock() defer p.mu.Unlock() @@ -296,91 +266,6 @@ func (p *partitionedStreamClient) Complete( return nil } -type LogicalReplicationPlan struct { - Topology Topology - SourceSpans []roachpb.Span - DescriptorMap map[int32]descpb.TableDescriptor -} - -func (p *partitionedStreamClient) PlanLogicalReplication( - ctx context.Context, req streampb.LogicalReplicationPlanRequest, -) (LogicalReplicationPlan, error) { - ctx, sp := tracing.ChildSpan(ctx, "streamclient.Client.PlanLogicalReplication") - defer sp.Finish() - - if !p.logical { - return LogicalReplicationPlan{}, errors.New("cannot plan logical replication without logical replication flag") - } - - p.mu.Lock() - defer p.mu.Unlock() - - encodedReq, err := protoutil.Marshal(&req) - if err != nil { - return LogicalReplicationPlan{}, err - } - - row := p.mu.srcConn.QueryRow(ctx, - fmt.Sprintf("SELECT * FROM crdb_internal.plan_logical_replication($1) AS OF SYSTEM TIME %s", req.PlanAsOf.AsOfSystemTime()), - encodedReq) - - streamSpecBytes := []byte{} - if err := row.Scan(&streamSpecBytes); err != nil { - return LogicalReplicationPlan{}, err - } - - streamSpec := streampb.ReplicationStreamSpec{} - if err := protoutil.Unmarshal(streamSpecBytes, &streamSpec); err != nil { - return LogicalReplicationPlan{}, err - } - topology, err := p.createTopology(streamSpec) - if err != nil { - return LogicalReplicationPlan{}, err - } - - descMap := make(map[int32]descpb.TableDescriptor) - for _, desc := range streamSpec.TableDescriptors { - desc := desc - descMap[int32(desc.ID)] = desc - } - - return LogicalReplicationPlan{ - Topology: topology, - SourceSpans: streamSpec.TableSpans, - DescriptorMap: descMap, - }, nil -} - -func (p *partitionedStreamClient) CreateForTables( - ctx context.Context, req *streampb.ReplicationProducerRequest, -) (*streampb.ReplicationProducerSpec, error) { - ctx, sp := tracing.ChildSpan(ctx, "streamclient.Client.CreateForTables") - defer sp.Finish() - - if !p.logical { - return nil, errors.New("cannot create a table scoped stream without logical replication flag") - } - - reqBytes, err := protoutil.Marshal(req) - if err != nil { - return nil, err - } - - p.mu.Lock() - defer p.mu.Unlock() - r := p.mu.srcConn.QueryRow(ctx, "SELECT crdb_internal.start_replication_stream_for_tables($1)", reqBytes) - specBytes := []byte{} - if err := r.Scan(&specBytes); err != nil { - return nil, err - } - - spec := &streampb.ReplicationProducerSpec{} - if err := protoutil.Unmarshal(specBytes, spec); err != nil { - return nil, err - } - return spec, nil -} - // PriorReplicationDetails implements the streamclient.Client interface. func (p *partitionedStreamClient) PriorReplicationDetails( ctx context.Context, tenant roachpb.TenantName, @@ -412,12 +297,10 @@ func (p *partitionedStreamClient) PriorReplicationDetails( type partitionedStreamSubscription struct { err error srcConnConfig *pgx.ConnConfig - eventsChan chan crosscluster.Event + eventsChan chan streamingccl.Event // Channel to send signal to close the subscription. closeChan chan struct{} - compressed bool - specBytes []byte streamID streampb.StreamID } @@ -445,14 +328,6 @@ func (p *partitionedStreamSubscription) Subscribe(ctx context.Context) error { if err != nil { return err } - - // Set statement_timeout to 0s for no statement timeout. We - // expect crdb_internal.stream_partition to run forevever. - _, err = srcConn.Exec(ctx, `SET statement_timeout = '0s'`) - if err != nil { - return err - } - rows, err := srcConn.Query(ctx, `SELECT * FROM crdb_internal.stream_partition($1, $2)`, p.streamID, p.specBytes) if err != nil { @@ -460,12 +335,12 @@ func (p *partitionedStreamSubscription) Subscribe(ctx context.Context) error { } defer rows.Close() - p.err = subscribeInternal(ctx, rows, p.eventsChan, p.closeChan, p.compressed) + p.err = subscribeInternal(ctx, rows, p.eventsChan, p.closeChan) return p.err } // Events implements the Subscription interface. -func (p *partitionedStreamSubscription) Events() <-chan crosscluster.Event { +func (p *partitionedStreamSubscription) Events() <-chan streamingccl.Event { return p.eventsChan } diff --git a/pkg/ccl/crosscluster/streamclient/partitioned_stream_client_test.go b/pkg/ccl/streamingccl/streamclient/partitioned_stream_client_test.go similarity index 91% rename from pkg/ccl/crosscluster/streamclient/partitioned_stream_client_test.go rename to pkg/ccl/streamingccl/streamclient/partitioned_stream_client_test.go index efa6e1b7e9c4..f70e9099e8b0 100644 --- a/pkg/ccl/crosscluster/streamclient/partitioned_stream_client_test.go +++ b/pkg/ccl/streamingccl/streamclient/partitioned_stream_client_test.go @@ -16,10 +16,10 @@ import ( "time" "github.com/cockroachdb/cockroach/pkg/base" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationtestutils" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" _ "github.com/cockroachdb/cockroach/pkg/ccl/kvccl/kvtenantccl" // Ensure we can start tenant. + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/replicationtestutils" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamclient" "github.com/cockroachdb/cockroach/pkg/jobs" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" "github.com/cockroachdb/cockroach/pkg/keys" @@ -50,7 +50,7 @@ type subscriptionFeedSource struct { var _ replicationtestutils.FeedSource = (*subscriptionFeedSource)(nil) // Next implements the streamingtest.FeedSource interface. -func (f *subscriptionFeedSource) Next() (crosscluster.Event, bool) { +func (f *subscriptionFeedSource) Next() (streamingccl.Event, bool) { event, hasMore := <-f.sub.Events() return event, hasMore } @@ -108,7 +108,7 @@ func TestPartitionStreamReplicationClientWithNonRunningJobs(t *testing.T) { targetStreamID := streampb.StreamID(999) expectedErr := fmt.Sprintf("job with ID %d does not exist", targetStreamID) t.Run("plan fails", func(t *testing.T) { - _, err := client.PlanPhysicalReplication(ctx, targetStreamID) + _, err := client.Plan(ctx, targetStreamID) require.ErrorContains(t, err, expectedErr) }) t.Run("heartbeat returns STREAM_INACTIVE", func(t *testing.T) { @@ -117,7 +117,7 @@ func TestPartitionStreamReplicationClientWithNonRunningJobs(t *testing.T) { require.Equal(t, streampb.StreamReplicationStatus_STREAM_INACTIVE, status.StreamStatus) }) t.Run("subscribe fails", func(t *testing.T) { - subscription, err := client.Subscribe(ctx, targetStreamID, 1, 1, encodedSpec, initialScanTimstamp, emptyFrontier) + subscription, err := client.Subscribe(ctx, targetStreamID, 1, encodedSpec, initialScanTimstamp, emptyFrontier) require.NoError(t, err) err = subscription.Subscribe(ctx) require.ErrorContains(t, err, expectedErr) @@ -133,7 +133,7 @@ func TestPartitionStreamReplicationClientWithNonRunningJobs(t *testing.T) { h.SysSQL.QueryRow(t, "SELECT crdb_internal.create_sql_schema_telemetry_job()").Scan(&targetStreamID) t.Run("plan fails", func(t *testing.T) { - _, err := client.PlanPhysicalReplication(ctx, targetStreamID) + _, err := client.Plan(ctx, targetStreamID) require.ErrorContains(t, err, "not a replication stream job") }) t.Run("heartbeat fails", func(t *testing.T) { @@ -141,7 +141,7 @@ func TestPartitionStreamReplicationClientWithNonRunningJobs(t *testing.T) { require.ErrorContains(t, err, "not a replication stream job") }) t.Run("subscribe fails", func(t *testing.T) { - subscription, err := client.Subscribe(ctx, targetStreamID, 1, 1, encodedSpec, initialScanTimstamp, emptyFrontier) + subscription, err := client.Subscribe(ctx, targetStreamID, 1, encodedSpec, initialScanTimstamp, emptyFrontier) require.NoError(t, err) err = subscription.Subscribe(ctx) require.ErrorContains(t, err, "not a replication stream job") @@ -152,13 +152,13 @@ func TestPartitionStreamReplicationClientWithNonRunningJobs(t *testing.T) { }) }) t.Run("paused-job", func(t *testing.T) { - rps, err := client.CreateForTenant(ctx, testTenantName, streampb.ReplicationProducerRequest{}) + rps, err := client.Create(ctx, testTenantName, streampb.ReplicationProducerRequest{}) require.NoError(t, err) targetStreamID := rps.StreamID h.SysSQL.Exec(t, `PAUSE JOB $1`, targetStreamID) expectStreamState(targetStreamID, jobs.StatusPaused) t.Run("plan fails", func(t *testing.T) { - _, err := client.PlanPhysicalReplication(ctx, targetStreamID) + _, err := client.Plan(ctx, targetStreamID) require.ErrorContains(t, err, "must be running") }) t.Run("heartbeat returns STREAM_PAUSED", func(t *testing.T) { @@ -167,7 +167,7 @@ func TestPartitionStreamReplicationClientWithNonRunningJobs(t *testing.T) { require.Equal(t, streampb.StreamReplicationStatus_STREAM_PAUSED, status.StreamStatus) }) t.Run("subscribe fails", func(t *testing.T) { - subscription, err := client.Subscribe(ctx, targetStreamID, 1, 1, encodedSpec, initialScanTimstamp, emptyFrontier) + subscription, err := client.Subscribe(ctx, targetStreamID, 1, encodedSpec, initialScanTimstamp, emptyFrontier) require.NoError(t, err) err = subscription.Subscribe(ctx) require.ErrorContains(t, err, "must be running") @@ -178,13 +178,13 @@ func TestPartitionStreamReplicationClientWithNonRunningJobs(t *testing.T) { }) }) t.Run("cancelled-job", func(t *testing.T) { - rps, err := client.CreateForTenant(ctx, testTenantName, streampb.ReplicationProducerRequest{}) + rps, err := client.Create(ctx, testTenantName, streampb.ReplicationProducerRequest{}) require.NoError(t, err) targetStreamID := rps.StreamID h.SysSQL.Exec(t, `CANCEL JOB $1`, targetStreamID) expectStreamState(targetStreamID, jobs.StatusCanceled) t.Run("plan fails", func(t *testing.T) { - _, err := client.PlanPhysicalReplication(ctx, targetStreamID) + _, err := client.Plan(ctx, targetStreamID) require.ErrorContains(t, err, "must be running") }) t.Run("heartbeat returns STREAM_INACTIVE", func(t *testing.T) { @@ -195,7 +195,7 @@ func TestPartitionStreamReplicationClientWithNonRunningJobs(t *testing.T) { require.Equal(t, streampb.StreamReplicationStatus_STREAM_INACTIVE, status.StreamStatus) }) t.Run("subscribe fails", func(t *testing.T) { - subscription, err := client.Subscribe(ctx, targetStreamID, 1, 1, encodedSpec, initialScanTimstamp, emptyFrontier) + subscription, err := client.Subscribe(ctx, targetStreamID, 1, encodedSpec, initialScanTimstamp, emptyFrontier) require.NoError(t, err) err = subscription.Subscribe(ctx) require.ErrorContains(t, err, "must be running") @@ -276,15 +276,15 @@ INSERT INTO d.t2 VALUES (2); require.Equal(t, "00000000-0000-0000-0000-000000000001:99", from) require.True(t, ts.Equal(hlc.Timestamp{WallTime: 1}), ts) - rps, err := client.CreateForTenant(ctx, testTenantName, streampb.ReplicationProducerRequest{}) + rps, err := client.Create(ctx, testTenantName, streampb.ReplicationProducerRequest{}) require.NoError(t, err) streamID := rps.StreamID // We can create multiple replication streams for the same tenant. - _, err = client.CreateForTenant(ctx, testTenantName, streampb.ReplicationProducerRequest{}) + _, err = client.Create(ctx, testTenantName, streampb.ReplicationProducerRequest{}) require.NoError(t, err) expectStreamState(streamID, jobs.StatusRunning) - top, err := client.PlanPhysicalReplication(ctx, streamID) + top, err := client.Plan(ctx, streamID) require.NoError(t, err) require.Equal(t, 1, len(top.Partitions)) @@ -320,7 +320,7 @@ INSERT INTO d.t2 VALUES (2); // Ignore table t2 and only subscribe to the changes to table t1. require.Equal(t, len(top.Partitions), 1) - url, err := crosscluster.StreamAddress(top.Partitions[0].SrcAddr).URL() + url, err := streamingccl.StreamAddress(top.Partitions[0].SrcAddr).URL() require.NoError(t, err) // Create a new stream client with the given partition address. subClient, err := streamclient.NewPartitionedStreamClient(ctx, url) @@ -328,7 +328,7 @@ INSERT INTO d.t2 VALUES (2); require.NoError(t, subClient.Close(ctx)) }() require.NoError(t, err) - sub, err := subClient.Subscribe(ctx, streamID, 1, 1, encodeSpec("t1"), + sub, err := subClient.Subscribe(ctx, streamID, 1, encodeSpec("t1"), initialScanTimestamp, nil) require.NoError(t, err) @@ -373,7 +373,7 @@ INSERT INTO d.t2 VALUES (2); // Makes producer job exit quickly. h.SysSQL.Exec(t, ` SET CLUSTER SETTING stream_replication.stream_liveness_track_frequency = '200ms'`) - rps, err = client.CreateForTenant(ctx, testTenantName, streampb.ReplicationProducerRequest{}) + rps, err = client.Create(ctx, testTenantName, streampb.ReplicationProducerRequest{}) require.NoError(t, err) streamID = rps.StreamID jobutils.WaitForJobToRun(t, h.SysSQL, jobspb.JobID(streamID)) diff --git a/pkg/ccl/crosscluster/streamclient/pgconn.go b/pkg/ccl/streamingccl/streamclient/pgconn.go similarity index 88% rename from pkg/ccl/crosscluster/streamclient/pgconn.go rename to pkg/ccl/streamingccl/streamclient/pgconn.go index 6ac13356e212..24559a6a23f9 100644 --- a/pkg/ccl/crosscluster/streamclient/pgconn.go +++ b/pkg/ccl/streamingccl/streamclient/pgconn.go @@ -9,7 +9,6 @@ package streamclient import ( - "context" "crypto/tls" "crypto/x509" "encoding/pem" @@ -22,10 +21,10 @@ import ( ) const ( - // SslInlineURLParam is a non-standard connection URL + // sslInlineURLParam is a non-standard connection URL // parameter. When true, we assume that sslcert, sslkey, and // sslrootcert contain URL-encoded data rather than paths. - SslInlineURLParam = "sslinline" + sslInlineURLParam = "sslinline" sslModeURLParam = "sslmode" sslCertURLParam = "sslcert" @@ -33,20 +32,6 @@ const ( sslRootCertURLParam = "sslrootcert" ) -func newPGConnForClient( - ctx context.Context, remote *url.URL, options *options, -) (*pgx.Conn, *pgx.ConnConfig, error) { - config, err := setupPGXConfig(remote, options) - if err != nil { - return nil, nil, err - } - conn, err := pgx.ConnectConfig(ctx, config) - if err != nil { - return nil, nil, err - } - return conn, config, nil -} - func setupPGXConfig(remote *url.URL, options *options) (*pgx.ConnConfig, error) { noInlineCertURI, tlsInfo, err := uriWithInlineTLSCertsRemoved(remote) if err != nil { @@ -82,7 +67,7 @@ type tlsCerts struct { // tlsCerts struct can be used to apply the certificate data to the // tls.Config produced by pgx. func uriWithInlineTLSCertsRemoved(remote *url.URL) (*url.URL, *tlsCerts, error) { - if remote.Query().Get(SslInlineURLParam) != "true" { + if remote.Query().Get(sslInlineURLParam) != "true" { return remote, nil, nil } @@ -132,7 +117,7 @@ func uriWithInlineTLSCertsRemoved(remote *url.URL) (*url.URL, *tlsCerts, error) v.Del(sslCertURLParam) v.Del(sslKeyURLParam) v.Del(sslRootCertURLParam) - v.Del(SslInlineURLParam) + v.Del(sslInlineURLParam) retURL.RawQuery = v.Encode() return &retURL, tlsInfo, nil } diff --git a/pkg/ccl/crosscluster/streamclient/randclient/random_stream_client.go b/pkg/ccl/streamingccl/streamclient/random_stream_client.go similarity index 62% rename from pkg/ccl/crosscluster/streamclient/randclient/random_stream_client.go rename to pkg/ccl/streamingccl/streamclient/random_stream_client.go index 12cad2bc5eae..e4970ba2edac 100644 --- a/pkg/ccl/crosscluster/streamclient/randclient/random_stream_client.go +++ b/pkg/ccl/streamingccl/streamclient/random_stream_client.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package randclient +package streamclient import ( "context" @@ -16,8 +16,7 @@ import ( "strconv" "time" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" "github.com/cockroachdb/cockroach/pkg/keys" "github.com/cockroachdb/cockroach/pkg/kv/kvpb" @@ -29,11 +28,9 @@ import ( "github.com/cockroachdb/cockroach/pkg/sql/catalog/catalogkeys" "github.com/cockroachdb/cockroach/pkg/sql/catalog/catpb" "github.com/cockroachdb/cockroach/pkg/sql/catalog/descpb" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/descs" "github.com/cockroachdb/cockroach/pkg/sql/catalog/tabledesc" - "github.com/cockroachdb/cockroach/pkg/sql/randgen" "github.com/cockroachdb/cockroach/pkg/sql/rowenc" - "github.com/cockroachdb/cockroach/pkg/sql/sem/catid" + "github.com/cockroachdb/cockroach/pkg/sql/rowenc/valueside" "github.com/cockroachdb/cockroach/pkg/sql/sem/tree" "github.com/cockroachdb/cockroach/pkg/util/bufalloc" "github.com/cockroachdb/cockroach/pkg/util/hlc" @@ -42,7 +39,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/span" "github.com/cockroachdb/cockroach/pkg/util/syncutil" "github.com/cockroachdb/cockroach/pkg/util/timeutil" - "github.com/cockroachdb/errors" ) const ( @@ -50,6 +46,11 @@ const ( // random stream client. RandomStreamSchemaPlaceholder = "CREATE TABLE %s (k INT PRIMARY KEY, v INT)" + // RandomGenScheme is the URI scheme used to create a test load. + RandomGenScheme = "randomgen" + // ValueRangeKey controls the range of the randomly generated values produced + // by this workload. The workload will generate between 0 and this value. + ValueRangeKey = "VALUE_RANGE" // EventFrequency is the frequency in nanoseconds that the stream will emit // randomly generated KV events. EventFrequency = "EVENT_FREQUENCY" @@ -63,9 +64,7 @@ const ( // events. DupProbability = "DUP_PROBABILITY" // SSTProbability controls the probability with which we emit SST event. - SSTProbability = "SST_PROBABILITY" - ErrProbability = "ERROR_PROBABILITY" - ExistingTableID = "TABLE_ID" + SSTProbability = "SST_PROBABILITY" // TenantID specifies the ID of the tenant we are ingesting data into. This // allows the client to prefix the generated KVs with the appropriate tenant // prefix. @@ -82,13 +81,6 @@ const ( IngestionTablePrefix = "foo" ) -func init() { - streamclient.RandomGenClientBuilder = newRandomStreamClient - streamclient.GetRandomStreamClientSingletonForTesting = func() streamclient.RandomClient { - return randomStreamClientSingleton - } -} - // TODO(dt): just make interceptors a singleton, not the whole client. var randomStreamClientSingleton = func() *RandomStreamClient { c := RandomStreamClient{} @@ -97,47 +89,47 @@ var randomStreamClientSingleton = func() *RandomStreamClient { return &c }() +// GetRandomStreamClientSingletonForTesting returns the singleton instance of +// the client. This is to be used in testing, when interceptors can be +// registered on the client to observe events. +func GetRandomStreamClientSingletonForTesting() *RandomStreamClient { + return randomStreamClientSingleton +} + +// InterceptFn is a function that will intercept events emitted by +// an InterceptableStreamClient +type InterceptFn func(event streamingccl.Event, spec SubscriptionToken) + +// DialInterceptFn is a function that will intercept Dial calls made to an +// InterceptableStreamClient +type DialInterceptFn func(streamURL *url.URL) error + +// HeartbeatInterceptFn is a function that will intercept calls to a client's +// Heartbeat. +type HeartbeatInterceptFn func(timestamp hlc.Timestamp) + +// SSTableMakerFn is a function that generates RangeFeedSSTable event +// with a given list of roachpb.KeyValue. +type SSTableMakerFn func(keyValues []roachpb.KeyValue) kvpb.RangeFeedSSTable + // randomStreamConfig specifies the variables that controls the rate and type of // events that the generated stream emits. type randomStreamConfig struct { + valueRange int eventFrequency time.Duration eventsPerCheckpoint int numPartitions int dupProbability float64 - errorProbability float64 sstProbability float64 - existingTableID catid.DescID - tenantID roachpb.TenantID + tenantID roachpb.TenantID // startTenant and endTenant extend checkpoint spans to the tenant span. startTenant, endTenant bool } -type randomEvent int - -const ( - randomKV randomEvent = iota - randomSST - randomError -) - -func (c randomStreamConfig) randomEvent(rng *rand.Rand) (randomEvent, error) { - if c.sstProbability+c.errorProbability > 1 { - return 0, errors.AssertionFailedf("misconfigured random stream") - } - - prob := rng.Float64() - if c.sstProbability > 0 && prob < c.sstProbability { - return randomSST, nil - } else if c.errorProbability > 0 && prob < (c.sstProbability+c.errorProbability) { - return randomError, nil - } else { - return randomKV, nil - } -} - func parseRandomStreamConfig(streamURL *url.URL) (randomStreamConfig, error) { c := randomStreamConfig{ + valueRange: 100, eventFrequency: 10 * time.Microsecond, eventsPerCheckpoint: 30, numPartitions: 1, // TODO(casper): increases this @@ -147,6 +139,13 @@ func parseRandomStreamConfig(streamURL *url.URL) (randomStreamConfig, error) { } var err error + if valueRangeStr := streamURL.Query().Get(ValueRangeKey); valueRangeStr != "" { + c.valueRange, err = strconv.Atoi(valueRangeStr) + if err != nil { + return c, err + } + } + if eventFreqStr := streamURL.Query().Get(EventFrequency); eventFreqStr != "" { eventFreq, err := strconv.Atoi(eventFreqStr) c.eventFrequency = time.Duration(eventFreq) @@ -169,13 +168,6 @@ func parseRandomStreamConfig(streamURL *url.URL) (randomStreamConfig, error) { } } - if errProbabilityStr := streamURL.Query().Get(ErrProbability); errProbabilityStr != "" { - c.errorProbability, err = strconv.ParseFloat(errProbabilityStr, 32) - if err != nil { - return c, err - } - } - if numPartitionsStr := streamURL.Query().Get(NumPartitions); numPartitionsStr != "" { c.numPartitions, err = strconv.Atoi(numPartitionsStr) if err != nil { @@ -213,30 +205,21 @@ func parseRandomStreamConfig(streamURL *url.URL) (randomStreamConfig, error) { c.endTenant = b } - if tableIDStr := streamURL.Query().Get(ExistingTableID); tableIDStr != "" { - id, err := strconv.Atoi(tableIDStr) - if err != nil { - return c, err - } - c.existingTableID = catid.DescID(id) - } - return c, nil } func (c randomStreamConfig) URL(table int, startsTenant, finishesTenant bool) string { u := &url.URL{ - Scheme: streamclient.RandomGenScheme, + Scheme: RandomGenScheme, Host: strconv.Itoa(table), } q := u.Query() + q.Add(ValueRangeKey, strconv.Itoa(c.valueRange)) q.Add(EventFrequency, strconv.Itoa(int(c.eventFrequency))) q.Add(EventsPerCheckpoint, strconv.Itoa(c.eventsPerCheckpoint)) q.Add(NumPartitions, strconv.Itoa(c.numPartitions)) - q.Add(ExistingTableID, strconv.Itoa(int(c.existingTableID))) q.Add(DupProbability, fmt.Sprintf("%f", c.dupProbability)) q.Add(SSTProbability, fmt.Sprintf("%f", c.sstProbability)) - q.Add(ErrProbability, fmt.Sprintf("%f", c.errorProbability)) q.Add(TenantSpanStart, strconv.FormatBool(startsTenant)) q.Add(TenantSpanEnd, strconv.FormatBool(finishesTenant)) q.Add(TenantID, strconv.Itoa(int(c.tenantID.ToUint64()))) @@ -248,31 +231,23 @@ type randomEventGenerator struct { rng *rand.Rand config randomStreamConfig numEventsSinceLastResolved int - sstMaker streamclient.SSTableMakerFn + sstMaker SSTableMakerFn codec keys.SQLCodec - tableDesc catalog.TableDescriptor + tableDesc *tabledesc.Mutable systemKVs []roachpb.KeyValue } func newRandomEventGenerator( - rng *rand.Rand, - partitionURL *url.URL, - config randomStreamConfig, - fn streamclient.SSTableMakerFn, - tableDesc catalog.TableDescriptor, + rng *rand.Rand, partitionURL *url.URL, config randomStreamConfig, fn SSTableMakerFn, ) (*randomEventGenerator, error) { var partitionTableID int partitionTableID, err := strconv.Atoi(partitionURL.Host) if err != nil { return nil, err } - - var systemKVs []roachpb.KeyValue - if tableDesc == nil { - tableDesc, systemKVs, err = getDescriptorAndNamespaceKVForTableID(config, descpb.ID(partitionTableID)) - if err != nil { - return nil, err - } + tableDesc, systemKVs, err := getDescriptorAndNamespaceKVForTableID(config, descpb.ID(partitionTableID)) + if err != nil { + return nil, err } return &randomEventGenerator{ rng: rng, @@ -285,7 +260,8 @@ func newRandomEventGenerator( }, nil } -func (r *randomEventGenerator) generateNewEvent() (crosscluster.Event, error) { +func (r *randomEventGenerator) generateNewEvent() streamingccl.Event { + var event streamingccl.Event if r.numEventsSinceLastResolved == r.config.eventsPerCheckpoint { sp := r.tableDesc.TableSpan(r.codec) if r.config.startTenant { @@ -298,40 +274,33 @@ func (r *randomEventGenerator) generateNewEvent() (crosscluster.Event, error) { resolvedTime := timeutil.Now() hlcResolvedTime := hlc.Timestamp{WallTime: resolvedTime.UnixNano()} resolvedSpan := jobspb.ResolvedSpan{Span: sp, Timestamp: hlcResolvedTime} + event = streamingccl.MakeCheckpointEvent([]jobspb.ResolvedSpan{resolvedSpan}) r.numEventsSinceLastResolved = 0 - return crosscluster.MakeCheckpointEvent([]jobspb.ResolvedSpan{resolvedSpan}), nil - } - - // If there are system KVs to emit, prioritize those. - if len(r.systemKVs) > 0 { - systemKV := r.systemKVs[0] - systemKV.Value.Timestamp = hlc.Timestamp{WallTime: timeutil.Now().UnixNano()} - event := crosscluster.MakeKVEventFromKVs([]roachpb.KeyValue{systemKV}) - r.systemKVs = r.systemKVs[1:] - return event, nil - } + } else { + // If there are system KVs to emit, prioritize those. + if len(r.systemKVs) > 0 { + systemKV := r.systemKVs[0] + systemKV.Value.Timestamp = hlc.Timestamp{WallTime: timeutil.Now().UnixNano()} + event = streamingccl.MakeKVEvent([]roachpb.KeyValue{systemKV}) + r.systemKVs = r.systemKVs[1:] + return event + } - eventType, err := r.config.randomEvent(r.rng) - if err != nil { - return nil, err - } - switch eventType { - case randomKV: - r.numEventsSinceLastResolved++ - return crosscluster.MakeKVEventFromKVs([]roachpb.KeyValue{makeRandomKey(r.rng, r.config, r.codec, r.tableDesc)}), nil - case randomSST: - size := 10 + r.rng.Intn(30) - keyVals := make([]roachpb.KeyValue, 0, size) - for i := 0; i < size; i++ { - keyVals = append(keyVals, makeRandomKey(r.rng, r.config, r.codec, r.tableDesc)) + // Emit SST with given probability. + // TODO(casper): add support for DelRange. + if prob := r.rng.Float64(); prob < r.config.sstProbability { + size := 10 + r.rng.Intn(30) + keyVals := make([]roachpb.KeyValue, 0, size) + for i := 0; i < size; i++ { + keyVals = append(keyVals, makeRandomKey(r.rng, r.config, r.codec, r.tableDesc)) + } + event = streamingccl.MakeSSTableEvent(r.sstMaker(keyVals)) + } else { + event = streamingccl.MakeKVEvent([]roachpb.KeyValue{makeRandomKey(r.rng, r.config, r.codec, r.tableDesc)}) } - return crosscluster.MakeSSTableEvent(r.sstMaker(keyVals)), nil - case randomError: - return nil, errors.Errorf("randomly ingested event") - default: - return nil, errors.AssertionFailedf("unknown event type: %d", eventType) + r.numEventsSinceLastResolved++ } - + return event } // RandomStreamClient is a temporary stream client implementation that generates @@ -341,7 +310,6 @@ func (r *randomEventGenerator) generateNewEvent() (crosscluster.Event, error) { // URL. Each partition covers a single table span. type RandomStreamClient struct { config randomStreamConfig - tableDesc catalog.TableDescriptor streamURL *url.URL // mu is used to provide a threadsafe interface to interceptors. @@ -350,35 +318,28 @@ type RandomStreamClient struct { // interceptors can be registered to peek at every event generated by this // client and which partition spec it was sent to. - interceptors []streamclient.InterceptFn - dialInterceptors []streamclient.DialInterceptFn - heartbeatInterceptors []streamclient.HeartbeatInterceptFn - sstMaker streamclient.SSTableMakerFn + interceptors []InterceptFn + dialInterceptors []DialInterceptFn + heartbeatInterceptors []HeartbeatInterceptFn + sstMaker SSTableMakerFn tableID int } } -var _ streamclient.Client = &RandomStreamClient{} +var _ Client = &RandomStreamClient{} // newRandomStreamClient returns a stream client that generates a random set of // events on a table with an integer key and integer value for the table with // the given ID. -func newRandomStreamClient(streamURL *url.URL, db descs.DB) (streamclient.Client, error) { +func newRandomStreamClient(streamURL *url.URL) (Client, error) { c := randomStreamClientSingleton + streamConfig, err := parseRandomStreamConfig(streamURL) if err != nil { return nil, err } c.config = streamConfig c.streamURL = streamURL - if c.config.existingTableID > 0 { - if err := db.DescsTxn(context.Background(), func(ctx context.Context, txn descs.Txn) error { - c.tableDesc, err = txn.Descriptors().ByIDWithoutLeased(txn.KV()).Get().Table(ctx, c.config.existingTableID) - return err - }); err != nil { - return nil, err - } - } return c, nil } @@ -390,15 +351,23 @@ func (m *RandomStreamClient) getNextTableID() int { return ret } -func (m *RandomStreamClient) tableDescForID(tableID int) (catalog.TableDescriptor, error) { - if m.config.existingTableID != 0 && (m.config.existingTableID != catid.DescID(tableID)) { - return nil, errors.AssertionFailedf("expected table ID %d requested", tableID) - } else if m.config.existingTableID != 0 { - return m.tableDesc, nil - } else { - tableDesc, _, err := getDescriptorAndNamespaceKVForTableID(m.config, descpb.ID(tableID)) - return tableDesc, err +func (m *RandomStreamClient) tableDescForID(tableID int) (*tabledesc.Mutable, error) { + partitionURI := m.config.URL(tableID, false, false) + partitionURL, err := url.Parse(partitionURI) + if err != nil { + return nil, err + } + config, err := parseRandomStreamConfig(partitionURL) + if err != nil { + return nil, err } + var partitionTableID int + partitionTableID, err = strconv.Atoi(partitionURL.Host) + if err != nil { + return nil, err + } + tableDesc, _, err := getDescriptorAndNamespaceKVForTableID(config, descpb.ID(partitionTableID)) + return tableDesc, err } // Dial implements Client interface. @@ -418,11 +387,9 @@ func (m *RandomStreamClient) Dial(ctx context.Context) error { } // Plan implements the Client interface. -func (m *RandomStreamClient) PlanPhysicalReplication( - ctx context.Context, _ streampb.StreamID, -) (streamclient.Topology, error) { - topology := streamclient.Topology{ - Partitions: make([]streamclient.PartitionInfo, 0, m.config.numPartitions), +func (m *RandomStreamClient) Plan(ctx context.Context, _ streampb.StreamID) (Topology, error) { + topology := Topology{ + Partitions: make([]PartitionInfo, 0, m.config.numPartitions), SourceTenantID: m.config.tenantID, } tenantSpan := keys.MakeTenantSpan(m.config.tenantID) @@ -434,16 +401,16 @@ func (m *RandomStreamClient) PlanPhysicalReplication( tableID := m.getNextTableID() tableDesc, err := m.tableDescForID(tableID) if err != nil { - return streamclient.Topology{}, err + return Topology{}, err } partitionURI := m.config.URL(tableID, i == 0, i == m.config.numPartitions-1) log.Infof(ctx, "planning random stream partition %d for tenant %d: %q", i, m.config.tenantID, partitionURI) topology.Partitions = append(topology.Partitions, - streamclient.PartitionInfo{ + PartitionInfo{ ID: strconv.Itoa(i), - SrcAddr: crosscluster.PartitionAddress(partitionURI), + SrcAddr: streamingccl.PartitionAddress(partitionURI), SubscriptionToken: []byte(partitionURI), Spans: []roachpb.Span{tableDesc.TableSpan(srcCodec)}, }) @@ -455,7 +422,7 @@ func (m *RandomStreamClient) PlanPhysicalReplication( } // Create implements the Client interface. -func (m *RandomStreamClient) CreateForTenant( +func (m *RandomStreamClient) Create( ctx context.Context, tenantName roachpb.TenantName, _ streampb.ReplicationProducerRequest, ) (streampb.ReplicationProducerSpec, error) { log.Infof(ctx, "creating random stream for tenant %s", tenantName) @@ -501,7 +468,7 @@ func getDescriptorAndNamespaceKVForTableID( // Generate namespace entry. codec := keys.MakeSQLCodec(config.tenantID) - k := catalogkeys.EncodeNameKey(codec, testTable) + k := rekey(config.tenantID, catalogkeys.EncodeNameKey(codec, testTable)) var value roachpb.Value value.SetInt(int64(testTable.GetID())) value.InitChecksum(k) @@ -512,6 +479,7 @@ func getDescriptorAndNamespaceKVForTableID( // Generate descriptor entry. descKey := catalogkeys.MakeDescMetadataKey(codec, testTable.GetID()) + descKey = rekey(config.tenantID, descKey) descDesc := testTable.DescriptorProto() var descValue roachpb.Value if err := descValue.SetProto(descDesc); err != nil { @@ -535,12 +503,11 @@ func (m *RandomStreamClient) Close(_ context.Context) error { func (m *RandomStreamClient) Subscribe( _ context.Context, _ streampb.StreamID, - _, _ int32, - spec streamclient.SubscriptionToken, + _ int32, + spec SubscriptionToken, initialScanTime hlc.Timestamp, _ span.Frontier, - _ ...streamclient.SubscribeOption, -) (streamclient.Subscription, error) { +) (Subscription, error) { partitionURL, err := url.Parse(string(spec)) if err != nil { return nil, err @@ -551,7 +518,7 @@ func (m *RandomStreamClient) Subscribe( return nil, err } - eventCh := make(chan crosscluster.Event) + eventCh := make(chan streamingccl.Event) now := timeutil.Now() startWalltime := timeutil.Unix(0 /* sec */, initialScanTime.WallTime) if startWalltime.After(now) { @@ -563,28 +530,23 @@ func (m *RandomStreamClient) Subscribe( reg, err := func() (*randomEventGenerator, error) { m.mu.Lock() defer m.mu.Unlock() - return newRandomEventGenerator(rng, partitionURL, config, m.mu.sstMaker, m.tableDesc) + return newRandomEventGenerator(rng, partitionURL, config, m.mu.sstMaker) }() if err != nil { return nil, err } receiveFn := func(ctx context.Context) error { + defer close(eventCh) + dataEventInterval := config.eventFrequency - var lastEventCopy crosscluster.Event + var lastEventCopy streamingccl.Event for { - var event crosscluster.Event + var event streamingccl.Event if lastEventCopy != nil && rng.Float64() < config.dupProbability { - log.VInfof(ctx, 2, "sending duplicate event") event = duplicateEvent(lastEventCopy) } else { - var err error - event, err = reg.generateNewEvent() - if err != nil { - log.VInfof(ctx, 2, "sending error: %v", err) - return err - } - log.VInfof(ctx, 2, "sending event: %v", event.Type()) + event = reg.generateNewEvent() } lastEventCopy = duplicateEvent(event) @@ -633,124 +595,113 @@ func (p *RandomStreamClient) PriorReplicationDetails( type randomStreamSubscription struct { receiveFn func(ctx context.Context) error - eventCh chan crosscluster.Event - err error + eventCh chan streamingccl.Event } // Subscribe implements the Subscription interface. func (r *randomStreamSubscription) Subscribe(ctx context.Context) error { - defer close(r.eventCh) - r.err = r.receiveFn(ctx) - return r.err + return r.receiveFn(ctx) } // Events implements the Subscription interface. -func (r *randomStreamSubscription) Events() <-chan crosscluster.Event { +func (r *randomStreamSubscription) Events() <-chan streamingccl.Event { return r.eventCh } // Err implements the Subscription interface. func (r *randomStreamSubscription) Err() error { - return r.err + return nil } -func makeRandomKey( - r *rand.Rand, config randomStreamConfig, codec keys.SQLCodec, tableDesc catalog.TableDescriptor, -) roachpb.KeyValue { - datums, err := randDatumsForTable(r, tableDesc) - if err != nil { - panic(err) - } - kv, err := encodeKV(codec, tableDesc, datums) +func rekey(tenantID roachpb.TenantID, k roachpb.Key) roachpb.Key { + // Strip old prefix. + tenantPrefix := keys.MakeTenantPrefix(tenantID) + noTenantPrefix, _, err := keys.DecodeTenantPrefix(k) if err != nil { panic(err) } - kv.Value.Timestamp = hlc.Timestamp{WallTime: timeutil.Now().UnixNano()} - return kv + // Prepend tenant prefix. + rekeyedKey := append(tenantPrefix, noTenantPrefix...) + return rekeyedKey } -func encodeKV( - codec keys.SQLCodec, descr catalog.TableDescriptor, datums []tree.Datum, -) (roachpb.KeyValue, error) { - primary := descr.GetPrimaryIndex() - var colMap catalog.TableColMap - for i := range datums { - col, err := catalog.MustFindColumnByID(descr, descpb.ColumnID(i+1)) - if err != nil { - return roachpb.KeyValue{}, err - } - colMap.Set(col.GetID(), col.Ordinal()) - } +func makeRandomKey( + r *rand.Rand, config randomStreamConfig, codec keys.SQLCodec, tableDesc *tabledesc.Mutable, +) roachpb.KeyValue { + // Create a key holding a random integer. + keyDatum := tree.NewDInt(tree.DInt(r.Intn(config.valueRange))) - const includeEmpty = true - indexEntries, err := rowenc.EncodePrimaryIndex(codec, descr, primary, - colMap, datums, includeEmpty) + index := tableDesc.GetPrimaryIndex() + // Create the ColumnID to index in datums slice map needed by + // MakeIndexKeyPrefix. + var colIDToRowIndex catalog.TableColMap + colIDToRowIndex.Set(index.GetKeyColumnID(0), 0) + + keyPrefix := rowenc.MakeIndexKeyPrefix(codec, tableDesc.GetID(), index.GetID()) + k, _, err := rowenc.EncodeIndexKey(tableDesc, index, colIDToRowIndex, tree.Datums{keyDatum}, keyPrefix) if err != nil { - return roachpb.KeyValue{}, err - } - for i := range indexEntries { - indexEntries[i].Value.InitChecksum(indexEntries[i].Key) + panic(err) } - return roachpb.KeyValue{Key: indexEntries[0].Key, Value: indexEntries[0].Value}, nil -} + k = keys.MakeFamilyKey(k, uint32(tableDesc.Families[0].ID)) + + k = rekey(config.tenantID, k) -func randDatumsForTable(rng *rand.Rand, td catalog.TableDescriptor) ([]tree.Datum, error) { - if td.NumFamilies() != 1 { - return nil, errors.AssertionFailedf("random client does not support multi-column-family tables") + // Create a value holding a random integer. + valueDatum := tree.NewDInt(tree.DInt(r.Intn(config.valueRange))) + valueBuf, err := valueside.Encode( + []byte(nil), valueside.MakeColumnIDDelta(0, tableDesc.Columns[1].ID), valueDatum, []byte(nil)) + if err != nil { + panic(err) } + var v roachpb.Value + v.SetTuple(valueBuf) + v.ClearChecksum() + v.InitChecksum(k) - columns := td.PublicColumns() - datums := make([]tree.Datum, 0, len(columns)) - for _, c := range columns { - if c.IsComputed() { - return nil, errors.Errorf("unable to generate random datums for table with computed column %q", c.GetName()) - } - if c.GetName() == "crdb_replication_origin_timestamp" { - datums = append(datums, tree.DNull) - } else { - datums = append(datums, - randgen.RandDatum(rng, c.GetType(), c.IsNullable())) - } + v.Timestamp = hlc.Timestamp{WallTime: timeutil.Now().UnixNano()} + + return roachpb.KeyValue{ + Key: k, + Value: v, } - return datums, nil } -func duplicateEvent(event crosscluster.Event) crosscluster.Event { - var dup crosscluster.Event +func duplicateEvent(event streamingccl.Event) streamingccl.Event { + var dup streamingccl.Event switch event.Type() { - case crosscluster.CheckpointEvent: + case streamingccl.CheckpointEvent: resolvedSpans := make([]jobspb.ResolvedSpan, len(event.GetResolvedSpans())) copy(resolvedSpans, event.GetResolvedSpans()) - dup = crosscluster.MakeCheckpointEvent(resolvedSpans) - case crosscluster.KVEvent: + dup = streamingccl.MakeCheckpointEvent(resolvedSpans) + case streamingccl.KVEvent: kvs := event.GetKVs() res := make([]roachpb.KeyValue, len(kvs)) var a bufalloc.ByteAllocator for i := range kvs { - res[i].Key = kvs[i].KeyValue.Key.Clone() - res[i].Value.Timestamp = kvs[i].KeyValue.Value.Timestamp - a, res[i].Value.RawBytes = a.Copy(kvs[i].KeyValue.Value.RawBytes, 0) + res[i].Key = kvs[i].Key.Clone() + res[i].Value.Timestamp = kvs[i].Value.Timestamp + a, res[i].Value.RawBytes = a.Copy(kvs[i].Value.RawBytes, 0) } - dup = crosscluster.MakeKVEventFromKVs(res) - case crosscluster.SSTableEvent: + dup = streamingccl.MakeKVEvent(res) + case streamingccl.SSTableEvent: sst := event.GetSSTable() dataCopy := make([]byte, len(sst.Data)) copy(dataCopy, sst.Data) - dup = crosscluster.MakeSSTableEvent(kvpb.RangeFeedSSTable{ + dup = streamingccl.MakeSSTableEvent(kvpb.RangeFeedSSTable{ Data: dataCopy, Span: sst.Span.Clone(), WriteTS: sst.WriteTS, }) default: - panic("unsupported event type") + panic("unsopported event type") } return dup } // RegisterInterception registers a interceptor to be called after // an event is emitted from the client. -func (m *RandomStreamClient) RegisterInterception(fn streamclient.InterceptFn) { +func (m *RandomStreamClient) RegisterInterception(fn InterceptFn) { m.mu.Lock() defer m.mu.Unlock() m.mu.interceptors = append(m.mu.interceptors, fn) @@ -758,7 +709,7 @@ func (m *RandomStreamClient) RegisterInterception(fn streamclient.InterceptFn) { // RegisterDialInterception registers a interceptor to be called // whenever Dial is called on the client. -func (m *RandomStreamClient) RegisterDialInterception(fn streamclient.DialInterceptFn) { +func (m *RandomStreamClient) RegisterDialInterception(fn DialInterceptFn) { m.mu.Lock() defer m.mu.Unlock() m.mu.dialInterceptors = append(m.mu.dialInterceptors, fn) @@ -766,7 +717,7 @@ func (m *RandomStreamClient) RegisterDialInterception(fn streamclient.DialInterc // RegisterHeartbeatInterception registers an interceptor to be called // whenever Heartbeat is called on the client. -func (m *RandomStreamClient) RegisterHeartbeatInterception(fn streamclient.HeartbeatInterceptFn) { +func (m *RandomStreamClient) RegisterHeartbeatInterception(fn HeartbeatInterceptFn) { m.mu.Lock() defer m.mu.Unlock() m.mu.heartbeatInterceptors = append(m.mu.heartbeatInterceptors, fn) @@ -774,7 +725,7 @@ func (m *RandomStreamClient) RegisterHeartbeatInterception(fn streamclient.Heart // RegisterSSTableGenerator registers a functor to be called // whenever an SSTable event is to be generated. -func (m *RandomStreamClient) RegisterSSTableGenerator(fn streamclient.SSTableMakerFn) { +func (m *RandomStreamClient) RegisterSSTableGenerator(fn SSTableMakerFn) { m.mu.Lock() defer m.mu.Unlock() m.mu.sstMaker = fn @@ -789,54 +740,3 @@ func (m *RandomStreamClient) ClearInterceptors() { m.mu.dialInterceptors = m.mu.dialInterceptors[:0] m.mu.sstMaker = nil } - -func (m *RandomStreamClient) PlanLogicalReplication( - ctx context.Context, req streampb.LogicalReplicationPlanRequest, -) (streamclient.LogicalReplicationPlan, error) { - if m.config.numPartitions != 1 { - return streamclient.LogicalReplicationPlan{}, errors.AssertionFailedf("random client only supports logical replication with 1 partition") - } - - topology := streamclient.Topology{ - Partitions: make([]streamclient.PartitionInfo, 0, m.config.numPartitions), - SourceTenantID: m.config.tenantID, - } - - srcCodec := keys.MakeSQLCodec(m.config.tenantID) - tableSpan := m.tableDesc.TableSpan(srcCodec) - partitionURI := m.config.URL(int(m.tableDesc.GetID()), false, false) - topology.Partitions = append(topology.Partitions, - streamclient.PartitionInfo{ - ID: strconv.Itoa(1), - SrcAddr: crosscluster.PartitionAddress(partitionURI), - SubscriptionToken: []byte(partitionURI), - Spans: []roachpb.Span{m.tableDesc.TableSpan(srcCodec)}, - }) - return streamclient.LogicalReplicationPlan{ - Topology: topology, - SourceSpans: []roachpb.Span{tableSpan}, - DescriptorMap: map[int32]descpb.TableDescriptor{ - int32(m.tableDesc.GetID()): *m.tableDesc.TableDesc(), - }, - }, nil -} - -func (m *RandomStreamClient) CreateForTables( - ctx context.Context, req *streampb.ReplicationProducerRequest, -) (*streampb.ReplicationProducerSpec, error) { - if len(req.TableNames) > 1 { - return nil, errors.AssertionFailedf("random stream only supports 1 table") - } - if m.tableDesc == nil { - return nil, errors.AssertionFailedf("random stream not configured for logical streaming") - } - return &streampb.ReplicationProducerSpec{ - StreamID: streampb.StreamID(1), - ReplicationStartTime: hlc.Timestamp{WallTime: timeutil.Now().UnixNano()}, - TableDescriptors: map[string]descpb.TableDescriptor{ - req.TableNames[0]: *m.tableDesc.TableDesc(), - }, - }, nil -} - -func (m *RandomStreamClient) URL() string { return m.streamURL.String() } diff --git a/pkg/ccl/crosscluster/streamclient/span_config_stream_client.go b/pkg/ccl/streamingccl/streamclient/span_config_stream_client.go similarity index 91% rename from pkg/ccl/crosscluster/streamclient/span_config_stream_client.go rename to pkg/ccl/streamingccl/streamclient/span_config_stream_client.go index 7859e203e888..778f6404fa8c 100644 --- a/pkg/ccl/crosscluster/streamclient/span_config_stream_client.go +++ b/pkg/ccl/streamingccl/streamclient/span_config_stream_client.go @@ -12,7 +12,7 @@ import ( "context" "net/url" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl" "github.com/cockroachdb/cockroach/pkg/roachpb" "github.com/cockroachdb/cockroach/pkg/sql/isql" "github.com/cockroachdb/cockroach/pkg/sql/pgwire/pgcode" @@ -34,7 +34,6 @@ type SpanConfigClient interface { // source cluster. SetupSpanConfigsStream(tenant roachpb.TenantName) (Subscription, error) } - type spanConfigClient struct { pgxConfig *pgx.ConnConfig srcConn *pgx.Conn // pgx connection to the source cluster @@ -63,7 +62,11 @@ func NewSpanConfigStreamClient( } options := processOptions(opts) - conn, config, err := newPGConnForClient(ctx, remote, options) + config, err := setupPGXConfig(remote, options) + if err != nil { + return nil, err + } + conn, err := pgx.ConnectConfig(ctx, config) if err != nil { return nil, err } @@ -79,7 +82,7 @@ func GetFirstActiveSpanConfigClient( ctx context.Context, streamAddresses []string, db isql.DB, opts ...Option, ) (SpanConfigClient, error) { - newClient := func(ctx context.Context, address crosscluster.StreamAddress) (Dialer, error) { + newClient := func(ctx context.Context, address streamingccl.StreamAddress) (Dialer, error) { streamURL, err := address.URL() if err != nil { return nil, err @@ -106,7 +109,7 @@ func (p *spanConfigClient) Close(ctx context.Context) error { func (p *spanConfigClient) SetupSpanConfigsStream(tenant roachpb.TenantName) (Subscription, error) { p.subscription = spanConfigStreamSubscription{ - eventsChan: make(chan crosscluster.Event), + eventsChan: make(chan streamingccl.Event), srcConnConfig: p.pgxConfig, tenantName: tenant, closeChan: make(chan struct{}), @@ -118,7 +121,7 @@ func (p *spanConfigClient) SetupSpanConfigsStream(tenant roachpb.TenantName) (Su type spanConfigStreamSubscription struct { err error srcConnConfig *pgx.ConnConfig - eventsChan chan crosscluster.Event + eventsChan chan streamingccl.Event tenantName roachpb.TenantName // Channel to send signal to close the subscription. closeChan chan struct{} @@ -174,12 +177,12 @@ func (p *spanConfigStreamSubscription) Subscribe(ctx context.Context) error { rows.Close() }() - p.err = subscribeInternal(ctx, rows, p.eventsChan, p.closeChan, false) + p.err = subscribeInternal(ctx, rows, p.eventsChan, p.closeChan) return p.err } // Events implements the Subscription interface. -func (p *spanConfigStreamSubscription) Events() <-chan crosscluster.Event { +func (p *spanConfigStreamSubscription) Events() <-chan streamingccl.Event { return p.eventsChan } diff --git a/pkg/ccl/crosscluster/streamclient/span_config_stream_client_test.go b/pkg/ccl/streamingccl/streamclient/span_config_stream_client_test.go similarity index 95% rename from pkg/ccl/crosscluster/streamclient/span_config_stream_client_test.go rename to pkg/ccl/streamingccl/streamclient/span_config_stream_client_test.go index 94842202d305..3c0d43ee0851 100644 --- a/pkg/ccl/crosscluster/streamclient/span_config_stream_client_test.go +++ b/pkg/ccl/streamingccl/streamclient/span_config_stream_client_test.go @@ -14,8 +14,8 @@ import ( "testing" "github.com/cockroachdb/cockroach/pkg/base" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationtestutils" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/replicationtestutils" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamclient" "github.com/cockroachdb/cockroach/pkg/jobs" "github.com/cockroachdb/cockroach/pkg/roachpb" "github.com/cockroachdb/cockroach/pkg/util/ctxgroup" diff --git a/pkg/ccl/crosscluster/physical/BUILD.bazel b/pkg/ccl/streamingccl/streamingest/BUILD.bazel similarity index 89% rename from pkg/ccl/crosscluster/physical/BUILD.bazel rename to pkg/ccl/streamingccl/streamingest/BUILD.bazel index f205f759fef5..7e38d5dce9e8 100644 --- a/pkg/ccl/crosscluster/physical/BUILD.bazel +++ b/pkg/ccl/streamingccl/streamingest/BUILD.bazel @@ -1,7 +1,7 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") go_library( - name = "physical", + name = "streamingest", srcs = [ "alter_replication_job.go", "external_connection.go", @@ -17,18 +17,17 @@ go_library( "stream_ingestion_planning.go", "stream_ingestion_processor.go", ], - importpath = "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/physical", + importpath = "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamingest", visibility = ["//visibility:public"], deps = [ "//pkg/base", "//pkg/ccl/backupccl", - "//pkg/ccl/crosscluster", - "//pkg/ccl/crosscluster/producer", - "//pkg/ccl/crosscluster/replicationutils", - "//pkg/ccl/crosscluster/streamclient", "//pkg/ccl/revertccl", + "//pkg/ccl/streamingccl", + "//pkg/ccl/streamingccl/replicationutils", + "//pkg/ccl/streamingccl/streamclient", + "//pkg/ccl/streamingccl/streamproducer", "//pkg/ccl/utilccl", - "//pkg/cloud", "//pkg/cloud/externalconn", "//pkg/cloud/externalconn/connectionpb", "//pkg/jobs", @@ -51,7 +50,6 @@ go_library( "//pkg/spanconfig", "//pkg/sql", "//pkg/sql/catalog/colinfo", - "//pkg/sql/catalog/descs", "//pkg/sql/clusterunique", "//pkg/sql/execinfra", "//pkg/sql/execinfrapb", @@ -91,7 +89,7 @@ go_library( ) go_test( - name = "physical_test", + name = "streamingest_test", size = "large", srcs = [ "alter_replication_job_test.go", @@ -111,7 +109,7 @@ go_test( "stream_ingestion_processor_test.go", ], data = glob(["testdata/**"]), - embed = [":physical"], + embed = [":streamingest"], exec_properties = select({ "//build/toolchains:is_heavy": {"test.Pool": "heavy"}, "//conditions:default": {"test.Pool": "large"}, @@ -123,14 +121,13 @@ go_test( "//pkg/ccl/backupccl", "//pkg/ccl/changefeedccl", "//pkg/ccl/changefeedccl/cdctest", - "//pkg/ccl/crosscluster", - "//pkg/ccl/crosscluster/producer", - "//pkg/ccl/crosscluster/replicationtestutils", - "//pkg/ccl/crosscluster/replicationutils", - "//pkg/ccl/crosscluster/streamclient", - "//pkg/ccl/crosscluster/streamclient/randclient", "//pkg/ccl/kvccl/kvtenantccl", "//pkg/ccl/storageccl", + "//pkg/ccl/streamingccl", + "//pkg/ccl/streamingccl/replicationtestutils", + "//pkg/ccl/streamingccl/replicationutils", + "//pkg/ccl/streamingccl/streamclient", + "//pkg/ccl/streamingccl/streamproducer", "//pkg/cloud/impl:cloudimpl", "//pkg/cloud/nodelocal", "//pkg/jobs", @@ -149,6 +146,7 @@ go_test( "//pkg/server", "//pkg/server/serverpb", "//pkg/server/telemetry", + "//pkg/settings", "//pkg/settings/cluster", "//pkg/spanconfig", "//pkg/spanconfig/spanconfigptsreader", diff --git a/pkg/ccl/crosscluster/physical/alter_replication_job.go b/pkg/ccl/streamingccl/streamingest/alter_replication_job.go similarity index 88% rename from pkg/ccl/crosscluster/physical/alter_replication_job.go rename to pkg/ccl/streamingccl/streamingest/alter_replication_job.go index 341b5b563491..66506ec7b872 100644 --- a/pkg/ccl/crosscluster/physical/alter_replication_job.go +++ b/pkg/ccl/streamingccl/streamingest/alter_replication_job.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "context" @@ -14,9 +14,9 @@ import ( "math" "time" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationutils" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/replicationutils" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamclient" "github.com/cockroachdb/cockroach/pkg/ccl/utilccl" "github.com/cockroachdb/cockroach/pkg/jobs" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" @@ -51,10 +51,9 @@ var alterReplicationCutoverHeader = colinfo.ResultColumns{ // ResolvedTenantReplicationOptions represents options from an // evaluated CREATE/ALTER VIRTUAL CLUSTER FROM REPLICATION command. type resolvedTenantReplicationOptions struct { - resumeTimestamp hlc.Timestamp - retention *int32 - expirationWindow *time.Duration - enableReaderTenant bool + resumeTimestamp hlc.Timestamp + retention *int32 + expirationWindow *time.Duration } func evalTenantReplicationOptions( @@ -90,13 +89,6 @@ func evalTenantReplicationOptions( expirationWindow := time.Duration(dur.Nanos()) r.expirationWindow = &expirationWindow } - if options.EnableReaderTenant != nil { - enabled, err := eval.Bool(ctx, options.EnableReaderTenant) - if err != nil { - return nil, err - } - r.enableReaderTenant = enabled - } return r, nil } @@ -118,13 +110,6 @@ func (r *resolvedTenantReplicationOptions) DestinationOptionsSet() bool { return r != nil && (r.retention != nil || r.resumeTimestamp.IsSet()) } -func (r *resolvedTenantReplicationOptions) ReaderTenantEnabled() bool { - if r == nil || !r.enableReaderTenant { - return false - } - return true -} - func alterReplicationJobTypeCheck( ctx context.Context, stmt tree.Statement, p sql.PlanHookState, ) (matched bool, header colinfo.ResultColumns, _ error) { @@ -352,14 +337,14 @@ func alterTenantRestartReplication( return CannotSetExpirationWindowErr } - streamAddress := crosscluster.StreamAddress(srcAddr) + streamAddress := streamingccl.StreamAddress(srcAddr) streamURL, err := streamAddress.URL() if err != nil { return errors.Wrap(err, "url") } - streamAddress = crosscluster.StreamAddress(streamURL.String()) + streamAddress = streamingccl.StreamAddress(streamURL.String()) - client, err := streamclient.NewStreamClient(ctx, crosscluster.StreamAddress(srcAddr), p.ExecCfg().InternalDB) + client, err := streamclient.NewStreamClient(ctx, streamingccl.StreamAddress(srcAddr), p.ExecCfg().InternalDB) if err != nil { return errors.Wrap(err, "creating client") } @@ -378,10 +363,6 @@ func alterTenantRestartReplication( return err } - if err := checkReplicationStartTime(ctx, p, tenInfo, resumeTS); err != nil { - return err - } - const revertFirst = true jobID := p.ExecCfg().JobRegistry.MakeJobID() @@ -416,7 +397,6 @@ func alterTenantRestartReplication( ReplicationSourceAddress: alterTenantStmt.ReplicationSourceAddress, Options: alterTenantStmt.Options, }, - roachpb.TenantID{}, ), "creating replication job") } @@ -476,48 +456,6 @@ func pickReplicationResume( return resumeTS, nil } -func checkReplicationStartTime( - ctx context.Context, p sql.PlanHookState, tenInfo *mtinfopb.TenantInfo, ts hlc.Timestamp, -) error { - // TODO(az): remove the conditional once we figure out how to validate PTS on the - // source cluster when it has no producer jobs. - // When starting a replication job for a tenant with BACKUP and RESTORE instead - // of an initial scan, the source will not have producer jobs associated with - // the tenant, thus no PTS to validate. - if tenInfo.PreviousSourceTenant != nil && tenInfo.PreviousSourceTenant.CutoverTimestamp.Equal(ts) { - return nil - } - - pts := p.ExecCfg().ProtectedTimestampProvider.WithTxn(p.InternalSQLTxn()) - - protected := hlc.MaxTimestamp - for _, id := range tenInfo.PhysicalReplicationProducerJobIDs { - j, err := p.ExecCfg().JobRegistry.LoadJobWithTxn(ctx, id, p.InternalSQLTxn()) - if err != nil { - return err - } - record, err := pts.GetRecord(ctx, j.Details().(jobspb.StreamReplicationDetails).ProtectedTimestampRecordID) - if err != nil { - if errors.Is(err, protectedts.ErrNotExists) { - continue - } - return err - } - if record.Timestamp.LessEq(ts) { - return nil - } - protected.Backward(record.Timestamp) - } - - if protected == hlc.MaxTimestamp { - return errors.Newf("cannot resume replication into tenant %q by reverting to %s (no history is retained by %d producer jobs)", - tenInfo.Name, ts.GoTime(), len(tenInfo.PhysicalReplicationProducerJobIDs)) - } - - return errors.Newf("cannot resume replication into tenant %q by reverting to %s (history retained since %s)", - tenInfo.Name, ts.GoTime(), protected.GoTime()) -} - // alterTenantJobCutover returns the cutover timestamp that was used to initiate // the cutover process - if the command is 'ALTER VIRTUAL CLUSTER .. COMPLETE REPLICATION // TO LATEST' then the frontier high water timestamp is used. diff --git a/pkg/ccl/crosscluster/physical/alter_replication_job_test.go b/pkg/ccl/streamingccl/streamingest/alter_replication_job_test.go similarity index 97% rename from pkg/ccl/crosscluster/physical/alter_replication_job_test.go rename to pkg/ccl/streamingccl/streamingest/alter_replication_job_test.go index c7f5afae0680..df14641f68b4 100644 --- a/pkg/ccl/crosscluster/physical/alter_replication_job_test.go +++ b/pkg/ccl/streamingccl/streamingest/alter_replication_job_test.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "context" @@ -16,7 +16,7 @@ import ( "time" "github.com/cockroachdb/cockroach/pkg/base" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationtestutils" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/replicationtestutils" "github.com/cockroachdb/cockroach/pkg/cloud/nodelocal" "github.com/cockroachdb/cockroach/pkg/jobs" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" @@ -55,7 +55,11 @@ func TestAlterTenantCompleteToTime(t *testing.T) { var cutoverTime time.Time c.DestSysSQL.QueryRow(t, "SELECT clock_timestamp()").Scan(&cutoverTime) - cutoverOutput := c.Cutover(ctx, producerJobID, ingestionJobID, cutoverTime, false) + + var cutoverStr string + c.DestSysSQL.QueryRow(c.T, `ALTER TENANT $1 COMPLETE REPLICATION TO SYSTEM TIME $2::string`, + args.DestTenantName, cutoverTime).Scan(&cutoverStr) + cutoverOutput := replicationtestutils.DecimalTimeToHLC(t, cutoverStr) require.Equal(t, cutoverTime, cutoverOutput.GoTime()) jobutils.WaitForJobToSucceed(c.T, c.DestSysSQL, jobspb.JobID(ingestionJobID)) } @@ -63,6 +67,7 @@ func TestAlterTenantCompleteToTime(t *testing.T) { func TestAlterTenantCompleteToLatest(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) + ctx := context.Background() args := replicationtestutils.DefaultTenantStreamingClustersArgs @@ -79,7 +84,9 @@ func TestAlterTenantCompleteToLatest(t *testing.T) { c.WaitUntilReplicatedTime(targetReplicatedTime, jobspb.JobID(ingestionJobID)) var emptyCutoverTime time.Time - cutoverOutput := c.Cutover(ctx, producerJobID, ingestionJobID, emptyCutoverTime, false) + cutoverStr := c.Cutover(ctx, producerJobID, ingestionJobID, emptyCutoverTime, false) + + cutoverOutput := replicationtestutils.DecimalTimeToHLC(t, cutoverStr) require.GreaterOrEqual(t, cutoverOutput.GoTime(), targetReplicatedTime.GoTime()) require.LessOrEqual(t, cutoverOutput.GoTime(), c.SrcCluster.Server(0).Clock().Now().GoTime()) jobutils.WaitForJobToSucceed(c.T, c.DestSysSQL, jobspb.JobID(ingestionJobID)) @@ -581,6 +588,8 @@ func TestAlterTenantStartReplicationAfterRestore(t *testing.T) { db := sqlutils.MakeSQLRunner(sqlDB) + db.Exec(t, "SET CLUSTER SETTING kv.rangefeed.enabled = true") + db.Exec(t, "CREATE TENANT t1") db.Exec(t, "BACKUP TENANT 3 TO 'nodelocal://1/t'") diff --git a/pkg/ccl/crosscluster/physical/datadriven_test.go b/pkg/ccl/streamingccl/streamingest/datadriven_test.go similarity index 99% rename from pkg/ccl/crosscluster/physical/datadriven_test.go rename to pkg/ccl/streamingccl/streamingest/datadriven_test.go index 6db0d677c5d9..9de71a6cab91 100644 --- a/pkg/ccl/crosscluster/physical/datadriven_test.go +++ b/pkg/ccl/streamingccl/streamingest/datadriven_test.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "context" @@ -18,8 +18,8 @@ import ( "testing" "time" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationtestutils" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationutils" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/replicationtestutils" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/replicationutils" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" "github.com/cockroachdb/cockroach/pkg/keys" "github.com/cockroachdb/cockroach/pkg/sql/sem/tree" diff --git a/pkg/ccl/crosscluster/physical/external_connection.go b/pkg/ccl/streamingccl/streamingest/external_connection.go similarity index 86% rename from pkg/ccl/crosscluster/physical/external_connection.go rename to pkg/ccl/streamingccl/streamingest/external_connection.go index 4997367645bc..7832c632339b 100644 --- a/pkg/ccl/crosscluster/physical/external_connection.go +++ b/pkg/ccl/streamingccl/streamingest/external_connection.go @@ -6,14 +6,13 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "context" "net/url" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" - "github.com/cockroachdb/cockroach/pkg/cloud" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamclient" "github.com/cockroachdb/cockroach/pkg/cloud/externalconn" "github.com/cockroachdb/cockroach/pkg/cloud/externalconn/connectionpb" ) @@ -48,7 +47,7 @@ func init() { connectionpb.ConnectionProvider_sql, externalconn.SimpleURIFactory, ) - cloud.RegisterRedactedParams(cloud.RedactedParams(streamclient.SslInlineURLParam)) + externalconn.RegisterDefaultValidation(scheme, validatePostgresConnectionURI) } diff --git a/pkg/ccl/crosscluster/physical/ingest_span_configs.go b/pkg/ccl/streamingccl/streamingest/ingest_span_configs.go similarity index 98% rename from pkg/ccl/crosscluster/physical/ingest_span_configs.go rename to pkg/ccl/streamingccl/streamingest/ingest_span_configs.go index a019349424d6..7b48322deeba 100644 --- a/pkg/ccl/crosscluster/physical/ingest_span_configs.go +++ b/pkg/ccl/streamingccl/streamingest/ingest_span_configs.go @@ -6,15 +6,15 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "context" "time" "github.com/cockroachdb/cockroach/pkg/ccl/backupccl" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamclient" "github.com/cockroachdb/cockroach/pkg/jobs" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" "github.com/cockroachdb/cockroach/pkg/keys" @@ -156,11 +156,11 @@ func (sc *spanConfigIngestor) consumeSpanConfigs( } } -func (sc *spanConfigIngestor) consumeEvent(ctx context.Context, event crosscluster.Event) error { +func (sc *spanConfigIngestor) consumeEvent(ctx context.Context, event streamingccl.Event) error { switch event.Type() { - case crosscluster.SpanConfigEvent: + case streamingccl.SpanConfigEvent: return sc.bufferRecord(ctx, event.GetSpanConfigEvent()) - case crosscluster.CheckpointEvent: + case streamingccl.CheckpointEvent: if sc.bufferingFullScan && sc.bufferIsEmpty() { return errors.AssertionFailedf("a flush after the full scan checkpoint must have data in it") } diff --git a/pkg/ccl/crosscluster/physical/ingest_span_configs_test.go b/pkg/ccl/streamingccl/streamingest/ingest_span_configs_test.go similarity index 99% rename from pkg/ccl/crosscluster/physical/ingest_span_configs_test.go rename to pkg/ccl/streamingccl/streamingest/ingest_span_configs_test.go index 96a5d07fe63a..617a2abc4b37 100644 --- a/pkg/ccl/crosscluster/physical/ingest_span_configs_test.go +++ b/pkg/ccl/streamingccl/streamingest/ingest_span_configs_test.go @@ -6,15 +6,15 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "context" "testing" "github.com/cockroachdb/cockroach/pkg/ccl/backupccl" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationtestutils" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/replicationtestutils" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamclient" "github.com/cockroachdb/cockroach/pkg/keys" "github.com/cockroachdb/cockroach/pkg/kv/kvclient/rangefeed/rangefeedcache" "github.com/cockroachdb/cockroach/pkg/roachpb" diff --git a/pkg/ccl/crosscluster/logical/main_test.go b/pkg/ccl/streamingccl/streamingest/main_test.go similarity index 97% rename from pkg/ccl/crosscluster/logical/main_test.go rename to pkg/ccl/streamingccl/streamingest/main_test.go index 2bf15cfde8a1..7a3bd14fcf39 100644 --- a/pkg/ccl/crosscluster/logical/main_test.go +++ b/pkg/ccl/streamingccl/streamingest/main_test.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package logical_test +package streamingest_test import ( "os" diff --git a/pkg/ccl/crosscluster/physical/merged_subscription.go b/pkg/ccl/streamingccl/streamingest/merged_subscription.go similarity index 74% rename from pkg/ccl/crosscluster/physical/merged_subscription.go rename to pkg/ccl/streamingccl/streamingest/merged_subscription.go index 6b6f12a49e39..1f44130c736c 100644 --- a/pkg/ccl/crosscluster/physical/merged_subscription.go +++ b/pkg/ccl/streamingccl/streamingest/merged_subscription.go @@ -6,31 +6,31 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "context" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamclient" "github.com/cockroachdb/cockroach/pkg/util/ctxgroup" ) -// MergedSubscription combines multiple subscriptions into a single +// mergedSubscription combines multiple subscriptions into a single // merged stream of events. -type MergedSubscription struct { +type mergedSubscription struct { cg ctxgroup.Group cgCancel context.CancelFunc - eventCh chan PartitionEvent + eventCh chan partitionEvent } -func MergeSubscriptions( +func mergeSubscriptions( ctx context.Context, subscriptions map[string]streamclient.Subscription, -) *MergedSubscription { +) *mergedSubscription { ctx, cancel := context.WithCancel(ctx) - m := &MergedSubscription{ + m := &mergedSubscription{ cg: ctxgroup.WithContext(ctx), cgCancel: cancel, - eventCh: make(chan PartitionEvent), + eventCh: make(chan partitionEvent), } for partition, sub := range subscriptions { partition := partition @@ -44,7 +44,7 @@ func MergeSubscriptions( return sub.Err() } - pe := PartitionEvent{ + pe := partitionEvent{ Event: event, partition: partition, } @@ -64,7 +64,7 @@ func MergeSubscriptions( } // Run blocks until the merged stream is closed. -func (m *MergedSubscription) Run() error { +func (m *mergedSubscription) Run() error { err := m.cg.Wait() close(m.eventCh) return err @@ -72,11 +72,11 @@ func (m *MergedSubscription) Run() error { // Close stops the merged stream. Note that the underlying // subscriptions are not closed. -func (m *MergedSubscription) Close() { +func (m *mergedSubscription) Close() { m.cgCancel() } // Events returns the merged event channel. -func (m *MergedSubscription) Events() chan PartitionEvent { +func (m *mergedSubscription) Events() chan partitionEvent { return m.eventCh } diff --git a/pkg/ccl/crosscluster/physical/merged_subscription_test.go b/pkg/ccl/streamingccl/streamingest/merged_subscription_test.go similarity index 65% rename from pkg/ccl/crosscluster/physical/merged_subscription_test.go rename to pkg/ccl/streamingccl/streamingest/merged_subscription_test.go index f047cb191bf8..fb0a7fd726be 100644 --- a/pkg/ccl/crosscluster/physical/merged_subscription_test.go +++ b/pkg/ccl/streamingccl/streamingest/merged_subscription_test.go @@ -6,15 +6,15 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "context" "sort" "testing" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamclient" "github.com/cockroachdb/cockroach/pkg/roachpb" "github.com/cockroachdb/cockroach/pkg/util/ctxgroup" "github.com/cockroachdb/cockroach/pkg/util/hlc" @@ -28,18 +28,18 @@ func TestMergeSubscriptionsRun(t *testing.T) { defer log.Scope(t).Close(t) ctx := context.Background() - events := func(partition string) []crosscluster.Event { - return []crosscluster.Event{ - crosscluster.MakeKVEventFromKVs([]roachpb.KeyValue{{ + events := func(partition string) []streamingccl.Event { + return []streamingccl.Event{ + streamingccl.MakeKVEvent([]roachpb.KeyValue{{ Key: []byte(partition + "_key1"), }}), - crosscluster.MakeKVEventFromKVs([]roachpb.KeyValue{{ + streamingccl.MakeKVEvent([]roachpb.KeyValue{{ Key: []byte(partition + "_key2"), }}), } } - mockClient := &streamclient.MockStreamClient{ - PartitionEvents: map[string][]crosscluster.Event{ + mockClient := &mockStreamClient{ + partitionEvents: map[string][]streamingccl.Event{ "partition1": events("partition1"), "partition2": events("partition2"), }, @@ -53,12 +53,12 @@ func TestMergeSubscriptionsRun(t *testing.T) { } t.Run("returns without close when all all events are consumed", func(t *testing.T) { - sub1, err := mockClient.Subscribe(ctx, 0, 0, 0, streamclient.SubscriptionToken("partition1"), hlc.Timestamp{}, nil) + sub1, err := mockClient.Subscribe(ctx, 0, 0, streamclient.SubscriptionToken("partition1"), hlc.Timestamp{}, nil) require.NoError(t, err) - sub2, err := mockClient.Subscribe(ctx, 0, 0, 0, streamclient.SubscriptionToken("partition2"), hlc.Timestamp{}, nil) + sub2, err := mockClient.Subscribe(ctx, 0, 0, streamclient.SubscriptionToken("partition2"), hlc.Timestamp{}, nil) require.NoError(t, err) - merged := MergeSubscriptions(ctx, map[string]streamclient.Subscription{ + merged := mergeSubscriptions(ctx, map[string]streamclient.Subscription{ "partition1": sub1, "partition2": sub2, }) @@ -67,7 +67,7 @@ func TestMergeSubscriptionsRun(t *testing.T) { events := []string{} g.Go(func() error { for ev := range merged.Events() { - events = append(events, string(ev.GetKVs()[0].KeyValue.Key)) + events = append(events, string(ev.GetKVs()[0].Key)) } return nil }) @@ -78,12 +78,12 @@ func TestMergeSubscriptionsRun(t *testing.T) { require.Equal(t, sortedExpectedKeys, events) }) t.Run("returns after close when there is no reader", func(t *testing.T) { - sub1, err := mockClient.Subscribe(ctx, 0, 0, 0, streamclient.SubscriptionToken("partition1"), hlc.Timestamp{}, nil) + sub1, err := mockClient.Subscribe(ctx, 0, 0, streamclient.SubscriptionToken("partition1"), hlc.Timestamp{}, nil) require.NoError(t, err) - sub2, err := mockClient.Subscribe(ctx, 0, 0, 0, streamclient.SubscriptionToken("partition2"), hlc.Timestamp{}, nil) + sub2, err := mockClient.Subscribe(ctx, 0, 0, streamclient.SubscriptionToken("partition2"), hlc.Timestamp{}, nil) require.NoError(t, err) - merged := MergeSubscriptions(ctx, map[string]streamclient.Subscription{ + merged := mergeSubscriptions(ctx, map[string]streamclient.Subscription{ "partition1": sub1, "partition2": sub2, }) diff --git a/pkg/ccl/crosscluster/physical/metrics.go b/pkg/ccl/streamingccl/streamingest/metrics.go similarity index 99% rename from pkg/ccl/crosscluster/physical/metrics.go rename to pkg/ccl/streamingccl/streamingest/metrics.go index 3795370ff388..e74ce48b6665 100644 --- a/pkg/ccl/crosscluster/physical/metrics.go +++ b/pkg/ccl/streamingccl/streamingest/metrics.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "time" diff --git a/pkg/ccl/crosscluster/physical/node_lag_detector.go b/pkg/ccl/streamingccl/streamingest/node_lag_detector.go similarity index 99% rename from pkg/ccl/crosscluster/physical/node_lag_detector.go rename to pkg/ccl/streamingccl/streamingest/node_lag_detector.go index 64058af66dc9..992da52eaa12 100644 --- a/pkg/ccl/crosscluster/physical/node_lag_detector.go +++ b/pkg/ccl/streamingccl/streamingest/node_lag_detector.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "context" diff --git a/pkg/ccl/crosscluster/physical/node_lag_detector_test.go b/pkg/ccl/streamingccl/streamingest/node_lag_detector_test.go similarity index 99% rename from pkg/ccl/crosscluster/physical/node_lag_detector_test.go rename to pkg/ccl/streamingccl/streamingest/node_lag_detector_test.go index 1e5b3af223c4..b4cc6265adfa 100644 --- a/pkg/ccl/crosscluster/physical/node_lag_detector_test.go +++ b/pkg/ccl/streamingccl/streamingest/node_lag_detector_test.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "context" diff --git a/pkg/ccl/crosscluster/physical/rangekey_batcher_test.go b/pkg/ccl/streamingccl/streamingest/rangekey_batcher_test.go similarity index 99% rename from pkg/ccl/crosscluster/physical/rangekey_batcher_test.go rename to pkg/ccl/streamingccl/streamingest/rangekey_batcher_test.go index c38eca824705..5eded07be102 100644 --- a/pkg/ccl/crosscluster/physical/rangekey_batcher_test.go +++ b/pkg/ccl/streamingccl/streamingest/rangekey_batcher_test.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "context" diff --git a/pkg/ccl/crosscluster/physical/replication_execution_details.go b/pkg/ccl/streamingccl/streamingest/replication_execution_details.go similarity index 99% rename from pkg/ccl/crosscluster/physical/replication_execution_details.go rename to pkg/ccl/streamingccl/streamingest/replication_execution_details.go index 1e4127a11bfa..fd54782cd63a 100644 --- a/pkg/ccl/crosscluster/physical/replication_execution_details.go +++ b/pkg/ccl/streamingccl/streamingest/replication_execution_details.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "bytes" diff --git a/pkg/ccl/crosscluster/physical/replication_execution_details_test.go b/pkg/ccl/streamingccl/streamingest/replication_execution_details_test.go similarity index 99% rename from pkg/ccl/crosscluster/physical/replication_execution_details_test.go rename to pkg/ccl/streamingccl/streamingest/replication_execution_details_test.go index 183774894d0d..f650596dd9f2 100644 --- a/pkg/ccl/crosscluster/physical/replication_execution_details_test.go +++ b/pkg/ccl/streamingccl/streamingest/replication_execution_details_test.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "bytes" diff --git a/pkg/ccl/crosscluster/physical/replication_random_client_test.go b/pkg/ccl/streamingccl/streamingest/replication_random_client_test.go similarity index 97% rename from pkg/ccl/crosscluster/physical/replication_random_client_test.go rename to pkg/ccl/streamingccl/streamingest/replication_random_client_test.go index ead561d3d99b..0ff7fd270162 100644 --- a/pkg/ccl/crosscluster/physical/replication_random_client_test.go +++ b/pkg/ccl/streamingccl/streamingest/replication_random_client_test.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "context" @@ -18,11 +18,10 @@ import ( "github.com/cockroachdb/cockroach/pkg/base" "github.com/cockroachdb/cockroach/pkg/ccl/backupccl" "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl/cdctest" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationtestutils" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationutils" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" - _ "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient/randclient" _ "github.com/cockroachdb/cockroach/pkg/ccl/kvccl/kvtenantccl" // To start tenants. + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/replicationtestutils" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/replicationutils" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamclient" "github.com/cockroachdb/cockroach/pkg/jobs" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" "github.com/cockroachdb/cockroach/pkg/keys" @@ -62,11 +61,12 @@ func getReplicatedTime(ingestionJobID int, sqlDB *gosql.DB) (hlc.Timestamp, erro } func getTestRandomClientURI(tenantID roachpb.TenantID, tenantName roachpb.TenantName) string { + valueRange := 100 kvsPerResolved := 200 kvFrequency := 50 * time.Nanosecond numPartitions := 2 dupProbability := 0.2 - return makeTestStreamURI(kvsPerResolved, numPartitions, kvFrequency, + return makeTestStreamURI(valueRange, kvsPerResolved, numPartitions, kvFrequency, dupProbability, tenantID, tenantName) } diff --git a/pkg/ccl/crosscluster/physical/replication_stream_e2e_test.go b/pkg/ccl/streamingccl/streamingest/replication_stream_e2e_test.go similarity index 97% rename from pkg/ccl/crosscluster/physical/replication_stream_e2e_test.go rename to pkg/ccl/streamingccl/streamingest/replication_stream_e2e_test.go index 768773fc5ef5..dc1b8bddbb2a 100644 --- a/pkg/ccl/crosscluster/physical/replication_stream_e2e_test.go +++ b/pkg/ccl/streamingccl/streamingest/replication_stream_e2e_test.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "context" @@ -18,9 +18,9 @@ import ( "time" "github.com/cockroachdb/cockroach/pkg/base" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationtestutils" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationutils" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/replicationtestutils" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/replicationutils" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamclient" _ "github.com/cockroachdb/cockroach/pkg/cloud/impl" "github.com/cockroachdb/cockroach/pkg/jobs" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" @@ -270,7 +270,7 @@ func TestTenantStreamingCheckpoint(t *testing.T) { lastClientStart := make(map[string]hlc.Timestamp) args := replicationtestutils.DefaultTenantStreamingClustersArgs args.TestingKnobs = &sql.StreamingTestingKnobs{ - BeforeClientSubscribe: func(addr string, token string, clientStartTimes span.Frontier, _ bool) { + BeforeClientSubscribe: func(addr string, token string, clientStartTimes span.Frontier) { lastClientStart[token] = clientStartTimes.Frontier() }, } @@ -685,7 +685,7 @@ func TestTenantStreamingMultipleNodes(t *testing.T) { clientAddresses := make(map[string]struct{}) var addressesMu syncutil.Mutex args.TestingKnobs = &sql.StreamingTestingKnobs{ - BeforeClientSubscribe: func(addr string, token string, _ span.Frontier, _ bool) { + BeforeClientSubscribe: func(addr string, token string, _ span.Frontier) { addressesMu.Lock() defer addressesMu.Unlock() clientAddresses[addr] = struct{}{} @@ -783,7 +783,6 @@ func TestStreamingAutoReplan(t *testing.T) { defer log.Scope(t).Close(t) skip.UnderRace(t, "multi cluster/node config exhausts hardware") - skip.UnderDeadlock(t, "scatter may take too long") ctx := context.Background() args := replicationtestutils.DefaultTenantStreamingClustersArgs @@ -797,7 +796,7 @@ func TestStreamingAutoReplan(t *testing.T) { clientAddresses := make(map[string]struct{}) var addressesMu syncutil.Mutex args.TestingKnobs = &sql.StreamingTestingKnobs{ - BeforeClientSubscribe: func(addr string, token string, _ span.Frontier, _ bool) { + BeforeClientSubscribe: func(addr string, token string, _ span.Frontier) { addressesMu.Lock() defer addressesMu.Unlock() clientAddresses[addr] = struct{}{} @@ -880,7 +879,7 @@ func TestStreamingReplanOnLag(t *testing.T) { clientAddresses := make(map[string]struct{}) var addressesMu syncutil.Mutex args.TestingKnobs = &sql.StreamingTestingKnobs{ - BeforeClientSubscribe: func(addr string, token string, _ span.Frontier, _ bool) { + BeforeClientSubscribe: func(addr string, token string, _ span.Frontier) { addressesMu.Lock() defer addressesMu.Unlock() clientAddresses[addr] = struct{}{} @@ -1515,41 +1514,3 @@ func TestStreamingZoneConfigsMismatchedRegions(t *testing.T) { c.DestTenantSQL.QueryRow(c.T, `SELECT raw_config_sql FROM [SHOW ZONE CONFIGURATION FROM DATABASE test]`).Scan(&zcfg) require.NotContains(t, newZcfg, `region=mars`) } - -func TestReplicationJobWithReaderTenant(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - ctx := context.Background() - args := replicationtestutils.DefaultTenantStreamingClustersArgs - args.EnableReaderTenant = true - c, cleanup := replicationtestutils.CreateTenantStreamingClusters(ctx, t, args) - defer cleanup() - - producerJobID, ingestionJobID := c.StartStreamReplication(ctx) - - jobutils.WaitForJobToRun(c.T, c.SrcSysSQL, jobspb.JobID(producerJobID)) - jobutils.WaitForJobToRun(c.T, c.DestSysSQL, jobspb.JobID(ingestionJobID)) - - srcTime := c.SrcCluster.Server(0).Clock().Now() - c.WaitUntilReplicatedTime(srcTime, jobspb.JobID(ingestionJobID)) - - stats := replicationutils.TestingGetStreamIngestionStatsFromReplicationJob(t, ctx, c.DestSysSQL, ingestionJobID) - require.NotNil(t, stats.IngestionDetails.ReadTenantID) - - var ( - name string - status string - ) - expectedReaderTenantName := fmt.Sprintf("%s-readonly", args.DestTenantName) - - c.DestSysSQL.QueryRow(t, fmt.Sprintf(` -SELECT - name, - status -FROM [SHOW VIRTUAL CLUSTER '%s' WITH REPLICATION STATUS] -`, expectedReaderTenantName)).Scan(&name, &status) - - require.Equal(t, expectedReaderTenantName, name) - require.Equal(t, "ready", status) -} diff --git a/pkg/ccl/crosscluster/physical/stream_ingest_manager.go b/pkg/ccl/streamingccl/streamingest/stream_ingest_manager.go similarity index 96% rename from pkg/ccl/crosscluster/physical/stream_ingest_manager.go rename to pkg/ccl/streamingccl/streamingest/stream_ingest_manager.go index 33723c44dd79..ab7b3ae1220d 100644 --- a/pkg/ccl/crosscluster/physical/stream_ingest_manager.go +++ b/pkg/ccl/streamingccl/streamingest/stream_ingest_manager.go @@ -6,14 +6,14 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "context" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationutils" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" "github.com/cockroachdb/cockroach/pkg/ccl/revertccl" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/replicationutils" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamclient" "github.com/cockroachdb/cockroach/pkg/ccl/utilccl" "github.com/cockroachdb/cockroach/pkg/jobs" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" diff --git a/pkg/ccl/crosscluster/physical/stream_ingestion_dist.go b/pkg/ccl/streamingccl/streamingest/stream_ingestion_dist.go similarity index 87% rename from pkg/ccl/crosscluster/physical/stream_ingestion_dist.go rename to pkg/ccl/streamingccl/streamingest/stream_ingestion_dist.go index 5b27b340fca8..19be0c9b681e 100644 --- a/pkg/ccl/crosscluster/physical/stream_ingestion_dist.go +++ b/pkg/ccl/streamingccl/streamingest/stream_ingestion_dist.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "context" @@ -16,10 +16,9 @@ import ( "github.com/cockroachdb/cockroach/pkg/base" "github.com/cockroachdb/cockroach/pkg/ccl/backupccl" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationutils" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" "github.com/cockroachdb/cockroach/pkg/ccl/revertccl" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamclient" "github.com/cockroachdb/cockroach/pkg/jobs" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" "github.com/cockroachdb/cockroach/pkg/jobs/jobsprofiler" @@ -63,8 +62,12 @@ func startDistIngestion( } // Start from the last checkpoint if it exists. - heartbeatTimestamp := replicationutils.ResolveHeartbeatTime( - replicatedTime, details.ReplicationStartTime, streamProgress.CutoverTime, details.ReplicationTTLSeconds) + var heartbeatTimestamp hlc.Timestamp + if !replicatedTime.IsEmpty() { + heartbeatTimestamp = replicatedTime + } else { + heartbeatTimestamp = initialScanTimestamp + } msg := redact.Sprintf("resuming stream (producer job %d) from %s", streamID, heartbeatTimestamp) if streamProgress.InitialRevertRequired { @@ -143,9 +146,9 @@ func startDistIngestion( ingestionJob.ID()) replanOracle := sql.ReplanOnCustomFunc( - getNodes, + measurePlanChange, func() float64 { - return crosscluster.ReplanThreshold.Get(execCtx.ExecCfg().SV()) + return streamingccl.ReplanThreshold.Get(execCtx.ExecCfg().SV()) }, ) @@ -154,7 +157,7 @@ func startDistIngestion( planner.generatePlan, execCtx, replanOracle, - func() time.Duration { return crosscluster.ReplanFrequency.Get(execCtx.ExecCfg().SV()) }, + func() time.Duration { return streamingccl.ReplanFrequency.Get(execCtx.ExecCfg().SV()) }, ) tracingAggCh := make(chan *execinfrapb.TracingAggregatorEvents) @@ -176,7 +179,7 @@ func startDistIngestion( spanConfigIngestStopper := make(chan struct{}) streamSpanConfigs := func(ctx context.Context) error { - if !crosscluster.ReplicateSpanConfigsEnabled.Get(&execCtx.ExecCfg().Settings.SV) { + if !streamingccl.ReplicateSpanConfigsEnabled.Get(&execCtx.ExecCfg().Settings.SV) { log.Warningf(ctx, "span config replication is disabled") return nil } @@ -339,7 +342,7 @@ func createInitialSplits( destNodeCount int, destTenantID roachpb.TenantID, ) error { - ctx, sp := tracing.ChildSpan(ctx, "physical.createInitialSplits") + ctx, sp := tracing.ChildSpan(ctx, "streamingest.createInitialSplits") defer sp.Finish() rekeyer, err := backupccl.MakeKeyRewriterFromRekeys(codec, @@ -370,21 +373,11 @@ func createInitialSplits( return grp.Wait() } -// Spans are filled from left to right during the initial scan. Each might cover -// many (10-100+) source ranges merged to a single span by PartitionSpans, that -// could take multiple minutes to fill, so a span later in spans might be filled -// until minutes or hours later than one earlier in spans. Thus we want to give -// later splits longer enforcement times as we know that they may not be filled -// for longer, and we do not want them being merged away before we fill them. -const baseSplitExpiration = time.Hour * 6 -const extraExpirationPerSpan = time.Minute * 10 -const maxSplitExpiration = time.Hour * 24 * 7 - func splitAndScatterWorker( spans []roachpb.Span, rekeyer *backupccl.KeyRewriter, splitter splitAndScatterer, ) func(ctx context.Context) error { return func(ctx context.Context) error { - for spanNum, span := range spans { + for _, span := range spans { startKey := span.Key.Clone() splitKey, _, err := rekeyer.RewriteTenant(startKey) if err != nil { @@ -412,8 +405,7 @@ func splitAndScatterWorker( // splitKey = newSplitKey // } // - addedExpiration := time.Duration(spanNum) * extraExpirationPerSpan - if err := splitAndScatter(ctx, splitKey, splitter, addedExpiration); err != nil { + if err := splitAndScatter(ctx, splitKey, splitter); err != nil { return err } @@ -422,11 +414,13 @@ func splitAndScatterWorker( } } +var splitAndScatterSitckyBitDuration = time.Hour + func splitAndScatter( - ctx context.Context, splitAndScatterKey roachpb.Key, s splitAndScatterer, extra time.Duration, + ctx context.Context, splitAndScatterKey roachpb.Key, s splitAndScatterer, ) error { log.VInfof(ctx, 1, "splitting and scattering at %s", splitAndScatterKey) - expirationTime := s.now().AddDuration(min(baseSplitExpiration+extra, maxSplitExpiration)) + expirationTime := s.now().AddDuration(splitAndScatterSitckyBitDuration) if err := s.split(ctx, splitAndScatterKey, expirationTime); err != nil { return err } @@ -507,7 +501,7 @@ func (p *replicationFlowPlanner) constructPlanGenerator( return func(ctx context.Context, dsp *sql.DistSQLPlanner) (*sql.PhysicalPlan, *sql.PlanningCtx, error) { log.Infof(ctx, "generating DistSQL plan candidate") streamID := streampb.StreamID(details.StreamID) - topology, err := client.PlanPhysicalReplication(ctx, streamID) + topology, err := client.Plan(ctx, streamID) if err != nil { return nil, nil, err } @@ -524,13 +518,14 @@ func (p *replicationFlowPlanner) constructPlanGenerator( p.initialDestinationNodes = sqlInstanceIDs } - destNodeLocalities, err := GetDestNodeLocalities(ctx, dsp, sqlInstanceIDs) + destNodeLocalities, err := getDestNodeLocalities(ctx, dsp, sqlInstanceIDs) if err != nil { return nil, nil, err } streamIngestionSpecs, streamIngestionFrontierSpec, err := constructStreamIngestionPlanSpecs( ctx, + streamingccl.StreamAddress(details.StreamAddress), topology, destNodeLocalities, initialScanTimestamp, @@ -585,36 +580,62 @@ func (p *replicationFlowPlanner) constructPlanGenerator( } } -func getNodes(plan *sql.PhysicalPlan) (src, dst map[string]struct{}, nodeCount int) { - dst = make(map[string]struct{}) - src = make(map[string]struct{}) - count := 0 - for _, proc := range plan.Processors { - if proc.Spec.Core.StreamIngestionData == nil { - // Skip other processors in the plan (like the Frontier processor). - continue - } - if _, ok := dst[proc.SQLInstanceID.String()]; !ok { - dst[proc.SQLInstanceID.String()] = struct{}{} - count += 1 - } - for id := range proc.Spec.Core.StreamIngestionData.PartitionSpecs { - if _, ok := src[id]; !ok { - src[id] = struct{}{} +// measurePlanChange computes the number of node changes (addition or removal) +// in the source and destination clusters as a fraction of the total number of +// nodes in both clusters in the previous plan. +func measurePlanChange(before, after *sql.PhysicalPlan) float64 { + + getNodes := func(plan *sql.PhysicalPlan) (src, dst map[string]struct{}, nodeCount int) { + dst = make(map[string]struct{}) + src = make(map[string]struct{}) + count := 0 + for _, proc := range plan.Processors { + if proc.Spec.Core.StreamIngestionData == nil { + // Skip other processors in the plan (like the Frontier processor). + continue + } + if _, ok := dst[proc.SQLInstanceID.String()]; !ok { + dst[proc.SQLInstanceID.String()] = struct{}{} count += 1 } + for id := range proc.Spec.Core.StreamIngestionData.PartitionSpecs { + if _, ok := src[id]; !ok { + src[id] = struct{}{} + count += 1 + } + } } + return src, dst, count } - return src, dst, count + + countMissingElements := func(set1, set2 map[string]struct{}) int { + diff := 0 + for id := range set1 { + if _, ok := set2[id]; !ok { + diff++ + } + } + return diff + } + + oldSrc, oldDst, oldCount := getNodes(before) + newSrc, newDst, _ := getNodes(after) + diff := 0 + // To check for both introduced nodes and removed nodes, swap input order. + diff += countMissingElements(oldSrc, newSrc) + diff += countMissingElements(newSrc, oldSrc) + diff += countMissingElements(oldDst, newDst) + diff += countMissingElements(newDst, oldDst) + return float64(diff) / float64(oldCount) } -type PartitionWithCandidates struct { - Partition streamclient.PartitionInfo - ClosestDestIDs []base.SQLInstanceID +type partitionWithCandidates struct { + partition streamclient.PartitionInfo + closestDestIDs []base.SQLInstanceID sharedPrefixLength int } -type candidatesByPriority []PartitionWithCandidates +type candidatesByPriority []partitionWithCandidates func (a candidatesByPriority) Len() int { return len(a) } func (a candidatesByPriority) Swap(i, j int) { a[i], a[j] = a[j], a[i] } @@ -635,11 +656,11 @@ func (a candidatesByPriority) Less(i, j int) bool { // as only US matches with the src node's locality. // // - Prioritize matching src nodes with a higher locality match count, via the -// FindSourceNodePriority() function. +// findSourceNodePriority() function. // // - While we have src nodes left to match, match the highest priority src node // to the dst node candidate that has the fewest matches already, via the -// FindMatch() function. +// findMatch() function. type nodeMatcher struct { destMatchCount map[base.SQLInstanceID]int @@ -647,7 +668,7 @@ type nodeMatcher struct { destNodeToLocality map[base.SQLInstanceID]roachpb.Locality } -func MakeNodeMatcher(destNodesInfo []sql.InstanceLocality) *nodeMatcher { +func makeNodeMatcher(destNodesInfo []sql.InstanceLocality) *nodeMatcher { nodeToLocality := make(map[base.SQLInstanceID]roachpb.Locality, len(destNodesInfo)) for _, node := range destNodesInfo { nodeToLocality[node.GetInstanceID()] = node.GetLocality() @@ -659,15 +680,19 @@ func MakeNodeMatcher(destNodesInfo []sql.InstanceLocality) *nodeMatcher { } } -func (nm *nodeMatcher) DestNodeToLocality(id base.SQLInstanceID) roachpb.Locality { - return nm.destNodeToLocality[id] +func (nm *nodeMatcher) destNodeIDs() []base.SQLInstanceID { + allDestNodeIDs := make([]base.SQLInstanceID, 0, len(nm.destNodesInfo)) + for _, info := range nm.destNodesInfo { + allDestNodeIDs = append(allDestNodeIDs, info.GetInstanceID()) + } + return allDestNodeIDs } -// FindSourceNodePriority finds the closest dest nodes for each source node and +// findSourceNodePriority finds the closest dest nodes for each source node and // returns a list of (source node, dest node match candidates) pairs ordered by // matching priority. A source node is earlier (higher priority) in the list if // it shares more locality tiers with their destination node match candidates. -func (nm *nodeMatcher) FindSourceNodePriority(topology streamclient.Topology) candidatesByPriority { +func (nm *nodeMatcher) findSourceNodePriority(topology streamclient.Topology) candidatesByPriority { allDestNodeIDs := nm.destNodeIDs() candidates := make(candidatesByPriority, 0, len(topology.Partitions)) @@ -677,9 +702,9 @@ func (nm *nodeMatcher) FindSourceNodePriority(topology streamclient.Topology) ca if sharedPrefixLength == 0 { closestDestIDs = allDestNodeIDs } - candidate := PartitionWithCandidates{ - Partition: partition, - ClosestDestIDs: closestDestIDs, + candidate := partitionWithCandidates{ + partition: partition, + closestDestIDs: closestDestIDs, sharedPrefixLength: sharedPrefixLength, } candidates = append(candidates, candidate) @@ -689,16 +714,8 @@ func (nm *nodeMatcher) FindSourceNodePriority(topology streamclient.Topology) ca return candidates } -func (nm *nodeMatcher) destNodeIDs() []base.SQLInstanceID { - allDestNodeIDs := make([]base.SQLInstanceID, 0, len(nm.destNodesInfo)) - for _, info := range nm.destNodesInfo { - allDestNodeIDs = append(allDestNodeIDs, info.GetInstanceID()) - } - return allDestNodeIDs -} - -// FindMatch returns the destination node id with the fewest src node matches from the input list. -func (nm *nodeMatcher) FindMatch(destIDCandidates []base.SQLInstanceID) base.SQLInstanceID { +// findMatch returns the destination node id with the fewest src node matches from the input list. +func (nm *nodeMatcher) findMatch(destIDCandidates []base.SQLInstanceID) base.SQLInstanceID { minCount := math.MaxInt currentMatch := base.SQLInstanceID(0) @@ -713,7 +730,7 @@ func (nm *nodeMatcher) FindMatch(destIDCandidates []base.SQLInstanceID) base.SQL return currentMatch } -func GetDestNodeLocalities( +func getDestNodeLocalities( ctx context.Context, dsp *sql.DistSQLPlanner, instanceIDs []base.SQLInstanceID, ) ([]sql.InstanceLocality, error) { @@ -731,6 +748,7 @@ func GetDestNodeLocalities( func constructStreamIngestionPlanSpecs( ctx context.Context, + streamAddress streamingccl.StreamAddress, topology streamclient.Topology, destSQLInstances []sql.InstanceLocality, initialScanTimestamp hlc.Timestamp, @@ -753,6 +771,7 @@ func constructStreamIngestionPlanSpecs( PreviousReplicatedTimestamp: previousReplicatedTimestamp, InitialScanTimestamp: initialScanTimestamp, Checkpoint: checkpoint, // TODO: Only forward relevant checkpoint info + StreamAddress: string(streamAddress), PartitionSpecs: make(map[string]execinfrapb.StreamIngestionPartitionSpec), TenantRekey: execinfrapb.TenantRekey{ OldID: sourceTenantID, @@ -763,16 +782,16 @@ func constructStreamIngestionPlanSpecs( streamIngestionSpecs := make(map[base.SQLInstanceID][]execinfrapb.StreamIngestionDataSpec, len(destSQLInstances)) // Update stream ingestion specs with their matched source node. - matcher := MakeNodeMatcher(destSQLInstances) - for _, candidate := range matcher.FindSourceNodePriority(topology) { - destID := matcher.FindMatch(candidate.ClosestDestIDs) + matcher := makeNodeMatcher(destSQLInstances) + for _, candidate := range matcher.findSourceNodePriority(topology) { + destID := matcher.findMatch(candidate.closestDestIDs) log.Infof(ctx, "physical replication src-dst pair candidate: %s (locality %s) - %d ("+ "locality %s)", - candidate.Partition.ID, - candidate.Partition.SrcLocality, + candidate.partition.ID, + candidate.partition.SrcLocality, destID, - matcher.DestNodeToLocality(destID)) - partition := candidate.Partition + matcher.destNodeToLocality[destID]) + partition := candidate.partition spec := baseSpec spec.PartitionSpecs = map[string]execinfrapb.StreamIngestionPartitionSpec{ @@ -790,6 +809,9 @@ func constructStreamIngestionPlanSpecs( } tenantSpan := keys.MakeTenantSpan(sourceTenantID) + if sourceTenantID == roachpb.SystemTenantID { + tenantSpan = roachpb.Span{Key: keys.TableDataMin, EndKey: keys.TableDataMax} + } if !spanGroup.Encloses(tenantSpan) { return nil, nil, errors.AssertionFailedf("span %s not covered by %s", tenantSpan, spanGroup.Slice()) } diff --git a/pkg/ccl/crosscluster/physical/stream_ingestion_dist_test.go b/pkg/ccl/streamingccl/streamingest/stream_ingestion_dist_test.go similarity index 98% rename from pkg/ccl/crosscluster/physical/stream_ingestion_dist_test.go rename to pkg/ccl/streamingccl/streamingest/stream_ingestion_dist_test.go index 68390032ca1b..1e3ff21e959a 100644 --- a/pkg/ccl/crosscluster/physical/stream_ingestion_dist_test.go +++ b/pkg/ccl/streamingccl/streamingest/stream_ingestion_dist_test.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "context" @@ -16,7 +16,8 @@ import ( "testing" "github.com/cockroachdb/cockroach/pkg/base" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamclient" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" "github.com/cockroachdb/cockroach/pkg/keys" "github.com/cockroachdb/cockroach/pkg/repstream/streampb" @@ -134,7 +135,7 @@ func TestMeasurePlanChange(t *testing.T) { }, } { t.Run(tc.name, func(t *testing.T) { - frac := sql.MeasurePlanChange(&tc.before, &tc.after, getNodes) + frac := measurePlanChange(&tc.before, &tc.after) require.Equal(t, tc.frac, frac) }) } @@ -323,8 +324,10 @@ func TestSourceDestMatching(t *testing.T) { }, } { t.Run(tc.name, func(t *testing.T) { + fakeStreamAddress := streamingccl.StreamAddress("") sipSpecs, _, err := constructStreamIngestionPlanSpecs( ctx, + fakeStreamAddress, fakeTopology(tc.srcNodes, keys.MakeTenantSpan(roachpb.TenantID{InternalValue: 2})), tc.dstNodes, hlc.Timestamp{}, diff --git a/pkg/ccl/crosscluster/physical/stream_ingestion_frontier_processor.go b/pkg/ccl/streamingccl/streamingest/stream_ingestion_frontier_processor.go similarity index 72% rename from pkg/ccl/crosscluster/physical/stream_ingestion_frontier_processor.go rename to pkg/ccl/streamingccl/streamingest/stream_ingestion_frontier_processor.go index 74d518bc52cf..795149253fcd 100644 --- a/pkg/ccl/crosscluster/physical/stream_ingestion_frontier_processor.go +++ b/pkg/ccl/streamingccl/streamingest/stream_ingestion_frontier_processor.go @@ -6,27 +6,26 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "context" "time" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationutils" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamclient" "github.com/cockroachdb/cockroach/pkg/jobs" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" - "github.com/cockroachdb/cockroach/pkg/multitenant/mtinfopb" "github.com/cockroachdb/cockroach/pkg/repstream/streampb" "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/sql" + "github.com/cockroachdb/cockroach/pkg/settings" "github.com/cockroachdb/cockroach/pkg/sql/execinfra" "github.com/cockroachdb/cockroach/pkg/sql/execinfrapb" "github.com/cockroachdb/cockroach/pkg/sql/isql" "github.com/cockroachdb/cockroach/pkg/sql/rowenc" "github.com/cockroachdb/cockroach/pkg/sql/rowexec" "github.com/cockroachdb/cockroach/pkg/sql/sem/tree" + "github.com/cockroachdb/cockroach/pkg/util/ctxgroup" "github.com/cockroachdb/cockroach/pkg/util/hlc" "github.com/cockroachdb/cockroach/pkg/util/log" "github.com/cockroachdb/cockroach/pkg/util/protoutil" @@ -47,8 +46,9 @@ const ( type streamIngestionFrontier struct { execinfra.ProcessorBase - spec execinfrapb.StreamIngestionFrontierSpec - alloc tree.DatumAlloc + flowCtx *execinfra.FlowCtx + spec execinfrapb.StreamIngestionFrontierSpec + alloc tree.DatumAlloc // input returns rows from one or more streamIngestion processors. input execinfra.RowSource @@ -60,10 +60,9 @@ type streamIngestionFrontier struct { // metrics are monitoring all running ingestion jobs. metrics *Metrics - client streamclient.Client // heartbeatSender sends heartbeats to the source cluster to keep the replication // stream alive. - heartbeatSender *streamclient.HeartbeatSender + heartbeatSender *heartbeatSender // replicatedTimeAtStart is the job's replicated time when // this processor started. It's used in an assertion that we @@ -111,24 +110,18 @@ func newStreamIngestionFrontierProcessor( } } - streamID := streampb.StreamID(spec.StreamID) - streamClient, err := streamclient.GetFirstActiveClient(ctx, - spec.StreamAddresses, - flowCtx.Cfg.DB, - streamclient.WithStreamID(streamID)) + heartbeatSender, err := newHeartbeatSender(ctx, flowCtx, spec) if err != nil { return nil, err } sf := &streamIngestionFrontier{ - spec: spec, - input: input, - replicatedTimeAtStart: spec.ReplicatedTimeAtStart, - frontier: frontier, - metrics: flowCtx.Cfg.JobRegistry.MetricsStruct().StreamIngest.(*Metrics), - client: streamClient, - heartbeatSender: streamclient.NewHeartbeatSender(ctx, streamClient, streamID, func() time.Duration { - return crosscluster.StreamReplicationConsumerHeartbeatFrequency.Get(&flowCtx.Cfg.Settings.SV) - }), + flowCtx: flowCtx, + spec: spec, + input: input, + replicatedTimeAtStart: spec.ReplicatedTimeAtStart, + frontier: frontier, + metrics: flowCtx.Cfg.JobRegistry.MetricsStruct().StreamIngest.(*Metrics), + heartbeatSender: heartbeatSender, persistedReplicatedTime: spec.ReplicatedTimeAtStart, } if err := sf.Init( @@ -157,12 +150,127 @@ func (sf *streamIngestionFrontier) MustBeStreaming() bool { return true } +type heartbeatSender struct { + lastSent time.Time + client streamclient.Client + streamID streampb.StreamID + frontierUpdates chan hlc.Timestamp + frontier hlc.Timestamp + sv *settings.Values + // cg runs the heartbeatSender thread. + cg ctxgroup.Group + // cancel stops heartbeat sender. + cancel func() + // heartbeatSender closes this channel when it stops. + stoppedChan chan struct{} +} + +func newHeartbeatSender( + ctx context.Context, flowCtx *execinfra.FlowCtx, spec execinfrapb.StreamIngestionFrontierSpec, +) (*heartbeatSender, error) { + + streamID := streampb.StreamID(spec.StreamID) + streamClient, err := streamclient.GetFirstActiveClient(ctx, spec.StreamAddresses, flowCtx.Cfg.DB, streamclient.WithStreamID(streamID)) + if err != nil { + return nil, err + } + return &heartbeatSender{ + client: streamClient, + streamID: streamID, + sv: &flowCtx.EvalCtx.Settings.SV, + frontierUpdates: make(chan hlc.Timestamp), + cancel: func() {}, + stoppedChan: make(chan struct{}), + }, nil +} + +func (h *heartbeatSender) maybeHeartbeat( + ctx context.Context, + ts timeutil.TimeSource, + frontier hlc.Timestamp, + heartbeatFrequency time.Duration, +) (bool, streampb.StreamReplicationStatus, error) { + if h.lastSent.Add(heartbeatFrequency).After(ts.Now()) { + return false, streampb.StreamReplicationStatus{}, nil + } + h.lastSent = ts.Now() + s, err := h.client.Heartbeat(ctx, h.streamID, frontier) + return true, s, err +} + +func (h *heartbeatSender) startHeartbeatLoop(ctx context.Context, ts timeutil.TimeSource) { + ctx, cancel := context.WithCancel(ctx) + h.cancel = cancel + h.cg = ctxgroup.WithContext(ctx) + h.cg.GoCtx(func(ctx context.Context) error { + sendHeartbeats := func() error { + // The heartbeat thread send heartbeats when there is a frontier update, + // and it has been a while since last time we sent it, or when we need + // to heartbeat to keep the stream alive even if the frontier has no update. + timer := ts.NewTimer() + timer.Reset(streamingccl.StreamReplicationConsumerHeartbeatFrequency.Get(h.sv)) + defer timer.Stop() + unknownStreamStatusRetryErr := log.Every(1 * time.Minute) + for { + select { + case <-ctx.Done(): + return ctx.Err() + case <-timer.Ch(): + timer.MarkRead() + timer.Reset(streamingccl.StreamReplicationConsumerHeartbeatFrequency.Get(h.sv)) + case frontier := <-h.frontierUpdates: + h.frontier.Forward(frontier) + } + heartbeatFrequency := streamingccl.StreamReplicationConsumerHeartbeatFrequency.Get(h.sv) + sent, streamStatus, err := h.maybeHeartbeat(ctx, ts, h.frontier, heartbeatFrequency) + if err != nil { + log.Errorf(ctx, "replication stream %d received an error from the producer job: %v", h.streamID, err) + continue + } + + if !sent || streamStatus.StreamStatus == streampb.StreamReplicationStatus_STREAM_ACTIVE { + continue + } + + if streamStatus.StreamStatus == streampb.StreamReplicationStatus_UNKNOWN_STREAM_STATUS_RETRY { + if unknownStreamStatusRetryErr.ShouldLog() { + log.Warningf(ctx, "replication stream %d has unknown stream status error and will retry later", h.streamID) + } + continue + } + // The replication stream is either paused or inactive. + return streamingccl.NewStreamStatusErr(h.streamID, streamStatus.StreamStatus) + } + } + err := errors.CombineErrors(sendHeartbeats(), h.client.Close(ctx)) + close(h.stoppedChan) + return err + }) +} + +// Stop the heartbeat loop and returns any error at time of heartbeatSender's exit. +// Can be called multiple times. +func (h *heartbeatSender) stop() error { + h.cancel() + return h.wait() +} + +// Wait for heartbeatSender to be stopped and returns any error. +func (h *heartbeatSender) wait() error { + err := h.cg.Wait() + // We expect to see context cancelled when shutting down. + if errors.Is(err, context.Canceled) { + return nil + } + return err +} + // Start is part of the RowSource interface. func (sf *streamIngestionFrontier) Start(ctx context.Context) { ctx = sf.StartInternal(ctx, streamIngestionFrontierProcName) sf.metrics.RunningCount.Inc(1) sf.input.Start(ctx) - sf.heartbeatSender.Start(ctx, timeutil.DefaultTimeSource{}) + sf.heartbeatSender.startHeartbeatLoop(ctx, timeutil.DefaultTimeSource{}) } // Next is part of the RowSource interface. @@ -211,11 +319,11 @@ func (sf *streamIngestionFrontier) Next() ( // Send the latest heartbeat time in the heartbeat to the source cluster // as even with retries we will never request an earlier row than it, and // the source cluster is free to clean up earlier data. - case sf.heartbeatSender.FrontierUpdates <- sf.heartbeatTime: + case sf.heartbeatSender.frontierUpdates <- sf.heartbeatTime: // If heartbeatSender has error, it means remote has error, we want to // stop the processor. - case <-sf.heartbeatSender.StoppedChan: - err := sf.heartbeatSender.Wait() + case <-sf.heartbeatSender.stoppedChan: + err := sf.heartbeatSender.wait() if err != nil { log.Errorf(sf.Ctx(), "heartbeat sender exited with error: %s", err) } @@ -232,17 +340,11 @@ func (sf *streamIngestionFrontier) MoveToDrainingAndLogError(err error) { } func (sf *streamIngestionFrontier) close() { - if sf.Closed { - return - } defer sf.frontier.Release() - if err := sf.heartbeatSender.Stop(); err != nil { + if err := sf.heartbeatSender.stop(); err != nil { log.Errorf(sf.Ctx(), "heartbeat sender exited with error: %s", err) } - if err := sf.client.Close(sf.Ctx()); err != nil { - log.Errorf(sf.Ctx(), "client exited with error: %s", err) - } if sf.InternalClose() { sf.metrics.RunningCount.Dec(1) } @@ -304,12 +406,12 @@ func (sf *streamIngestionFrontier) noteResolvedTimestamps( // the status of each partition. func (sf *streamIngestionFrontier) maybeUpdateProgress() error { ctx := sf.Ctx() - updateFreq := crosscluster.JobCheckpointFrequency.Get(&sf.FlowCtx.Cfg.Settings.SV) + updateFreq := streamingccl.JobCheckpointFrequency.Get(&sf.flowCtx.Cfg.Settings.SV) if updateFreq == 0 || timeutil.Since(sf.lastPartitionUpdate) < updateFreq { return nil } f := sf.frontier - registry := sf.FlowCtx.Cfg.JobRegistry + registry := sf.flowCtx.Cfg.JobRegistry jobID := jobspb.JobID(sf.spec.JobID) frontierResolvedSpans := make([]jobspb.ResolvedSpan, 0) @@ -319,6 +421,8 @@ func (sf *streamIngestionFrontier) maybeUpdateProgress() error { }) replicatedTime := f.Frontier() + var cutoverTime hlc.Timestamp + sf.lastPartitionUpdate = timeutil.Now() log.VInfof(ctx, 2, "persisting replicated time of %s", replicatedTime) if err := registry.UpdateJobWithTxn(ctx, jobID, nil /* txn */, func( @@ -332,6 +436,8 @@ func (sf *streamIngestionFrontier) maybeUpdateProgress() error { streamProgress := progress.Details.(*jobspb.Progress_StreamIngest).StreamIngest streamProgress.Checkpoint.ResolvedSpans = frontierResolvedSpans + cutoverTime = streamProgress.CutoverTime + // Keep the recorded replicatedTime empty until some advancement has been made if sf.replicatedTimeAtStart.Less(replicatedTime) { streamProgress.ReplicatedTime = replicatedTime @@ -361,39 +467,36 @@ func (sf *streamIngestionFrontier) maybeUpdateProgress() error { return errors.AssertionFailedf("expected replication job to have a protected timestamp " + "record over the destination tenant's keyspan") } - // Only set up the reader tenant once during PCR: when PCR finishes the initial - // scan and persists a replicated time for the first time. - if replicationDetails.ReadTenantID.IsSet() && sf.replicatedTimeAtStart.IsEmpty() && replicatedTime.IsSet() { - readerToActivate := replicationDetails.ReadTenantID - err := sf.activateReaderTenant(ctx, txn, readerToActivate) - if err != nil { - return err - } - } - - ptp := sf.FlowCtx.Cfg.ProtectedTimestampProvider.WithTxn(txn) + ptp := sf.flowCtx.Cfg.ProtectedTimestampProvider.WithTxn(txn) record, err := ptp.GetRecord(ctx, *replicationDetails.ProtectedTimestampRecordID) if err != nil { return err } + newProtectAbove := replicatedTime.Add( + -int64(replicationDetails.ReplicationTTLSeconds)*time.Second.Nanoseconds(), 0) - // No need to protect anything below replication start time. - replicationStartTime := md.Payload.GetStreamIngestion().ReplicationStartTime - newProtectAbove := replicationutils.ResolveHeartbeatTime( - replicatedTime, replicationStartTime, streamProgress.CutoverTime, replicationDetails.ReplicationTTLSeconds) - - sf.heartbeatTime = newProtectAbove + // If we have a CutoverTime set, keep the protected + // timestamp at or below the cutover time. + if !cutoverTime.IsEmpty() && cutoverTime.Less(newProtectAbove) { + newProtectAbove = cutoverTime + } if record.Timestamp.Less(newProtectAbove) { return ptp.UpdateTimestamp(ctx, *replicationDetails.ProtectedTimestampRecordID, newProtectAbove) } + return nil }); err != nil { return err } - sf.metrics.JobProgressUpdates.Inc(1) sf.persistedReplicatedTime = f.Frontier() + + if cutoverTime.IsEmpty() || sf.persistedReplicatedTime.Less(cutoverTime) { + sf.heartbeatTime = sf.persistedReplicatedTime + } else { + sf.heartbeatTime = cutoverTime + } sf.metrics.ReplicatedTimeSeconds.Update(sf.persistedReplicatedTime.GoTime().Unix()) return nil } @@ -404,7 +507,7 @@ func (sf *streamIngestionFrontier) maybeUpdateProgress() error { // we always persist the entries to the same info key and so we never have more // than one row describing the state of the frontier at a given point in time. func (sf *streamIngestionFrontier) maybePersistFrontierEntries() error { - dumpFreq := crosscluster.DumpFrontierEntries.Get(&sf.FlowCtx.Cfg.Settings.SV) + dumpFreq := streamingccl.DumpFrontierEntries.Get(&sf.FlowCtx.Cfg.Settings.SV) if dumpFreq == 0 || timeutil.Since(sf.lastFrontierDump) < dumpFreq { return nil } @@ -439,8 +542,8 @@ func (sf *streamIngestionFrontier) maybeCheckForLaggingNodes() error { // We halve the frequency relative to the ReplanFrequency setting (i.e. // check twice as often), because the node lag checker will only restart the // distSQL plan if a node is lagging for 2 checks in a row. - checkFreq := crosscluster.ReplanFrequency.Get(&sf.FlowCtx.Cfg.Settings.SV) / 2 - maxLag := crosscluster.InterNodeLag.Get(&sf.FlowCtx.Cfg.Settings.SV) + checkFreq := streamingccl.ReplanFrequency.Get(&sf.FlowCtx.Cfg.Settings.SV) / 2 + maxLag := streamingccl.InterNodeLag.Get(&sf.FlowCtx.Cfg.Settings.SV) if sf.persistedReplicatedTime.IsEmpty() { log.VEvent(ctx, 2, "skipping lag replanning check: no persisted replicated time") return nil @@ -481,17 +584,3 @@ func (sf *streamIngestionFrontier) handleLaggingNodeError(ctx context.Context, e return errors.Wrapf(err, "unable to handle replanning error with replicated time %s and last node lag check replicated time %s", sf.persistedReplicatedTime, sf.replicatedTimeAtLastPositiveLagNodeCheck) } } - -func (sf *streamIngestionFrontier) activateReaderTenant( - ctx context.Context, txn isql.Txn, readerToActivate roachpb.TenantID, -) error { - info, err := sql.GetTenantRecordByID(ctx, txn, readerToActivate, sf.FlowCtx.Cfg.Settings) - if err != nil { - return err - } - - info.DataState = mtinfopb.DataStateReady - info.ServiceMode = mtinfopb.ServiceModeShared - - return sql.UpdateTenantRecord(ctx, sf.FlowCtx.Cfg.Settings, txn, info) -} diff --git a/pkg/ccl/streamingccl/streamingest/stream_ingestion_frontier_processor_test.go b/pkg/ccl/streamingccl/streamingest/stream_ingestion_frontier_processor_test.go new file mode 100644 index 000000000000..209efe2d0b24 --- /dev/null +++ b/pkg/ccl/streamingccl/streamingest/stream_ingestion_frontier_processor_test.go @@ -0,0 +1,229 @@ +// Copyright 2023 The Cockroach Authors. +// +// Licensed as a CockroachDB Enterprise file under the Cockroach Community +// License (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt + +package streamingest + +import ( + "context" + "testing" + "time" + + "github.com/cockroachdb/cockroach/pkg/repstream/streampb" + "github.com/cockroachdb/cockroach/pkg/settings" + "github.com/cockroachdb/cockroach/pkg/util/hlc" + "github.com/cockroachdb/cockroach/pkg/util/leaktest" + "github.com/cockroachdb/cockroach/pkg/util/log" + "github.com/cockroachdb/cockroach/pkg/util/timeutil" + "github.com/cockroachdb/errors" + "github.com/stretchr/testify/require" +) + +func (h *heartbeatSender) getMockClient() *mockStreamClient { + return h.client.(*mockStreamClient) +} + +func TestHeartbeatSender(t *testing.T) { + defer leaktest.AfterTest(t)() + defer log.Scope(t).Close(t) + + ctx := context.Background() + + mt := timeutil.NewManualTime(timeutil.Now()) + hbs := &heartbeatSender{ + lastSent: timeutil.Now().Add(-2 * time.Second), + client: &mockStreamClient{}, + } + + done, _, err := hbs.maybeHeartbeat(ctx, mt, hlc.Timestamp{WallTime: timeutil.Now().UnixNano()}, time.Second) + require.NoError(t, err) + require.True(t, done) + + done, _, err = hbs.maybeHeartbeat(ctx, mt, hlc.Timestamp{WallTime: timeutil.Now().UnixNano()}, time.Second) + require.NoError(t, err) + require.False(t, done) + + mt.Advance(2 * time.Second) + + e := errors.New("heartbeat test error") + hbs.getMockClient().heartbeatErr = e + done, _, err = hbs.maybeHeartbeat(ctx, mt, hlc.Timestamp{WallTime: timeutil.Now().UnixNano()}, time.Second) + require.ErrorIs(t, err, e) + require.True(t, done) +} + +func TestHeartbeatLoop(t *testing.T) { + defer leaktest.AfterTest(t)() + defer log.Scope(t).Close(t) + + ctx := context.Background() + heartbeatCh := make(chan struct{}) + + type testCase struct { + // err (currently all errors) should be retryable and not exit the heartbeat loop. + err error + status streampb.StreamReplicationStatus_StreamStatus + expectedRetry bool + expectedErr string + } + + for _, tc := range []testCase{ + { + err: errors.New("heartbeat test error"), + status: streampb.StreamReplicationStatus_STREAM_INACTIVE, + expectedRetry: true, + expectedErr: "", + }, + { + err: nil, + status: streampb.StreamReplicationStatus_STREAM_ACTIVE, + expectedRetry: true, + expectedErr: "", + }, + { + err: nil, + status: streampb.StreamReplicationStatus_UNKNOWN_STREAM_STATUS_RETRY, + expectedRetry: true, + expectedErr: "", + }, + { + err: nil, + status: streampb.StreamReplicationStatus_STREAM_INACTIVE, + expectedRetry: false, + expectedErr: "replication stream 7 is not running, status is STREAM_INACTIVE", + }, + { + err: nil, + status: streampb.StreamReplicationStatus_STREAM_PAUSED, + expectedRetry: false, + expectedErr: "replication stream 7 is not running, status is STREAM_PAUSED", + }, + } { + if tc.expectedRetry { + // Test cases should not have an error set if a retry is expected. + require.Empty(t, tc.expectedErr) + } else { + // Test cases must have an error set because a retry is not expected. + require.NotEmpty(t, tc.expectedErr) + } + retryCount := 0 + onHeartbeat := func() (streampb.StreamReplicationStatus, error) { + heartbeatCh <- struct{}{} + defer func() { retryCount++ }() + if tc.expectedRetry { + // We have an error that will be retried forever, which is ok, but we + // need to make sure the test finishes, so we're retuning an INACTIVE + // status on the second execution. + if retryCount == 0 { + return streampb.StreamReplicationStatus{StreamStatus: tc.status}, tc.err + } + return streampb.StreamReplicationStatus{StreamStatus: streampb.StreamReplicationStatus_STREAM_INACTIVE}, nil + } else { + // The error should not be retried, verified Heartbeat was called only once. + require.Equal(t, 0, retryCount) + return streampb.StreamReplicationStatus{StreamStatus: tc.status}, tc.err + } + } + mt := timeutil.NewManualTime(timeutil.Now()) + hbs := &heartbeatSender{ + lastSent: timeutil.Now().Add(-2 * time.Second), + client: &mockStreamClient{}, + streamID: 7, + sv: &settings.Values{}, + stoppedChan: make(chan struct{}), + } + + hbs.getMockClient().onHeartbeat = onHeartbeat + hbs.startHeartbeatLoop(ctx, mt) + // Heartbeat should be called at least once. + <-heartbeatCh + if tc.expectedRetry { + // We're expecting a retry, therefore Heartbeat should be called again. + <-heartbeatCh + // Sanity check - make sure we see the error we use in order to end the infinite retries. + require.ErrorContains(t, hbs.wait(), "replication stream 7 is not running, status is STREAM_INACTIVE") + } else { + // No retry, we should get the expected error. + require.ErrorContains(t, hbs.wait(), tc.expectedErr) + } + } +} + +func TestLaggingNodeErrorHandler(t *testing.T) { + defer leaktest.AfterTest(t)() + defer log.Scope(t).Close(t) + + ctx := context.Background() + + type testCase struct { + name string + replicatedTime int64 + previousReplicatedTimeOnLag int64 + inputLagErr error + + expectedNewReplicatedTimeOnLag int64 + expectedErrMsg string + } + + for _, tc := range []testCase{ + { + name: "no more lag", + previousReplicatedTimeOnLag: 1, + expectedNewReplicatedTimeOnLag: 0, + }, + { + name: "new lag", + previousReplicatedTimeOnLag: 0, + replicatedTime: 1, + expectedNewReplicatedTimeOnLag: 1, + inputLagErr: ErrNodeLagging, + }, + { + name: "repeated lag, no hwm advance", + previousReplicatedTimeOnLag: 1, + replicatedTime: 1, + expectedNewReplicatedTimeOnLag: 1, + inputLagErr: ErrNodeLagging, + expectedErrMsg: ErrNodeLagging.Error(), + }, + { + name: "repeated lag, with hwm advance", + previousReplicatedTimeOnLag: 1, + replicatedTime: 2, + expectedNewReplicatedTimeOnLag: 2, + inputLagErr: ErrNodeLagging, + }, + { + name: "non lag error", + inputLagErr: errors.New("unexpected"), + expectedErrMsg: "unexpected", + }, + { + name: "unhandlable lag error", + previousReplicatedTimeOnLag: 2, + replicatedTime: 1, + expectedNewReplicatedTimeOnLag: 2, + inputLagErr: ErrNodeLagging, + expectedErrMsg: "unable to handle replanning", + }, + } { + tc := tc + t.Run(tc.name, func(t *testing.T) { + sf := streamIngestionFrontier{ + persistedReplicatedTime: hlc.Timestamp{WallTime: tc.replicatedTime}, + replicatedTimeAtLastPositiveLagNodeCheck: hlc.Timestamp{WallTime: tc.previousReplicatedTimeOnLag}, + } + err := sf.handleLaggingNodeError(ctx, tc.inputLagErr) + if tc.expectedErrMsg == "" { + require.NoError(t, err) + } else { + require.ErrorContains(t, err, tc.expectedErrMsg) + } + require.Equal(t, hlc.Timestamp{WallTime: tc.expectedNewReplicatedTimeOnLag}, sf.replicatedTimeAtLastPositiveLagNodeCheck) + }) + } +} diff --git a/pkg/ccl/crosscluster/physical/stream_ingestion_job.go b/pkg/ccl/streamingccl/streamingest/stream_ingestion_job.go similarity index 98% rename from pkg/ccl/crosscluster/physical/stream_ingestion_job.go rename to pkg/ccl/streamingccl/streamingest/stream_ingestion_job.go index c56eb6905b19..70e8a559e26c 100644 --- a/pkg/ccl/crosscluster/physical/stream_ingestion_job.go +++ b/pkg/ccl/streamingccl/streamingest/stream_ingestion_job.go @@ -6,17 +6,17 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "context" "fmt" "time" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/producer" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationutils" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" "github.com/cockroachdb/cockroach/pkg/ccl/revertccl" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/replicationutils" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamclient" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamproducer" "github.com/cockroachdb/cockroach/pkg/jobs" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" "github.com/cockroachdb/cockroach/pkg/jobs/jobsprotectedts" @@ -28,7 +28,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/server/telemetry" "github.com/cockroachdb/cockroach/pkg/settings/cluster" "github.com/cockroachdb/cockroach/pkg/sql" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/descs" "github.com/cockroachdb/cockroach/pkg/sql/isql" "github.com/cockroachdb/cockroach/pkg/sql/sem/eval" bulkutil "github.com/cockroachdb/cockroach/pkg/util/bulk" @@ -72,7 +71,7 @@ func getStreamAddresses(ctx context.Context, ingestionJob *jobs.Job) []string { } func connectToActiveClient( - ctx context.Context, ingestionJob *jobs.Job, db descs.DB, opts ...streamclient.Option, + ctx context.Context, ingestionJob *jobs.Job, db isql.DB, opts ...streamclient.Option, ) (streamclient.Client, error) { streamAddresses := getStreamAddresses(ctx, ingestionJob) client, err := streamclient.GetFirstActiveClient(ctx, streamAddresses, db, opts...) @@ -186,7 +185,7 @@ func startPostCutoverRetentionJob( req := streampb.ReplicationProducerRequest{ ReplicationStartTime: cutoverTime, } - _, err = producer.StartReplicationProducerJob(ctx, evalCtx, txn, info.Name, req, true) + _, err = streamproducer.StartReplicationProducerJob(ctx, evalCtx, txn, info.Name, req, true) return err }) } @@ -431,7 +430,7 @@ func maybeRevertToCutoverTimestamp( ctx context.Context, p sql.JobExecContext, ingestionJob *jobs.Job, ) (hlc.Timestamp, bool, error) { - ctx, span := tracing.ChildSpan(ctx, "physical.revertToCutoverTimestamp") + ctx, span := tracing.ChildSpan(ctx, "streamingest.revertToCutoverTimestamp") defer span.Finish() // The update below sets the ReplicationStatus to diff --git a/pkg/ccl/crosscluster/physical/stream_ingestion_job_test.go b/pkg/ccl/streamingccl/streamingest/stream_ingestion_job_test.go similarity index 95% rename from pkg/ccl/crosscluster/physical/stream_ingestion_job_test.go rename to pkg/ccl/streamingccl/streamingest/stream_ingestion_job_test.go index 49b804e548e4..e54ec7af9476 100644 --- a/pkg/ccl/crosscluster/physical/stream_ingestion_job_test.go +++ b/pkg/ccl/streamingccl/streamingest/stream_ingestion_job_test.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "context" @@ -17,9 +17,9 @@ import ( "github.com/cockroachdb/cockroach/pkg/base" _ "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl" - _ "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/producer" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationtestutils" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationutils" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/replicationtestutils" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/replicationutils" + _ "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamproducer" "github.com/cockroachdb/cockroach/pkg/jobs" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" "github.com/cockroachdb/cockroach/pkg/keys" @@ -38,7 +38,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/hlc" "github.com/cockroachdb/cockroach/pkg/util/leaktest" "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/cockroach/pkg/util/randutil" "github.com/cockroachdb/cockroach/pkg/util/timeutil" "github.com/cockroachdb/errors" "github.com/stretchr/testify/require" @@ -205,25 +204,14 @@ func TestTenantStreamingFailback(t *testing.T) { _, consumerGJobID := replicationtestutils.GetStreamJobIds(t, ctx, sqlB, roachpb.TenantName("g")) var ts1 string sqlA.QueryRow(t, "SELECT cluster_logical_timestamp()").Scan(&ts1) + t.Logf("waiting for g@%s", ts1) + replicationtestutils.WaitUntilReplicatedTime(t, + replicationtestutils.DecimalTimeToHLC(t, ts1), + sqlB, + jobspb.JobID(consumerGJobID)) - // Randomize query execution to verify fast failback works for both - // `COMPLETE REPLICATION TO LATEST` and `COMPLETE REPLICATION TO SYSTEM TIME` - rng, _ := randutil.NewPseudoRand() - if rng.Intn(2) == 0 { - t.Logf("waiting for g@%s", ts1) - replicationtestutils.WaitUntilReplicatedTime(t, - replicationtestutils.DecimalTimeToHLC(t, ts1), - sqlB, - jobspb.JobID(consumerGJobID)) - - t.Logf("completing replication on g@%s", ts1) - sqlB.Exec(t, fmt.Sprintf("ALTER VIRTUAL CLUSTER g COMPLETE REPLICATION TO SYSTEM TIME '%s'", ts1)) - } else { - t.Log("waiting for initial scan on g") - replicationtestutils.WaitUntilStartTimeReached(t, sqlB, jobspb.JobID(consumerGJobID)) - t.Log("completing replication on g to latest") - sqlB.Exec(t, "ALTER VIRTUAL CLUSTER g COMPLETE REPLICATION TO LATEST") - } + t.Logf("completing replication on g@%s", ts1) + sqlB.Exec(t, fmt.Sprintf("ALTER VIRTUAL CLUSTER g COMPLETE REPLICATION TO SYSTEM TIME '%s'", ts1)) jobutils.WaitForJobToSucceed(t, sqlB, jobspb.JobID(consumerGJobID)) compareAtTimetamp(ts1) diff --git a/pkg/ccl/crosscluster/physical/stream_ingestion_manager_test.go b/pkg/ccl/streamingccl/streamingest/stream_ingestion_manager_test.go similarity index 98% rename from pkg/ccl/crosscluster/physical/stream_ingestion_manager_test.go rename to pkg/ccl/streamingccl/streamingest/stream_ingestion_manager_test.go index 71b15c8fc927..cdc82b3222cb 100644 --- a/pkg/ccl/crosscluster/physical/stream_ingestion_manager_test.go +++ b/pkg/ccl/streamingccl/streamingest/stream_ingestion_manager_test.go @@ -6,13 +6,12 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "context" gosql "database/sql" "fmt" - "sync/atomic" "testing" "time" @@ -27,6 +26,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/testutils/sqlutils" "github.com/cockroachdb/cockroach/pkg/util/leaktest" "github.com/cockroachdb/cockroach/pkg/util/log" + "github.com/cockroachdb/cockroach/pkg/util/syncutil" "github.com/cockroachdb/errors" "github.com/stretchr/testify/require" ) @@ -135,14 +135,14 @@ func TestRevertTenantToTimestampPTS(t *testing.T) { // We are going to force a GC between installing our PTS and // the processing the first RevertRange request to ensure that // the request still works. - var trapRevertRange atomic.Bool + trapRevertRange := syncutil.AtomicBool(0) waitForRevertRangeStart := make(chan struct{}) allowRevertRange := make(chan struct{}) testingRequestFilter := func(_ context.Context, ba *kvpb.BatchRequest) *kvpb.Error { for _, req := range ba.Requests { if expReq := req.GetRevertRange(); expReq != nil { - if trapRevertRange.Load() { - trapRevertRange.Store(false) + if trapRevertRange.Get() { + trapRevertRange.Set(false) close(waitForRevertRangeStart) <-allowRevertRange } @@ -268,7 +268,7 @@ func TestRevertTenantToTimestampPTS(t *testing.T) { systemSQL.Exec(t, "ALTER VIRTUAL CLUSTER target STOP SERVICE") - trapRevertRange.Store(true) + trapRevertRange.Set(true) errCh := make(chan error) go func() { t.Logf("reverting to %s", ts) diff --git a/pkg/ccl/crosscluster/physical/stream_ingestion_planning.go b/pkg/ccl/streamingccl/streamingest/stream_ingestion_planning.go similarity index 83% rename from pkg/ccl/crosscluster/physical/stream_ingestion_planning.go rename to pkg/ccl/streamingccl/streamingest/stream_ingestion_planning.go index dae9e46b7093..27db38bab22e 100644 --- a/pkg/ccl/crosscluster/physical/stream_ingestion_planning.go +++ b/pkg/ccl/streamingccl/streamingest/stream_ingestion_planning.go @@ -6,13 +6,13 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "context" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamclient" "github.com/cockroachdb/cockroach/pkg/ccl/utilccl" "github.com/cockroachdb/cockroach/pkg/jobs" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" @@ -54,6 +54,7 @@ func streamIngestionJobDescription( ReplicationSourceTenantName: streamIngestion.ReplicationSourceTenantName, ReplicationSourceAddress: tree.NewDString(redactedSourceAddr), Options: streamIngestion.Options, + Like: streamIngestion.Like, } ann := p.ExtendedEvalContext().Annotations return tree.AsStringWithFQNames(redactedCreateStmt, ann), nil @@ -73,6 +74,11 @@ func ingestionTypeCheck( ingestionStmt.ReplicationSourceAddress, ingestionStmt.Options.Retention}, } + if ingestionStmt.Like.OtherTenant != nil { + toTypeCheck = append(toTypeCheck, + exprutil.TenantSpec{TenantSpec: ingestionStmt.Like.OtherTenant}, + ) + } if err := exprutil.TypeCheck(ctx, "INGESTION", p.SemaCtx(), toTypeCheck...); err != nil { return false, nil, err @@ -111,6 +117,15 @@ func ingestionPlanHook( return nil, nil, nil, false, err } + var likeTenantID uint64 + var likeTenantName string + if ingestionStmt.Like.OtherTenant != nil { + _, likeTenantID, likeTenantName, err = exprEval.TenantSpec(ctx, ingestionStmt.Like.OtherTenant) + if err != nil { + return nil, nil, nil, false, err + } + } + evalCtx := &p.ExtendedEvalContext().Context options, err := evalTenantReplicationOptions(ctx, ingestionStmt.Options, exprEval, evalCtx, p.SemaCtx(), createReplicationOp) if err != nil { @@ -144,12 +159,12 @@ func ingestionPlanHook( return err } - streamAddress := crosscluster.StreamAddress(from) + streamAddress := streamingccl.StreamAddress(from) streamURL, err := streamAddress.URL() if err != nil { return err } - streamAddress = crosscluster.StreamAddress(streamURL.String()) + streamAddress = streamingccl.StreamAddress(streamURL.String()) if roachpb.IsSystemTenantName(roachpb.TenantName(dstTenantName)) || roachpb.IsSystemTenantID(dstTenantID) { @@ -160,8 +175,12 @@ func ingestionPlanHook( // If we don't have a resume timestamp, make a new tenant jobID := p.ExecCfg().JobRegistry.MakeJobID() var destinationTenantID roachpb.TenantID - - var tenantInfo mtinfopb.TenantInfoWithUsage + // Determine which template will be used as config template to + // create the new tenant below. + tenantInfo, err := sql.GetTenantTemplate(ctx, p.ExecCfg().Settings, p.InternalSQLTxn(), nil, likeTenantID, likeTenantName) + if err != nil { + return err + } // Create a new tenant for the replication stream. tenantInfo.PhysicalReplicationConsumerJobID = jobID @@ -178,7 +197,7 @@ func ingestionPlanHook( ctx, p.ExecCfg().Codec, p.ExecCfg().Settings, p.InternalSQLTxn(), p.ExecCfg().SpanConfigKVAccessor.WithISQLTxn(ctx, p.InternalSQLTxn()), - &tenantInfo, initialTenantZoneConfig, + tenantInfo, initialTenantZoneConfig, ingestionStmt.IfNotExists, p.ExecCfg().TenantTestingKnobs, ) @@ -190,11 +209,6 @@ func ingestionPlanHook( return nil } - readerID, err := createReaderTenant(ctx, p, tenantInfo, destinationTenantID, options) - if err != nil { - return err - } - // No revert required since this is a new tenant. const noRevertFirst = false @@ -210,7 +224,6 @@ func ingestionPlanHook( noRevertFirst, jobID, ingestionStmt, - readerID, ) } @@ -220,7 +233,7 @@ func ingestionPlanHook( func createReplicationJob( ctx context.Context, p sql.PlanHookState, - streamAddress crosscluster.StreamAddress, + streamAddress streamingccl.StreamAddress, sourceTenant string, destinationTenantID roachpb.TenantID, retentionTTLSeconds int32, @@ -229,7 +242,6 @@ func createReplicationJob( revertFirst bool, jobID jobspb.JobID, stmt *tree.CreateTenantFromReplication, - readerID roachpb.TenantID, ) error { // Create a new stream with stream client. @@ -254,7 +266,7 @@ func createReplicationJob( } } - replicationProducerSpec, err := client.CreateForTenant(ctx, roachpb.TenantName(sourceTenant), req) + replicationProducerSpec, err := client.Create(ctx, roachpb.TenantName(sourceTenant), req) if err != nil { return err } @@ -273,7 +285,6 @@ func createReplicationJob( SourceTenantID: replicationProducerSpec.SourceTenantID, SourceClusterID: replicationProducerSpec.SourceClusterID, ReplicationStartTime: replicationProducerSpec.ReplicationStartTime, - ReadTenantID: readerID, } jobDescription, err := streamIngestionJobDescription(p, string(streamAddress), stmt) @@ -299,45 +310,6 @@ func createReplicationJob( return err } -func createReaderTenant( - ctx context.Context, - p sql.PlanHookState, - tenantInfo mtinfopb.TenantInfoWithUsage, - destinationTenantID roachpb.TenantID, - options *resolvedTenantReplicationOptions, -) (roachpb.TenantID, error) { - var readerID roachpb.TenantID - if options.ReaderTenantEnabled() { - var readerInfo mtinfopb.TenantInfoWithUsage - readerInfo.DataState = mtinfopb.DataStateAdd - readerInfo.Name = tenantInfo.Name + "-readonly" - readerInfo.ReadFromTenant = &destinationTenantID - - readerZcfg, err := sql.GetHydratedZoneConfigForTenantsRange(ctx, p.Txn(), p.ExtendedEvalContext().Descs) - if err != nil { - return readerID, err - } - - readerID, err = sql.CreateTenantRecord( - ctx, p.ExecCfg().Codec, p.ExecCfg().Settings, - p.InternalSQLTxn(), - p.ExecCfg().SpanConfigKVAccessor.WithISQLTxn(ctx, p.InternalSQLTxn()), - &readerInfo, readerZcfg, - false, p.ExecCfg().TenantTestingKnobs, - ) - if err != nil { - return readerID, err - } - - readerInfo.ID = readerID.ToUint64() - _, err = sql.BootstrapTenant(ctx, p.ExecCfg(), p.Txn(), readerInfo, readerZcfg) - if err != nil { - return readerID, err - } - } - return readerID, nil -} - func init() { sql.AddPlanHook("ingestion", ingestionPlanHook, ingestionTypeCheck) } diff --git a/pkg/ccl/crosscluster/physical/stream_ingestion_processor.go b/pkg/ccl/streamingccl/streamingest/stream_ingestion_processor.go similarity index 93% rename from pkg/ccl/crosscluster/physical/stream_ingestion_processor.go rename to pkg/ccl/streamingccl/streamingest/stream_ingestion_processor.go index a51f7a45f4e3..ad4a65ab66ed 100644 --- a/pkg/ccl/crosscluster/physical/stream_ingestion_processor.go +++ b/pkg/ccl/streamingccl/streamingest/stream_ingestion_processor.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "context" @@ -15,9 +15,9 @@ import ( "time" "github.com/cockroachdb/cockroach/pkg/ccl/backupccl" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationutils" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/replicationutils" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamclient" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" "github.com/cockroachdb/cockroach/pkg/keys" "github.com/cockroachdb/cockroach/pkg/kv" @@ -108,13 +108,6 @@ var ingestSplitEvent = settings.RegisterBoolSetting( false, ) -var compress = settings.RegisterBoolSetting( - settings.SystemOnly, - "physical_replication.consumer.stream_compression.enabled", - "enables requesting a compressed stream from the producer when resumed", - true, -) - var streamIngestionResultTypes = []*types.T{ types.Bytes, // jobspb.ResolvedSpans } @@ -224,6 +217,7 @@ func newRangeKeyBatcher( type streamIngestionProcessor struct { execinfra.ProcessorBase + flowCtx *execinfra.FlowCtx spec execinfrapb.StreamIngestionDataSpec rekeyer *backupccl.KeyRewriter // rewriteToDiffKey Indicates whether we are rekeying a key into a different key. @@ -266,7 +260,7 @@ type streamIngestionProcessor struct { // stopCh stops the cutover poller and flush loop. stopCh chan struct{} - mergedSubscription *MergedSubscription + mergedSubscription *mergedSubscription flushCh chan flushableBuffer @@ -289,9 +283,9 @@ type streamIngestionProcessor struct { aggTimer timeutil.Timer } -// PartitionEvent augments a normal event with the partition it came from. -type PartitionEvent struct { - crosscluster.Event +// partitionEvent augments a normal event with the partition it came from. +type partitionEvent struct { + streamingccl.Event partition string } @@ -331,6 +325,7 @@ func newStreamIngestionDataProcessor( } sip := &streamIngestionProcessor{ + flowCtx: flowCtx, spec: spec, frontier: frontier, cutoverProvider: &cutoverFromJobProgress{ @@ -354,7 +349,7 @@ func newStreamIngestionDataProcessor( sip.close() if sip.agg != nil { meta := bulkutil.ConstructTracingAggregatorProducerMeta(ctx, - sip.FlowCtx.NodeID.SQLInstanceID(), sip.FlowCtx.ID, sip.agg) + sip.flowCtx.NodeID.SQLInstanceID(), sip.flowCtx.ID, sip.agg) return []execinfrapb.ProducerMetadata{*meta} } return nil @@ -399,22 +394,22 @@ func (sip *streamIngestionProcessor) Start(ctx context.Context) { ctx = sip.StartInternal(ctx, streamIngestionProcessorName, sip.agg) - sip.metrics = sip.FlowCtx.Cfg.JobRegistry.MetricsStruct().StreamIngest.(*Metrics) + sip.metrics = sip.flowCtx.Cfg.JobRegistry.MetricsStruct().StreamIngest.(*Metrics) - st := sip.FlowCtx.Cfg.Settings + evalCtx := sip.FlowCtx.EvalCtx db := sip.FlowCtx.Cfg.DB rc := sip.FlowCtx.Cfg.RangeCache var err error sip.batcher, err = bulk.MakeStreamSSTBatcher( - ctx, db.KV(), rc, st, sip.FlowCtx.Cfg.BackupMonitor.MakeConcurrentBoundAccount(), - sip.FlowCtx.Cfg.BulkSenderLimiter, sip.onFlushUpdateMetricUpdate) + ctx, db.KV(), rc, evalCtx.Settings, sip.flowCtx.Cfg.BackupMonitor.MakeConcurrentBoundAccount(), + sip.flowCtx.Cfg.BulkSenderLimiter, sip.onFlushUpdateMetricUpdate) if err != nil { sip.MoveToDrainingAndLogError(errors.Wrap(err, "creating stream sst batcher")) return } - sip.rangeBatcher = newRangeKeyBatcher(ctx, st, db.KV(), sip.onFlushUpdateMetricUpdate) + sip.rangeBatcher = newRangeKeyBatcher(ctx, evalCtx.Settings, db.KV(), sip.onFlushUpdateMetricUpdate) var subscriptionCtx context.Context subscriptionCtx, sip.subscriptionCancel = context.WithCancel(sip.Ctx()) @@ -439,9 +434,8 @@ func (sip *streamIngestionProcessor) Start(ctx context.Context) { streamClient = sip.forceClientForTests log.Infof(ctx, "using testing client") } else { - streamClient, err = streamclient.NewStreamClient(ctx, crosscluster.StreamAddress(addr), db, - streamclient.WithStreamID(streampb.StreamID(sip.spec.StreamID)), - streamclient.WithCompression(compress.Get(&st.SV))) + streamClient, err = streamclient.NewStreamClient(ctx, streamingccl.StreamAddress(addr), db, + streamclient.WithStreamID(streampb.StreamID(sip.spec.StreamID))) if err != nil { sip.MoveToDrainingAndLogError(errors.Wrapf(err, "creating client for partition spec %q from %q", token, redactedAddr)) @@ -452,13 +446,11 @@ func (sip *streamIngestionProcessor) Start(ctx context.Context) { if streamingKnobs, ok := sip.FlowCtx.TestingKnobs().StreamingTestingKnobs.(*sql.StreamingTestingKnobs); ok { if streamingKnobs != nil && streamingKnobs.BeforeClientSubscribe != nil { - streamingKnobs.BeforeClientSubscribe(addr, string(token), sip.frontier, false) + streamingKnobs.BeforeClientSubscribe(addr, string(token), sip.frontier) } } - sub, err := streamClient.Subscribe(ctx, streampb.StreamID(sip.spec.StreamID), - int32(sip.FlowCtx.NodeID.SQLInstanceID()), sip.ProcessorID, - token, + sub, err := streamClient.Subscribe(ctx, streampb.StreamID(sip.spec.StreamID), int32(sip.flowCtx.NodeID.SQLInstanceID()), token, sip.spec.InitialScanTimestamp, sip.frontier) if err != nil { @@ -474,7 +466,7 @@ func (sip *streamIngestionProcessor) Start(ctx context.Context) { }) } - sip.mergedSubscription = MergeSubscriptions(sip.Ctx(), subscriptions) + sip.mergedSubscription = mergeSubscriptions(sip.Ctx(), subscriptions) sip.workerGroup.GoCtx(func(ctx context.Context) error { if err := sip.mergedSubscription.Run(); err != nil { sip.sendError(errors.Wrap(err, "merge subscription")) @@ -526,7 +518,7 @@ func (sip *streamIngestionProcessor) Next() (rowenc.EncDatumRow, *execinfrapb.Pr sip.aggTimer.Read = true sip.aggTimer.Reset(15 * time.Second) return nil, bulkutil.ConstructTracingAggregatorProducerMeta(sip.Ctx(), - sip.FlowCtx.NodeID.SQLInstanceID(), sip.FlowCtx.ID, sip.agg) + sip.flowCtx.NodeID.SQLInstanceID(), sip.flowCtx.ID, sip.agg) case err := <-sip.errCh: sip.MoveToDrainingAndLogError(err) return nil, sip.DrainHelper() @@ -605,7 +597,7 @@ func (sip *streamIngestionProcessor) close() { // checkForCutoverSignal periodically loads the job progress to check for the // sentinel value that signals the ingestion job to complete. func (sip *streamIngestionProcessor) checkForCutoverSignal(ctx context.Context) error { - sv := &sip.FlowCtx.Cfg.Settings.SV + sv := &sip.flowCtx.Cfg.Settings.SV tick := time.NewTicker(cutoverSignalPollInterval.Get(sv)) defer tick.Stop() for { @@ -710,12 +702,12 @@ func (sip *streamIngestionProcessor) consumeEvents(ctx context.Context) error { } -func (sip *streamIngestionProcessor) handleEvent(event PartitionEvent) error { +func (sip *streamIngestionProcessor) handleEvent(event partitionEvent) error { sv := &sip.FlowCtx.Cfg.Settings.SV - if event.Type() == crosscluster.KVEvent { + if event.Type() == streamingccl.KVEvent { sip.metrics.AdmitLatency.RecordValue( - timeutil.Since(event.GetKVs()[0].KeyValue.Value.Timestamp.GoTime()).Nanoseconds()) + timeutil.Since(event.GetKVs()[0].Value.Timestamp.GoTime()).Nanoseconds()) } if streamingKnobs, ok := sip.FlowCtx.TestingKnobs().StreamingTestingKnobs.(*sql.StreamingTestingKnobs); ok { @@ -727,19 +719,19 @@ func (sip *streamIngestionProcessor) handleEvent(event PartitionEvent) error { } switch event.Type() { - case crosscluster.KVEvent: + case streamingccl.KVEvent: if err := sip.bufferKVs(event.GetKVs()); err != nil { return err } - case crosscluster.SSTableEvent: + case streamingccl.SSTableEvent: if err := sip.bufferSST(event.GetSSTable()); err != nil { return err } - case crosscluster.DeleteRangeEvent: + case streamingccl.DeleteRangeEvent: if err := sip.bufferDelRange(event.GetDeleteRange()); err != nil { return err } - case crosscluster.CheckpointEvent: + case streamingccl.CheckpointEvent: if err := sip.bufferCheckpoint(event); err != nil { return err } @@ -757,7 +749,7 @@ func (sip *streamIngestionProcessor) handleEvent(event PartitionEvent) error { return err } return nil - case crosscluster.SplitEvent: + case streamingccl.SplitEvent: if err := sip.handleSplitEvent(event.GetSplitEvent()); err != nil { return err } @@ -800,14 +792,13 @@ func (sip *streamIngestionProcessor) bufferSST(sst *kvpb.RangeFeedSSTable) error return err } - return sip.bufferKVs([]streampb.StreamEvent_KV{{ - KeyValue: roachpb.KeyValue{ - Key: keyVal.Key.Key, - Value: roachpb.Value{ - RawBytes: mvccValue.RawBytes, - Timestamp: keyVal.Key.Timestamp, - }, - }}}) + return sip.bufferKVs([]roachpb.KeyValue{{ + Key: keyVal.Key.Key, + Value: roachpb.Value{ + RawBytes: mvccValue.RawBytes, + Timestamp: keyVal.Key.Timestamp, + }, + }}) }, func(rangeKeyVal storage.MVCCRangeKeyValue) error { return sip.bufferRangeKeyVal(rangeKeyVal) }) @@ -862,7 +853,7 @@ func (sip *streamIngestionProcessor) bufferRangeKeyVal( func (sip *streamIngestionProcessor) handleSplitEvent(key *roachpb.Key) error { ctx, sp := tracing.ChildSpan(sip.Ctx(), "replicated-split") defer sp.Finish() - if !ingestSplitEvent.Get(&sip.FlowCtx.Cfg.Settings.SV) { + if !ingestSplitEvent.Get(&sip.EvalCtx.Settings.SV) { return nil } kvDB := sip.FlowCtx.Cfg.DB.KV() @@ -878,15 +869,14 @@ func (sip *streamIngestionProcessor) handleSplitEvent(key *roachpb.Key) error { return kvDB.AdminSplit(ctx, rekey, expiration) } -func (sip *streamIngestionProcessor) bufferKVs(kvs []streampb.StreamEvent_KV) error { +func (sip *streamIngestionProcessor) bufferKVs(kvs []roachpb.KeyValue) error { // TODO: In addition to flushing when receiving a checkpoint event, we // should also flush when we've buffered sufficient KVs. A buffering adder // would save us here. if kvs == nil { return errors.New("kv event expected to have kv") } - for _, ev := range kvs { - kv := ev.KeyValue + for _, kv := range kvs { var err error var ok bool kv.Key, ok, err = sip.rekey(kv.Key) @@ -913,7 +903,7 @@ func (sip *streamIngestionProcessor) bufferKVs(kvs []streampb.StreamEvent_KV) er return nil } -func (sip *streamIngestionProcessor) bufferCheckpoint(event PartitionEvent) error { +func (sip *streamIngestionProcessor) bufferCheckpoint(event partitionEvent) error { if streamingKnobs, ok := sip.FlowCtx.TestingKnobs().StreamingTestingKnobs.(*sql.StreamingTestingKnobs); ok { if streamingKnobs != nil && streamingKnobs.ElideCheckpointEvent != nil { if streamingKnobs.ElideCheckpointEvent(sip.FlowCtx.NodeID.SQLInstanceID(), sip.frontier.Frontier()) { @@ -929,7 +919,7 @@ func (sip *streamIngestionProcessor) bufferCheckpoint(event PartitionEvent) erro lowestTimestamp := hlc.MaxTimestamp highestTimestamp := hlc.MinTimestamp - d := quantize.Get(&sip.FlowCtx.Cfg.Settings.SV) + d := quantize.Get(&sip.EvalCtx.Settings.SV) for _, resolvedSpan := range resolvedSpans { // If quantizing is enabled, round the timestamp down to an even multiple of // the quantization amount, to maximize the number of spans that share the @@ -966,7 +956,7 @@ type rangeKeySST struct { // Flush all the range keys buffered so far into storage as an SST. func (r *rangeKeyBatcher) flush(ctx context.Context, toFlush mvccRangeKeyValues) error { - _, sp := tracing.ChildSpan(ctx, "physical.rangeKeyBatcher.flush") + _, sp := tracing.ChildSpan(ctx, "streamingest.rangeKeyBatcher.flush") defer sp.Finish() if len(toFlush) == 0 { @@ -1355,6 +1345,32 @@ func (c *cutoverFromJobProgress) cutoverReached(ctx context.Context) (bool, erro return false, nil } +// frontierForSpan returns the lowest timestamp in the frontier within +// the given subspans. If the subspans are entirely outside the +// Frontier's tracked span an empty timestamp is returned. +func frontierForSpans(f span.Frontier, spans ...roachpb.Span) hlc.Timestamp { + var ( + minTimestamp hlc.Timestamp + sawEmptyTS bool + ) + + for _, spanToCheck := range spans { + f.SpanEntries(spanToCheck, func(frontierSpan roachpb.Span, ts hlc.Timestamp) span.OpResult { + if ts.IsEmpty() { + sawEmptyTS = true + } + if minTimestamp.IsEmpty() || ts.Less(minTimestamp) { + minTimestamp = ts + } + return span.ContinueMatch + }) + } + if sawEmptyTS { + return hlc.Timestamp{} + } + return minTimestamp +} + func init() { rowexec.NewStreamIngestionDataProcessor = newStreamIngestionDataProcessor } diff --git a/pkg/ccl/crosscluster/physical/stream_ingestion_processor_test.go b/pkg/ccl/streamingccl/streamingest/stream_ingestion_processor_test.go similarity index 72% rename from pkg/ccl/crosscluster/physical/stream_ingestion_processor_test.go rename to pkg/ccl/streamingccl/streamingest/stream_ingestion_processor_test.go index e8826529ae4d..b78230dfd119 100644 --- a/pkg/ccl/crosscluster/physical/stream_ingestion_processor_test.go +++ b/pkg/ccl/streamingccl/streamingest/stream_ingestion_processor_test.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package physical +package streamingest import ( "context" @@ -19,10 +19,9 @@ import ( "github.com/cockroachdb/cockroach/pkg/base" "github.com/cockroachdb/cockroach/pkg/ccl/backupccl" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationtestutils" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient" - _ "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/streamclient/randclient" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/replicationtestutils" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamclient" "github.com/cockroachdb/cockroach/pkg/jobs" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" "github.com/cockroachdb/cockroach/pkg/keys" @@ -56,6 +55,140 @@ import ( "github.com/stretchr/testify/require" ) +// mockStreamClient will return the slice of events associated to the stream +// partition being consumed. Stream partitions are identified by unique +// partition addresses. +type mockStreamClient struct { + partitionEvents map[string][]streamingccl.Event + doneCh chan struct{} + heartbeatErr error + heartbeatStatus streampb.StreamReplicationStatus + onHeartbeat func() (streampb.StreamReplicationStatus, error) +} + +var _ streamclient.Client = &mockStreamClient{} + +// Create implements the Client interface. +func (m *mockStreamClient) Create( + _ context.Context, _ roachpb.TenantName, _ streampb.ReplicationProducerRequest, +) (streampb.ReplicationProducerSpec, error) { + panic("unimplemented") +} + +// Dial implements the Client interface. +func (m *mockStreamClient) Dial(_ context.Context) error { + panic("unimplemented") +} + +// Heartbeat implements the Client interface. +func (m *mockStreamClient) Heartbeat( + _ context.Context, _ streampb.StreamID, _ hlc.Timestamp, +) (streampb.StreamReplicationStatus, error) { + if m.onHeartbeat != nil { + return m.onHeartbeat() + } + return m.heartbeatStatus, m.heartbeatErr +} + +// Plan implements the Client interface. +func (m *mockStreamClient) Plan( + _ context.Context, _ streampb.StreamID, +) (streamclient.Topology, error) { + panic("unimplemented mock method") +} + +type mockSubscription struct { + eventsCh chan streamingccl.Event +} + +// Subscribe implements the Subscription interface. +func (m *mockSubscription) Subscribe(_ context.Context) error { + return nil +} + +// Events implements the Subscription interface. +func (m *mockSubscription) Events() <-chan streamingccl.Event { + return m.eventsCh +} + +// Err implements the Subscription interface. +func (m *mockSubscription) Err() error { + return nil +} + +// Subscribe implements the Client interface. +func (m *mockStreamClient) Subscribe( + ctx context.Context, + _ streampb.StreamID, + _ int32, + token streamclient.SubscriptionToken, + initialScanTime hlc.Timestamp, + _ span.Frontier, +) (streamclient.Subscription, error) { + var events []streamingccl.Event + var ok bool + if events, ok = m.partitionEvents[string(token)]; !ok { + return nil, errors.Newf("no events found for partition %s", string(token)) + } + log.Infof(ctx, "%q beginning subscription from time %v ", string(token), initialScanTime) + + log.Infof(ctx, "%q emitting %d events", string(token), len(events)) + eventCh := make(chan streamingccl.Event, len(events)) + for _, event := range events { + log.Infof(ctx, "%q emitting event %v", string(token), event) + eventCh <- event + } + log.Infof(ctx, "%q done emitting %d events", string(token), len(events)) + go func() { + if m.doneCh != nil { + log.Infof(ctx, "%q waiting for doneCh", string(token)) + <-m.doneCh + log.Infof(ctx, "%q received event on doneCh", string(token)) + } + close(eventCh) + }() + return &mockSubscription{eventsCh: eventCh}, nil +} + +// Close implements the Client interface. +func (m *mockStreamClient) Close(_ context.Context) error { + return nil +} + +// Complete implements the streamclient.Client interface. +func (m *mockStreamClient) Complete(_ context.Context, _ streampb.StreamID, _ bool) error { + return nil +} + +// PriorReplicationDetails implements the streamclient.Client interface. +func (m *mockStreamClient) PriorReplicationDetails( + _ context.Context, _ roachpb.TenantName, +) (string, string, hlc.Timestamp, error) { + return "", "", hlc.Timestamp{}, nil +} + +// errorStreamClient always returns an error when consuming a partition. +type errorStreamClient struct{ mockStreamClient } + +var _ streamclient.Client = &errorStreamClient{} + +// ConsumePartition implements the streamclient.Client interface. +func (m *errorStreamClient) Subscribe( + _ context.Context, + _ streampb.StreamID, + _ int32, + _ streamclient.SubscriptionToken, + _ hlc.Timestamp, + _ span.Frontier, +) (streamclient.Subscription, error) { + return nil, errors.New("this client always returns an error") +} + +// Complete implements the streamclient.Client interface. +func (m *errorStreamClient) Complete(_ context.Context, _ streampb.StreamID, _ bool) error { + return nil +} + func TestStreamIngestionProcessor(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) @@ -137,19 +270,19 @@ func TestStreamIngestionProcessor(t *testing.T) { } t.Run("finite stream client", func(t *testing.T) { - events := func() []crosscluster.Event { - return []crosscluster.Event{ - crosscluster.MakeKVEventFromKVs(sampleKV()), - crosscluster.MakeKVEventFromKVs(sampleKV()), - crosscluster.MakeCheckpointEvent(sampleCheckpoint(p1Span, 2)), - crosscluster.MakeKVEventFromKVs(sampleKV()), - crosscluster.MakeKVEventFromKVs(sampleKV()), - crosscluster.MakeCheckpointEvent(sampleCheckpoint(p1Span, 4)), - crosscluster.MakeCheckpointEvent(sampleCheckpoint(p2Span, 5)), + events := func() []streamingccl.Event { + return []streamingccl.Event{ + streamingccl.MakeKVEvent(sampleKV()), + streamingccl.MakeKVEvent(sampleKV()), + streamingccl.MakeCheckpointEvent(sampleCheckpoint(p1Span, 2)), + streamingccl.MakeKVEvent(sampleKV()), + streamingccl.MakeKVEvent(sampleKV()), + streamingccl.MakeCheckpointEvent(sampleCheckpoint(p1Span, 4)), + streamingccl.MakeCheckpointEvent(sampleCheckpoint(p2Span, 5)), } } - mockClient := &streamclient.MockStreamClient{ - PartitionEvents: map[string][]crosscluster.Event{string(p1): events(), string(p2): events()}, + mockClient := &mockStreamClient{ + partitionEvents: map[string][]streamingccl.Event{string(p1): events(), string(p2): events()}, } initialScanTimestamp := hlc.Timestamp{WallTime: 1} @@ -176,15 +309,15 @@ func TestStreamIngestionProcessor(t *testing.T) { "partition 2 should advance to timestamp 5") }) t.Run("time-based-flush", func(t *testing.T) { - events := func() []crosscluster.Event { - return []crosscluster.Event{ - crosscluster.MakeCheckpointEvent(sampleCheckpoint(p1Span, 2)), - crosscluster.MakeCheckpointEvent(sampleCheckpoint(p1Span, 4)), + events := func() []streamingccl.Event { + return []streamingccl.Event{ + streamingccl.MakeCheckpointEvent(sampleCheckpoint(p1Span, 2)), + streamingccl.MakeCheckpointEvent(sampleCheckpoint(p1Span, 4)), } } - mockClient := &streamclient.MockStreamClient{ - DoneCh: make(chan struct{}), - PartitionEvents: map[string][]crosscluster.Event{string(p1): events()}, + mockClient := &mockStreamClient{ + doneCh: make(chan struct{}), + partitionEvents: map[string][]streamingccl.Event{string(p1): events()}, } initialScanTimestamp := hlc.Timestamp{WallTime: 1} @@ -215,20 +348,20 @@ func TestStreamIngestionProcessor(t *testing.T) { require.Equal(t, []string{"key_1{-\\x00} 0.000000002,0"}, emittedRows, "partition 1 should advance to timestamp 2") emittedRows = readRow(out) require.Equal(t, []string{"key_1{-\\x00} 0.000000004,0"}, emittedRows, "partition 1 should advance to timestamp 4") - close(mockClient.DoneCh) + close(mockClient.doneCh) require.NoError(t, g.Wait()) }) t.Run("kv-size-based-flush", func(t *testing.T) { - events := func() []crosscluster.Event { - return []crosscluster.Event{ - crosscluster.MakeCheckpointEvent(sampleCheckpoint(p1Span, 2)), - crosscluster.MakeCheckpointEvent(sampleCheckpoint(p1Span, 4)), - crosscluster.MakeKVEventFromKVs(sampleKV()), + events := func() []streamingccl.Event { + return []streamingccl.Event{ + streamingccl.MakeCheckpointEvent(sampleCheckpoint(p1Span, 2)), + streamingccl.MakeCheckpointEvent(sampleCheckpoint(p1Span, 4)), + streamingccl.MakeKVEvent(sampleKV()), } } - mockClient := &streamclient.MockStreamClient{ - DoneCh: make(chan struct{}), - PartitionEvents: map[string][]crosscluster.Event{string(p1): events()}, + mockClient := &mockStreamClient{ + doneCh: make(chan struct{}), + partitionEvents: map[string][]streamingccl.Event{string(p1): events()}, } initialScanTimestamp := hlc.Timestamp{WallTime: 1} @@ -260,25 +393,25 @@ func TestStreamIngestionProcessor(t *testing.T) { require.Equal(t, []string{"key_1{-\\x00} 0.000000002,0"}, emittedRows, "partition 1 should advance to timestamp 2") emittedRows = readRow(out) require.Equal(t, []string{"key_1{-\\x00} 0.000000004,0"}, emittedRows, "partition 1 should advance to timestamp 4") - close(mockClient.DoneCh) + close(mockClient.doneCh) require.NoError(t, g.Wait()) }) t.Run("range-kv-size-based-flush", func(t *testing.T) { key, err := keys.RewriteKeyToTenantPrefix(p1Key, keys.MakeTenantPrefix(roachpb.MustMakeTenantID(tenantID))) require.NoError(t, err) - events := func() []crosscluster.Event { - return []crosscluster.Event{ - crosscluster.MakeCheckpointEvent(sampleCheckpoint(p1Span, 2)), - crosscluster.MakeCheckpointEvent(sampleCheckpoint(p1Span, 4)), - crosscluster.MakeDeleteRangeEvent(kvpb.RangeFeedDeleteRange{ + events := func() []streamingccl.Event { + return []streamingccl.Event{ + streamingccl.MakeCheckpointEvent(sampleCheckpoint(p1Span, 2)), + streamingccl.MakeCheckpointEvent(sampleCheckpoint(p1Span, 4)), + streamingccl.MakeDeleteRangeEvent(kvpb.RangeFeedDeleteRange{ Span: roachpb.Span{Key: key, EndKey: key.Next()}, Timestamp: hlc.Timestamp{WallTime: 5}, }), } } - mockClient := &streamclient.MockStreamClient{ - DoneCh: make(chan struct{}), - PartitionEvents: map[string][]crosscluster.Event{string(p1): events()}, + mockClient := &mockStreamClient{ + doneCh: make(chan struct{}), + partitionEvents: map[string][]streamingccl.Event{string(p1): events()}, } initialScanTimestamp := hlc.Timestamp{WallTime: 1} @@ -311,22 +444,22 @@ func TestStreamIngestionProcessor(t *testing.T) { require.Equal(t, []string{"key_1{-\\x00} 0.000000002,0"}, emittedRows, "partition 1 should advance to timestamp 2") emittedRows = readRow(out) require.Equal(t, []string{"key_1{-\\x00} 0.000000004,0"}, emittedRows, "partition 1 should advance to timestamp 4") - close(mockClient.DoneCh) + close(mockClient.doneCh) require.NoError(t, g.Wait()) }) // Two partitions, checkpoint for each, client start time for each should match t.Run("resume from checkpoint", func(t *testing.T) { - events := func() []crosscluster.Event { - return []crosscluster.Event{ - crosscluster.MakeKVEventFromKVs(sampleKV()), - crosscluster.MakeCheckpointEvent(sampleCheckpoint(p2Span, 2)), - crosscluster.MakeKVEventFromKVs(sampleKV()), - crosscluster.MakeCheckpointEvent(sampleCheckpoint(p1Span, 6)), + events := func() []streamingccl.Event { + return []streamingccl.Event{ + streamingccl.MakeKVEvent(sampleKV()), + streamingccl.MakeCheckpointEvent(sampleCheckpoint(p2Span, 2)), + streamingccl.MakeKVEvent(sampleKV()), + streamingccl.MakeCheckpointEvent(sampleCheckpoint(p1Span, 6)), } } - mockClient := &streamclient.MockStreamClient{ - PartitionEvents: map[string][]crosscluster.Event{string(p1): events(), string(p2): events()}, + mockClient := &mockStreamClient{ + partitionEvents: map[string][]streamingccl.Event{string(p1): events(), string(p2): events()}, } initialScanTimestamp := hlc.Timestamp{WallTime: 1} @@ -343,7 +476,7 @@ func TestStreamIngestionProcessor(t *testing.T) { } lastClientStart := make(map[string]hlc.Timestamp) - streamingTestingKnobs := &sql.StreamingTestingKnobs{BeforeClientSubscribe: func(addr string, token string, clientStartTimes span.Frontier, _ bool) { + streamingTestingKnobs := &sql.StreamingTestingKnobs{BeforeClientSubscribe: func(addr string, token string, clientStartTimes span.Frontier) { sp := p1Span if token == string(p2) { sp = p2Span @@ -381,7 +514,7 @@ func TestStreamIngestionProcessor(t *testing.T) { Partitions: partitions, } out, err := runStreamIngestionProcessor(ctx, t, registry, db, - topology, initialScanTimestamp, []jobspb.ResolvedSpan{}, tenantRekey, &streamclient.ErrorStreamClient{}, + topology, initialScanTimestamp, []jobspb.ResolvedSpan{}, tenantRekey, &errorStreamClient{}, nil /* cutoverProvider */, nil /* streamingTestingKnobs */, st) require.NoError(t, err) @@ -392,6 +525,47 @@ func TestStreamIngestionProcessor(t *testing.T) { }) } +func TestFrontierForSpans(t *testing.T) { + defer leaktest.AfterTest(t)() + + var ( + spanAB = roachpb.Span{Key: roachpb.Key("a"), EndKey: roachpb.Key("b")} + spanCD = roachpb.Span{Key: roachpb.Key("c"), EndKey: roachpb.Key("d")} + spanEF = roachpb.Span{Key: roachpb.Key("e"), EndKey: roachpb.Key("f")} + spanXZ = roachpb.Span{Key: roachpb.Key("x"), EndKey: roachpb.Key("z")} + ) + + t.Run("returns the lowest timestamp for the matched spans", func(t *testing.T) { + f, err := span.MakeFrontier(spanAB, spanCD, spanEF) + require.NoError(t, err) + _, err = f.Forward(spanAB, hlc.Timestamp{WallTime: 1}) + require.NoError(t, err) + _, err = f.Forward(spanCD, hlc.Timestamp{WallTime: 2}) + require.NoError(t, err) + _, err = f.Forward(spanEF, hlc.Timestamp{WallTime: 3}) + require.NoError(t, err) + require.Equal(t, hlc.Timestamp{WallTime: 1}, frontierForSpans(f, spanAB, spanCD, spanEF)) + require.Equal(t, hlc.Timestamp{WallTime: 2}, frontierForSpans(f, spanCD, spanEF)) + require.Equal(t, hlc.Timestamp{WallTime: 3}, frontierForSpans(f, spanEF)) + require.Equal(t, hlc.Timestamp{WallTime: 1}, frontierForSpans(f, spanAB, spanEF)) + }) + t.Run("returns zero if none of the spans overlap", func(t *testing.T) { + f, err := span.MakeFrontierAt(hlc.Timestamp{WallTime: 1}, spanAB, spanCD, spanEF) + require.NoError(t, err) + require.Equal(t, hlc.Timestamp{}, frontierForSpans(f, spanXZ)) + }) + t.Run("returns zero if one of the spans is zero", func(t *testing.T) { + f, err := span.MakeFrontier(spanAB, spanCD, spanEF) + require.NoError(t, err) + _, err = f.Forward(spanAB, hlc.Timestamp{WallTime: 1}) + require.NoError(t, err) + // spanCD should still be at zero + _, err = f.Forward(spanEF, hlc.Timestamp{WallTime: 3}) + require.NoError(t, err) + require.Equal(t, hlc.Timestamp{}, frontierForSpans(f, spanAB, spanCD, spanEF)) + }) +} + // getPartitionSpanToTableID maps a partiton's span to the tableID it covers in // the source keyspace. It assumes the source used a random_stream_client, which generates keys for // a single table span per partition. @@ -491,14 +665,14 @@ func assertEqualKVs( } func makeTestStreamURI( - kvsPerResolved, numPartitions int, + valueRange, kvsPerResolved, numPartitions int, kvFrequency time.Duration, dupProbability float64, tenantID roachpb.TenantID, tenantName roachpb.TenantName, ) string { - return streamclient.RandomGenScheme + ":///" + - "?EVENT_FREQUENCY=" + strconv.Itoa(int(kvFrequency)) + + return streamclient.RandomGenScheme + ":///" + "?VALUE_RANGE=" + strconv.Itoa(valueRange) + + "&EVENT_FREQUENCY=" + strconv.Itoa(int(kvFrequency)) + "&KVS_PER_CHECKPOINT=" + strconv.Itoa(kvsPerResolved) + "&NUM_PARTITIONS=" + strconv.Itoa(numPartitions) + "&DUP_PROBABILITY=" + strconv.FormatFloat(dupProbability, 'f', -1, 32) + @@ -533,15 +707,15 @@ func TestRandomClientGeneration(t *testing.T) { streamAddr := getTestRandomClientURI(tenantID, tenantName) // The random client returns system and table data partitions. - streamClient, err := streamclient.NewStreamClient(ctx, crosscluster.StreamAddress(streamAddr), nil) + streamClient, err := streamclient.NewStreamClient(ctx, streamingccl.StreamAddress(streamAddr), nil) require.NoError(t, err) - randomStreamClient, ok := streamClient.(streamclient.RandomClient) + randomStreamClient, ok := streamClient.(*streamclient.RandomStreamClient) require.True(t, ok) - rps, err := randomStreamClient.CreateForTenant(ctx, tenantName, streampb.ReplicationProducerRequest{}) + rps, err := randomStreamClient.Create(ctx, tenantName, streampb.ReplicationProducerRequest{}) require.NoError(t, err) - topo, err := randomStreamClient.PlanPhysicalReplication(ctx, rps.StreamID) + topo, err := randomStreamClient.Plan(ctx, rps.StreamID) require.NoError(t, err) require.Equal(t, 2 /* numPartitions */, len(topo.Partitions)) @@ -714,6 +888,7 @@ func getStreamIngestionProcessor( post := execinfrapb.PostProcessSpec{} var spec execinfrapb.StreamIngestionDataSpec + spec.StreamAddress = "http://unused" spec.TenantRekey = tenantRekey spec.PartitionSpecs = make(map[string]execinfrapb.StreamIngestionPartitionSpec) for _, pa := range partitions.Partitions { @@ -753,22 +928,20 @@ func resolvedSpansMinTS(resolvedSpans []jobspb.ResolvedSpan) hlc.Timestamp { } func noteKeyVal( - validator *streamClientValidator, - keyVals []streampb.StreamEvent_KV, - spec streamclient.SubscriptionToken, + validator *streamClientValidator, keyVals []roachpb.KeyValue, spec streamclient.SubscriptionToken, ) { for _, keyVal := range keyVals { if validator.rekeyer != nil { - rekey, _, err := validator.rekeyer.RewriteTenant(keyVal.KeyValue.Key) + rekey, _, err := validator.rekeyer.RewriteTenant(keyVal.Key) if err != nil { panic(err.Error()) } - keyVal.KeyValue.Key = rekey - keyVal.KeyValue.Value.ClearChecksum() - keyVal.KeyValue.Value.InitChecksum(keyVal.KeyValue.Key) + keyVal.Key = rekey + keyVal.Value.ClearChecksum() + keyVal.Value.InitChecksum(keyVal.Key) } - err := validator.noteRow(string(spec), string(keyVal.KeyValue.Key), string(keyVal.KeyValue.Value.RawBytes), - keyVal.KeyValue.Value.Timestamp) + err := validator.noteRow(string(spec), string(keyVal.Key), string(keyVal.Value.RawBytes), + keyVal.Value.Timestamp) if err != nil { panic(err.Error()) } @@ -777,30 +950,29 @@ func noteKeyVal( func validateFnWithValidator( t *testing.T, validator *streamClientValidator, -) func(event crosscluster.Event, spec streamclient.SubscriptionToken) { - return func(event crosscluster.Event, spec streamclient.SubscriptionToken) { +) func(event streamingccl.Event, spec streamclient.SubscriptionToken) { + return func(event streamingccl.Event, spec streamclient.SubscriptionToken) { switch event.Type() { - case crosscluster.CheckpointEvent: + case streamingccl.CheckpointEvent: resolvedTS := resolvedSpansMinTS(event.GetResolvedSpans()) err := validator.noteResolved(string(spec), resolvedTS) if err != nil { panic(err.Error()) } - case crosscluster.SSTableEvent: + case streamingccl.SSTableEvent: kvs := storageutils.ScanSST(t, event.GetSSTable().Data) for _, keyVal := range kvs.MVCCKeyValues() { - noteKeyVal(validator, []streampb.StreamEvent_KV{{ - KeyValue: roachpb.KeyValue{ - Key: keyVal.Key.Key, - Value: roachpb.Value{ - RawBytes: keyVal.Value, - Timestamp: keyVal.Key.Timestamp, - }, - }}}, spec) + noteKeyVal(validator, []roachpb.KeyValue{{ + Key: keyVal.Key.Key, + Value: roachpb.Value{ + RawBytes: keyVal.Value, + Timestamp: keyVal.Key.Timestamp, + }, + }}, spec) } - case crosscluster.KVEvent: + case streamingccl.KVEvent: noteKeyVal(validator, event.GetKVs(), spec) - case crosscluster.DeleteRangeEvent: + case streamingccl.DeleteRangeEvent: panic(errors.New("unsupported event type")) } } @@ -810,15 +982,15 @@ func validateFnWithValidator( // checkpoint events. func makeCheckpointEventCounter( mu *syncutil.Mutex, threshold int, f func(), -) func(crosscluster.Event, streamclient.SubscriptionToken) { +) func(streamingccl.Event, streamclient.SubscriptionToken) { mu.Lock() defer mu.Unlock() numCheckpointEventsGenerated := 0 - return func(event crosscluster.Event, _ streamclient.SubscriptionToken) { + return func(event streamingccl.Event, _ streamclient.SubscriptionToken) { mu.Lock() defer mu.Unlock() switch event.Type() { - case crosscluster.CheckpointEvent: + case streamingccl.CheckpointEvent: numCheckpointEventsGenerated++ if numCheckpointEventsGenerated == threshold { f() diff --git a/pkg/ccl/crosscluster/physical/testdata/add_early_cutover b/pkg/ccl/streamingccl/streamingest/testdata/add_early_cutover similarity index 100% rename from pkg/ccl/crosscluster/physical/testdata/add_early_cutover rename to pkg/ccl/streamingccl/streamingest/testdata/add_early_cutover diff --git a/pkg/ccl/crosscluster/physical/testdata/alter_tenant b/pkg/ccl/streamingccl/streamingest/testdata/alter_tenant similarity index 100% rename from pkg/ccl/crosscluster/physical/testdata/alter_tenant rename to pkg/ccl/streamingccl/streamingest/testdata/alter_tenant diff --git a/pkg/ccl/crosscluster/physical/testdata/backup_schedule_pauses_after_cutover b/pkg/ccl/streamingccl/streamingest/testdata/backup_schedule_pauses_after_cutover similarity index 100% rename from pkg/ccl/crosscluster/physical/testdata/backup_schedule_pauses_after_cutover rename to pkg/ccl/streamingccl/streamingest/testdata/backup_schedule_pauses_after_cutover diff --git a/pkg/ccl/crosscluster/physical/testdata/cutover_after_pause b/pkg/ccl/streamingccl/streamingest/testdata/cutover_after_pause similarity index 100% rename from pkg/ccl/crosscluster/physical/testdata/cutover_after_pause rename to pkg/ccl/streamingccl/streamingest/testdata/cutover_after_pause diff --git a/pkg/ccl/crosscluster/physical/testdata/expected_replication_frontier.txt b/pkg/ccl/streamingccl/streamingest/testdata/expected_replication_frontier.txt similarity index 100% rename from pkg/ccl/crosscluster/physical/testdata/expected_replication_frontier.txt rename to pkg/ccl/streamingccl/streamingest/testdata/expected_replication_frontier.txt diff --git a/pkg/ccl/crosscluster/physical/testdata/initial_scan_span_configs b/pkg/ccl/streamingccl/streamingest/testdata/initial_scan_span_configs similarity index 100% rename from pkg/ccl/crosscluster/physical/testdata/initial_scan_span_configs rename to pkg/ccl/streamingccl/streamingest/testdata/initial_scan_span_configs diff --git a/pkg/ccl/crosscluster/physical/testdata/jobs_post_cutover b/pkg/ccl/streamingccl/streamingest/testdata/jobs_post_cutover similarity index 100% rename from pkg/ccl/crosscluster/physical/testdata/jobs_post_cutover rename to pkg/ccl/streamingccl/streamingest/testdata/jobs_post_cutover diff --git a/pkg/ccl/crosscluster/physical/testdata/show_without_pts b/pkg/ccl/streamingccl/streamingest/testdata/show_without_pts similarity index 100% rename from pkg/ccl/crosscluster/physical/testdata/show_without_pts rename to pkg/ccl/streamingccl/streamingest/testdata/show_without_pts diff --git a/pkg/ccl/crosscluster/physical/testdata/simple b/pkg/ccl/streamingccl/streamingest/testdata/simple similarity index 100% rename from pkg/ccl/crosscluster/physical/testdata/simple rename to pkg/ccl/streamingccl/streamingest/testdata/simple diff --git a/pkg/ccl/crosscluster/physical/testdata/span_configs b/pkg/ccl/streamingccl/streamingest/testdata/span_configs similarity index 100% rename from pkg/ccl/crosscluster/physical/testdata/span_configs rename to pkg/ccl/streamingccl/streamingest/testdata/span_configs diff --git a/pkg/ccl/crosscluster/producer/BUILD.bazel b/pkg/ccl/streamingccl/streamproducer/BUILD.bazel similarity index 88% rename from pkg/ccl/crosscluster/producer/BUILD.bazel rename to pkg/ccl/streamingccl/streamproducer/BUILD.bazel index 5a5ecc20d714..aefef989ff9c 100644 --- a/pkg/ccl/crosscluster/producer/BUILD.bazel +++ b/pkg/ccl/streamingccl/streamproducer/BUILD.bazel @@ -1,7 +1,7 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") go_library( - name = "producer", + name = "streamproducer", srcs = [ "event_stream.go", "producer_job.go", @@ -10,12 +10,12 @@ go_library( "stream_event_batcher.go", "stream_lifetime.go", ], - importpath = "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/producer", + importpath = "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/streamproducer", visibility = ["//visibility:public"], deps = [ - "//pkg/ccl/crosscluster", - "//pkg/ccl/crosscluster/replicationutils", "//pkg/ccl/kvccl/kvfollowerreadsccl", + "//pkg/ccl/streamingccl", + "//pkg/ccl/streamingccl/replicationutils", "//pkg/ccl/utilccl", "//pkg/jobs", "//pkg/jobs/jobspb", @@ -39,11 +39,9 @@ go_library( "//pkg/sql", "//pkg/sql/catalog/descpb", "//pkg/sql/catalog/descs", - "//pkg/sql/catalog/resolver", "//pkg/sql/catalog/systemschema", "//pkg/sql/clusterunique", "//pkg/sql/isql", - "//pkg/sql/parser", "//pkg/sql/pgwire/pgcode", "//pkg/sql/pgwire/pgerror", "//pkg/sql/privilege", @@ -65,12 +63,11 @@ go_library( "//pkg/util/tracing", "//pkg/util/uuid", "@com_github_cockroachdb_errors//:errors", - "@com_github_golang_snappy//:snappy", ], ) go_test( - name = "producer_test", + name = "streamproducer_test", size = "large", srcs = [ "main_test.go", @@ -78,17 +75,16 @@ go_test( "replication_manager_test.go", "replication_stream_test.go", "stream_event_batcher_test.go", - "stream_lifetime_test.go", ], - embed = [":producer"], + embed = [":streamproducer"], deps = [ "//pkg/base", "//pkg/ccl", "//pkg/ccl/changefeedccl", - "//pkg/ccl/crosscluster", - "//pkg/ccl/crosscluster/replicationtestutils", "//pkg/ccl/kvccl/kvtenantccl", "//pkg/ccl/storageccl", + "//pkg/ccl/streamingccl", + "//pkg/ccl/streamingccl/replicationtestutils", "//pkg/cloud/impl:cloudimpl", "//pkg/jobs", "//pkg/jobs/jobspb", @@ -111,7 +107,6 @@ go_test( "//pkg/sql", "//pkg/sql/catalog/descs", "//pkg/sql/catalog/desctestutils", - "//pkg/sql/catalog/resolver", "//pkg/sql/clusterunique", "//pkg/sql/distsql", "//pkg/sql/isql", diff --git a/pkg/ccl/crosscluster/producer/event_stream.go b/pkg/ccl/streamingccl/streamproducer/event_stream.go similarity index 85% rename from pkg/ccl/crosscluster/producer/event_stream.go rename to pkg/ccl/streamingccl/streamproducer/event_stream.go index f42876522fc8..e631a4e193b3 100644 --- a/pkg/ccl/crosscluster/producer/event_stream.go +++ b/pkg/ccl/streamingccl/streamproducer/event_stream.go @@ -6,15 +6,14 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package producer +package streamproducer import ( "context" "fmt" "time" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationutils" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/replicationutils" "github.com/cockroachdb/cockroach/pkg/jobs" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" "github.com/cockroachdb/cockroach/pkg/keys" @@ -39,9 +38,13 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/syncutil" "github.com/cockroachdb/cockroach/pkg/util/timeutil" "github.com/cockroachdb/errors" - "github.com/golang/snappy" ) +var activeStreams = struct { + syncutil.Mutex + m map[*eventStream]*eventStream +}{m: make(map[*eventStream]*eventStream)} + type eventStream struct { streamID streampb.StreamID execCfg *sql.ExecutorConfig @@ -68,20 +71,18 @@ type eventStream struct { lastCheckpointTime time.Time lastCheckpointLen int - lastPolled time.Time - debug streampb.DebugProducerStatus } var quantize = settings.RegisterDurationSettingWithExplicitUnit( - settings.ApplicationLevel, + settings.SystemOnly, "physical_replication.producer.timestamp_granularity", "the granularity at which replicated times are quantized to make tracking more efficient", 5*time.Second, ) var emitMetadata = settings.RegisterBoolSetting( - settings.ApplicationLevel, + settings.SystemOnly, "physical_replication.producer.emit_metadata.enabled", "whether to emit metadata events", true, @@ -109,20 +110,13 @@ func (s *eventStream) Start(ctx context.Context, txn *kv.Txn) (retErr error) { return errors.AssertionFailedf("expected to be started once") } - s.lastPolled = timeutil.Now() - sourceTenantID, err := s.validateProducerJobAndSpec(ctx) if err != nil { return err } - if sourceTenantID.IsSet() { - log.Infof(ctx, "starting physical replication event stream: tenant=%s initial_scan_timestamp=%s previous_replicated_time=%s", - sourceTenantID, s.spec.InitialScanTimestamp, s.spec.PreviousReplicatedTimestamp) - } else { - log.Infof(ctx, "starting logical replication event stream: initial_scan_timestamp=%s previous_replicated_time=%s", - s.spec.InitialScanTimestamp, s.spec.PreviousReplicatedTimestamp) - } + log.Infof(ctx, "starting physical replication event stream: tenant=%s initial_scan_timestamp=%s previous_replicated_time=%s", + sourceTenantID, s.spec.InitialScanTimestamp, s.spec.PreviousReplicatedTimestamp) s.acc = s.mon.MakeBoundAccount() @@ -148,19 +142,10 @@ func (s *eventStream) Start(ctx context.Context, txn *kv.Txn) (retErr error) { rangefeed.WithOnDeleteRange(s.onDeleteRange), rangefeed.WithFrontierQuantized(quantize.Get(&s.execCfg.Settings.SV)), rangefeed.WithOnValues(s.onValues), - rangefeed.WithDiff(s.spec.WithDiff), - rangefeed.WithInvoker(func(fn func() error) error { return fn() }), - rangefeed.WithFiltering(s.spec.WithFiltering), } if emitMetadata.Get(&s.execCfg.Settings.SV) { opts = append(opts, rangefeed.WithOnMetadata(s.onMetadata)) } - if s.spec.Type == streampb.ReplicationType_LOGICAL { - // To prevent data looping during Logical Replication, only emit events that - // were written by the foreground workload, not from the LDR replication - // stream. - opts = append(opts, rangefeed.WithOriginIDsMatching(0)) - } initialTimestamp := s.spec.InitialScanTimestamp s.frontier, err = span.MakeFrontier(s.spec.Spans...) @@ -179,6 +164,9 @@ func (s *eventStream) Start(ctx context.Context, txn *kv.Txn) (retErr error) { opts = append(opts, rangefeed.WithInitialScan(s.onInitialScanDone), rangefeed.WithRowTimestampInInitialScan(true), + rangefeed.WithInitialScanParallelismFn(func() int { + return int(s.spec.Config.InitialScanParallelism) + }), ) } else { initialTimestamp = s.spec.PreviousReplicatedTimestamp @@ -202,9 +190,9 @@ func (s *eventStream) Start(ctx context.Context, txn *kv.Txn) (retErr error) { return err } - s.debug.StreamID = s.streamID - s.debug.Spec = s.spec - streampb.RegisterProducerStatus(&s.debug) + activeStreams.Lock() + activeStreams.m[s] = s + activeStreams.Unlock() return nil } @@ -223,12 +211,6 @@ func (s *eventStream) setErr(err error) bool { // Next implements eval.ValueGenerator interface. func (s *eventStream) Next(ctx context.Context) (bool, error) { - emitWait := int64(timeutil.Since(s.lastPolled)) - - s.debug.Flushes.LastEmitWaitNanos.Store(emitWait) - s.debug.Flushes.EmitWaitNanos.Add(emitWait) - s.lastPolled = timeutil.Now() - select { case <-ctx.Done(): return false, ctx.Err() @@ -240,10 +222,6 @@ func (s *eventStream) Next(ctx context.Context) (bool, error) { case err := <-s.errCh: return false, err default: - produceWait := int64(timeutil.Since(s.lastPolled)) - s.debug.Flushes.ProduceWaitNanos.Add(produceWait) - s.debug.Flushes.LastProduceWaitNanos.Store(produceWait) - s.lastPolled = timeutil.Now() return true, nil } } @@ -256,7 +234,9 @@ func (s *eventStream) Values() (tree.Datums, error) { // Close implements eval.ValueGenerator interface. func (s *eventStream) Close(ctx context.Context) { - streampb.UnregisterProducerStatus(&s.debug) + activeStreams.Lock() + defer activeStreams.Unlock() + delete(activeStreams.m, s) if s.rf != nil { s.rf.Close() @@ -281,7 +261,7 @@ func (s *eventStream) onValues(ctx context.Context, values []kv.KeyValue) { defer s.addMu.Unlock() } for _, i := range values { - s.seb.addKV(streampb.StreamEvent_KV{KeyValue: roachpb.KeyValue{Key: i.Key, Value: *i.Value}}) + s.seb.addKV(roachpb.KeyValue{Key: i.Key, Value: *i.Value}) } s.setErr(s.maybeFlushBatch(ctx)) } @@ -294,9 +274,7 @@ func (s *eventStream) onValue(ctx context.Context, value *kvpb.RangeFeedValue) { s.addMu.Lock() defer s.addMu.Unlock() } - s.seb.addKV(streampb.StreamEvent_KV{ - KeyValue: roachpb.KeyValue{Key: value.Key, Value: value.Value}, PrevValue: value.PrevValue, - }) + s.seb.addKV(roachpb.KeyValue{Key: value.Key, Value: value.Value}) s.setErr(s.maybeFlushBatch(ctx)) } @@ -386,8 +364,6 @@ func (s *eventStream) flushBatch(ctx context.Context) error { return nil } s.debug.Flushes.Batches.Add(1) - s.debug.Flushes.Bytes.Add(int64(s.seb.size)) - defer s.seb.reset() return s.sendFlush(ctx, &streampb.StreamEvent{Batch: &s.seb.batch}) } @@ -396,9 +372,6 @@ func (s *eventStream) sendFlush(ctx context.Context, event *streampb.StreamEvent if err != nil { return err } - if s.spec.Compressed { - data = snappy.Encode(nil, data) - } select { case <-ctx.Done(): return ctx.Err() @@ -480,10 +453,7 @@ func (s *eventStream) addSST(sst *kvpb.RangeFeedSSTable, registeredSpan roachpb. if err != nil { return err } - s.seb.addKV( - streampb.StreamEvent_KV{KeyValue: roachpb.KeyValue{ - Key: k.Key.Key, Value: roachpb.Value{RawBytes: v.RawBytes, Timestamp: k.Key.Timestamp}}, - }) + s.seb.addKV(roachpb.KeyValue{Key: k.Key.Key, Value: roachpb.Value{RawBytes: v.RawBytes, Timestamp: k.Key.Timestamp}}) return nil }, func(rk storage.MVCCRangeKeyValue) error { s.seb.addDelRange(kvpb.RangeFeedDeleteRange{ @@ -515,23 +485,43 @@ func (s *eventStream) validateProducerJobAndSpec(ctx context.Context) (roachpb.T // Validate that the requested spans are a subset of the // source tenant's keyspace. sourceTenantID := sp.StreamReplication.TenantID - // TODO(ssd): Do some validation for logical replication jobs. - if sourceTenantID.IsSet() { - sourceTenantSpans := keys.MakeTenantSpan(sourceTenantID) - for _, sp := range s.spec.Spans { - if !sourceTenantSpans.Contains(sp) { - err := pgerror.Newf(pgcode.InvalidParameterValue, "requested span %s is not contained within the keyspace of source tenant %d", - sp, - sourceTenantID) - return roachpb.TenantID{}, err - } + sourceTenantSpans := keys.MakeTenantSpan(sourceTenantID) + for _, sp := range s.spec.Spans { + if !sourceTenantSpans.Contains(sp) { + err := pgerror.Newf(pgcode.InvalidParameterValue, "requested span %s is not contained within the keyspace of source tenant %d", + sp, + sourceTenantID) + return roachpb.TenantID{}, err } } return sourceTenantID, nil } +func (s *eventStream) DebugGetProducerStatus() *streampb.DebugProducerStatus { + s.debug.StreamID = s.streamID + s.debug.Spec = s.spec + return &s.debug +} + const defaultBatchSize = 1 << 20 +func setConfigDefaults(cfg *streampb.StreamPartitionSpec_ExecutionConfig) { + const defaultInitialScanParallelism = 16 + const defaultMinCheckpointFrequency = 10 * time.Second + + if cfg.InitialScanParallelism <= 0 { + cfg.InitialScanParallelism = defaultInitialScanParallelism + } + + if cfg.MinCheckpointFrequency <= 0 { + cfg.MinCheckpointFrequency = defaultMinCheckpointFrequency + } + + if cfg.BatchByteSize <= 0 { + cfg.BatchByteSize = defaultBatchSize + } +} + func streamPartition( evalCtx *eval.Context, streamID streampb.StreamID, opaqueSpec []byte, ) (eval.ValueGenerator, error) { @@ -539,11 +529,13 @@ func streamPartition( if err := protoutil.Unmarshal(opaqueSpec, &spec); err != nil { return nil, errors.Wrapf(err, "invalid partition spec for stream %d", streamID) } + if !evalCtx.SessionData().AvoidBuffering { + return nil, errors.New("partition streaming requires 'SET avoid_buffering = true' option") + } if len(spec.Spans) == 0 { return nil, errors.AssertionFailedf("expected at least one span, got none") } - spec.Config.BatchByteSize = defaultBatchSize - spec.Config.MinCheckpointFrequency = crosscluster.StreamReplicationMinCheckpointFrequency.Get(&evalCtx.Settings.SV) + setConfigDefaults(&spec.Config) execCfg := evalCtx.Planner.ExecutorConfig().(*sql.ExecutorConfig) @@ -552,6 +544,5 @@ func streamPartition( spec: spec, execCfg: execCfg, mon: evalCtx.Planner.Mon(), - seb: streamEventBatcher{wrappedKVs: spec.WrappedEvents}, }, nil } diff --git a/pkg/ccl/crosscluster/producer/main_test.go b/pkg/ccl/streamingccl/streamproducer/main_test.go similarity index 97% rename from pkg/ccl/crosscluster/producer/main_test.go rename to pkg/ccl/streamingccl/streamproducer/main_test.go index 693151a5d90c..bae661f68be8 100644 --- a/pkg/ccl/crosscluster/producer/main_test.go +++ b/pkg/ccl/streamingccl/streamproducer/main_test.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package producer_test +package streamproducer_test import ( "os" diff --git a/pkg/ccl/crosscluster/producer/producer_job.go b/pkg/ccl/streamingccl/streamproducer/producer_job.go similarity index 87% rename from pkg/ccl/crosscluster/producer/producer_job.go rename to pkg/ccl/streamingccl/streamproducer/producer_job.go index 7316058b8abd..89cc4591c6af 100644 --- a/pkg/ccl/crosscluster/producer/producer_job.go +++ b/pkg/ccl/streamingccl/streamproducer/producer_job.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package producer +package streamproducer import ( "context" @@ -14,8 +14,8 @@ import ( "os/exec" "time" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationutils" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/replicationutils" "github.com/cockroachdb/cockroach/pkg/jobs" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" "github.com/cockroachdb/cockroach/pkg/keys" @@ -80,32 +80,6 @@ func makeProducerJobRecord( } } -func makeProducerJobRecordForLogicalReplication( - registry *jobs.Registry, - expirationWindow time.Duration, - user username.SQLUsername, - ptsID uuid.UUID, - spans []roachpb.Span, - desc string, -) jobs.Record { - expiration := timeutil.Now().Add(expirationWindow) - status := jobspb.StreamReplicationProgress_NOT_FINISHED - return jobs.Record{ - JobID: registry.MakeJobID(), - Description: fmt.Sprintf("History Retention for Logical Replication of %s", desc), - Username: user, - Details: jobspb.StreamReplicationDetails{ - ProtectedTimestampRecordID: ptsID, - Spans: spans, - ExpirationWindow: expirationWindow, - }, - Progress: jobspb.StreamReplicationProgress{ - Expiration: expiration, - StreamIngestionStatus: status, - }, - } -} - type producerJobResumer struct { job *jobs.Job @@ -142,7 +116,7 @@ func (p *producerJobResumer) Resume(ctx context.Context, execCtx interface{}) er return ctx.Err() case <-p.timer.Ch(): p.timer.MarkRead() - p.timer.Reset(crosscluster.StreamReplicationStreamLivenessTrackFrequency.Get(execCfg.SV())) + p.timer.Reset(streamingccl.StreamReplicationStreamLivenessTrackFrequency.Get(execCfg.SV())) progress, err := replicationutils.LoadReplicationProgress(ctx, execCfg.InternalDB, p.job.ID()) if knobs := execCfg.StreamingTestingKnobs; knobs != nil && knobs.AfterResumerJobLoad != nil { err = knobs.AfterResumerJobLoad(err) @@ -204,9 +178,6 @@ func (p *producerJobResumer) removeJobFromTenantRecord( ctx context.Context, execCfg *sql.ExecutorConfig, ) error { tenantID := p.job.Details().(jobspb.StreamReplicationDetails).TenantID - if !tenantID.IsSet() { - return nil - } jobID := p.job.ID() return execCfg.InternalDB.Txn(ctx, func(ctx context.Context, txn isql.Txn) error { tenantRecord, err := sql.GetTenantRecordByID(ctx, txn, tenantID, execCfg.Settings) diff --git a/pkg/ccl/crosscluster/producer/producer_job_test.go b/pkg/ccl/streamingccl/streamproducer/producer_job_test.go similarity index 99% rename from pkg/ccl/crosscluster/producer/producer_job_test.go rename to pkg/ccl/streamingccl/streamproducer/producer_job_test.go index 35c99853696c..40e8ffb1daea 100644 --- a/pkg/ccl/crosscluster/producer/producer_job_test.go +++ b/pkg/ccl/streamingccl/streamproducer/producer_job_test.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package producer +package streamproducer import ( "context" diff --git a/pkg/ccl/streamingccl/streamproducer/replication_manager.go b/pkg/ccl/streamingccl/streamproducer/replication_manager.go new file mode 100644 index 000000000000..f8b94a11bcbd --- /dev/null +++ b/pkg/ccl/streamingccl/streamproducer/replication_manager.go @@ -0,0 +1,137 @@ +// Copyright 2021 The Cockroach Authors. +// +// Licensed as a CockroachDB Enterprise file under the Cockroach Community +// License (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt + +package streamproducer + +import ( + "context" + + "github.com/cockroachdb/cockroach/pkg/ccl/utilccl" + "github.com/cockroachdb/cockroach/pkg/repstream" + "github.com/cockroachdb/cockroach/pkg/repstream/streampb" + "github.com/cockroachdb/cockroach/pkg/roachpb" + "github.com/cockroachdb/cockroach/pkg/sql/clusterunique" + "github.com/cockroachdb/cockroach/pkg/sql/isql" + "github.com/cockroachdb/cockroach/pkg/sql/pgwire/pgcode" + "github.com/cockroachdb/cockroach/pkg/sql/pgwire/pgerror" + "github.com/cockroachdb/cockroach/pkg/sql/privilege" + "github.com/cockroachdb/cockroach/pkg/sql/sem/eval" + "github.com/cockroachdb/cockroach/pkg/sql/syntheticprivilege" + "github.com/cockroachdb/cockroach/pkg/util/hlc" +) + +type replicationStreamManagerImpl struct { + evalCtx *eval.Context + txn isql.Txn + sessionID clusterunique.ID +} + +// StartReplicationStream implements streaming.ReplicationStreamManager interface. +func (r *replicationStreamManagerImpl) StartReplicationStream( + ctx context.Context, tenantName roachpb.TenantName, req streampb.ReplicationProducerRequest, +) (streampb.ReplicationProducerSpec, error) { + if err := r.checkLicense(); err != nil { + return streampb.ReplicationProducerSpec{}, err + } + return StartReplicationProducerJob(ctx, r.evalCtx, r.txn, tenantName, req, false) +} + +// HeartbeatReplicationStream implements streaming.ReplicationStreamManager interface. +func (r *replicationStreamManagerImpl) HeartbeatReplicationStream( + ctx context.Context, streamID streampb.StreamID, frontier hlc.Timestamp, +) (streampb.StreamReplicationStatus, error) { + if err := r.checkLicense(); err != nil { + return streampb.StreamReplicationStatus{}, err + } + return heartbeatReplicationStream(ctx, r.evalCtx, r.txn, streamID, frontier) +} + +// StreamPartition implements streaming.ReplicationStreamManager interface. +func (r *replicationStreamManagerImpl) StreamPartition( + streamID streampb.StreamID, opaqueSpec []byte, +) (eval.ValueGenerator, error) { + if err := r.checkLicense(); err != nil { + return nil, err + } + return streamPartition(r.evalCtx, streamID, opaqueSpec) +} + +// GetReplicationStreamSpec implements streaming.ReplicationStreamManager interface. +func (r *replicationStreamManagerImpl) GetReplicationStreamSpec( + ctx context.Context, streamID streampb.StreamID, +) (*streampb.ReplicationStreamSpec, error) { + if err := r.checkLicense(); err != nil { + return nil, err + } + return getReplicationStreamSpec(ctx, r.evalCtx, r.txn, streamID) +} + +// CompleteReplicationStream implements ReplicationStreamManager interface. +func (r *replicationStreamManagerImpl) CompleteReplicationStream( + ctx context.Context, streamID streampb.StreamID, successfulIngestion bool, +) error { + if err := r.checkLicense(); err != nil { + return err + } + return completeReplicationStream(ctx, r.evalCtx, r.txn, streamID, successfulIngestion) +} + +func (r *replicationStreamManagerImpl) SetupSpanConfigsStream( + ctx context.Context, tenantName roachpb.TenantName, +) (eval.ValueGenerator, error) { + if err := r.checkLicense(); err != nil { + return nil, err + } + return setupSpanConfigsStream(ctx, r.evalCtx, r.txn, tenantName) +} + +func (r *replicationStreamManagerImpl) DebugGetProducerStatuses( + ctx context.Context, +) []*streampb.DebugProducerStatus { + // NB: we don't check license here since if a stream started but the license + // expired or was removed, we still was visibility into it during debugging. + + // TODO(dt): ideally we store pointers to open readers in a map in some field + // of some struct off of server (job registry?) so that each VC just sees the + // ones it is running, but for now we're using a global singleton map but that + // is not the end of the world since only the system tenant can run these so + // as long as it is the only one that can see into the singleton we're ok. + if !r.evalCtx.Codec.ForSystemTenant() { + return nil + } + activeStreams.Lock() + defer activeStreams.Unlock() + res := make([]*streampb.DebugProducerStatus, 0, len(activeStreams.m)) + for _, e := range activeStreams.m { + res = append(res, e.DebugGetProducerStatus()) + } + return res +} + +func newReplicationStreamManagerWithPrivilegesCheck( + ctx context.Context, evalCtx *eval.Context, txn isql.Txn, sessionID clusterunique.ID, +) (eval.ReplicationStreamManager, error) { + if err := evalCtx.SessionAccessor.CheckPrivilege(ctx, + syntheticprivilege.GlobalPrivilegeObject, + privilege.REPLICATION); err != nil { + return nil, err + } + return &replicationStreamManagerImpl{evalCtx: evalCtx, txn: txn, sessionID: sessionID}, nil +} + +func (r *replicationStreamManagerImpl) checkLicense() error { + if err := utilccl.CheckEnterpriseEnabled(r.evalCtx.Settings, "REPLICATION"); err != nil { + return pgerror.Wrap(err, + pgcode.CCLValidLicenseRequired, "physical replication requires an enterprise license on the primary (and secondary) cluster") + } + return nil +} + +func init() { + repstream.GetReplicationStreamManagerHook = newReplicationStreamManagerWithPrivilegesCheck +} diff --git a/pkg/ccl/crosscluster/producer/replication_manager_test.go b/pkg/ccl/streamingccl/streamproducer/replication_manager_test.go similarity index 95% rename from pkg/ccl/crosscluster/producer/replication_manager_test.go rename to pkg/ccl/streamingccl/streamproducer/replication_manager_test.go index 74c9de6dd769..0a6dbf197c9f 100644 --- a/pkg/ccl/crosscluster/producer/replication_manager_test.go +++ b/pkg/ccl/streamingccl/streamproducer/replication_manager_test.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package producer +package streamproducer import ( "context" @@ -16,7 +16,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/security/username" "github.com/cockroachdb/cockroach/pkg/sql" "github.com/cockroachdb/cockroach/pkg/sql/catalog/descs" - "github.com/cockroachdb/cockroach/pkg/sql/catalog/resolver" "github.com/cockroachdb/cockroach/pkg/sql/clusterunique" "github.com/cockroachdb/cockroach/pkg/sql/sem/eval" "github.com/cockroachdb/cockroach/pkg/sql/sessiondata" @@ -64,7 +63,7 @@ func TestReplicationManagerRequiresReplicationPrivilege(t *testing.T) { }) defer cleanup() ec := pi.EvalContext() - return newReplicationStreamManagerWithPrivilegesCheck(ctx, ec, p.(resolver.SchemaResolver), pi.InternalSQLTxn(), clusterunique.ID{}) + return newReplicationStreamManagerWithPrivilegesCheck(ctx, ec, pi.InternalSQLTxn(), clusterunique.ID{}) } tDB.Exec(t, "CREATE ROLE somebody") diff --git a/pkg/ccl/crosscluster/producer/replication_stream_test.go b/pkg/ccl/streamingccl/streamproducer/replication_stream_test.go similarity index 96% rename from pkg/ccl/crosscluster/producer/replication_stream_test.go rename to pkg/ccl/streamingccl/streamproducer/replication_stream_test.go index 3f6333e2feb0..b832693a243f 100644 --- a/pkg/ccl/crosscluster/producer/replication_stream_test.go +++ b/pkg/ccl/streamingccl/streamproducer/replication_stream_test.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package producer_test +package streamproducer_test import ( "bytes" @@ -20,10 +20,10 @@ import ( "time" "github.com/cockroachdb/cockroach/pkg/base" - _ "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl" // Ensure changefeed init hooks run. - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationtestutils" + _ "github.com/cockroachdb/cockroach/pkg/ccl/changefeedccl" // Ensure changefeed init hooks run. _ "github.com/cockroachdb/cockroach/pkg/ccl/kvccl/kvtenantccl" // Ensure we can start tenant. + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/replicationtestutils" _ "github.com/cockroachdb/cockroach/pkg/cloud/impl" "github.com/cockroachdb/cockroach/pkg/jobs" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" @@ -75,7 +75,7 @@ var _ replicationtestutils.FeedSource = (*pgConnReplicationFeedSource)(nil) type pgConnEventDecoder interface { decode() - pop() crosscluster.Event + pop() streamingccl.Event } type eventDecoderFactory func(t *testing.T, rows pgx.Rows) pgConnEventDecoder @@ -104,20 +104,20 @@ func makePartitionStreamDecoder(t *testing.T, rows pgx.Rows) pgConnEventDecoder } } -func (d *partitionStreamDecoder) pop() crosscluster.Event { +func (d *partitionStreamDecoder) pop() streamingccl.Event { if d.e.Checkpoint != nil { // TODO(yevgeniy): Fix checkpoint handling and support backfill checkpoints. // For now, check that we only have one span in the checkpoint, and use that timestamp. require.Equal(d.t, 1, len(d.e.Checkpoint.ResolvedSpans)) - event := crosscluster.MakeCheckpointEvent(d.e.Checkpoint.ResolvedSpans) + event := streamingccl.MakeCheckpointEvent(d.e.Checkpoint.ResolvedSpans) d.e.Checkpoint = nil return event } if d.e.Batch != nil { - event := crosscluster.MakeKVEvent(d.e.Batch.KVs[0:1]) - d.e.Batch.KVs = d.e.Batch.KVs[1:] - if len(d.e.Batch.KVs) == 0 { + event := streamingccl.MakeKVEvent([]roachpb.KeyValue{d.e.Batch.KeyValues[0]}) + d.e.Batch.KeyValues = d.e.Batch.KeyValues[1:] + if len(d.e.Batch.KeyValues) == 0 { d.e.Batch = nil } return event @@ -138,7 +138,7 @@ func (d *partitionStreamDecoder) decode() { } // Next implements the streamingtest.FeedSource interface. -func (f *pgConnReplicationFeedSource) Next() (crosscluster.Event, bool) { +func (f *pgConnReplicationFeedSource) Next() (streamingccl.Event, bool) { f.mu.Lock() defer f.mu.Unlock() // First check if there exists a decoded event. @@ -281,8 +281,8 @@ func TestReplicationStreamInitialization(t *testing.T) { // Ensures the processor spec tracks the tenant span. require.Equal(t, 1, len(spec.Partitions)) - require.Equal(t, 1, len(spec.Partitions[0].SourcePartition.Spans)) - require.Equal(t, keys.MakeTenantSpan(srcTenant.ID), spec.Partitions[0].SourcePartition.Spans[0]) + require.Equal(t, 1, len(spec.Partitions[0].PartitionSpec.Spans)) + require.Equal(t, keys.MakeTenantSpan(srcTenant.ID), spec.Partitions[0].PartitionSpec.Spans[0]) }) t.Run("nonexistent-replication-stream-has-inactive-status", func(t *testing.T) { @@ -327,7 +327,6 @@ func encodeSpecForSpans( PreviousReplicatedTimestamp: previousReplicatedTime, Spans: spans, Progress: progress, - WrappedEvents: true, Config: streampb.StreamPartitionSpec_ExecutionConfig{ MinCheckpointFrequency: 10 * time.Millisecond, }, @@ -450,7 +449,7 @@ CREATE TABLE t3( for { require.True(t, source.mu.rows.Next()) source.mu.codec.decode() - if codec.e.Batch != nil && len(codec.e.Batch.KVs) > 0 { + if codec.e.Batch != nil && len(codec.e.Batch.KeyValues) > 0 { break } } @@ -524,9 +523,9 @@ USE d; if len(codec.e.Batch.Ssts) > 0 { require.Equal(t, 1, len(codec.e.Batch.Ssts)) require.Regexp(t, "/Tenant/10/Table/.*42.*", codec.e.Batch.Ssts[0].Span.String()) - } else if len(codec.e.Batch.KVs) > 0 { - require.LessOrEqual(t, 1, len(codec.e.Batch.KVs)) - require.Regexp(t, "/Tenant/10/Table/.*42.*", codec.e.Batch.KVs[0].KeyValue.Key.String()) + } else if len(codec.e.Batch.KeyValues) > 0 { + require.LessOrEqual(t, 1, len(codec.e.Batch.KeyValues)) + require.Regexp(t, "/Tenant/10/Table/.*42.*", codec.e.Batch.KeyValues[0].Key.String()) } break } @@ -700,9 +699,9 @@ USE d; return rKeySpans } - consumeUntilTimestamp := func(ts hlc.Timestamp) ([]streampb.StreamEvent_KV, []roachpb.Span) { + consumeUntilTimestamp := func(ts hlc.Timestamp) ([]roachpb.KeyValue, []roachpb.Span) { t.Logf("consuming until %s", ts) - receivedKVs := make([]streampb.StreamEvent_KV, 0) + receivedKVs := make([]roachpb.KeyValue, 0) receivedDelRangeSpans := make([]roachpb.Span, 0) f, err := span.MakeFrontier(spans...) require.NoError(t, err) @@ -720,7 +719,7 @@ USE d; t.Logf("%s current frontier %s", timeutil.Now(), f.Frontier()) } } else if codec.e.Batch != nil { - receivedKVs = append(receivedKVs, codec.e.Batch.KVs...) + receivedKVs = append(receivedKVs, codec.e.Batch.KeyValues...) for _, dr := range codec.e.Batch.DelRanges { receivedDelRangeSpans = append(receivedDelRangeSpans, dr.Span) } @@ -771,8 +770,8 @@ USE d; require.NoError(t, err) receivedKVs, receivedDelRangeSpans := consumeUntilTimestamp(batchHLCTime) - require.Equal(t, t2Span.Key, receivedKVs[0].KeyValue.Key) - require.True(t, batchHLCTime.LessEq(receivedKVs[0].KeyValue.Value.Timestamp)) + require.Equal(t, t2Span.Key, receivedKVs[0].Key) + require.True(t, batchHLCTime.LessEq(receivedKVs[0].Value.Timestamp)) require.Equal(t, expectedDelRanges, normalizeRangeKeys(receivedDelRangeSpans)) } diff --git a/pkg/ccl/crosscluster/producer/span_config_event_stream.go b/pkg/ccl/streamingccl/streamproducer/span_config_event_stream.go similarity index 98% rename from pkg/ccl/crosscluster/producer/span_config_event_stream.go rename to pkg/ccl/streamingccl/streamproducer/span_config_event_stream.go index 90df0fb04eb1..71b2a5049a52 100644 --- a/pkg/ccl/crosscluster/producer/span_config_event_stream.go +++ b/pkg/ccl/streamingccl/streamproducer/span_config_event_stream.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package producer +package streamproducer import ( "context" @@ -157,12 +157,7 @@ func (s *spanConfigEventStream) Next(ctx context.Context) (bool, error) { case err := <-s.errCh: return false, err case s.data = <-s.streamCh: - select { - case err := <-s.errCh: - return false, err - default: - return true, nil - } + return true, nil } } @@ -222,7 +217,7 @@ func (s *spanConfigEventStream) streamLoop(ctx context.Context) error { // don't clog up the rangefeed. Consider using async flushing. pacer := makeCheckpointPacer(s.spec.MinCheckpointFrequency) bufferedEvents := make([]streampb.StreamedSpanConfigEntry, 0) - batcher := makeStreamEventBatcher(s.spec.WrappedEvents) + batcher := makeStreamEventBatcher() frontier := makeSpanConfigFrontier(s.spec.Span) for { diff --git a/pkg/ccl/crosscluster/producer/stream_event_batcher.go b/pkg/ccl/streamingccl/streamproducer/stream_event_batcher.go similarity index 85% rename from pkg/ccl/crosscluster/producer/stream_event_batcher.go rename to pkg/ccl/streamingccl/streamproducer/stream_event_batcher.go index 2bb2a469c8f6..3a5c2d397f7f 100644 --- a/pkg/ccl/crosscluster/producer/stream_event_batcher.go +++ b/pkg/ccl/streamingccl/streamproducer/stream_event_batcher.go @@ -6,7 +6,7 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package producer +package streamproducer import ( "github.com/cockroachdb/cockroach/pkg/kv/kvpb" @@ -19,16 +19,17 @@ type streamEventBatcher struct { batch streampb.StreamEvent_Batch size int spanConfigFrontier hlc.Timestamp - wrappedKVs bool } -func makeStreamEventBatcher(supportsWrapping bool) *streamEventBatcher { - return &streamEventBatcher{wrappedKVs: supportsWrapping} +func makeStreamEventBatcher() *streamEventBatcher { + return &streamEventBatcher{ + batch: streampb.StreamEvent_Batch{}, + } } func (seb *streamEventBatcher) reset() { seb.size = 0 - seb.batch.KVs = seb.batch.KVs[:0] + seb.batch.KeyValues = seb.batch.KeyValues[:0] seb.batch.Ssts = seb.batch.Ssts[:0] seb.batch.DelRanges = seb.batch.DelRanges[:0] seb.batch.SpanConfigs = seb.batch.SpanConfigs[:0] @@ -40,14 +41,9 @@ func (seb *streamEventBatcher) addSST(sst kvpb.RangeFeedSSTable) { seb.size += sst.Size() } -func (seb *streamEventBatcher) addKV(kv streampb.StreamEvent_KV) { - if seb.wrappedKVs { - seb.batch.KVs = append(seb.batch.KVs, kv) - seb.size += (kv.Size()) - } else { - seb.batch.DeprecatedKeyValues = append(seb.batch.DeprecatedKeyValues, kv.KeyValue) - seb.size += (kv.Size()) - } +func (seb *streamEventBatcher) addKV(kv roachpb.KeyValue) { + seb.batch.KeyValues = append(seb.batch.KeyValues, kv) + seb.size += kv.Size() } func (seb *streamEventBatcher) addDelRange(d kvpb.RangeFeedDeleteRange) { diff --git a/pkg/ccl/crosscluster/producer/stream_event_batcher_test.go b/pkg/ccl/streamingccl/streamproducer/stream_event_batcher_test.go similarity index 93% rename from pkg/ccl/crosscluster/producer/stream_event_batcher_test.go rename to pkg/ccl/streamingccl/streamproducer/stream_event_batcher_test.go index 21370fc2bf22..8a862ec56447 100644 --- a/pkg/ccl/crosscluster/producer/stream_event_batcher_test.go +++ b/pkg/ccl/streamingccl/streamproducer/stream_event_batcher_test.go @@ -6,13 +6,13 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package producer +package streamproducer import ( "fmt" "testing" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster/replicationtestutils" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl/replicationtestutils" "github.com/cockroachdb/cockroach/pkg/keys" "github.com/cockroachdb/cockroach/pkg/kv/kvpb" "github.com/cockroachdb/cockroach/pkg/repstream/streampb" @@ -28,13 +28,13 @@ func TestStreamEventBatcher(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) - seb := makeStreamEventBatcher(true) + seb := makeStreamEventBatcher() var runningSize int kv := roachpb.KeyValue{Key: roachpb.Key{'1'}} - runningSize += (&streampb.StreamEvent_KV{KeyValue: kv}).Size() - seb.addKV(streampb.StreamEvent_KV{KeyValue: kv}) - require.Equal(t, 1, len(seb.batch.KVs)) + runningSize += kv.Size() + seb.addKV(kv) + require.Equal(t, 1, len(seb.batch.KeyValues)) require.Equal(t, runningSize, seb.getSize()) delRange := kvpb.RangeFeedDeleteRange{Span: roachpb.Span{Key: roachpb.KeyMin}, Timestamp: hlc.Timestamp{}} @@ -58,7 +58,7 @@ func TestStreamEventBatcher(t *testing.T) { // Reset should clear the batch. seb.reset() require.Equal(t, 0, seb.getSize()) - require.Equal(t, 0, len(seb.batch.KVs)) + require.Equal(t, 0, len(seb.batch.KeyValues)) require.Equal(t, 0, len(seb.batch.Ssts)) require.Equal(t, 0, len(seb.batch.DelRanges)) } @@ -72,7 +72,7 @@ func TestBatchSpanConfigs(t *testing.T) { rng, seed := randutil.NewPseudoRand() t.Logf("Replication helper seed %d", seed) - seb := makeStreamEventBatcher(true) + seb := makeStreamEventBatcher() codec := keys.MakeSQLCodec(roachpb.MustMakeTenantID(2)) bufferedEvents := make([]streampb.StreamedSpanConfigEntry, 0) diff --git a/pkg/ccl/crosscluster/producer/stream_lifetime.go b/pkg/ccl/streamingccl/streamproducer/stream_lifetime.go similarity index 85% rename from pkg/ccl/crosscluster/producer/stream_lifetime.go rename to pkg/ccl/streamingccl/streamproducer/stream_lifetime.go index b0408c64cd19..5d543d19828b 100644 --- a/pkg/ccl/crosscluster/producer/stream_lifetime.go +++ b/pkg/ccl/streamingccl/streamproducer/stream_lifetime.go @@ -6,14 +6,14 @@ // // https://github.com/cockroachdb/cockroach/blob/master/licenses/CCL.txt -package producer +package streamproducer import ( "context" "time" - "github.com/cockroachdb/cockroach/pkg/ccl/crosscluster" "github.com/cockroachdb/cockroach/pkg/ccl/kvccl/kvfollowerreadsccl" + "github.com/cockroachdb/cockroach/pkg/ccl/streamingccl" "github.com/cockroachdb/cockroach/pkg/jobs" "github.com/cockroachdb/cockroach/pkg/jobs/jobspb" "github.com/cockroachdb/cockroach/pkg/jobs/jobsprotectedts" @@ -23,7 +23,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/kv/kvserver/protectedts/ptpb" "github.com/cockroachdb/cockroach/pkg/repstream/streampb" "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/settings" "github.com/cockroachdb/cockroach/pkg/sql" "github.com/cockroachdb/cockroach/pkg/sql/catalog/descpb" "github.com/cockroachdb/cockroach/pkg/sql/catalog/descs" @@ -47,14 +46,6 @@ import ( // expiration window will be 24 hours. const defaultExpirationWindow = time.Hour * 24 -var streamMaxProcsPerPartition = settings.RegisterIntSetting( - settings.ApplicationLevel, - "stream_replication.ingest_processor_parallelism", - "controls the maximum number of ingest processors to assign to each source-planned partition", - 8, - settings.PositiveInt, -) - // notAReplicationJobError returns an error that is returned anytime // the user passes a job ID not related to a replication stream job. func notAReplicationJobError(id jobspb.JobID) error { @@ -84,6 +75,10 @@ func StartReplicationProducerJob( ) (streampb.ReplicationProducerSpec, error) { execConfig := evalCtx.Planner.ExecutorConfig().(*sql.ExecutorConfig) + if !kvserver.RangefeedEnabled.Get(&evalCtx.Settings.SV) { + return streampb.ReplicationProducerSpec{}, errors.Errorf("kv.rangefeed.enabled must be true to start a replication job") + } + tenantRecord, err := sql.GetTenantRecordByName(ctx, evalCtx.Settings, txn, tenantName) if err != nil { return streampb.ReplicationProducerSpec{}, err @@ -93,10 +88,6 @@ func StartReplicationProducerJob( return streampb.ReplicationProducerSpec{}, err } - if tenantID.IsSystem() && !kvserver.RangefeedEnabled.Get(&evalCtx.Settings.SV) { - return streampb.ReplicationProducerSpec{}, errors.Errorf("kv.rangefeed.enabled must be true to start a replication job") - } - var replicationStartTime hlc.Timestamp if !req.ReplicationStartTime.IsEmpty() { if tenantRecord.PreviousSourceTenant != nil { @@ -220,10 +211,14 @@ func updateReplicationStreamProgress( return nil } - // We only update the PTS if it should be pushed forward. We may receive heartbeat timestamps - // less than the current PTS after a cutover time has been issued, in which case, we'll receive - // heartbeats with the cutover timestamp, then the PTS should not be advanced as we still - // need to protect data at and above the cutover time. + // TODO(casper): Error out when the protected timestamp moves backward as the ingestion + // processors may consume kv changes that are not protected. We are fine for now + // for the sake of long GC window. + // Now this can happen because the frontier processor moves forward the protected timestamp + // in the source cluster through heartbeats before it reports the new frontier to the + // ingestion job resumer which later updates the job high watermark. When we retry another + // ingestion using the previous ingestion high watermark, it can fall behind the + // source cluster protected timestamp. if shouldUpdatePTS := ptsRecord.Timestamp.Less(consumedTime); shouldUpdatePTS { if err = pts.UpdateTimestamp(ctx, ptsID, consumedTime); err != nil { return err @@ -268,8 +263,8 @@ func heartbeatReplicationStream( streamID, frontier, txn) } -// getPhysicalReplicationStreamSpec gets a replication stream specification for the specified stream. -func getPhysicalReplicationStreamSpec( +// getReplicationStreamSpec gets a replication stream specification for the specified stream. +func getReplicationStreamSpec( ctx context.Context, evalCtx *eval.Context, txn isql.Txn, streamID streampb.StreamID, ) (*streampb.ReplicationStreamSpec, error) { jobExecCtx := evalCtx.JobExecContext.(sql.JobExecContext) @@ -317,8 +312,6 @@ func buildReplicationStreamSpec( return nil, err } - spanPartitions = repartitionSpans(spanPartitions, int(streamMaxProcsPerPartition.Get(&evalCtx.Settings.SV))) - var spanConfigsStreamID streampb.StreamID if forSpanConfigs { spanConfigsStreamID = streampb.StreamID(builtins.GenerateUniqueInt(builtins.ProcessUniqueID(evalCtx.NodeID.SQLInstanceID()))) @@ -339,39 +332,17 @@ func buildReplicationStreamSpec( NodeID: roachpb.NodeID(sp.SQLInstanceID), SQLAddress: nodeInfo.SQLAddress, Locality: nodeInfo.Locality, - SourcePartition: &streampb.SourcePartition{ + PartitionSpec: &streampb.StreamPartitionSpec{ Spans: sp.Spans, + Config: streampb.StreamPartitionSpec_ExecutionConfig{ + MinCheckpointFrequency: streamingccl.StreamReplicationMinCheckpointFrequency.Get(&evalCtx.Settings.SV), + }, }, }) } return res, nil } -// repartitionSpans breaks up each of partition in partitions into parts smaller -// partitions that are round-robin assigned its spans. NB: we round-robin rather -// than assigning the first k to 1, next k to 2, etc since spans earlier in the -// key-space are generally smaller than those later in it due to the avoidance -// of skewed distributions during once-through streak-affinity planning (since -// early in the planning a small streak skews the overall distribution planned -// so far). It would be unfortunate to have round-robin assignment mean we do -// not colocate adjacent spans in the same processor, but we already expect gaps -// between these spans for spans assigned to other partitions, so we don't worry -// about that here. -func repartitionSpans(partitions []sql.SpanPartition, parts int) []sql.SpanPartition { - result := make([]sql.SpanPartition, 0, parts*len(partitions)) - for part := range partitions { - repartitioned := make([]sql.SpanPartition, min(parts, len(partitions[part].Spans))) - for i := range repartitioned { - repartitioned[i].SQLInstanceID = partitions[part].SQLInstanceID - } - for x, sp := range partitions[part].Spans { - repartitioned[x%parts].Spans = append(repartitioned[x%parts].Spans, sp) - } - result = append(result, repartitioned...) - } - return result -} - func completeReplicationStream( ctx context.Context, evalCtx *eval.Context, @@ -451,8 +422,7 @@ func setupSpanConfigsStream( spec := streampb.SpanConfigEventStreamSpec{ Span: span, TenantID: tenantID, - MinCheckpointFrequency: crosscluster.StreamReplicationMinCheckpointFrequency.Get(&evalCtx.Settings.SV), - WrappedEvents: true, + MinCheckpointFrequency: streamingccl.StreamReplicationMinCheckpointFrequency.Get(&evalCtx.Settings.SV), } return streamSpanConfigs(evalCtx, spec) } diff --git a/pkg/ccl/telemetryccl/telemetry_logging_test.go b/pkg/ccl/telemetryccl/telemetry_logging_test.go index eb4f6c4ae43e..2aaa099633ac 100644 --- a/pkg/ccl/telemetryccl/telemetry_logging_test.go +++ b/pkg/ccl/telemetryccl/telemetry_logging_test.go @@ -436,7 +436,7 @@ func cleanUpObjectsBeforeRestore( if len(dbMatch) > 0 { dbName := dbMatch[1] if _, err := db.ExecContext(ctx, fmt.Sprintf("DROP DATABASE IF EXISTS %s CASCADE", dbName)); err != nil { - t.Error(errors.Wrapf(err, "failed to drop database %q before restore", dbName).Error()) + t.Errorf(errors.Wrapf(err, "failed to drop database %q before restore", dbName).Error()) } } @@ -445,7 +445,7 @@ func cleanUpObjectsBeforeRestore( if len(tableMatch) > 0 { tableName := tableMatch[1] if _, err := db.ExecContext(ctx, fmt.Sprintf("DROP TABLE IF EXISTS %s", tableName)); err != nil { - t.Error(errors.Wrapf(err, "failed to drop table %q before restore", tableName).Error()) + t.Errorf(errors.Wrapf(err, "failed to drop table %q before restore", tableName).Error()) } } } diff --git a/pkg/ccl/telemetryccl/testdata/telemetry/vector b/pkg/ccl/telemetryccl/testdata/telemetry/vector deleted file mode 100644 index 22916b0124a4..000000000000 --- a/pkg/ccl/telemetryccl/testdata/telemetry/vector +++ /dev/null @@ -1,20 +0,0 @@ -# This file contains telemetry tests for telemetry counters related to -# pg_vector. - -feature-list -sql.schema.new_column_type.* ----- - -feature-usage -CREATE TABLE t ( - k INT PRIMARY KEY, - x VECTOR -) ----- -sql.schema.new_column_type.int8 -sql.schema.new_column_type.vector - -feature-usage -ALTER TABLE t ADD COLUMN y VECTOR ----- -sql.schema.new_column_type.vector diff --git a/pkg/ccl/testccl/authccl/auth_test.go b/pkg/ccl/testccl/authccl/auth_test.go index 481c53cf5e70..74d12132f60e 100644 --- a/pkg/ccl/testccl/authccl/auth_test.go +++ b/pkg/ccl/testccl/authccl/auth_test.go @@ -173,7 +173,7 @@ func jwtRunTest(t *testing.T, insecure bool) { if err := cfg.Validate(&dir); err != nil { t.Fatal(err) } - cleanup, err := log.ApplyConfig(cfg, nil /* fileSinkMetricsForDir */, nil /* fatalOnLogStall */) + cleanup, err := log.ApplyConfig(cfg) if err != nil { t.Fatal(err) } @@ -220,7 +220,7 @@ func jwtRunTest(t *testing.T, insecure bool) { if len(a.Vals) != 1 { t.Fatalf("wrong number of argumenets to jwt_cluster_setting issuers: %d", len(a.Vals)) } - jwtauthccl.JWTAuthIssuersConfig.Override(context.Background(), sv, a.Vals[0]) + jwtauthccl.JWTAuthIssuers.Override(context.Background(), sv, a.Vals[0]) case "jwks": if len(a.Vals) != 1 { t.Fatalf("wrong number of argumenets to jwt_cluster_setting jwks: %d", len(a.Vals)) diff --git a/pkg/ccl/testccl/authccl/testdata/jwt b/pkg/ccl/testccl/authccl/testdata/jwt index 9e4109033cd2..9bf3dd5d0c00 100644 --- a/pkg/ccl/testccl/authccl/testdata/jwt +++ b/pkg/ccl/testccl/authccl/testdata/jwt @@ -67,7 +67,7 @@ subtest expired_token connect user=jwt_user options=--crdb:jwt_auth_enabled=true password=eyJhbGciOiJSUzI1NiIsImtpZCI6InRlc3QyIn0.eyJhdWQiOiJ0ZXN0X2NsdXN0ZXIiLCJleHAiOjE2NjEyNjQzOTgsImlhdCI6MTY2MTI2NDM5OCwiaXNzIjoiaXNzdWVyMiIsInN1YiI6InRlc3QyIn0.1nWuqpwj4uPDk0pyyqEJhpIgyridv699B7OjEBGSyQ8iyrqryeG1yr7oP1qnKlrcqtbVmuB5ELJoXNUerd8BL0GQBMCkkxjG1cuLvLNOWo5yzifcfYHiiaCL25EblWG46eBrxAeHmqGigQiIpSUPjQTlZT_lRLrEI9h_xQhwNp5AnsY2S1f8N4oaMqjUjgREGdLhZT9sOyNmrf5uowTFcR3aWBkpIB5Ac5rvI8-U7-D1rY5KJ3Wez4G2L3Miyof_lOlK1g8XwAasCPKlhHea5qZNjqHLqgOb5EIQ_yd_KICT7pFLSgMXw_IJ9c68z-H1N7wEivnnLydgQUR3WVEytA ---- ERROR: JWT authentication: invalid token (SQLSTATE 28000) -DETAIL: unable to parse token: "exp" not satisfied +DETAIL: unable to parse token: exp not satisfied subtest end @@ -81,7 +81,7 @@ jwt_cluster_setting jwks={"keys":[{"kty":"RSA","use":"sig","alg":"RS256","kid":" connect user=jwt_user options=--crdb:jwt_auth_enabled=true password=eyJhbGciOiJSUzI1NiIsImtpZCI6InRlc3QyIn0.eyJhdWQiOiJ0ZXN0X2NsdXN0ZXIiLCJleHAiOjI2NjEyNjQyNjksImlhdCI6MTY2MTI2NDI2OSwiaXNzIjoiaXNzdWVyMiIsInN1YiI6InRlc3QyIn0.Tot41E-wSz24wo1wj3b8CwEr-O_dqWZoHZkAh2x4nfK2hT4yhfiOcajmKQJVVZX2_897c8uDOqfLzl77JEe-AX4mlEBZXWUNqwwQIdIFZxpL6FEV_YjvTF0bQuu9oeD7kYW-6i3-QQpB6QpCVb-wLW8bBbJ4zCap88nYk14HZH-ZYSzPAP7YEVppHQNhWrxQ66nQU__RuYeQdL6J5Edes9qCHUgqnZCnMPzDZ4l_3Pc5tTSNVcOUl5MMHsvrYsb0VtSFTNCOjJIADXbc2KzVbfqLt-ArUDxs36__u_g84TfGFXoT0VTDbDjYwD7wpyLuT3oLcJuA4m_tto6Rrn7Rww ---- ERROR: JWT authentication: invalid token (SQLSTATE 28000) -DETAIL: unable to parse token: key provider 0 failed: failed to find key with key ID "test2" in key set +DETAIL: unable to parse token: failed to find key with key ID "test2" in key set jwt_cluster_setting jwks={"keys":[{"kty":"RSA","use":"sig","alg":"RS256","kid":"test","n":"sJCwOk5gVjZZu3oaODecZaT_-Lee7J-q3rQIvCilg-7B8fFNJ2XHZCsF74JX2d7ePyjz7u9d2r5CvstufiH0qGPHBBm0aKrxGRILRGUTfqBs8Dnrnv9ymTEFsRUQjgy9ACUfwcgLVQIwv1NozySLb4Z5N8X91b0TmcJun6yKjBrnr1ynUsI_XXjzLnDpJ2Ng_shuj-z7DKSEeiFUg9eSFuTeg_wuHtnnhw4Y9pwT47c-XBYnqtGYMADSVEzKLQbUini0p4-tfYboF6INluKQsO5b1AZaaXgmStPIqteS7r2eR3LFL-XB7rnZOR4cAla773Cq5DD-8RnYamnmmLu_gQ","e":"AQAB"},{"kty":"RSA","use":"sig","alg":"RS256","kid":"test2","n":"3gOrVdePypBAs6bTwD-6dZhMuwOSq8QllMihBfcsiRmo3c14_wfa_DRDy3kSsacwdih5-CaeF8ou-Dan6WqXzjDyJNekmGltPLfO2XB5FkHQoZ-X9lnXktsAgNLj3WsKjr-xUxrh8p8FFz62HJYN8QGaNttWBJZb3CgdzF7i8bPqVet4P1ekzs7mPBH2arEDy1f1q4o7fpmw0t9wuCrmtkj_g_eS6Hi2Rxm3m7HJUFVVbQeuZlT_W84FUzpSQCkNi2QDvoNVVCE2DSYZxDrzRxSZSv_fIh5XeJhwYY-f8iEfI4qx91ONGzGMvPn2GagrBnLBQRx-6RsORh4YmOOeeQ","e":"AQAB"}]} ---- diff --git a/pkg/ccl/testccl/sqlccl/explain_test.go b/pkg/ccl/testccl/sqlccl/explain_test.go index 733ec4580f84..e1815240a432 100644 --- a/pkg/ccl/testccl/sqlccl/explain_test.go +++ b/pkg/ccl/testccl/sqlccl/explain_test.go @@ -10,19 +10,16 @@ package sqlccl import ( "context" + gosql "database/sql" "strings" "testing" - "time" "github.com/cockroachdb/cockroach/pkg/base" "github.com/cockroachdb/cockroach/pkg/internal/sqlsmith" "github.com/cockroachdb/cockroach/pkg/sql/lexbase" - "github.com/cockroachdb/cockroach/pkg/sql/sqltestutils" "github.com/cockroachdb/cockroach/pkg/sql/tests" - "github.com/cockroachdb/cockroach/pkg/testutils" "github.com/cockroachdb/cockroach/pkg/testutils/serverutils" "github.com/cockroachdb/cockroach/pkg/testutils/skip" - "github.com/cockroachdb/cockroach/pkg/testutils/sqlutils" "github.com/cockroachdb/cockroach/pkg/util/leaktest" "github.com/cockroachdb/cockroach/pkg/util/log" "github.com/cockroachdb/cockroach/pkg/util/randutil" @@ -38,7 +35,6 @@ func TestExplainRedactDDL(t *testing.T) { defer log.Scope(t).Close(t) skip.UnderDeadlock(t, "the test is too slow") - skip.UnderRace(t, "the test is too slow") const numStatements = 10 @@ -48,10 +44,10 @@ func TestExplainRedactDDL(t *testing.T) { s, sqlDB, _ := serverutils.StartServer(t, base.TestServerArgs{}) defer s.Stopper().Stop(ctx) + defer sqlDB.Close() - conn, err := sqlDB.Conn(ctx) - if err != nil { - t.Fatal(err) + query := func(sql string) (*gosql.Rows, error) { + return sqlDB.QueryContext(ctx, sql) } // To check for PII leaks, we inject a single unlikely string into some of the @@ -73,16 +69,16 @@ func TestExplainRedactDDL(t *testing.T) { setup = append(setup, "SET CLUSTER SETTING sql.stats.automatic_collection.enabled = off;") setup = append(setup, "SET statement_timeout = '5s';") for _, stmt := range setup { - if _, err := conn.ExecContext(ctx, stmt); err != nil { + t.Log(stmt) + if _, err := sqlDB.ExecContext(ctx, stmt); err != nil { // Ignore errors. + t.Log("-- ignoring error:", err) continue } - // Only log successful statements. - t.Log(stmt + ";") } // Check EXPLAIN (OPT, CATALOG, REDACT) for each table. - rows, err := conn.QueryContext(ctx, "SELECT table_name FROM [SHOW TABLES]") + rows, err := query("SELECT table_name FROM [SHOW TABLES]") if err != nil { t.Fatal(err) } @@ -96,7 +92,8 @@ func TestExplainRedactDDL(t *testing.T) { } for _, table := range tables { explain := "EXPLAIN (OPT, CATALOG, REDACT) SELECT * FROM " + lexbase.EscapeSQLIdent(table) - rows, err = conn.QueryContext(ctx, explain) + t.Log(explain) + rows, err = query(explain) if err != nil { // This explain should always succeed. t.Fatal(err) @@ -122,189 +119,11 @@ func TestExplainRedactDDL(t *testing.T) { sqlsmith.PrefixStringConsts(pii), sqlsmith.OnlySingleDMLs(), sqlsmith.EnableAlters(), - sqlsmith.SimpleNames(), ) if err != nil { t.Fatal(err) } defer smith.Close() - tests.GenerateAndCheckRedactedExplainsForPII(t, smith, numStatements, conn, containsPII) -} - -// TestExplainGist is a randomized test for plan-gist logic. -func TestExplainGist(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - skip.UnderDeadlock(t, "the test is too slow") - skip.UnderRace(t, "the test is too slow") - - ctx := context.Background() - rng, _ := randutil.NewTestRand() - - const numStatements = 500 - var gists []string - - t.Run("main", func(t *testing.T) { - srv, sqlDB, _ := serverutils.StartServer(t, base.TestServerArgs{}) - defer srv.Stopper().Stop(ctx) - runner := sqlutils.MakeSQLRunner(sqlDB) - - // Set up some initial state. - setup := sqlsmith.Setups["seed"](rng) - setup = append(setup, "SET CLUSTER SETTING sql.stats.automatic_collection.enabled = off;") - if rng.Float64() < 0.5 { - // In some cases have stats on the seed table. - setup = append(setup, "ANALYZE seed;") - } - runner.ExecMultiple(t, setup...) - - // Given that statement timeout might apply differently between test - // runs with the same seed (e.g. because of different CPU load), we'll - // accumulate all successful statements for ease of reproduction. - var successfulStmts strings.Builder - logStmt := func(stmt string) { - successfulStmts.WriteString(stmt) - successfulStmts.WriteString(";\n") - } - for _, stmt := range setup { - logStmt(stmt) - } - - smither, err := sqlsmith.NewSmither(sqlDB, rng, sqlsmith.SimpleNames()) - if err != nil { - t.Fatal(err) - } - defer smither.Close() - - // Always set the statement timeout - we actually execute the stmts on - // the best effort basis to evolve the state of the DB. Note that we do - // this after having set up the smither since it itself can issue some - // statements. - // - // Note that we don't include this statement into successfulStmts since - // all that are included there must have not timed out. - timeoutStmt := "SET statement_timeout = '0.1s';" - runner.Exec(t, timeoutStmt) - - checkErr := func(err error, stmt string) { - if err != nil && strings.Contains(err.Error(), "internal error") { - // Ignore all errors except the internal ones. - for _, knownErr := range []string{ - "invalid datum type given: RECORD, expected RECORD", // #117101 - "expected equivalence dependants to be its closure", // #119045 - } { - if strings.Contains(err.Error(), knownErr) { - // Don't fail the test on a set of known errors. - return - } - } - t.Log(successfulStmts.String()) - t.Fatalf("%v: %s", err, stmt) - } - } - - for i := 0; i < numStatements; i++ { - stmt := func() string { - for { - stmt := smither.Generate() - switch stmt { - case "BEGIN TRANSACTION", "COMMIT TRANSACTION", "ROLLBACK TRANSACTION": - // Ignore frequently generated statements that result in - // a syntax error with EXPLAIN. - default: - return stmt - } - } - }() - - row := sqlDB.QueryRow("EXPLAIN (GIST) " + stmt) - if err = row.Err(); err != nil { - checkErr(err, stmt) - continue - } - var gist string - err = row.Scan(&gist) - if err != nil { - if !sqltestutils.IsClientSideQueryCanceledErr(err) { - t.Fatal(err) - } - // Short statement timeout might exceed planning time. Let's - // retry this statement with longer timeout. - if ok := func() bool { - runner.Exec(t, "SET statement_timeout = '1s'") - defer runner.Exec(t, timeoutStmt) - row = sqlDB.QueryRow("EXPLAIN (GIST) " + stmt) - if err = row.Err(); err != nil { - checkErr(err, stmt) - return false - } - err = row.Scan(&gist) - if err != nil { - t.Fatalf("when re-running EXPLAIN (GIST) with 1s timeout: %+v", err) - } - return true - }(); !ok { - continue - } - } - _, err = sqlDB.Exec("SELECT crdb_internal.decode_plan_gist($1);", gist) - if err != nil { - // We might be still in the process of cancelling the previous - // DROP operation - ignore this particular error. - if !testutils.IsError(err, "descriptor is being dropped") { - t.Fatal(err) - } - continue - } - // Store the gist to be run against empty DB. - gists = append(gists, gist) - - if shouldSkip := func() bool { - // Executing these statements is out of scope for this test - // (skipping them makes reproduction easier). - for _, toSkipPrefix := range []string{"BACKUP", "EXPORT", "IMPORT", "RESTORE"} { - if strings.HasPrefix(stmt, toSkipPrefix) { - return true - } - } - return false - }(); shouldSkip { - continue - } - - // Execute the stmt with short timeout so that the table schema is - // modified. We do so in a separate goroutine to ensure that we fail - // the test if the stmt doesn't respect the timeout (if we didn't - // use a separate goroutine, then the main test goroutine would be - // blocked until either the stmt is completed or is canceled, - // possibly timing out the test run). - errCh := make(chan error) - go func() { - _, err := sqlDB.Exec(stmt) - errCh <- err - }() - select { - case err = <-errCh: - if err != nil { - checkErr(err, stmt) - } else { - logStmt(stmt) - } - case <-time.After(time.Minute): - t.Log(successfulStmts.String()) - t.Fatalf("stmt wasn't canceled by statement_timeout of 0.1s - ran at least for 1m: %s", stmt) - } - } - }) - - t.Run("empty", func(t *testing.T) { - srv, sqlDB, _ := serverutils.StartServer(t, base.TestServerArgs{}) - defer srv.Stopper().Stop(ctx) - runner := sqlutils.MakeSQLRunner(sqlDB) - for _, gist := range gists { - runner.Exec(t, "SELECT crdb_internal.decode_plan_gist($1);", gist) - } - }) + tests.GenerateAndCheckRedactedExplainsForPII(t, smith, numStatements, query, containsPII) } diff --git a/pkg/ccl/testccl/sqlccl/run_control_test.go b/pkg/ccl/testccl/sqlccl/run_control_test.go index 7dca59836722..522c58f9fec3 100644 --- a/pkg/ccl/testccl/sqlccl/run_control_test.go +++ b/pkg/ccl/testccl/sqlccl/run_control_test.go @@ -242,7 +242,7 @@ SELECT count(*) FROM [SHOW CLUSTER QUERIES] WHERE query LIKE '%pg_sleep%' _, err = conn1.ExecContext(ctx, "SELECT 1") } - if !errors.Is(err, gosqldriver.ErrBadConn) && !testutils.IsError(err, "connection reset by peer") { + if !errors.Is(err, gosqldriver.ErrBadConn) { t.Fatalf("session not canceled; actual error: %s", err) } }) @@ -290,8 +290,8 @@ func TestCancelMultipleSessions(t *testing.T) { // Verify that the connections on node 1 are closed. for i := 0; i < 2; i++ { _, err := conns[i].ExecContext(ctx, "SELECT 1") - if !errors.Is(err, gosqldriver.ErrBadConn) && !testutils.IsError(err, "connection reset by peer") { - t.Fatalf("session %d not canceled; actual error: %v", i, err) + if !errors.Is(err, gosqldriver.ErrBadConn) { + t.Fatalf("session %d not canceled; actual error: %s", i, err) } } }) diff --git a/pkg/ccl/testccl/sqlccl/show_create_test.go b/pkg/ccl/testccl/sqlccl/show_create_test.go index 5f1bbbc3e19f..76a92b7a412e 100644 --- a/pkg/ccl/testccl/sqlccl/show_create_test.go +++ b/pkg/ccl/testccl/sqlccl/show_create_test.go @@ -37,11 +37,6 @@ func TestShowCreateRedactableValues(t *testing.T) { s, sqlDB, _ := serverutils.StartServer(t, base.TestServerArgs{}) defer s.Stopper().Stop(ctx) - conn, err := sqlDB.Conn(ctx) - if err != nil { - t.Fatal(err) - } - // To check for PII leaks, we inject a single unlikely string into some of the // query constants produced by SQLSmith, and then search the redacted SHOW // CREATE statement for this string. @@ -61,7 +56,7 @@ func TestShowCreateRedactableValues(t *testing.T) { // Check all redactable SHOW CREATE statements at once by using // crdb_internal.create_statements. checkAllShowCreateRedactable := func() { - rows, err := conn.QueryContext( + rows, err := sqlDB.QueryContext( ctx, "SELECT create_statement, create_redactable FROM crdb_internal.create_statements", ) if err != nil { @@ -84,7 +79,7 @@ func TestShowCreateRedactableValues(t *testing.T) { setup = append(setup, "SET statement_timeout = '30s';") for _, stmt := range setup { t.Log(stmt) - if _, err := conn.ExecContext(ctx, stmt); err != nil { + if _, err := sqlDB.ExecContext(ctx, stmt); err != nil { // Ignore errors. t.Log("-- ignoring error:", err) continue @@ -106,7 +101,7 @@ func TestShowCreateRedactableValues(t *testing.T) { for i := 0; i < 5; i++ { alter := alterSmith.Generate() t.Log(alter) - if _, err := conn.ExecContext(ctx, alter); err != nil { + if _, err := sqlDB.ExecContext(ctx, alter); err != nil { // Ignore errors. t.Log("-- ignoring error:", err) continue @@ -128,7 +123,7 @@ func TestShowCreateRedactableValues(t *testing.T) { for i := 0; i < 5; i++ { view := "CREATE VIEW v" + strconv.Itoa(i) + " AS " + smith.Generate() t.Log(view) - if _, err := conn.ExecContext(ctx, view); err != nil { + if _, err := sqlDB.ExecContext(ctx, view); err != nil { // Ignore errors. t.Log("-- ignoring error:", err) continue diff --git a/pkg/ccl/testccl/sqlstatsccl/sql_stats_test.go b/pkg/ccl/testccl/sqlstatsccl/sql_stats_test.go index 275c71b7eee6..0ff6b20c1a45 100644 --- a/pkg/ccl/testccl/sqlstatsccl/sql_stats_test.go +++ b/pkg/ccl/testccl/sqlstatsccl/sql_stats_test.go @@ -29,7 +29,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/testutils/testcluster" "github.com/cockroachdb/cockroach/pkg/util/leaktest" "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/cockroach/pkg/util/randutil" "github.com/stretchr/testify/require" ) @@ -44,7 +43,6 @@ func TestSQLStatsRegions(t *testing.T) { // and a secondary tenant, ensuring that a distsql query across multiple // regions sees those regions reported in sqlstats. ctx := context.Background() - rng, _ := randutil.NewPseudoRand() numServers := 3 regionNames := []string{ @@ -191,15 +189,6 @@ func TestSQLStatsRegions(t *testing.T) { return err } - if rng.Float64() < 0.5 { - // In half of the cases disable DistSQL in order to check - // that KV regions information is propagated correctly. - _, err = db.DB.ExecContext(ctx, "SET distsql = off;") - if err != nil { - return err - } - } - // Use EXPLAIN ANALYSE (DISTSQL) to get the accurate list of nodes. explainInfo, err := db.DB.QueryContext(ctx, `EXPLAIN ANALYSE (DISTSQL) SELECT * FROM test`) if err != nil { diff --git a/pkg/ccl/testccl/workload/schemachange/schema_change_external_test.go b/pkg/ccl/testccl/workload/schemachange/schema_change_external_test.go index 95617d79b7ff..a6706ae70af0 100644 --- a/pkg/ccl/testccl/workload/schemachange/schema_change_external_test.go +++ b/pkg/ccl/testccl/workload/schemachange/schema_change_external_test.go @@ -35,8 +35,7 @@ import ( func TestWorkload(t *testing.T) { defer leaktest.AfterTest(t)() defer ccl.TestingEnableEnterprise()() - skip.UnderDeadlock(t, "test connections can be too slow under expensive configs") - skip.UnderRace(t, "test connections can be too slow under expensive configs") + skip.UnderRace(t, "test connections can be too slow under race option.") scope := log.Scope(t) defer scope.Close(t) @@ -101,7 +100,6 @@ func TestWorkload(t *testing.T) { pgURL, cleanup := sqlutils.PGUrl(t, tc.Server(0).AdvSQLAddr(), t.Name(), url.User("testuser")) defer cleanup() - pgURL.Path = wl.Meta().Name const concurrency = 2 require.NoError(t, wl.Flags().Parse([]string{ diff --git a/pkg/ccl/utilccl/license_check.go b/pkg/ccl/utilccl/license_check.go index 35c42759b982..e65f462d1d27 100644 --- a/pkg/ccl/utilccl/license_check.go +++ b/pkg/ccl/utilccl/license_check.go @@ -215,14 +215,13 @@ func getLicense(st *cluster.Settings) (*licenseccl.License, error) { } cacheKey := licenseCacheKey(str) if cachedLicense, ok := st.Cache.Load(cacheKey); ok { - return (*cachedLicense).(*licenseccl.License), nil + return cachedLicense.(*licenseccl.License), nil } license, err := decode(str) if err != nil { return nil, err } - licenseBox := any(license) - st.Cache.Store(cacheKey, &licenseBox) + st.Cache.Store(cacheKey, license) return license, nil } diff --git a/pkg/ccl/workloadccl/BUILD.bazel b/pkg/ccl/workloadccl/BUILD.bazel index df80bf69de06..2ebb5f96edbc 100644 --- a/pkg/ccl/workloadccl/BUILD.bazel +++ b/pkg/ccl/workloadccl/BUILD.bazel @@ -19,11 +19,9 @@ go_library( "//pkg/util/ctxgroup", "//pkg/util/errorutil", "//pkg/util/humanizeutil", - "//pkg/util/limit", "//pkg/util/log", "//pkg/util/timeutil", "//pkg/workload", - "@com_github_cockroachdb_cockroach_go_v2//crdb", "@com_github_cockroachdb_errors//:errors", "@com_github_spf13_pflag//:pflag", ], diff --git a/pkg/ccl/workloadccl/allccl/all_test.go b/pkg/ccl/workloadccl/allccl/all_test.go index c9ff315af3c1..95402f1b5c22 100644 --- a/pkg/ccl/workloadccl/allccl/all_test.go +++ b/pkg/ccl/workloadccl/allccl/all_test.go @@ -279,7 +279,7 @@ func TestDeterministicInitialData(t *testing.T) { `startrek`: 0xa0249fbdf612734c, `tpcc`: 0xab32e4f5e899eb2f, `tpch`: 0xe4fd28db230b9149, - `ycsb`: 0xcfd3f148a01a2c47, + `ycsb`: 0x1244ea1c29ef67f6, } var a bufalloc.ByteAllocator diff --git a/pkg/ccl/workloadccl/fixture.go b/pkg/ccl/workloadccl/fixture.go index da453eb1db8f..0d97f5bd2f03 100644 --- a/pkg/ccl/workloadccl/fixture.go +++ b/pkg/ccl/workloadccl/fixture.go @@ -15,19 +15,16 @@ import ( "database/sql/driver" "encoding/json" "fmt" - "math" "net/url" "path/filepath" "strconv" "strings" "sync/atomic" - "github.com/cockroachdb/cockroach-go/v2/crdb" "github.com/cockroachdb/cockroach/pkg/cloud" "github.com/cockroachdb/cockroach/pkg/util/ctxgroup" "github.com/cockroachdb/cockroach/pkg/util/errorutil" "github.com/cockroachdb/cockroach/pkg/util/humanizeutil" - "github.com/cockroachdb/cockroach/pkg/util/limit" "github.com/cockroachdb/cockroach/pkg/util/log" "github.com/cockroachdb/cockroach/pkg/util/timeutil" "github.com/cockroachdb/cockroach/pkg/workload" @@ -400,43 +397,17 @@ func ImportFixture( // references). If create table is done in parallel with IMPORT, some IMPORT // jobs may fail because the type is being modified concurrently with the // IMPORT. Removing the need to pre-create is being tracked with #70987. - const maxTableBatchSize = 5000 - currentTable := 0 - for currentTable < len(tables) { - batchEnd := min(currentTable+maxTableBatchSize, len(tables)) - nextBatch := tables[currentTable:batchEnd] - if err := crdb.ExecuteTx(ctx, sqlDB, &gosql.TxOptions{}, func(tx *gosql.Tx) error { - for _, table := range nextBatch { - err := createFixtureTable(tx, dbName, table) - if err != nil { - return errors.Wrapf(err, `creating table %s`, table.Name) - } - } - return nil - }); err != nil { - return 0, err + for _, table := range tables { + err := createFixtureTable(sqlDB, dbName, table) + if err != nil { + return 0, errors.Wrapf(err, `creating table %s`, table.Name) } - currentTable += maxTableBatchSize } - // Default to unbounded unless a flag exists for it. - concurrencyLimit := math.MaxInt - if flagser, ok := gen.(workload.Flagser); ok { - importLimit, err := flagser.Flags().GetInt("import-concurrency-limit") - if err == nil { - concurrencyLimit = importLimit - } - } - concurrentImportLimit := limit.MakeConcurrentRequestLimiter("workload_import", concurrencyLimit) for _, t := range tables { table := t paths := csvServerPaths(pathPrefix, gen, table, numNodes*filesPerNode) g.GoCtx(func(ctx context.Context) error { - res, err := concurrentImportLimit.Begin(ctx) - if err != nil { - return err - } - defer res.Release() tableBytes, err := importFixtureTable( ctx, sqlDB, dbName, table, paths, `` /* output */, injectStats) atomic.AddInt64(&bytesAtomic, tableBytes) @@ -449,21 +420,13 @@ func ImportFixture( return atomic.LoadInt64(&bytesAtomic), nil } -func createFixtureTable(tx *gosql.Tx, dbName string, table workload.Table) error { +func createFixtureTable(sqlDB *gosql.DB, dbName string, table workload.Table) error { qualifiedTableName := makeQualifiedTableName(dbName, &table) - if table.ObjectPrefix != nil && table.ObjectPrefix.ExplicitCatalog { - // Switch databases if one is explicitly specified for multi-region - // configurations with multiple databases. - _, err := tx.Exec("USE $1", table.ObjectPrefix.Catalog()) - if err != nil { - return err - } - } createTable := fmt.Sprintf( `CREATE TABLE IF NOT EXISTS %s %s`, qualifiedTableName, table.Schema) - _, err := tx.Exec(createTable) + _, err := sqlDB.Exec(createTable) return err } @@ -609,12 +572,7 @@ func injectStatistics(qualifiedTableName string, table *workload.Table, sqlDB *g // database name and table. func makeQualifiedTableName(dbName string, table *workload.Table) string { if dbName == "" { - name := table.GetResolvedName() - if name.ObjectNamePrefix.ExplicitCatalog || - name.ObjectNamePrefix.ExplicitSchema { - return name.FQString() - } - return fmt.Sprintf(`"%s"`, name.ObjectName) + return fmt.Sprintf(`"%s"`, table.Name) } return fmt.Sprintf(`"%s"."%s"`, dbName, table.Name) } diff --git a/pkg/ccl/workloadccl/roachmartccl/roachmart.go b/pkg/ccl/workloadccl/roachmartccl/roachmart.go index 1e50b9d7e18d..27288e589c81 100644 --- a/pkg/ccl/workloadccl/roachmartccl/roachmart.go +++ b/pkg/ccl/workloadccl/roachmartccl/roachmart.go @@ -111,9 +111,6 @@ func (m *roachmart) Meta() workload.Meta { return roachmartMeta } // Flags implements the Flagser interface. func (m *roachmart) Flags() workload.Flags { return m.flags } -// ConnFlags implements the ConnFlagser interface. -func (m *roachmart) ConnFlags() *workload.ConnFlags { return m.connFlags } - // Hooks implements the Hookser interface. func (m *roachmart) Hooks() workload.Hooks { return workload.Hooks{ @@ -206,6 +203,10 @@ func (m *roachmart) Tables() []workload.Table { func (m *roachmart) Ops( ctx context.Context, urls []string, reg *histogram.Registry, ) (workload.QueryLoad, error) { + sqlDatabase, err := workload.SanitizeUrls(m, m.connFlags.DBOverride, urls) + if err != nil { + return workload.QueryLoad{}, err + } db, err := gosql.Open(`cockroach`, strings.Join(urls, ` `)) if err != nil { return workload.QueryLoad{}, err @@ -214,7 +215,7 @@ func (m *roachmart) Ops( db.SetMaxOpenConns(m.connFlags.Concurrency + 1) db.SetMaxIdleConns(m.connFlags.Concurrency + 1) - ql := workload.QueryLoad{} + ql := workload.QueryLoad{SQLDatabase: sqlDatabase} const query = `SELECT * FROM orders WHERE user_zone = $1 AND user_email = $2` for i := 0; i < m.connFlags.Concurrency; i++ { diff --git a/pkg/cli/BUILD.bazel b/pkg/cli/BUILD.bazel index 18000dadd93a..c79f2bfe496e 100644 --- a/pkg/cli/BUILD.bazel +++ b/pkg/cli/BUILD.bazel @@ -64,7 +64,6 @@ go_library( "zip_helpers.go", "zip_per_node.go", "zip_table_registry.go", - "zip_upload.go", ":gen-keytype-stringer", # keep ], # keep @@ -143,7 +142,6 @@ go_library( "//pkg/security/username", "//pkg/server", "//pkg/server/authserver", - "//pkg/server/debug", "//pkg/server/pgurl", "//pkg/server/profiler", "//pkg/server/serverctl", @@ -216,7 +214,6 @@ go_library( "//pkg/util/stop", "//pkg/util/strutil", "//pkg/util/syncutil", - "//pkg/util/system", "//pkg/util/sysutil", "//pkg/util/timeutil", "//pkg/util/tracing", @@ -227,12 +224,10 @@ go_library( "//pkg/workload/bank", "//pkg/workload/bulkingest", "//pkg/workload/cli", - "//pkg/workload/debug", "//pkg/workload/examples", "//pkg/workload/insights", "//pkg/workload/kv", "//pkg/workload/movr", - "//pkg/workload/sqlstats", "//pkg/workload/tpcc", "//pkg/workload/tpch", "//pkg/workload/ttlbench", @@ -262,13 +257,10 @@ go_library( "@com_github_spf13_cobra//:cobra", "@com_github_spf13_cobra//doc", "@com_github_spf13_pflag//:pflag", - "@com_google_cloud_go_storage//:storage", "@in_gopkg_yaml_v2//:yaml_v2", - "@org_golang_google_api//option", "@org_golang_google_grpc//:go_default_library", "@org_golang_google_grpc//codes", "@org_golang_google_grpc//status", - "@org_golang_x_oauth2//google", "@org_golang_x_sync//errgroup", ] + select({ "@io_bazel_rules_go//go/platform:aix": [ @@ -355,11 +347,9 @@ go_test( "userfiletable_test.go", "workload_test.go", "zip_helpers_test.go", - "zip_per_node_test.go", "zip_table_registry_test.go", "zip_tenant_test.go", "zip_test.go", - "zip_upload_test.go", ], data = glob(["testdata/**"]), embed = [":cli"], @@ -444,7 +434,6 @@ go_test( "@com_github_cockroachdb_datadriven//:datadriven", "@com_github_cockroachdb_errors//:errors", "@com_github_cockroachdb_pebble//vfs", - "@com_github_google_pprof//profile", "@com_github_pmezard_go_difflib//difflib", "@com_github_spf13_cobra//:cobra", "@com_github_spf13_pflag//:pflag", diff --git a/pkg/cli/auth.go b/pkg/cli/auth.go index a87e9325fd43..4e582d176cf3 100644 --- a/pkg/cli/auth.go +++ b/pkg/cli/auth.go @@ -20,6 +20,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/cli/clierrorplus" "github.com/cockroachdb/cockroach/pkg/cli/clisqlclient" "github.com/cockroachdb/cockroach/pkg/cli/clisqlexec" + "github.com/cockroachdb/cockroach/pkg/clusterversion" "github.com/cockroachdb/cockroach/pkg/server/authserver" "github.com/cockroachdb/cockroach/pkg/server/serverpb" "github.com/cockroachdb/cockroach/pkg/sql/sem/tree" @@ -124,12 +125,36 @@ func createAuthSessionToken( // Create the session on the server to the server. var id int64 err = sqlConn.ExecTxn(ctx, func(ctx context.Context, conn clisqlclient.TxBoundConn) error { + rows, err := conn.Query(ctx, + "SELECT crdb_internal.is_at_least_version($1)", + clusterversion.MinSupported.Version()) + if err != nil { + return err + } + row := make([]driver.Value, 1) + if err := rows.Next(row); err != nil { + return err + } + if err := rows.Close(); err != nil { + return err + } + webSessionsHasUserIDCol, ok := row[0].(bool) + if !ok { + return errors.Newf("expected bool, got %T", row[0]) + } insertSessionStmt := ` +INSERT INTO system.web_sessions ("hashedSecret", username, "expiresAt") +VALUES ($1, $2, $3) +RETURNING id +` + if webSessionsHasUserIDCol { + insertSessionStmt = ` INSERT INTO system.web_sessions ("hashedSecret", username, "expiresAt", user_id) VALUES ($1, $2, $3, (SELECT user_id FROM system.users WHERE username = $2)) RETURNING id ` - rows, err := conn.Query(ctx, + } + rows, err = conn.Query(ctx, insertSessionStmt, hashedSecret, username, @@ -138,7 +163,6 @@ RETURNING id if err != nil { return err } - row := make([]driver.Value, 1) if err := rows.Next(row); err != nil { return err } @@ -148,8 +172,6 @@ RETURNING id if len(row) != 1 { return errors.Newf("expected 1 column, got %d", len(row)) } - - var ok bool id, ok = row[0].(int64) if !ok { return errors.Newf("expected integer, got %T", row[0]) diff --git a/pkg/cli/auto_decrypt_fs.go b/pkg/cli/auto_decrypt_fs.go index fa0be620c65b..f7c7e18e8ed5 100644 --- a/pkg/cli/auto_decrypt_fs.go +++ b/pkg/cli/auto_decrypt_fs.go @@ -64,7 +64,7 @@ func (afs *autoDecryptFS) Close() error { return nil } -func (afs *autoDecryptFS) Create(name string, category vfs.DiskWriteCategory) (vfs.File, error) { +func (afs *autoDecryptFS) Create(name string) (vfs.File, error) { name, err := filepath.Abs(name) if err != nil { return nil, err @@ -73,7 +73,7 @@ func (afs *autoDecryptFS) Create(name string, category vfs.DiskWriteCategory) (v if err != nil { return nil, err } - return fs.Create(name, category) + return fs.Create(name) } func (afs *autoDecryptFS) Link(oldname, newname string) error { @@ -104,9 +104,7 @@ func (afs *autoDecryptFS) Open(name string, opts ...vfs.OpenOption) (vfs.File, e return fs.Open(name, opts...) } -func (afs *autoDecryptFS) OpenReadWrite( - name string, category vfs.DiskWriteCategory, opts ...vfs.OpenOption, -) (vfs.File, error) { +func (afs *autoDecryptFS) OpenReadWrite(name string, opts ...vfs.OpenOption) (vfs.File, error) { name, err := filepath.Abs(name) if err != nil { return nil, err @@ -115,7 +113,7 @@ func (afs *autoDecryptFS) OpenReadWrite( if err != nil { return nil, err } - return fs.OpenReadWrite(name, category, opts...) + return fs.OpenReadWrite(name, opts...) } func (afs *autoDecryptFS) OpenDir(name string) (vfs.File, error) { @@ -162,9 +160,7 @@ func (afs *autoDecryptFS) Rename(oldname, newname string) error { return fs.Rename(oldname, newname) } -func (afs *autoDecryptFS) ReuseForWrite( - oldname, newname string, category vfs.DiskWriteCategory, -) (vfs.File, error) { +func (afs *autoDecryptFS) ReuseForWrite(oldname, newname string) (vfs.File, error) { oldname, err := filepath.Abs(oldname) if err != nil { return nil, err @@ -177,7 +173,7 @@ func (afs *autoDecryptFS) ReuseForWrite( if err != nil { return nil, err } - return fs.ReuseForWrite(oldname, newname, category) + return fs.ReuseForWrite(oldname, newname) } func (afs *autoDecryptFS) MkdirAll(dir string, perm os.FileMode) error { @@ -216,7 +212,7 @@ func (afs *autoDecryptFS) List(dir string) ([]string, error) { return fs.List(dir) } -func (afs *autoDecryptFS) Stat(name string) (vfs.FileInfo, error) { +func (afs *autoDecryptFS) Stat(name string) (os.FileInfo, error) { name, err := filepath.Abs(name) if err != nil { return nil, err @@ -252,11 +248,6 @@ func (afs *autoDecryptFS) GetDiskUsage(path string) (vfs.DiskUsage, error) { return fs.GetDiskUsage(path) } -// Unwrap is part of the vfs.FS interface. -func (afs *autoDecryptFS) Unwrap() vfs.FS { - return nil -} - // maybeSwitchFS finds the first ancestor of path that is registered as an // encrypted FS; if there is such a path, returns the decrypted FS for that // path. Otherwise, returns the default FS. diff --git a/pkg/cli/auto_decrypt_fs_test.go b/pkg/cli/auto_decrypt_fs_test.go index 04d21322efdf..c237450c1213 100644 --- a/pkg/cli/auto_decrypt_fs_test.go +++ b/pkg/cli/auto_decrypt_fs_test.go @@ -48,20 +48,20 @@ func TestAutoDecryptFS(t *testing.T) { memFS := vfs.WithLogging(vfs.NewMem(), func(format string, args ...interface{}) { fmt.Fprintf(&buf, dir+": "+format+"\n", args...) }) - env, err := fs.InitEnv(context.Background(), memFS, "" /* dir */, fs.EnvConfig{}, nil /* statsCollector */) + env, err := fs.InitEnv(context.Background(), memFS, "" /* dir */, fs.EnvConfig{}) require.NoError(t, err) require.NoError(t, env.MkdirAll(dir, 0755)) return env, nil } - var decryptFS autoDecryptFS - decryptFS.Init([]string{path1, path2}, resolveFn) + var fs autoDecryptFS + fs.Init([]string{path1, path2}, resolveFn) defer func() { - require.NoError(t, decryptFS.Close()) + require.NoError(t, fs.Close()) }() create := func(pathElems ...string) { - file, err := decryptFS.Create(filepath.Join(pathElems...), fs.UnspecifiedWriteCategory) + file, err := fs.Create(filepath.Join(pathElems...)) require.NoError(t, err) file.Close() } @@ -69,7 +69,7 @@ func TestAutoDecryptFS(t *testing.T) { create(dir, "foo") create(path1, "bar") create(path2, "baz") - require.NoError(t, decryptFS.MkdirAll(filepath.Join(path2, "a", "b"), 0755)) + require.NoError(t, fs.MkdirAll(filepath.Join(path2, "a", "b"), 0755)) create(path2, "a", "b", "xx") // Check that operations inside the two paths happen using the resolved FSes. diff --git a/pkg/cli/cert.go b/pkg/cli/cert.go index 244e1708f7e4..8f060083635f 100644 --- a/pkg/cli/cert.go +++ b/pkg/cli/cert.go @@ -193,7 +193,6 @@ func runCreateClientCert(cmd *cobra.Command, args []string) error { certCtx.overwriteFiles, user, certCtx.tenantScope, - certCtx.tenantNameScope, certCtx.generatePKCS8Key), "failed to generate client certificate and key") } @@ -307,16 +306,14 @@ func runListCerts(cmd *cobra.Command, args []string) error { // encodeURICmd creates a PG URI for the given parameters. var encodeURICmd = func() *cobra.Command { cmd := &cobra.Command{ - Use: "encode-uri [postgres://][USERNAME[:PASSWORD]@]HOST", + Use: "encode-uri USERNAME[:PASSWORD]@HOST", Short: "encode a CRDB connection URL", Args: cobra.ExactArgs(1), RunE: clierrorplus.MaybeDecorateError(encodeURI), } f := cmd.PersistentFlags() f.BoolVar(&encodeURIOpts.sslInline, "inline", false, "whether to inline certificates (supported by CRDB's Physical Replication feature)") - f.StringVar(&encodeURIOpts.user, "user", "", "username (overrides any username in the passed URL)") f.StringVar(&encodeURIOpts.cluster, "cluster", "system", "virtual cluster to connect to") - f.StringVar(&encodeURIOpts.certsDir, "certs-dir", "", "certs directory in which to find certs automatically") f.StringVar(&encodeURIOpts.caCertPath, "ca-cert", "", "path to CA certificate") f.StringVar(&encodeURIOpts.certPath, "cert", "", "path to certificate for client-cert authentication") f.StringVar(&encodeURIOpts.keyPath, "key", "", "path to key for client-cert authentication") @@ -326,9 +323,7 @@ var encodeURICmd = func() *cobra.Command { var encodeURIOpts = struct { sslInline bool - user string cluster string - certsDir string caCertPath string certPath string keyPath string @@ -336,61 +331,13 @@ var encodeURIOpts = struct { }{} func encodeURI(cmd *cobra.Command, args []string) error { - pgURL, err := url.Parse(args[0]) + usernameAndHost := args[0] + + pgURL, err := url.Parse(fmt.Sprintf("postgresql://%s/%s", usernameAndHost, encodeURIOpts.database)) if err != nil { return err } - if pgURL.Scheme == "" { - pgURL.Scheme = "postgresql://" - } - - if encodeURIOpts.database != "" { - pgURL.Path = encodeURIOpts.database - } - - userName := encodeURIOpts.user - if userName == "" && pgURL.User != nil { - userName = pgURL.User.Username() - } - - user := username.RootUserName() - if userName != "" { - u, err := username.MakeSQLUsernameFromPreNormalizedStringChecked(userName) - if err != nil { - return err - } - user = u - } - - // Now that we've established the username, update it in the URL. - if pgURL.User == nil { - pgURL.User = url.User(user.Normalized()) - } else { - if pass, hasPass := pgURL.User.Password(); hasPass { - pgURL.User = url.UserPassword(user.Normalized(), pass) - } else { - pgURL.User = url.User(user.Normalized()) - } - } - - if encodeURIOpts.certsDir != "" { - cm, err := security.NewCertificateManager(encodeURIOpts.certsDir, security.CommandTLSSettings{}) - if err != nil { - return errors.Wrap(err, "cannot load certificates") - } - if encodeURIOpts.caCertPath == "" { - encodeURIOpts.caCertPath = cm.CACertPath() - } - - if encodeURIOpts.certPath == "" { - encodeURIOpts.certPath = cm.ClientCertPath(user) - } - if encodeURIOpts.keyPath == "" { - encodeURIOpts.keyPath = cm.ClientKeyPath(user) - } - } - options := pgURL.Query() if encodeURIOpts.cluster != "" { options.Set("options", fmt.Sprintf("-ccluster=%s", encodeURIOpts.cluster)) diff --git a/pkg/cli/cert_test.go b/pkg/cli/cert_test.go index c8f5aff6ebfd..9f45ded1dd7b 100644 --- a/pkg/cli/cert_test.go +++ b/pkg/cli/cert_test.go @@ -17,9 +17,6 @@ func Example_cert() { c.RunWithCAArgs([]string{"cert", "create-client", "foo"}) c.RunWithCAArgs([]string{"cert", "create-client", "Ομηρος"}) c.RunWithCAArgs([]string{"cert", "create-client", "0foo"}) - c.RunWithCAArgs([]string{"cert", "create-client", "foo-1", "--tenant-scope", "1"}) - c.RunWithCAArgs([]string{"cert", "create-client", "foo-tenant2", "--tenant-name-scope", "tenant2"}) - c.RunWithCAArgs([]string{"cert", "create-client", "foo-1-tenant2", "--tenant-scope", "1", "--tenant-name-scope", "tenant2"}) c.RunWithCAArgs([]string{"cert", "create-client", ",foo"}) c.RunWithCAArgs([]string{"cert", "create-client", "--disable-username-validation", ",foo"}) @@ -27,9 +24,6 @@ func Example_cert() { // cert create-client foo // cert create-client Ομηρος // cert create-client 0foo - // cert create-client foo-1 --tenant-scope 1 - // cert create-client foo-tenant2 --tenant-name-scope tenant2 - // cert create-client foo-1-tenant2 --tenant-scope 1 --tenant-name-scope tenant2 // cert create-client ,foo // ERROR: failed to generate client certificate and key: username is invalid // HINT: Usernames are case insensitive, must start with a letter, digit or underscore, may contain letters, digits, dashes, periods, or underscores, and must not exceed 63 characters. diff --git a/pkg/cli/cli.go b/pkg/cli/cli.go index 3d7e7a8118e6..0486eeb7cb4a 100644 --- a/pkg/cli/cli.go +++ b/pkg/cli/cli.go @@ -35,12 +35,10 @@ import ( _ "github.com/cockroachdb/cockroach/pkg/workload/bank" // registers workloads _ "github.com/cockroachdb/cockroach/pkg/workload/bulkingest" // registers workloads workloadcli "github.com/cockroachdb/cockroach/pkg/workload/cli" - _ "github.com/cockroachdb/cockroach/pkg/workload/debug" // registers workloads _ "github.com/cockroachdb/cockroach/pkg/workload/examples" // registers workloads _ "github.com/cockroachdb/cockroach/pkg/workload/insights" // registers workloads _ "github.com/cockroachdb/cockroach/pkg/workload/kv" // registers workloads _ "github.com/cockroachdb/cockroach/pkg/workload/movr" // registers workloads - _ "github.com/cockroachdb/cockroach/pkg/workload/sqlstats" // registers workloads _ "github.com/cockroachdb/cockroach/pkg/workload/tpcc" // registers workloads _ "github.com/cockroachdb/cockroach/pkg/workload/tpch" // registers workloads _ "github.com/cockroachdb/cockroach/pkg/workload/ttlbench" // registers workloads diff --git a/pkg/cli/cliflags/flags.go b/pkg/cli/cliflags/flags.go index 79699fe98032..768ba7cbf7a1 100644 --- a/pkg/cli/cliflags/flags.go +++ b/pkg/cli/cliflags/flags.go @@ -843,14 +843,6 @@ This flag is optional. When omitted, the certificate is not scoped; i.e. it can be used with all tenants.`, } - TenantScopeByNames = FlagInfo{ - Name: "tenant-name-scope", - Description: `Assign a tenant scope using tenant names to the certificate. -This will restrict the certificate to only be valid for the specified tenants. -This flag is optional. When omitted, the certificate is not scoped; i.e. -it can be used with all tenants.`, - } - GeneratePKCS8Key = FlagInfo{ Name: "also-generate-pkcs8-key", Description: `Also write the key in pkcs8 format to /client..key.pk8.`, @@ -1376,12 +1368,7 @@ status, without actually decommissioning the node.`, NodeDrainSelf = FlagInfo{ Name: "self", Description: `Use the node ID of the node connected to via --host -as target of the drain command.`, - } - - NodeDrainShutdown = FlagInfo{ - Name: "shutdown", - Description: `Shutdown the target node after it is drained.`, +as target of the drain or quit command.`, } SQLFmtLen = FlagInfo{ diff --git a/pkg/cli/clisqlclient/statement_diag.go b/pkg/cli/clisqlclient/statement_diag.go index 35705224859e..db20e1a08ccf 100644 --- a/pkg/cli/clisqlclient/statement_diag.go +++ b/pkg/cli/clisqlclient/statement_diag.go @@ -116,8 +116,6 @@ type StmtDiagActivationRequest struct { MinExecutionLatency time.Duration // Zero value indicates that the request never expires. ExpiresAt time.Time - // If true, then the redacted bundle is requested. - Redacted bool } // StmtDiagListOutstandingRequests retrieves outstanding statement diagnostics @@ -134,16 +132,16 @@ func StmtDiagListOutstandingRequests( return result, nil } -func isAtLeast24dot2ClusterVersion(ctx context.Context, conn Conn) (bool, error) { - // Check whether the upgrade to add the redacted column to the - // statement_diagnostics_requests system table has already been run. +func isAtLeast23dot2ClusterVersion(ctx context.Context, conn Conn) (bool, error) { + // Check whether the upgrade to add the plan_gist and anti_plan_gist columns + // to the statement_diagnostics_requests system table has already been run. row, err := conn.QueryRow(ctx, ` SELECT count(*) FROM [SHOW COLUMNS FROM system.statement_diagnostics_requests] WHERE - column_name = 'redacted';`) + column_name = 'plan_gist';`) if err != nil { return false, err } @@ -158,12 +156,12 @@ func stmtDiagListOutstandingRequestsInternal( ctx context.Context, conn Conn, ) ([]StmtDiagActivationRequest, error) { var extraColumns string - atLeast24dot2, err := isAtLeast24dot2ClusterVersion(ctx, conn) + atLeast23dot2, err := isAtLeast23dot2ClusterVersion(ctx, conn) if err != nil { return nil, err } - if atLeast24dot2 { - extraColumns = ", redacted" + if atLeast23dot2 { + extraColumns = ", plan_gist, anti_plan_gist" } // Converting an INTERVAL to a number of milliseconds within that interval @@ -175,8 +173,7 @@ func stmtDiagListOutstandingRequestsInternal( EXTRACT(millisecond FROM min_execution_latency)::INT8 - EXTRACT(second FROM min_execution_latency)::INT8 * 1000` rows, err := conn.Query(ctx, - fmt.Sprintf("SELECT id, statement_fingerprint, requested_at, "+getMilliseconds+`, - expires_at, sampling_probability, plan_gist, anti_plan_gist%s + fmt.Sprintf("SELECT id, statement_fingerprint, requested_at, "+getMilliseconds+`, expires_at, sampling_probability%s FROM system.statement_diagnostics_requests WHERE NOT completed ORDER BY requested_at DESC`, extraColumns), @@ -185,7 +182,7 @@ func stmtDiagListOutstandingRequestsInternal( return nil, err } var result []StmtDiagActivationRequest - vals := make([]driver.Value, 9) + vals := make([]driver.Value, 8) for { if err := rows.Next(vals); err == io.EOF { break @@ -196,7 +193,7 @@ func stmtDiagListOutstandingRequestsInternal( var expiresAt time.Time var samplingProbability float64 var planGist string - var antiPlanGist, redacted bool + var antiPlanGist bool if ms, ok := vals[3].(int64); ok { minExecutionLatency = time.Millisecond * time.Duration(ms) @@ -207,15 +204,12 @@ func stmtDiagListOutstandingRequestsInternal( if sp, ok := vals[5].(float64); ok { samplingProbability = sp } - if gist, ok := vals[6].(string); ok { - planGist = gist - } - if antiGist, ok := vals[7].(bool); ok { - antiPlanGist = antiGist - } - if atLeast24dot2 { - if b, ok := vals[8].(bool); ok { - redacted = b + if atLeast23dot2 { + if gist, ok := vals[6].(string); ok { + planGist = gist + } + if antiGist, ok := vals[7].(bool); ok { + antiPlanGist = antiGist } } info := StmtDiagActivationRequest{ @@ -227,7 +221,6 @@ func stmtDiagListOutstandingRequestsInternal( SamplingProbability: samplingProbability, MinExecutionLatency: minExecutionLatency, ExpiresAt: expiresAt, - Redacted: redacted, } result = append(result, info) } diff --git a/pkg/cli/clisqlshell/describe.go b/pkg/cli/clisqlshell/describe.go index 920149354f6a..01c996793795 100644 --- a/pkg/cli/clisqlshell/describe.go +++ b/pkg/cli/clisqlshell/describe.go @@ -305,7 +305,8 @@ LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace // Do noting. } else if showNormal { if !showAggregate { - buf.WriteString(` AND p.prokind != 'a'`) + // TODO(sql-sessions): Use prokind here. + buf.WriteString(` AND NOT p.proisagg`) } if !showProcedure { buf.WriteString(` AND (p.prokind IS NULL OR p.prokind <> 'p')`) @@ -315,13 +316,15 @@ LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace _ = 0 // disable lint SA9003 } if !showWindow { - buf.WriteString(` AND p.prokind != 'w'`) + // TODO(sql-sessions): Use prokind here. + buf.WriteString(` AND NOT p.proiswindow`) } } else { buf.WriteString(` AND (FALSE`) // Note: at least one of these must be true. if showAggregate { - buf.WriteString(` OR p.prokind = 'a'`) + // TODO(sql-sessions): Use prokind here. + buf.WriteString(` OR p.proisagg`) } if showTrigger { // TODO(sql-sessions): Use prorettype here. @@ -331,7 +334,7 @@ LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace buf.WriteString(` OR (p.prokind IS NOT NULL AND p.prokind = 'p')`) } if showWindow { - buf.WriteString(` OR p.prokind = 'w'`) + buf.WriteString(` OR p.proiswindow`) } buf.WriteByte(')') } @@ -371,6 +374,7 @@ func listTables(tabTypes string, hasPattern bool, verbose, showSystem bool) (str if !(showTables || showIndexes || showViews || showMatViews || showSeq || showForeign) { showTables = true + showIndexes = true showViews = true showMatViews = true showSeq = true diff --git a/pkg/cli/clisqlshell/testdata/describe b/pkg/cli/clisqlshell/testdata/describe index afb2dbef5c3f..eb49778fef64 100644 --- a/pkg/cli/clisqlshell/testdata/describe +++ b/pkg/cli/clisqlshell/testdata/describe @@ -220,23 +220,32 @@ List of relations: WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", - pg_catalog.pg_get_userbyid(c.relowner) as "Owner" + pg_catalog.pg_get_userbyid(c.relowner) as "Owner", + c2.relname AS "Table" FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n on n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_am am ON am.oid = c.relam - WHERE c.relkind IN ('r','p','v','m','S','f','') +LEFT JOIN pg_catalog.pg_index i ON i.indexrelid = c.oid +LEFT JOIN pg_catalog.pg_class c2 ON i.indrelid = c2.oid + WHERE c.relkind IN ('r','p','v','m','i','S','f','') AND n.nspname !~ '^pg_' AND n.nspname <> 'information_schema' AND n.nspname <> 'crdb_internal' AND pg_catalog.pg_table_is_visible(c.oid) ORDER BY 1,2 -Schema,Name,Type,Owner -public,ftable1,table,root -public,ftable2,table,root -public,mymview,materialized view,root -public,myseq,sequence,root -public,mytable,table,root -public,myview,view,root +Schema,Name,Type,Owner,Table +public,ftable1,table,root,NULL +public,ftable1_pkey,index,root,ftable1 +public,ftable1_x_key,index,root,ftable1 +public,ftable2,table,root,NULL +public,ftable2_pkey,index,root,ftable2 +public,myidx,index,root,mytable +public,mymview,materialized view,root,NULL +public,mymview_pkey,index,root,mymview +public,myseq,sequence,root,NULL +public,mytable,table,root,NULL +public,mytable_pkey,index,root,mytable +public,myview,view,root,NULL cli \dS @@ -257,152 +266,169 @@ List of relations: WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", - pg_catalog.pg_get_userbyid(c.relowner) as "Owner" + pg_catalog.pg_get_userbyid(c.relowner) as "Owner", + c2.relname AS "Table" FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n on n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_am am ON am.oid = c.relam - WHERE c.relkind IN ('r','p','t','v','m','S','s','f','') +LEFT JOIN pg_catalog.pg_index i ON i.indexrelid = c.oid +LEFT JOIN pg_catalog.pg_class c2 ON i.indrelid = c2.oid + WHERE c.relkind IN ('r','p','t','v','m','i','S','s','f','') AND pg_catalog.pg_table_is_visible(c.oid) ORDER BY 1,2 -Schema,Name,Type,Owner -pg_catalog,pg_aggregate,table,node -pg_catalog,pg_am,table,node -pg_catalog,pg_amop,table,node -pg_catalog,pg_amproc,table,node -pg_catalog,pg_attrdef,table,node -pg_catalog,pg_attribute,table,node -pg_catalog,pg_auth_members,table,node -pg_catalog,pg_authid,table,node -pg_catalog,pg_available_extension_versions,table,node -pg_catalog,pg_available_extensions,table,node -pg_catalog,pg_cast,table,node -pg_catalog,pg_class,table,node -pg_catalog,pg_collation,table,node -pg_catalog,pg_config,table,node -pg_catalog,pg_constraint,table,node -pg_catalog,pg_conversion,table,node -pg_catalog,pg_cursors,table,node -pg_catalog,pg_database,table,node -pg_catalog,pg_db_role_setting,table,node -pg_catalog,pg_default_acl,table,node -pg_catalog,pg_depend,table,node -pg_catalog,pg_description,view,node -pg_catalog,pg_enum,table,node -pg_catalog,pg_event_trigger,table,node -pg_catalog,pg_extension,table,node -pg_catalog,pg_file_settings,table,node -pg_catalog,pg_foreign_data_wrapper,table,node -pg_catalog,pg_foreign_server,table,node -pg_catalog,pg_foreign_table,table,node -pg_catalog,pg_group,table,node -pg_catalog,pg_hba_file_rules,table,node -pg_catalog,pg_index,table,node -pg_catalog,pg_indexes,table,node -pg_catalog,pg_inherits,table,node -pg_catalog,pg_init_privs,table,node -pg_catalog,pg_language,table,node -pg_catalog,pg_largeobject,table,node -pg_catalog,pg_largeobject_metadata,table,node -pg_catalog,pg_locks,table,node -pg_catalog,pg_matviews,table,node -pg_catalog,pg_namespace,table,node -pg_catalog,pg_opclass,table,node -pg_catalog,pg_operator,table,node -pg_catalog,pg_opfamily,table,node -pg_catalog,pg_partitioned_table,table,node -pg_catalog,pg_policies,table,node -pg_catalog,pg_policy,table,node -pg_catalog,pg_prepared_statements,table,node -pg_catalog,pg_prepared_xacts,table,node -pg_catalog,pg_proc,table,node -pg_catalog,pg_publication,table,node -pg_catalog,pg_publication_rel,table,node -pg_catalog,pg_publication_tables,table,node -pg_catalog,pg_range,table,node -pg_catalog,pg_replication_origin,table,node -pg_catalog,pg_replication_origin_status,table,node -pg_catalog,pg_replication_slots,table,node -pg_catalog,pg_rewrite,table,node -pg_catalog,pg_roles,table,node -pg_catalog,pg_rules,table,node -pg_catalog,pg_seclabel,table,node -pg_catalog,pg_seclabels,table,node -pg_catalog,pg_sequence,table,node -pg_catalog,pg_sequences,table,node -pg_catalog,pg_settings,table,node -pg_catalog,pg_shadow,table,node -pg_catalog,pg_shdepend,table,node -pg_catalog,pg_shdescription,view,node -pg_catalog,pg_shmem_allocations,table,node -pg_catalog,pg_shseclabel,table,node -pg_catalog,pg_stat_activity,table,node -pg_catalog,pg_stat_all_indexes,table,node -pg_catalog,pg_stat_all_tables,table,node -pg_catalog,pg_stat_archiver,table,node -pg_catalog,pg_stat_bgwriter,table,node -pg_catalog,pg_stat_database,table,node -pg_catalog,pg_stat_database_conflicts,table,node -pg_catalog,pg_stat_gssapi,table,node -pg_catalog,pg_stat_progress_analyze,table,node -pg_catalog,pg_stat_progress_basebackup,table,node -pg_catalog,pg_stat_progress_cluster,table,node -pg_catalog,pg_stat_progress_create_index,table,node -pg_catalog,pg_stat_progress_vacuum,table,node -pg_catalog,pg_stat_replication,table,node -pg_catalog,pg_stat_slru,table,node -pg_catalog,pg_stat_ssl,table,node -pg_catalog,pg_stat_subscription,table,node -pg_catalog,pg_stat_sys_indexes,table,node -pg_catalog,pg_stat_sys_tables,table,node -pg_catalog,pg_stat_user_functions,table,node -pg_catalog,pg_stat_user_indexes,table,node -pg_catalog,pg_stat_user_tables,table,node -pg_catalog,pg_stat_wal_receiver,table,node -pg_catalog,pg_stat_xact_all_tables,table,node -pg_catalog,pg_stat_xact_sys_tables,table,node -pg_catalog,pg_stat_xact_user_functions,table,node -pg_catalog,pg_stat_xact_user_tables,table,node -pg_catalog,pg_statio_all_indexes,table,node -pg_catalog,pg_statio_all_sequences,table,node -pg_catalog,pg_statio_all_tables,table,node -pg_catalog,pg_statio_sys_indexes,table,node -pg_catalog,pg_statio_sys_sequences,table,node -pg_catalog,pg_statio_sys_tables,table,node -pg_catalog,pg_statio_user_indexes,table,node -pg_catalog,pg_statio_user_sequences,table,node -pg_catalog,pg_statio_user_tables,table,node -pg_catalog,pg_statistic,table,node -pg_catalog,pg_statistic_ext,table,node -pg_catalog,pg_statistic_ext_data,table,node -pg_catalog,pg_stats,table,node -pg_catalog,pg_stats_ext,table,node -pg_catalog,pg_subscription,table,node -pg_catalog,pg_subscription_rel,table,node -pg_catalog,pg_tables,table,node -pg_catalog,pg_tablespace,table,node -pg_catalog,pg_timezone_abbrevs,table,node -pg_catalog,pg_timezone_names,table,node -pg_catalog,pg_transform,table,node -pg_catalog,pg_trigger,table,node -pg_catalog,pg_ts_config,table,node -pg_catalog,pg_ts_config_map,table,node -pg_catalog,pg_ts_dict,table,node -pg_catalog,pg_ts_parser,table,node -pg_catalog,pg_ts_template,table,node -pg_catalog,pg_type,table,node -pg_catalog,pg_user,table,node -pg_catalog,pg_user_mapping,table,node -pg_catalog,pg_user_mappings,table,node -pg_catalog,pg_views,table,node -pg_extension,geography_columns,table,node -pg_extension,geometry_columns,table,node -pg_extension,spatial_ref_sys,table,node -public,ftable1,table,root -public,ftable2,table,root -public,mymview,materialized view,root -public,myseq,sequence,root -public,mytable,table,root -public,myview,view,root +Schema,Name,Type,Owner,Table +pg_catalog,pg_aggregate,table,node,NULL +pg_catalog,pg_am,table,node,NULL +pg_catalog,pg_amop,table,node,NULL +pg_catalog,pg_amproc,table,node,NULL +pg_catalog,pg_attrdef,table,node,NULL +pg_catalog,pg_attrdef_adrelid_idx,index,node,NULL +pg_catalog,pg_attribute,table,node,NULL +pg_catalog,pg_attribute_attrelid_idx,index,node,NULL +pg_catalog,pg_auth_members,table,node,NULL +pg_catalog,pg_authid,table,node,NULL +pg_catalog,pg_available_extension_versions,table,node,NULL +pg_catalog,pg_available_extensions,table,node,NULL +pg_catalog,pg_cast,table,node,NULL +pg_catalog,pg_class,table,node,NULL +pg_catalog,pg_class_oid_idx,index,node,NULL +pg_catalog,pg_collation,table,node,NULL +pg_catalog,pg_config,table,node,NULL +pg_catalog,pg_constraint,table,node,NULL +pg_catalog,pg_constraint_conrelid_idx,index,node,NULL +pg_catalog,pg_conversion,table,node,NULL +pg_catalog,pg_cursors,table,node,NULL +pg_catalog,pg_database,table,node,NULL +pg_catalog,pg_db_role_setting,table,node,NULL +pg_catalog,pg_default_acl,table,node,NULL +pg_catalog,pg_depend,table,node,NULL +pg_catalog,pg_description,view,node,NULL +pg_catalog,pg_enum,table,node,NULL +pg_catalog,pg_event_trigger,table,node,NULL +pg_catalog,pg_extension,table,node,NULL +pg_catalog,pg_file_settings,table,node,NULL +pg_catalog,pg_foreign_data_wrapper,table,node,NULL +pg_catalog,pg_foreign_server,table,node,NULL +pg_catalog,pg_foreign_table,table,node,NULL +pg_catalog,pg_group,table,node,NULL +pg_catalog,pg_hba_file_rules,table,node,NULL +pg_catalog,pg_index,table,node,NULL +pg_catalog,pg_indexes,table,node,NULL +pg_catalog,pg_inherits,table,node,NULL +pg_catalog,pg_init_privs,table,node,NULL +pg_catalog,pg_language,table,node,NULL +pg_catalog,pg_largeobject,table,node,NULL +pg_catalog,pg_largeobject_metadata,table,node,NULL +pg_catalog,pg_locks,table,node,NULL +pg_catalog,pg_matviews,table,node,NULL +pg_catalog,pg_namespace,table,node,NULL +pg_catalog,pg_namespace_oid_idx,index,node,NULL +pg_catalog,pg_opclass,table,node,NULL +pg_catalog,pg_operator,table,node,NULL +pg_catalog,pg_opfamily,table,node,NULL +pg_catalog,pg_partitioned_table,table,node,NULL +pg_catalog,pg_policies,table,node,NULL +pg_catalog,pg_policy,table,node,NULL +pg_catalog,pg_prepared_statements,table,node,NULL +pg_catalog,pg_prepared_xacts,table,node,NULL +pg_catalog,pg_proc,table,node,NULL +pg_catalog,pg_proc_oid_idx,index,node,NULL +pg_catalog,pg_publication,table,node,NULL +pg_catalog,pg_publication_rel,table,node,NULL +pg_catalog,pg_publication_tables,table,node,NULL +pg_catalog,pg_range,table,node,NULL +pg_catalog,pg_replication_origin,table,node,NULL +pg_catalog,pg_replication_origin_status,table,node,NULL +pg_catalog,pg_replication_slots,table,node,NULL +pg_catalog,pg_rewrite,table,node,NULL +pg_catalog,pg_roles,table,node,NULL +pg_catalog,pg_rules,table,node,NULL +pg_catalog,pg_seclabel,table,node,NULL +pg_catalog,pg_seclabels,table,node,NULL +pg_catalog,pg_sequence,table,node,NULL +pg_catalog,pg_sequences,table,node,NULL +pg_catalog,pg_settings,table,node,NULL +pg_catalog,pg_shadow,table,node,NULL +pg_catalog,pg_shdepend,table,node,NULL +pg_catalog,pg_shdescription,view,node,NULL +pg_catalog,pg_shmem_allocations,table,node,NULL +pg_catalog,pg_shseclabel,table,node,NULL +pg_catalog,pg_stat_activity,table,node,NULL +pg_catalog,pg_stat_all_indexes,table,node,NULL +pg_catalog,pg_stat_all_tables,table,node,NULL +pg_catalog,pg_stat_archiver,table,node,NULL +pg_catalog,pg_stat_bgwriter,table,node,NULL +pg_catalog,pg_stat_database,table,node,NULL +pg_catalog,pg_stat_database_conflicts,table,node,NULL +pg_catalog,pg_stat_gssapi,table,node,NULL +pg_catalog,pg_stat_progress_analyze,table,node,NULL +pg_catalog,pg_stat_progress_basebackup,table,node,NULL +pg_catalog,pg_stat_progress_cluster,table,node,NULL +pg_catalog,pg_stat_progress_create_index,table,node,NULL +pg_catalog,pg_stat_progress_vacuum,table,node,NULL +pg_catalog,pg_stat_replication,table,node,NULL +pg_catalog,pg_stat_slru,table,node,NULL +pg_catalog,pg_stat_ssl,table,node,NULL +pg_catalog,pg_stat_subscription,table,node,NULL +pg_catalog,pg_stat_sys_indexes,table,node,NULL +pg_catalog,pg_stat_sys_tables,table,node,NULL +pg_catalog,pg_stat_user_functions,table,node,NULL +pg_catalog,pg_stat_user_indexes,table,node,NULL +pg_catalog,pg_stat_user_tables,table,node,NULL +pg_catalog,pg_stat_wal_receiver,table,node,NULL +pg_catalog,pg_stat_xact_all_tables,table,node,NULL +pg_catalog,pg_stat_xact_sys_tables,table,node,NULL +pg_catalog,pg_stat_xact_user_functions,table,node,NULL +pg_catalog,pg_stat_xact_user_tables,table,node,NULL +pg_catalog,pg_statio_all_indexes,table,node,NULL +pg_catalog,pg_statio_all_sequences,table,node,NULL +pg_catalog,pg_statio_all_tables,table,node,NULL +pg_catalog,pg_statio_sys_indexes,table,node,NULL +pg_catalog,pg_statio_sys_sequences,table,node,NULL +pg_catalog,pg_statio_sys_tables,table,node,NULL +pg_catalog,pg_statio_user_indexes,table,node,NULL +pg_catalog,pg_statio_user_sequences,table,node,NULL +pg_catalog,pg_statio_user_tables,table,node,NULL +pg_catalog,pg_statistic,table,node,NULL +pg_catalog,pg_statistic_ext,table,node,NULL +pg_catalog,pg_statistic_ext_data,table,node,NULL +pg_catalog,pg_stats,table,node,NULL +pg_catalog,pg_stats_ext,table,node,NULL +pg_catalog,pg_subscription,table,node,NULL +pg_catalog,pg_subscription_rel,table,node,NULL +pg_catalog,pg_tables,table,node,NULL +pg_catalog,pg_tablespace,table,node,NULL +pg_catalog,pg_timezone_abbrevs,table,node,NULL +pg_catalog,pg_timezone_names,table,node,NULL +pg_catalog,pg_timezone_names_name_idx,index,node,NULL +pg_catalog,pg_transform,table,node,NULL +pg_catalog,pg_trigger,table,node,NULL +pg_catalog,pg_ts_config,table,node,NULL +pg_catalog,pg_ts_config_map,table,node,NULL +pg_catalog,pg_ts_dict,table,node,NULL +pg_catalog,pg_ts_parser,table,node,NULL +pg_catalog,pg_ts_template,table,node,NULL +pg_catalog,pg_type,table,node,NULL +pg_catalog,pg_type_oid_idx,index,node,NULL +pg_catalog,pg_user,table,node,NULL +pg_catalog,pg_user_mapping,table,node,NULL +pg_catalog,pg_user_mappings,table,node,NULL +pg_catalog,pg_views,table,node,NULL +pg_extension,geography_columns,table,node,NULL +pg_extension,geometry_columns,table,node,NULL +pg_extension,spatial_ref_sys,table,node,NULL +public,ftable1,table,root,NULL +public,ftable1_pkey,index,root,ftable1 +public,ftable1_x_key,index,root,ftable1 +public,ftable2,table,root,NULL +public,ftable2_pkey,index,root,ftable2 +public,myidx,index,root,mytable +public,mymview,materialized view,root,NULL +public,mymview_pkey,index,root,mymview +public,myseq,sequence,root,NULL +public,mytable,table,root,NULL +public,mytable_pkey,index,root,mytable +public,myview,view,root,NULL cli \d+ @@ -424,6 +450,7 @@ List of relations: WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner", + c2.relname AS "Table", CASE c.relpersistence WHEN 'p' THEN 'permanent' WHEN 't' THEN 'temporary' @@ -433,19 +460,27 @@ List of relations: FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n on n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_am am ON am.oid = c.relam - WHERE c.relkind IN ('r','p','v','m','S','f','') +LEFT JOIN pg_catalog.pg_index i ON i.indexrelid = c.oid +LEFT JOIN pg_catalog.pg_class c2 ON i.indrelid = c2.oid + WHERE c.relkind IN ('r','p','v','m','i','S','f','') AND n.nspname !~ '^pg_' AND n.nspname <> 'information_schema' AND n.nspname <> 'crdb_internal' AND pg_catalog.pg_table_is_visible(c.oid) ORDER BY 1,2 -Schema,Name,Type,Owner,Persistence,Access Method,Description -public,ftable1,table,root,permanent,prefix, -public,ftable2,table,root,permanent,prefix, -public,mymview,materialized view,root,permanent,NULL, -public,myseq,sequence,root,permanent,NULL, -public,mytable,table,root,permanent,prefix,my awesome tb comment -public,myview,view,root,permanent,NULL, +Schema,Name,Type,Owner,Table,Persistence,Access Method,Description +public,ftable1,table,root,NULL,permanent,prefix, +public,ftable1_pkey,index,root,ftable1,permanent,prefix, +public,ftable1_x_key,index,root,ftable1,permanent,prefix, +public,ftable2,table,root,NULL,permanent,prefix, +public,ftable2_pkey,index,root,ftable2,permanent,prefix, +public,myidx,index,root,mytable,permanent,prefix,my awesome idx comment +public,mymview,materialized view,root,NULL,permanent,NULL, +public,mymview_pkey,index,root,mymview,permanent,prefix, +public,myseq,sequence,root,NULL,permanent,NULL, +public,mytable,table,root,NULL,permanent,prefix,my awesome tb comment +public,mytable_pkey,index,root,mytable,permanent,prefix, +public,myview,view,root,NULL,permanent,NULL, cli \dS+ @@ -467,6 +502,7 @@ List of relations: WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner", + c2.relname AS "Table", CASE c.relpersistence WHEN 'p' THEN 'permanent' WHEN 't' THEN 'temporary' @@ -476,207 +512,223 @@ List of relations: FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n on n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_am am ON am.oid = c.relam - WHERE c.relkind IN ('r','p','t','v','m','S','s','f','') +LEFT JOIN pg_catalog.pg_index i ON i.indexrelid = c.oid +LEFT JOIN pg_catalog.pg_class c2 ON i.indrelid = c2.oid + WHERE c.relkind IN ('r','p','t','v','m','i','S','s','f','') AND pg_catalog.pg_table_is_visible(c.oid) ORDER BY 1,2 -Schema,Name,Type,Owner,Persistence,Access Method,Description -pg_catalog,pg_aggregate,table,node,permanent,prefix,"aggregated built-in functions (incomplete) +Schema,Name,Type,Owner,Table,Persistence,Access Method,Description +pg_catalog,pg_aggregate,table,node,NULL,permanent,prefix,"aggregated built-in functions (incomplete) https://www.postgresql.org/docs/9.6/catalog-pg-aggregate.html" -pg_catalog,pg_am,table,node,permanent,prefix,"index access methods (incomplete) +pg_catalog,pg_am,table,node,NULL,permanent,prefix,"index access methods (incomplete) https://www.postgresql.org/docs/9.5/catalog-pg-am.html" -pg_catalog,pg_amop,table,node,permanent,prefix,pg_amop was created for compatibility and is currently unimplemented -pg_catalog,pg_amproc,table,node,permanent,prefix,pg_amproc was created for compatibility and is currently unimplemented -pg_catalog,pg_attrdef,table,node,permanent,prefix,"column default values +pg_catalog,pg_amop,table,node,NULL,permanent,prefix,pg_amop was created for compatibility and is currently unimplemented +pg_catalog,pg_amproc,table,node,NULL,permanent,prefix,pg_amproc was created for compatibility and is currently unimplemented +pg_catalog,pg_attrdef,table,node,NULL,permanent,prefix,"column default values https://www.postgresql.org/docs/9.5/catalog-pg-attrdef.html" -pg_catalog,pg_attribute,table,node,permanent,prefix,"table columns (incomplete - see also information_schema.columns) +pg_catalog,pg_attrdef_adrelid_idx,index,node,NULL,permanent,prefix, +pg_catalog,pg_attribute,table,node,NULL,permanent,prefix,"table columns (incomplete - see also information_schema.columns) https://www.postgresql.org/docs/12/catalog-pg-attribute.html" -pg_catalog,pg_auth_members,table,node,permanent,prefix,"role membership +pg_catalog,pg_attribute_attrelid_idx,index,node,NULL,permanent,prefix, +pg_catalog,pg_auth_members,table,node,NULL,permanent,prefix,"role membership https://www.postgresql.org/docs/9.5/catalog-pg-auth-members.html" -pg_catalog,pg_authid,table,node,permanent,prefix,"authorization identifiers - differs from postgres as we do not display passwords, +pg_catalog,pg_authid,table,node,NULL,permanent,prefix,"authorization identifiers - differs from postgres as we do not display passwords, and thus do not require admin privileges for access. https://www.postgresql.org/docs/9.5/catalog-pg-authid.html" -pg_catalog,pg_available_extension_versions,table,node,permanent,prefix,pg_available_extension_versions was created for compatibility and is currently unimplemented -pg_catalog,pg_available_extensions,table,node,permanent,prefix,"available extensions +pg_catalog,pg_available_extension_versions,table,node,NULL,permanent,prefix,pg_available_extension_versions was created for compatibility and is currently unimplemented +pg_catalog,pg_available_extensions,table,node,NULL,permanent,prefix,"available extensions https://www.postgresql.org/docs/9.6/view-pg-available-extensions.html" -pg_catalog,pg_cast,table,node,permanent,prefix,"casts (empty - needs filling out) +pg_catalog,pg_cast,table,node,NULL,permanent,prefix,"casts (empty - needs filling out) https://www.postgresql.org/docs/9.6/catalog-pg-cast.html" -pg_catalog,pg_class,table,node,permanent,prefix,"tables and relation-like objects (incomplete - see also information_schema.tables/sequences/views) +pg_catalog,pg_class,table,node,NULL,permanent,prefix,"tables and relation-like objects (incomplete - see also information_schema.tables/sequences/views) https://www.postgresql.org/docs/9.5/catalog-pg-class.html" -pg_catalog,pg_collation,table,node,permanent,prefix,"available collations (incomplete) +pg_catalog,pg_class_oid_idx,index,node,NULL,permanent,prefix, +pg_catalog,pg_collation,table,node,NULL,permanent,prefix,"available collations (incomplete) https://www.postgresql.org/docs/9.5/catalog-pg-collation.html" -pg_catalog,pg_config,table,node,permanent,prefix,pg_config was created for compatibility and is currently unimplemented -pg_catalog,pg_constraint,table,node,permanent,prefix,"table constraints (incomplete - see also information_schema.table_constraints) +pg_catalog,pg_config,table,node,NULL,permanent,prefix,pg_config was created for compatibility and is currently unimplemented +pg_catalog,pg_constraint,table,node,NULL,permanent,prefix,"table constraints (incomplete - see also information_schema.table_constraints) https://www.postgresql.org/docs/9.5/catalog-pg-constraint.html" -pg_catalog,pg_conversion,table,node,permanent,prefix,"encoding conversions (empty - unimplemented) +pg_catalog,pg_constraint_conrelid_idx,index,node,NULL,permanent,prefix, +pg_catalog,pg_conversion,table,node,NULL,permanent,prefix,"encoding conversions (empty - unimplemented) https://www.postgresql.org/docs/9.6/catalog-pg-conversion.html" -pg_catalog,pg_cursors,table,node,permanent,prefix,"contains currently active SQL cursors created with DECLARE +pg_catalog,pg_cursors,table,node,NULL,permanent,prefix,"contains currently active SQL cursors created with DECLARE https://www.postgresql.org/docs/14/view-pg-cursors.html" -pg_catalog,pg_database,table,node,permanent,prefix,"available databases (incomplete) +pg_catalog,pg_database,table,node,NULL,permanent,prefix,"available databases (incomplete) https://www.postgresql.org/docs/9.5/catalog-pg-database.html" -pg_catalog,pg_db_role_setting,table,node,permanent,prefix,"contains the default values that have been configured for session variables +pg_catalog,pg_db_role_setting,table,node,NULL,permanent,prefix,"contains the default values that have been configured for session variables https://www.postgresql.org/docs/13/catalog-pg-db-role-setting.html" -pg_catalog,pg_default_acl,table,node,permanent,prefix,"default ACLs; these are the privileges that will be assigned to newly created objects +pg_catalog,pg_default_acl,table,node,NULL,permanent,prefix,"default ACLs; these are the privileges that will be assigned to newly created objects https://www.postgresql.org/docs/13/catalog-pg-default-acl.html" -pg_catalog,pg_depend,table,node,permanent,prefix,"dependency relationships (incomplete) +pg_catalog,pg_depend,table,node,NULL,permanent,prefix,"dependency relationships (incomplete) https://www.postgresql.org/docs/9.5/catalog-pg-depend.html" -pg_catalog,pg_description,view,node,permanent,NULL,"object comments +pg_catalog,pg_description,view,node,NULL,permanent,NULL,"object comments https://www.postgresql.org/docs/9.5/catalog-pg-description.html" -pg_catalog,pg_enum,table,node,permanent,prefix,"enum types and labels (empty - feature does not exist) +pg_catalog,pg_enum,table,node,NULL,permanent,prefix,"enum types and labels (empty - feature does not exist) https://www.postgresql.org/docs/9.5/catalog-pg-enum.html" -pg_catalog,pg_event_trigger,table,node,permanent,prefix,"event triggers (empty - feature does not exist) +pg_catalog,pg_event_trigger,table,node,NULL,permanent,prefix,"event triggers (empty - feature does not exist) https://www.postgresql.org/docs/9.6/catalog-pg-event-trigger.html" -pg_catalog,pg_extension,table,node,permanent,prefix,"installed extensions (empty - feature does not exist) +pg_catalog,pg_extension,table,node,NULL,permanent,prefix,"installed extensions (empty - feature does not exist) https://www.postgresql.org/docs/9.5/catalog-pg-extension.html" -pg_catalog,pg_file_settings,table,node,permanent,prefix,pg_file_settings was created for compatibility and is currently unimplemented -pg_catalog,pg_foreign_data_wrapper,table,node,permanent,prefix,"foreign data wrappers (empty - feature does not exist) +pg_catalog,pg_file_settings,table,node,NULL,permanent,prefix,pg_file_settings was created for compatibility and is currently unimplemented +pg_catalog,pg_foreign_data_wrapper,table,node,NULL,permanent,prefix,"foreign data wrappers (empty - feature does not exist) https://www.postgresql.org/docs/9.5/catalog-pg-foreign-data-wrapper.html" -pg_catalog,pg_foreign_server,table,node,permanent,prefix,"foreign servers (empty - feature does not exist) +pg_catalog,pg_foreign_server,table,node,NULL,permanent,prefix,"foreign servers (empty - feature does not exist) https://www.postgresql.org/docs/9.5/catalog-pg-foreign-server.html" -pg_catalog,pg_foreign_table,table,node,permanent,prefix,"foreign tables (empty - feature does not exist) +pg_catalog,pg_foreign_table,table,node,NULL,permanent,prefix,"foreign tables (empty - feature does not exist) https://www.postgresql.org/docs/9.5/catalog-pg-foreign-table.html" -pg_catalog,pg_group,table,node,permanent,prefix,pg_group was created for compatibility and is currently unimplemented -pg_catalog,pg_hba_file_rules,table,node,permanent,prefix,pg_hba_file_rules was created for compatibility and is currently unimplemented -pg_catalog,pg_index,table,node,permanent,prefix,"indexes (incomplete) +pg_catalog,pg_group,table,node,NULL,permanent,prefix,pg_group was created for compatibility and is currently unimplemented +pg_catalog,pg_hba_file_rules,table,node,NULL,permanent,prefix,pg_hba_file_rules was created for compatibility and is currently unimplemented +pg_catalog,pg_index,table,node,NULL,permanent,prefix,"indexes (incomplete) https://www.postgresql.org/docs/9.5/catalog-pg-index.html" -pg_catalog,pg_indexes,table,node,permanent,prefix,"index creation statements +pg_catalog,pg_indexes,table,node,NULL,permanent,prefix,"index creation statements https://www.postgresql.org/docs/9.5/view-pg-indexes.html" -pg_catalog,pg_inherits,table,node,permanent,prefix,"table inheritance hierarchy (empty - feature does not exist) +pg_catalog,pg_inherits,table,node,NULL,permanent,prefix,"table inheritance hierarchy (empty - feature does not exist) https://www.postgresql.org/docs/9.5/catalog-pg-inherits.html" -pg_catalog,pg_init_privs,table,node,permanent,prefix,pg_init_privs was created for compatibility and is currently unimplemented -pg_catalog,pg_language,table,node,permanent,prefix,"available languages +pg_catalog,pg_init_privs,table,node,NULL,permanent,prefix,pg_init_privs was created for compatibility and is currently unimplemented +pg_catalog,pg_language,table,node,NULL,permanent,prefix,"available languages https://www.postgresql.org/docs/9.5/catalog-pg-language.html" -pg_catalog,pg_largeobject,table,node,permanent,prefix,pg_largeobject was created for compatibility and is currently unimplemented -pg_catalog,pg_largeobject_metadata,table,node,permanent,prefix,pg_largeobject_metadata was created for compatibility and is currently unimplemented -pg_catalog,pg_locks,table,node,permanent,prefix,"locks held by active processes (empty - feature does not exist) +pg_catalog,pg_largeobject,table,node,NULL,permanent,prefix,pg_largeobject was created for compatibility and is currently unimplemented +pg_catalog,pg_largeobject_metadata,table,node,NULL,permanent,prefix,pg_largeobject_metadata was created for compatibility and is currently unimplemented +pg_catalog,pg_locks,table,node,NULL,permanent,prefix,"locks held by active processes (empty - feature does not exist) https://www.postgresql.org/docs/9.6/view-pg-locks.html" -pg_catalog,pg_matviews,table,node,permanent,prefix,"available materialized views +pg_catalog,pg_matviews,table,node,NULL,permanent,prefix,"available materialized views https://www.postgresql.org/docs/9.6/view-pg-matviews.html" -pg_catalog,pg_namespace,table,node,permanent,prefix,"available namespaces +pg_catalog,pg_namespace,table,node,NULL,permanent,prefix,"available namespaces https://www.postgresql.org/docs/9.5/catalog-pg-namespace.html" -pg_catalog,pg_opclass,table,node,permanent,prefix,"opclass (empty - Operator classes not supported yet) +pg_catalog,pg_namespace_oid_idx,index,node,NULL,permanent,prefix, +pg_catalog,pg_opclass,table,node,NULL,permanent,prefix,"opclass (empty - Operator classes not supported yet) https://www.postgresql.org/docs/12/catalog-pg-opclass.html" -pg_catalog,pg_operator,table,node,permanent,prefix,"operators (incomplete) +pg_catalog,pg_operator,table,node,NULL,permanent,prefix,"operators (incomplete) https://www.postgresql.org/docs/9.5/catalog-pg-operator.html" -pg_catalog,pg_opfamily,table,node,permanent,prefix,pg_opfamily was created for compatibility and is currently unimplemented -pg_catalog,pg_partitioned_table,table,node,permanent,prefix,pg_partitioned_table was created for compatibility and is currently unimplemented -pg_catalog,pg_policies,table,node,permanent,prefix,pg_policies was created for compatibility and is currently unimplemented -pg_catalog,pg_policy,table,node,permanent,prefix,pg_policy was created for compatibility and is currently unimplemented -pg_catalog,pg_prepared_statements,table,node,permanent,prefix,"prepared statements +pg_catalog,pg_opfamily,table,node,NULL,permanent,prefix,pg_opfamily was created for compatibility and is currently unimplemented +pg_catalog,pg_partitioned_table,table,node,NULL,permanent,prefix,pg_partitioned_table was created for compatibility and is currently unimplemented +pg_catalog,pg_policies,table,node,NULL,permanent,prefix,pg_policies was created for compatibility and is currently unimplemented +pg_catalog,pg_policy,table,node,NULL,permanent,prefix,pg_policy was created for compatibility and is currently unimplemented +pg_catalog,pg_prepared_statements,table,node,NULL,permanent,prefix,"prepared statements https://www.postgresql.org/docs/9.6/view-pg-prepared-statements.html" -pg_catalog,pg_prepared_xacts,table,node,permanent,prefix,"prepared transactions (empty - feature does not exist) +pg_catalog,pg_prepared_xacts,table,node,NULL,permanent,prefix,"prepared transactions (empty - feature does not exist) https://www.postgresql.org/docs/9.6/view-pg-prepared-xacts.html" -pg_catalog,pg_proc,table,node,permanent,prefix,"built-in functions (incomplete) -https://www.postgresql.org/docs/16/catalog-pg-proc.html" -pg_catalog,pg_publication,table,node,permanent,prefix,pg_publication was created for compatibility and is currently unimplemented -pg_catalog,pg_publication_rel,table,node,permanent,prefix,pg_publication_rel was created for compatibility and is currently unimplemented -pg_catalog,pg_publication_tables,table,node,permanent,prefix,pg_publication_tables was created for compatibility and is currently unimplemented -pg_catalog,pg_range,table,node,permanent,prefix,"range types (empty - feature does not exist) +pg_catalog,pg_proc,table,node,NULL,permanent,prefix,"built-in functions (incomplete) +https://www.postgresql.org/docs/9.5/catalog-pg-proc.html" +pg_catalog,pg_proc_oid_idx,index,node,NULL,permanent,prefix, +pg_catalog,pg_publication,table,node,NULL,permanent,prefix,pg_publication was created for compatibility and is currently unimplemented +pg_catalog,pg_publication_rel,table,node,NULL,permanent,prefix,pg_publication_rel was created for compatibility and is currently unimplemented +pg_catalog,pg_publication_tables,table,node,NULL,permanent,prefix,pg_publication_tables was created for compatibility and is currently unimplemented +pg_catalog,pg_range,table,node,NULL,permanent,prefix,"range types (empty - feature does not exist) https://www.postgresql.org/docs/9.5/catalog-pg-range.html" -pg_catalog,pg_replication_origin,table,node,permanent,prefix,pg_replication_origin was created for compatibility and is currently unimplemented -pg_catalog,pg_replication_origin_status,table,node,permanent,prefix,pg_replication_origin_status was created for compatibility and is currently unimplemented -pg_catalog,pg_replication_slots,table,node,permanent,prefix,pg_replication_slots was created for compatibility and is currently unimplemented -pg_catalog,pg_rewrite,table,node,permanent,prefix,"rewrite rules (only for referencing on pg_depend for table-view dependencies) +pg_catalog,pg_replication_origin,table,node,NULL,permanent,prefix,pg_replication_origin was created for compatibility and is currently unimplemented +pg_catalog,pg_replication_origin_status,table,node,NULL,permanent,prefix,pg_replication_origin_status was created for compatibility and is currently unimplemented +pg_catalog,pg_replication_slots,table,node,NULL,permanent,prefix,pg_replication_slots was created for compatibility and is currently unimplemented +pg_catalog,pg_rewrite,table,node,NULL,permanent,prefix,"rewrite rules (only for referencing on pg_depend for table-view dependencies) https://www.postgresql.org/docs/9.5/catalog-pg-rewrite.html" -pg_catalog,pg_roles,table,node,permanent,prefix,"database roles +pg_catalog,pg_roles,table,node,NULL,permanent,prefix,"database roles https://www.postgresql.org/docs/9.5/view-pg-roles.html" -pg_catalog,pg_rules,table,node,permanent,prefix,pg_rules was created for compatibility and is currently unimplemented -pg_catalog,pg_seclabel,table,node,permanent,prefix,"security labels (empty - feature does not exist) +pg_catalog,pg_rules,table,node,NULL,permanent,prefix,pg_rules was created for compatibility and is currently unimplemented +pg_catalog,pg_seclabel,table,node,NULL,permanent,prefix,"security labels (empty - feature does not exist) https://www.postgresql.org/docs/9.5/catalog-pg-seclabel.html" -pg_catalog,pg_seclabels,table,node,permanent,prefix,"security labels (empty) +pg_catalog,pg_seclabels,table,node,NULL,permanent,prefix,"security labels (empty) https://www.postgresql.org/docs/9.6/view-pg-seclabels.html" -pg_catalog,pg_sequence,table,node,permanent,prefix,"sequences (see also information_schema.sequences) +pg_catalog,pg_sequence,table,node,NULL,permanent,prefix,"sequences (see also information_schema.sequences) https://www.postgresql.org/docs/9.5/catalog-pg-sequence.html" -pg_catalog,pg_sequences,table,node,permanent,prefix,"pg_sequences is very similar as pg_sequence. +pg_catalog,pg_sequences,table,node,NULL,permanent,prefix,"pg_sequences is very similar as pg_sequence. https://www.postgresql.org/docs/13/view-pg-sequences.html " -pg_catalog,pg_settings,table,node,permanent,prefix,"session variables (incomplete) +pg_catalog,pg_settings,table,node,NULL,permanent,prefix,"session variables (incomplete) https://www.postgresql.org/docs/9.5/catalog-pg-settings.html" -pg_catalog,pg_shadow,table,node,permanent,prefix,"pg_shadow lists properties for roles that are marked as rolcanlogin in pg_authid +pg_catalog,pg_shadow,table,node,NULL,permanent,prefix,"pg_shadow lists properties for roles that are marked as rolcanlogin in pg_authid https://www.postgresql.org/docs/13/view-pg-shadow.html" -pg_catalog,pg_shdepend,table,node,permanent,prefix,"Shared Dependencies (Roles depending on objects). +pg_catalog,pg_shdepend,table,node,NULL,permanent,prefix,"Shared Dependencies (Roles depending on objects). https://www.postgresql.org/docs/9.6/catalog-pg-shdepend.html" -pg_catalog,pg_shdescription,view,node,permanent,NULL,"shared object comments +pg_catalog,pg_shdescription,view,node,NULL,permanent,NULL,"shared object comments https://www.postgresql.org/docs/9.5/catalog-pg-shdescription.html" -pg_catalog,pg_shmem_allocations,table,node,permanent,prefix,pg_shmem_allocations was created for compatibility and is currently unimplemented -pg_catalog,pg_shseclabel,table,node,permanent,prefix,"shared security labels (empty - feature not supported) +pg_catalog,pg_shmem_allocations,table,node,NULL,permanent,prefix,pg_shmem_allocations was created for compatibility and is currently unimplemented +pg_catalog,pg_shseclabel,table,node,NULL,permanent,prefix,"shared security labels (empty - feature not supported) https://www.postgresql.org/docs/9.5/catalog-pg-shseclabel.html" -pg_catalog,pg_stat_activity,table,node,permanent,prefix,"backend access statistics (empty - monitoring works differently in CockroachDB) +pg_catalog,pg_stat_activity,table,node,NULL,permanent,prefix,"backend access statistics (empty - monitoring works differently in CockroachDB) https://www.postgresql.org/docs/9.6/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW" -pg_catalog,pg_stat_all_indexes,table,node,permanent,prefix,pg_stat_all_indexes was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_all_tables,table,node,permanent,prefix,pg_stat_all_tables was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_archiver,table,node,permanent,prefix,pg_stat_archiver was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_bgwriter,table,node,permanent,prefix,pg_stat_bgwriter was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_database,table,node,permanent,prefix,pg_stat_database was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_database_conflicts,table,node,permanent,prefix,pg_stat_database_conflicts was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_gssapi,table,node,permanent,prefix,pg_stat_gssapi was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_progress_analyze,table,node,permanent,prefix,pg_stat_progress_analyze was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_progress_basebackup,table,node,permanent,prefix,pg_stat_progress_basebackup was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_progress_cluster,table,node,permanent,prefix,pg_stat_progress_cluster was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_progress_create_index,table,node,permanent,prefix,pg_stat_progress_create_index was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_progress_vacuum,table,node,permanent,prefix,pg_stat_progress_vacuum was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_replication,table,node,permanent,prefix,pg_stat_replication was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_slru,table,node,permanent,prefix,pg_stat_slru was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_ssl,table,node,permanent,prefix,pg_stat_ssl was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_subscription,table,node,permanent,prefix,pg_stat_subscription was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_sys_indexes,table,node,permanent,prefix,pg_stat_sys_indexes was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_sys_tables,table,node,permanent,prefix,pg_stat_sys_tables was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_user_functions,table,node,permanent,prefix,pg_stat_user_functions was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_user_indexes,table,node,permanent,prefix,pg_stat_user_indexes was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_user_tables,table,node,permanent,prefix,pg_stat_user_tables was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_wal_receiver,table,node,permanent,prefix,pg_stat_wal_receiver was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_xact_all_tables,table,node,permanent,prefix,pg_stat_xact_all_tables was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_xact_sys_tables,table,node,permanent,prefix,pg_stat_xact_sys_tables was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_xact_user_functions,table,node,permanent,prefix,pg_stat_xact_user_functions was created for compatibility and is currently unimplemented -pg_catalog,pg_stat_xact_user_tables,table,node,permanent,prefix,pg_stat_xact_user_tables was created for compatibility and is currently unimplemented -pg_catalog,pg_statio_all_indexes,table,node,permanent,prefix,pg_statio_all_indexes was created for compatibility and is currently unimplemented -pg_catalog,pg_statio_all_sequences,table,node,permanent,prefix,pg_statio_all_sequences was created for compatibility and is currently unimplemented -pg_catalog,pg_statio_all_tables,table,node,permanent,prefix,pg_statio_all_tables was created for compatibility and is currently unimplemented -pg_catalog,pg_statio_sys_indexes,table,node,permanent,prefix,pg_statio_sys_indexes was created for compatibility and is currently unimplemented -pg_catalog,pg_statio_sys_sequences,table,node,permanent,prefix,pg_statio_sys_sequences was created for compatibility and is currently unimplemented -pg_catalog,pg_statio_sys_tables,table,node,permanent,prefix,pg_statio_sys_tables was created for compatibility and is currently unimplemented -pg_catalog,pg_statio_user_indexes,table,node,permanent,prefix,pg_statio_user_indexes was created for compatibility and is currently unimplemented -pg_catalog,pg_statio_user_sequences,table,node,permanent,prefix,pg_statio_user_sequences was created for compatibility and is currently unimplemented -pg_catalog,pg_statio_user_tables,table,node,permanent,prefix,pg_statio_user_tables was created for compatibility and is currently unimplemented -pg_catalog,pg_statistic,table,node,permanent,prefix,pg_statistic was created for compatibility and is currently unimplemented -pg_catalog,pg_statistic_ext,table,node,permanent,prefix,"pg_statistic_ext has the statistics objects created with CREATE STATISTICS +pg_catalog,pg_stat_all_indexes,table,node,NULL,permanent,prefix,pg_stat_all_indexes was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_all_tables,table,node,NULL,permanent,prefix,pg_stat_all_tables was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_archiver,table,node,NULL,permanent,prefix,pg_stat_archiver was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_bgwriter,table,node,NULL,permanent,prefix,pg_stat_bgwriter was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_database,table,node,NULL,permanent,prefix,pg_stat_database was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_database_conflicts,table,node,NULL,permanent,prefix,pg_stat_database_conflicts was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_gssapi,table,node,NULL,permanent,prefix,pg_stat_gssapi was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_progress_analyze,table,node,NULL,permanent,prefix,pg_stat_progress_analyze was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_progress_basebackup,table,node,NULL,permanent,prefix,pg_stat_progress_basebackup was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_progress_cluster,table,node,NULL,permanent,prefix,pg_stat_progress_cluster was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_progress_create_index,table,node,NULL,permanent,prefix,pg_stat_progress_create_index was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_progress_vacuum,table,node,NULL,permanent,prefix,pg_stat_progress_vacuum was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_replication,table,node,NULL,permanent,prefix,pg_stat_replication was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_slru,table,node,NULL,permanent,prefix,pg_stat_slru was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_ssl,table,node,NULL,permanent,prefix,pg_stat_ssl was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_subscription,table,node,NULL,permanent,prefix,pg_stat_subscription was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_sys_indexes,table,node,NULL,permanent,prefix,pg_stat_sys_indexes was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_sys_tables,table,node,NULL,permanent,prefix,pg_stat_sys_tables was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_user_functions,table,node,NULL,permanent,prefix,pg_stat_user_functions was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_user_indexes,table,node,NULL,permanent,prefix,pg_stat_user_indexes was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_user_tables,table,node,NULL,permanent,prefix,pg_stat_user_tables was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_wal_receiver,table,node,NULL,permanent,prefix,pg_stat_wal_receiver was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_xact_all_tables,table,node,NULL,permanent,prefix,pg_stat_xact_all_tables was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_xact_sys_tables,table,node,NULL,permanent,prefix,pg_stat_xact_sys_tables was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_xact_user_functions,table,node,NULL,permanent,prefix,pg_stat_xact_user_functions was created for compatibility and is currently unimplemented +pg_catalog,pg_stat_xact_user_tables,table,node,NULL,permanent,prefix,pg_stat_xact_user_tables was created for compatibility and is currently unimplemented +pg_catalog,pg_statio_all_indexes,table,node,NULL,permanent,prefix,pg_statio_all_indexes was created for compatibility and is currently unimplemented +pg_catalog,pg_statio_all_sequences,table,node,NULL,permanent,prefix,pg_statio_all_sequences was created for compatibility and is currently unimplemented +pg_catalog,pg_statio_all_tables,table,node,NULL,permanent,prefix,pg_statio_all_tables was created for compatibility and is currently unimplemented +pg_catalog,pg_statio_sys_indexes,table,node,NULL,permanent,prefix,pg_statio_sys_indexes was created for compatibility and is currently unimplemented +pg_catalog,pg_statio_sys_sequences,table,node,NULL,permanent,prefix,pg_statio_sys_sequences was created for compatibility and is currently unimplemented +pg_catalog,pg_statio_sys_tables,table,node,NULL,permanent,prefix,pg_statio_sys_tables was created for compatibility and is currently unimplemented +pg_catalog,pg_statio_user_indexes,table,node,NULL,permanent,prefix,pg_statio_user_indexes was created for compatibility and is currently unimplemented +pg_catalog,pg_statio_user_sequences,table,node,NULL,permanent,prefix,pg_statio_user_sequences was created for compatibility and is currently unimplemented +pg_catalog,pg_statio_user_tables,table,node,NULL,permanent,prefix,pg_statio_user_tables was created for compatibility and is currently unimplemented +pg_catalog,pg_statistic,table,node,NULL,permanent,prefix,pg_statistic was created for compatibility and is currently unimplemented +pg_catalog,pg_statistic_ext,table,node,NULL,permanent,prefix,"pg_statistic_ext has the statistics objects created with CREATE STATISTICS https://www.postgresql.org/docs/13/catalog-pg-statistic-ext.html" -pg_catalog,pg_statistic_ext_data,table,node,permanent,prefix,pg_statistic_ext_data was created for compatibility and is currently unimplemented -pg_catalog,pg_stats,table,node,permanent,prefix,pg_stats was created for compatibility and is currently unimplemented -pg_catalog,pg_stats_ext,table,node,permanent,prefix,pg_stats_ext was created for compatibility and is currently unimplemented -pg_catalog,pg_subscription,table,node,permanent,prefix,pg_subscription was created for compatibility and is currently unimplemented -pg_catalog,pg_subscription_rel,table,node,permanent,prefix,pg_subscription_rel was created for compatibility and is currently unimplemented -pg_catalog,pg_tables,table,node,permanent,prefix,"tables summary (see also information_schema.tables, pg_catalog.pg_class) +pg_catalog,pg_statistic_ext_data,table,node,NULL,permanent,prefix,pg_statistic_ext_data was created for compatibility and is currently unimplemented +pg_catalog,pg_stats,table,node,NULL,permanent,prefix,pg_stats was created for compatibility and is currently unimplemented +pg_catalog,pg_stats_ext,table,node,NULL,permanent,prefix,pg_stats_ext was created for compatibility and is currently unimplemented +pg_catalog,pg_subscription,table,node,NULL,permanent,prefix,pg_subscription was created for compatibility and is currently unimplemented +pg_catalog,pg_subscription_rel,table,node,NULL,permanent,prefix,pg_subscription_rel was created for compatibility and is currently unimplemented +pg_catalog,pg_tables,table,node,NULL,permanent,prefix,"tables summary (see also information_schema.tables, pg_catalog.pg_class) https://www.postgresql.org/docs/9.5/view-pg-tables.html" -pg_catalog,pg_tablespace,table,node,permanent,prefix,"available tablespaces (incomplete; concept inapplicable to CockroachDB) +pg_catalog,pg_tablespace,table,node,NULL,permanent,prefix,"available tablespaces (incomplete; concept inapplicable to CockroachDB) https://www.postgresql.org/docs/9.5/catalog-pg-tablespace.html" -pg_catalog,pg_timezone_abbrevs,table,node,permanent,prefix,pg_timezone_abbrevs was created for compatibility and is currently unimplemented -pg_catalog,pg_timezone_names,table,node,permanent,prefix,pg_timezone_names lists all the timezones that are supported by SET timezone -pg_catalog,pg_transform,table,node,permanent,prefix,pg_transform was created for compatibility and is currently unimplemented -pg_catalog,pg_trigger,table,node,permanent,prefix,"triggers (empty - feature does not exist) +pg_catalog,pg_timezone_abbrevs,table,node,NULL,permanent,prefix,pg_timezone_abbrevs was created for compatibility and is currently unimplemented +pg_catalog,pg_timezone_names,table,node,NULL,permanent,prefix,pg_timezone_names lists all the timezones that are supported by SET timezone +pg_catalog,pg_timezone_names_name_idx,index,node,NULL,permanent,prefix, +pg_catalog,pg_transform,table,node,NULL,permanent,prefix,pg_transform was created for compatibility and is currently unimplemented +pg_catalog,pg_trigger,table,node,NULL,permanent,prefix,"triggers (empty - feature does not exist) https://www.postgresql.org/docs/9.5/catalog-pg-trigger.html" -pg_catalog,pg_ts_config,table,node,permanent,prefix,pg_ts_config was created for compatibility and is currently unimplemented -pg_catalog,pg_ts_config_map,table,node,permanent,prefix,pg_ts_config_map was created for compatibility and is currently unimplemented -pg_catalog,pg_ts_dict,table,node,permanent,prefix,pg_ts_dict was created for compatibility and is currently unimplemented -pg_catalog,pg_ts_parser,table,node,permanent,prefix,pg_ts_parser was created for compatibility and is currently unimplemented -pg_catalog,pg_ts_template,table,node,permanent,prefix,pg_ts_template was created for compatibility and is currently unimplemented -pg_catalog,pg_type,table,node,permanent,prefix,"scalar types (incomplete) +pg_catalog,pg_ts_config,table,node,NULL,permanent,prefix,pg_ts_config was created for compatibility and is currently unimplemented +pg_catalog,pg_ts_config_map,table,node,NULL,permanent,prefix,pg_ts_config_map was created for compatibility and is currently unimplemented +pg_catalog,pg_ts_dict,table,node,NULL,permanent,prefix,pg_ts_dict was created for compatibility and is currently unimplemented +pg_catalog,pg_ts_parser,table,node,NULL,permanent,prefix,pg_ts_parser was created for compatibility and is currently unimplemented +pg_catalog,pg_ts_template,table,node,NULL,permanent,prefix,pg_ts_template was created for compatibility and is currently unimplemented +pg_catalog,pg_type,table,node,NULL,permanent,prefix,"scalar types (incomplete) https://www.postgresql.org/docs/9.5/catalog-pg-type.html" -pg_catalog,pg_user,table,node,permanent,prefix,"database users +pg_catalog,pg_type_oid_idx,index,node,NULL,permanent,prefix, +pg_catalog,pg_user,table,node,NULL,permanent,prefix,"database users https://www.postgresql.org/docs/9.5/view-pg-user.html" -pg_catalog,pg_user_mapping,table,node,permanent,prefix,"local to remote user mapping (empty - feature does not exist) +pg_catalog,pg_user_mapping,table,node,NULL,permanent,prefix,"local to remote user mapping (empty - feature does not exist) https://www.postgresql.org/docs/9.5/catalog-pg-user-mapping.html" -pg_catalog,pg_user_mappings,table,node,permanent,prefix,pg_user_mappings was created for compatibility and is currently unimplemented -pg_catalog,pg_views,table,node,permanent,prefix,"view definitions (incomplete - see also information_schema.views) +pg_catalog,pg_user_mappings,table,node,NULL,permanent,prefix,pg_user_mappings was created for compatibility and is currently unimplemented +pg_catalog,pg_views,table,node,NULL,permanent,prefix,"view definitions (incomplete - see also information_schema.views) https://www.postgresql.org/docs/9.5/view-pg-views.html" -pg_extension,geography_columns,table,node,permanent,prefix,Shows all defined geography columns. Matches PostGIS' geography_columns functionality. -pg_extension,geometry_columns,table,node,permanent,prefix,Shows all defined geometry columns. Matches PostGIS' geometry_columns functionality. -pg_extension,spatial_ref_sys,table,node,permanent,prefix,Shows all defined Spatial Reference Identifiers (SRIDs). Matches PostGIS' spatial_ref_sys table. -public,ftable1,table,root,permanent,prefix, -public,ftable2,table,root,permanent,prefix, -public,mymview,materialized view,root,permanent,NULL, -public,myseq,sequence,root,permanent,NULL, -public,mytable,table,root,permanent,prefix,my awesome tb comment -public,myview,view,root,permanent,NULL, +pg_extension,geography_columns,table,node,NULL,permanent,prefix,Shows all defined geography columns. Matches PostGIS' geography_columns functionality. +pg_extension,geometry_columns,table,node,NULL,permanent,prefix,Shows all defined geometry columns. Matches PostGIS' geometry_columns functionality. +pg_extension,spatial_ref_sys,table,node,NULL,permanent,prefix,Shows all defined Spatial Reference Identifiers (SRIDs). Matches PostGIS' spatial_ref_sys table. +public,ftable1,table,root,NULL,permanent,prefix, +public,ftable1_pkey,index,root,ftable1,permanent,prefix, +public,ftable1_x_key,index,root,ftable1,permanent,prefix, +public,ftable2,table,root,NULL,permanent,prefix, +public,ftable2_pkey,index,root,ftable2,permanent,prefix, +public,myidx,index,root,mytable,permanent,prefix,my awesome idx comment +public,mymview,materialized view,root,NULL,permanent,NULL, +public,mymview_pkey,index,root,mymview,permanent,prefix, +public,myseq,sequence,root,NULL,permanent,NULL, +public,mytable,table,root,NULL,permanent,prefix,my awesome tb comment +public,mytable_pkey,index,root,mytable,permanent,prefix, +public,myview,view,root,NULL,permanent,NULL, subtest end @@ -2127,7 +2179,7 @@ List of functions: END AS "Type" FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace - WHERE TRUE AND (FALSE OR p.prokind = 'w') AND p.proname LIKE '%rank%' ORDER BY 1, 2, 4 + WHERE TRUE AND (FALSE OR p.proiswindow) AND p.proname LIKE '%rank%' ORDER BY 1, 2, 4 Schema,Name,Result data type,Argument data types,Type pg_catalog,dense_rank,int8,,window pg_catalog,percent_rank,float8,,window @@ -2160,7 +2212,7 @@ List of functions: pg_catalog.obj_description(p.oid, 'pg_proc') AS "Description" FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace - WHERE TRUE AND (FALSE OR p.prokind = 'w') AND p.proname LIKE '%rank%' ORDER BY 1, 2, 4 + WHERE TRUE AND (FALSE OR p.proiswindow) AND p.proname LIKE '%rank%' ORDER BY 1, 2, 4 Schema,Name,Result data type,Argument data types,Type,Volatility,Owner,Security,Access privileges,Source code,Description pg_catalog,dense_rank,int8,,window,i,NULL,invoker,,dense_rank,Calculates the rank of the current row without gaps; this function counts peer groups. pg_catalog,percent_rank,float8,,window,i,NULL,invoker,,percent_rank,Calculates the relative rank of the current row: (rank - 1) / (total rows - 1). @@ -2183,7 +2235,7 @@ List of functions: END AS "Type" FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace - WHERE TRUE AND (FALSE OR p.prokind = 'a') AND p.proname LIKE 'xor%' ORDER BY 1, 2, 4 + WHERE TRUE AND (FALSE OR p.proisagg) AND p.proname LIKE 'xor%' ORDER BY 1, 2, 4 Schema,Name,Result data type,Argument data types,Type pg_catalog,xor_agg,bytea,bytea,agg pg_catalog,xor_agg,int8,int8,agg @@ -2215,7 +2267,7 @@ List of functions: pg_catalog.obj_description(p.oid, 'pg_proc') AS "Description" FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace - WHERE TRUE AND (FALSE OR p.prokind = 'a') AND p.proname LIKE 'xor%' ORDER BY 1, 2, 4 + WHERE TRUE AND (FALSE OR p.proisagg) AND p.proname LIKE 'xor%' ORDER BY 1, 2, 4 Schema,Name,Result data type,Argument data types,Type,Volatility,Owner,Security,Access privileges,Source code,Description pg_catalog,xor_agg,bytea,bytea,agg,i,NULL,invoker,,xor_agg,Calculates the bitwise XOR of the selected values. pg_catalog,xor_agg,int8,int8,agg,i,NULL,invoker,,xor_agg,Calculates the bitwise XOR of the selected values. @@ -2237,7 +2289,7 @@ List of functions: END AS "Type" FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace - WHERE TRUE AND p.prokind != 'a' AND (p.prokind IS NULL OR p.prokind <> 'p') AND p.prokind != 'w' + WHERE TRUE AND NOT p.proisagg AND (p.prokind IS NULL OR p.prokind <> 'p') AND NOT p.proiswindow AND n.nspname !~ '^pg_' AND n.nspname <> 'information_schema' AND n.nspname <> 'crdb_internal' @@ -2272,7 +2324,7 @@ List of functions: pg_catalog.obj_description(p.oid, 'pg_proc') AS "Description" FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace - WHERE TRUE AND p.prokind != 'a' AND (p.prokind IS NULL OR p.prokind <> 'p') AND p.prokind != 'w' + WHERE TRUE AND NOT p.proisagg AND (p.prokind IS NULL OR p.prokind <> 'p') AND NOT p.proiswindow AND n.nspname !~ '^pg_' AND n.nspname <> 'information_schema' AND n.nspname <> 'crdb_internal' @@ -2297,13 +2349,13 @@ List of functions: END AS "Type" FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace - WHERE TRUE AND (FALSE OR p.prokind = 'a' OR p.prokind = 'w') AND p.proname LIKE '%tile%' ORDER BY 1, 2, 4 + WHERE TRUE AND (FALSE OR p.proisagg OR p.proiswindow) AND p.proname LIKE '%tile%' ORDER BY 1, 2, 4 Schema,Name,Result data type,Argument data types,Type pg_catalog,ntile,int8,int8,window -pg_catalog,percentile_cont,_float8,_float8,agg pg_catalog,percentile_cont,_interval,_float8,agg -pg_catalog,percentile_cont,float8,float8,agg +pg_catalog,percentile_cont,_float8,_float8,agg pg_catalog,percentile_cont,interval,float8,agg +pg_catalog,percentile_cont,float8,float8,agg pg_catalog,percentile_disc,anyelement,_float8,agg pg_catalog,percentile_disc,anyelement,float8,agg diff --git a/pkg/cli/context.go b/pkg/cli/context.go index c477cea225ce..61a6aa460601 100644 --- a/pkg/cli/context.go +++ b/pkg/cli/context.go @@ -33,6 +33,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/sql/sem/tree" "github.com/cockroachdb/cockroach/pkg/storage" "github.com/cockroachdb/cockroach/pkg/ts" + "github.com/cockroachdb/cockroach/pkg/util/envutil" "github.com/cockroachdb/cockroach/pkg/util/log/logconfig" "github.com/cockroachdb/cockroach/pkg/util/log/logcrash" "github.com/cockroachdb/cockroach/pkg/util/timeutil" @@ -95,7 +96,18 @@ var serverCfg = func() server.Config { }() func makeClusterSettings() *cluster.Settings { - st := cluster.MakeClusterSettings() + // Even though the code supports upgrading from multiple previous releases, + // skipping versions is experimental; by default, we only allow upgrading from + // the previous release. + // + // Version skipping can be enabled by setting COCKROACH_ALLOW_VERSION_SKIPPING=1. + var minSupported clusterversion.Key + if envutil.EnvOrDefaultBool("COCKROACH_ALLOW_VERSION_SKIPPING", false) { + minSupported = clusterversion.MinSupported + } else { + minSupported = clusterversion.PreviousRelease + } + st := cluster.MakeClusterSettingsWithVersions(clusterversion.Latest.Version(), minSupported.Version()) logcrash.SetGlobalSettings(&st.SV) return st } @@ -250,12 +262,9 @@ var certCtx struct { certPrincipalMap []string // tenantScope indicates a tenantID(s) that a certificate is being // scoped to. By creating a tenant-scoped certicate, the usage of that certificate - // is restricted to a specific tenant(s). + // is restricted to a specific tenant. tenantScope []roachpb.TenantID - // tenantNameScope indicates a tenantName(s) that a certificate is being scoped to. - // By creating a tenant-scoped certificate, the usage of that certificate is - // restricted to a specific tenant(s). - tenantNameScope []roachpb.TenantName + // disableUsernameValidation removes the username syntax check on // the input. disableUsernameValidation bool @@ -272,9 +281,9 @@ func setCertContextDefaults() { certCtx.generatePKCS8Key = false certCtx.disableUsernameValidation = false certCtx.certPrincipalMap = nil - // Note: we set tenantScope and tenantNameScope to nil so that by default, - // client certs are not scoped to a specific tenant and can be used to - // connect to any tenant. + // Note: we set tenantScope to nil so that by default, client certs + // are not scoped to a specific tenant and can be used to connect to + // any tenant. // // Note that the scoping is generally useful for security, and it is // used in CockroachCloud. However, CockroachCloud does not use our @@ -286,7 +295,6 @@ func setCertContextDefaults() { // other, defaulting to certs that are valid on every tenant is a // good choice. certCtx.tenantScope = nil - certCtx.tenantNameScope = nil } var sqlExecCtx = clisqlexec.Context{ @@ -570,8 +578,6 @@ var drainCtx struct { // nodeDrainSelf indicates that the command should target // the node we're connected to (this is the default behavior). nodeDrainSelf bool - // shutdown is true if the node should be shutdown after draining. - shutdown bool } // setDrainContextDefaults set the default values in drainCtx. This @@ -580,7 +586,6 @@ var drainCtx struct { func setDrainContextDefaults() { drainCtx.drainWait = 10 * time.Minute drainCtx.nodeDrainSelf = false - drainCtx.shutdown = false } // nodeCtx captures the command-line parameters of the `node` command. diff --git a/pkg/cli/debug.go b/pkg/cli/debug.go index 40ce18c4a959..3035b0ed7401 100644 --- a/pkg/cli/debug.go +++ b/pkg/cli/debug.go @@ -185,7 +185,7 @@ func OpenFilesystemEnv(dir string, rw fs.RWMode) (*fs.Env, error) { return nil, err } } - return fs.InitEnv(context.Background(), vfs.Default, dir, envConfig, nil /* diskWriteStats */) + return fs.InitEnv(context.Background(), vfs.Default, dir, envConfig) } // OpenEngine opens the engine at 'dir'. Depending on the supplied options, @@ -387,13 +387,13 @@ func runDebugKeys(cmd *cobra.Command, args []string) error { } if err := db.MVCCIterate( cmd.Context(), debugCtx.startKey.Key, endKey, storage.MVCCKeyAndIntentsIterKind, - storage.IterKeyTypePointsAndRanges, fs.UnknownReadCategory, iterFunc); err != nil { + storage.IterKeyTypePointsAndRanges, storage.UnknownReadCategory, iterFunc); err != nil { return err } if splitScan { if err := db.MVCCIterate(cmd.Context(), keys.LocalMax, debugCtx.endKey.Key, storage.MVCCKeyAndIntentsIterKind, storage.IterKeyTypePointsAndRanges, - fs.UnknownReadCategory, iterFunc); err != nil { + storage.UnknownReadCategory, iterFunc); err != nil { return err } } @@ -515,10 +515,10 @@ func runDebugRangeData(cmd *cobra.Command, args []string) error { var results int return rditer.IterateReplicaKeySpans(cmd.Context(), &desc, snapshot, debugCtx.replicated, rditer.ReplicatedSpansAll, - func(iter storage.EngineIterator, _ roachpb.Span) error { + func(iter storage.EngineIterator, _ roachpb.Span, keyType storage.IterKeyType) error { for ok := true; ok && err == nil; ok, err = iter.NextEngineKey() { - hasPoint, hasRange := iter.HasPointAndRange() - if hasPoint { + switch keyType { + case storage.IterKeyTypePointsOnly: key, err := iter.UnsafeEngineKey() if err != nil { return err @@ -532,9 +532,8 @@ func runDebugRangeData(cmd *cobra.Command, args []string) error { if results == debugCtx.maxResults { return iterutil.StopIteration() } - } - if hasRange && iter.RangeKeyChanged() { + case storage.IterKeyTypeRangesOnly: bounds, err := iter.EngineRangeBounds() if err != nil { return err @@ -602,7 +601,7 @@ func loadRangeDescriptor( // NB: Range descriptor keys can have intents. if err := db.MVCCIterate( ctx, start, end, storage.MVCCKeyAndIntentsIterKind, storage.IterKeyTypePointsOnly, - fs.UnknownReadCategory, handleKV); err != nil { + storage.UnknownReadCategory, handleKV); err != nil { return roachpb.RangeDescriptor{}, err } if desc.RangeID == rangeID { @@ -625,7 +624,7 @@ func runDebugRangeDescriptors(cmd *cobra.Command, args []string) error { // NB: Range descriptor keys can have intents. return db.MVCCIterate(cmd.Context(), start, end, storage.MVCCKeyAndIntentsIterKind, - storage.IterKeyTypePointsOnly, fs.UnknownReadCategory, + storage.IterKeyTypePointsOnly, storage.UnknownReadCategory, func(kv storage.MVCCKeyValue, _ storage.MVCCRangeKeyStack) error { if kvserver.IsRangeDescriptorKey(kv.Key) != nil { return nil @@ -803,7 +802,7 @@ func runDebugRaftLog(cmd *cobra.Command, args []string) error { // NB: raft log does not have intents. return db.MVCCIterate(cmd.Context(), start, end, storage.MVCCKeyIterKind, - storage.IterKeyTypePointsOnly, fs.UnknownReadCategory, + storage.IterKeyTypePointsOnly, storage.UnknownReadCategory, func(kv storage.MVCCKeyValue, _ storage.MVCCRangeKeyStack) error { kvserver.PrintMVCCKeyValue(kv) return nil @@ -1126,6 +1125,12 @@ func parseGossipValues(gossipInfo *gossip.InfoStatus) (string, error) { return "", errors.Wrapf(err, "failed to parse value for key %q", key) } output = append(output, fmt.Sprintf("%q: %+v", key, healthAlert)) + } else if strings.HasPrefix(key, gossip.KeyDistSQLNodeVersionKeyPrefix) { + var version execinfrapb.DistSQLVersionGossipInfo + if err := protoutil.Unmarshal(bytes, &version); err != nil { + return "", errors.Wrapf(err, "failed to parse value for key %q", key) + } + output = append(output, fmt.Sprintf("%q: %+v", key, version)) } else if strings.HasPrefix(key, gossip.KeyDistSQLDrainingPrefix) { var drainingInfo execinfrapb.DistSQLDrainingInfo if err := protoutil.Unmarshal(bytes, &drainingInfo); err != nil { @@ -1433,7 +1438,6 @@ func (m lockValueFormatter) Format(f fmt.State, c rune) { var pebbleToolFS = &autoDecryptFS{} func init() { - debugZipCmd.AddCommand(debugZipUploadCmd) DebugCmd.AddCommand(debugCmds...) // Note: we hook up FormatValue here in order to avoid a circular dependency @@ -1573,27 +1577,6 @@ func init() { f.StringSliceVar(&debugMergeLogsOpts.tenantIDsFilter, "tenant-ids", nil, "tenant IDs to filter logs by") - f = debugZipUploadCmd.Flags() - f.StringVar(&debugZipUploadOpts.ddAPIKey, "dd-api-key", "", - "Datadog API key to use to send debug.zip artifacts to datadog") - f.StringVar(&debugZipUploadOpts.ddAPPKey, "dd-app-key", "", - "Datadog APP key to use to send debug.zip artifacts to datadog") - f.StringVar(&debugZipUploadOpts.ddSite, "dd-site", defaultDDSite, - "Datadog site to use to send debug.zip artifacts to datadog") - f.StringSliceVar(&debugZipUploadOpts.include, "include", nil, - "The debug zip artifacts to include. Possible values: "+strings.Join(zipArtifactTypes, ", ")) - f.StringSliceVar(&debugZipUploadOpts.tags, "tags", nil, - "Tags to attach to the debug zip artifacts. This can be used to annotate the artifacts with details about the customer."+ - "\nExample: --tags \"env:prod,customer:xyz\"") - f.StringVar(&debugZipUploadOpts.clusterName, "cluster", "", - "Name of the cluster to associate with the debug zip artifacts. This can be used to identify data in the upstream observability tool.") - f.Var(&debugZipUploadOpts.from, "from", "oldest timestamp to include (inclusive)") - f.Var(&debugZipUploadOpts.to, "to", "newest timestamp to include (inclusive)") - f.StringVar(&debugZipUploadOpts.logFormat, "log-format", "", - "log format of the input files") - f.StringVar(&debugZipUploadOpts.gcpProjectID, "gcp-project-id", - defaultGCPProjectID, "GCP project ID to use to send debug.zip logs to GCS") - f = debugDecodeKeyCmd.Flags() f.Var(&decodeKeyOptions.encoding, "encoding", "key argument encoding") f.BoolVar(&decodeKeyOptions.userKey, "user-key", false, "key type") @@ -1621,8 +1604,6 @@ func init() { "", "prometheus label for cluster name") f.StringVar(&debugTimeSeriesDumpOpts.yaml, "yaml", debugTimeSeriesDumpOpts.yaml, "full path to create the tsdump.yaml with storeID: nodeID mappings (raw format only). This file is required when loading the raw tsdump for troubleshooting.") f.StringVar(&debugTimeSeriesDumpOpts.targetURL, "target-url", "", "target URL to send openmetrics data over HTTP") - f.StringVar(&debugTimeSeriesDumpOpts.ddSite, "dd-site", "us5", - "Datadog site to use to send tsdump artifacts to datadog") f.StringVar(&debugTimeSeriesDumpOpts.ddApiKey, "dd-api-key", "", "Datadog API key to use to send to the datadog formatter") f.StringVar(&debugTimeSeriesDumpOpts.httpToken, "http-token", "", "HTTP header to use with the json export format") @@ -1732,7 +1713,7 @@ func pebbleCryptoInitializer(ctx context.Context) { if err := PopulateEnvConfigHook(dir, &envConfig); err != nil { return nil, err } - env, err := fs.InitEnv(ctx, vfs.Default, dir, envConfig, nil /* diskWriteStats */) + env, err := fs.InitEnv(ctx, vfs.Default, dir, envConfig) if err != nil { return nil, err } diff --git a/pkg/cli/debug_job_trace_test.go b/pkg/cli/debug_job_trace_test.go index a576185f2bb6..7b03a7a6a69e 100644 --- a/pkg/cli/debug_job_trace_test.go +++ b/pkg/cli/debug_job_trace_test.go @@ -97,7 +97,7 @@ func TestDebugJobTrace(t *testing.T) { defer close(completeResumerCh) defer close(recordedSpanCh) - defer jobs.TestingRegisterConstructor( + jobs.RegisterConstructor( jobspb.TypeBackup, func(job *jobs.Job, _ *cluster.Settings) jobs.Resumer { return &traceSpanResumer{ @@ -107,7 +107,7 @@ func TestDebugJobTrace(t *testing.T) { } }, jobs.UsesTenantCostControl, - )() + ) // Create a "backup job" but we have overridden the resumer constructor above // to inject our traceSpanResumer. diff --git a/pkg/cli/debug_recover_loss_of_quorum.go b/pkg/cli/debug_recover_loss_of_quorum.go index 22ac92e473cd..08b5cf21f627 100644 --- a/pkg/cli/debug_recover_loss_of_quorum.go +++ b/pkg/cli/debug_recover_loss_of_quorum.go @@ -18,11 +18,11 @@ import ( "os" "path" "runtime" - "slices" "sort" "strings" "github.com/cockroachdb/cockroach/pkg/base" + "github.com/cockroachdb/cockroach/pkg/clusterversion" "github.com/cockroachdb/cockroach/pkg/kv/kvserver/kvstorage" "github.com/cockroachdb/cockroach/pkg/kv/kvserver/loqrecovery" "github.com/cockroachdb/cockroach/pkg/kv/kvserver/loqrecovery/loqrecoverypb" @@ -318,8 +318,7 @@ func runDebugDeadReplicaCollect(cmd *cobra.Command, args []string) error { return errors.Wrapf(err, "failed to get admin connection to cluster") } defer finish() - replicaInfo, stats, err = loqrecovery.CollectRemoteReplicaInfo(ctx, c, - debugRecoverCollectInfoOpts.maxConcurrency, stderr /* logOutput */) + replicaInfo, stats, err = loqrecovery.CollectRemoteReplicaInfo(ctx, c, debugRecoverCollectInfoOpts.maxConcurrency) if err != nil { return errors.WithHint(errors.Wrap(err, "failed to retrieve replica info from cluster"), @@ -436,8 +435,7 @@ func runDebugPlanReplicaRemoval(cmd *cobra.Command, args []string) error { return errors.Wrapf(err, "failed to get admin connection to cluster") } defer finish() - replicas, stats, err = loqrecovery.CollectRemoteReplicaInfo(ctx, c, - debugRecoverPlanOpts.maxConcurrency, stderr /* logOutput */) + replicas, stats, err = loqrecovery.CollectRemoteReplicaInfo(ctx, c, debugRecoverPlanOpts.maxConcurrency) if err != nil { return errors.Wrapf(err, "failed to retrieve replica info from cluster") } @@ -577,20 +575,29 @@ Discarded live replicas: %d return errors.Wrap(err, "failed to write recovery plan") } - // No args means we collected connection info from cluster and need to - // preserve flags for subsequent invocation. - remoteArgs := getCLIClusterFlags(len(args) == 0, cmd, func(flag string) bool { - _, filter := planSpecificFlags[flag] - return filter - }) + v := clusterversion.ClusterVersion{ + Version: plan.Version, + } + if v.IsActive(clusterversion.V23_1) { + // No args means we collected connection info from cluster and need to + // preserve flags for subsequent invocation. + remoteArgs := getCLIClusterFlags(len(args) == 0, cmd, func(flag string) bool { + _, filter := planSpecificFlags[flag] + return filter + }) - _, _ = fmt.Fprintf(stderr, `Plan created. + _, _ = fmt.Fprintf(stderr, `Plan created. To stage recovery application in half-online mode invoke: cockroach debug recover apply-plan %s %s Alternatively distribute plan to below nodes and invoke 'debug recover apply-plan --store= %s' on: `, remoteArgs, planFile, planFile) + } else { + _, _ = fmt.Fprintf(stderr, `Plan created. +To complete recovery, distribute plan to below nodes and invoke 'debug recover apply-plan --store= %s' on: +`, planFile) + } for _, node := range report.UpdatedNodes { _, _ = fmt.Fprintf(stderr, "- node n%d, store(s) %s\n", node.NodeID, strutil.JoinIDs("s", node.StoreIDs)) @@ -1101,7 +1108,7 @@ func diffPlanWithNodeStatus( for k := range nodesWithPlan { missing = append(missing, k) } - slices.Sort(missing) + sort.Sort(roachpb.NodeIDSlice(missing)) for _, id := range missing { result.appendError(fmt.Sprintf(" failed to find node n%d where plan must be staged", id)) } diff --git a/pkg/cli/debug_recover_loss_of_quorum_test.go b/pkg/cli/debug_recover_loss_of_quorum_test.go index e80ba39098f8..67e6e3d41e64 100644 --- a/pkg/cli/debug_recover_loss_of_quorum_test.go +++ b/pkg/cli/debug_recover_loss_of_quorum_test.go @@ -14,7 +14,6 @@ import ( "context" "fmt" "os" - "sync/atomic" "testing" "time" @@ -381,7 +380,7 @@ func TestStageVersionCheck(t *testing.T) { // To avoid crafting real replicas we use StaleLeaseholderNodeIDs to force // node to stage plan for verification. p := loqrecoverypb.ReplicaUpdatePlan{ - PlanID: uuid.MakeV4(), + PlanID: uuid.FastMakeV4(), Version: v, ClusterID: tc.Server(0).StorageClusterID().String(), DecommissionedNodeIDs: []roachpb.NodeID{4}, @@ -470,7 +469,6 @@ func TestHalfOnlineLossOfQuorumRecovery(t *testing.T) { // TODO(oleg): Make test run with 7 nodes to exercise cases where multiple // replicas survive. Current startup and allocator behaviour would make // this test flaky. - var failCount atomic.Int64 sa := make(map[int]base.TestServerArgs) for i := 0; i < 3; i++ { sa[i] = base.TestServerArgs{ @@ -478,23 +476,6 @@ func TestHalfOnlineLossOfQuorumRecovery(t *testing.T) { Server: &server.TestingKnobs{ StickyVFSRegistry: fs.NewStickyRegistry(), }, - LOQRecovery: &loqrecovery.TestingKnobs{ - MetadataScanTimeout: 15 * time.Second, - ForwardReplicaFilter: func( - response *serverpb.RecoveryCollectLocalReplicaInfoResponse, - ) error { - // Artificially add an error that would cause the server to retry - // the replica info for node 1. Note that we only add an error after - // we return the first replica info for that node. - // This helps in verifying that the replica info get discarded and - // the node is revisited (based on the logs). - if response != nil && response.ReplicaInfo.NodeID == 1 && - failCount.Add(1) < 3 && failCount.Load() > 1 { - return errors.New("rpc stream stopped") - } - return nil - }, - }, }, StoreSpecs: []base.StoreSpec{ { @@ -551,10 +532,6 @@ func TestHalfOnlineLossOfQuorumRecovery(t *testing.T) { "--plan=" + planFile, }) require.NoError(t, err, "failed to run make-plan") - require.Contains(t, out, "Started getting replica info for node_id:1", - "planner didn't log the visited nodes properly") - require.Contains(t, out, "Discarding replica info for node_id:1", - "planner didn't log the discarded nodes properly") require.Contains(t, out, fmt.Sprintf("- node n%d", node1ID), "planner didn't provide correct apply instructions") require.FileExists(t, planFile, "generated plan file") diff --git a/pkg/cli/debug_synctest.go b/pkg/cli/debug_synctest.go index 415a770ee695..7a1264a27928 100644 --- a/pkg/cli/debug_synctest.go +++ b/pkg/cli/debug_synctest.go @@ -151,7 +151,7 @@ func runSyncer( fmt.Fprintf(stderr, "verifying existing sequence numbers...") err = db.MVCCIterate(ctx, roachpb.KeyMin, roachpb.KeyMax, storage.MVCCKeyAndIntentsIterKind, - storage.IterKeyTypePointsOnly, fs.UnknownReadCategory, check) + storage.IterKeyTypePointsOnly, storage.UnknownReadCategory, check) if err != nil { return 0, err } diff --git a/pkg/cli/democluster/BUILD.bazel b/pkg/cli/democluster/BUILD.bazel index 57cbcb8e135a..4396cc551216 100644 --- a/pkg/cli/democluster/BUILD.bazel +++ b/pkg/cli/democluster/BUILD.bazel @@ -50,6 +50,7 @@ go_library( "//pkg/util/netutil/addr", "//pkg/util/retry", "//pkg/util/stop", + "//pkg/util/syncutil", "//pkg/util/timeutil", "//pkg/workload", "//pkg/workload/histogram", diff --git a/pkg/cli/democluster/demo_cluster.go b/pkg/cli/democluster/demo_cluster.go index dafae0e7f786..6acc1b42e000 100644 --- a/pkg/cli/democluster/demo_cluster.go +++ b/pkg/cli/democluster/demo_cluster.go @@ -21,7 +21,6 @@ import ( "regexp" "strconv" "strings" - "sync/atomic" "time" "github.com/cockroachdb/cockroach/pkg/base" @@ -57,6 +56,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/netutil/addr" "github.com/cockroachdb/cockroach/pkg/util/retry" "github.com/cockroachdb/cockroach/pkg/util/stop" + "github.com/cockroachdb/cockroach/pkg/util/syncutil" "github.com/cockroachdb/cockroach/pkg/util/timeutil" "github.com/cockroachdb/cockroach/pkg/workload" "github.com/cockroachdb/cockroach/pkg/workload/histogram" @@ -100,7 +100,7 @@ type transientCluster struct { // latencyEnabled controls whether simulated latency is currently enabled. // It is only relevant when using SimulateLatency. - latencyEnabled atomic.Bool + latencyEnabled syncutil.AtomicBool } // maxNodeInitTime is the maximum amount of time to wait for nodes to @@ -547,7 +547,7 @@ func (c *transientCluster) startTenantService( Server: &server.TestingKnobs{ ContextTestingKnobs: rpc.ContextTestingKnobs{ InjectedLatencyOracle: latencyMap, - InjectedLatencyEnabled: c.latencyEnabled.Load, + InjectedLatencyEnabled: c.latencyEnabled.Get, }, }, }, @@ -575,7 +575,7 @@ func (c *transientCluster) startTenantService( Server: &server.TestingKnobs{ ContextTestingKnobs: rpc.ContextTestingKnobs{ InjectedLatencyOracle: latencyMap, - InjectedLatencyEnabled: c.latencyEnabled.Load, + InjectedLatencyEnabled: c.latencyEnabled.Get, }, }, }, @@ -594,7 +594,7 @@ func (c *transientCluster) startTenantService( // clears the remote clock tracking. If the remote clocks were not cleared, // bad routing decisions would be made as soon as latency is turned on. func (c *transientCluster) SetSimulatedLatency(on bool) { - c.latencyEnabled.Store(on) + c.latencyEnabled.Set(on) for _, s := range c.servers { s.RPCContext().RemoteClocks.TestingResetLatencyInfos() } @@ -654,7 +654,7 @@ func (c *transientCluster) createAndAddNode( // startup routine. serverKnobs.ContextTestingKnobs = rpc.ContextTestingKnobs{ InjectedLatencyOracle: regionlatency.MakeAddrMap(), - InjectedLatencyEnabled: c.latencyEnabled.Load, + InjectedLatencyEnabled: c.latencyEnabled.Get, } } @@ -1486,7 +1486,6 @@ func (c *transientCluster) generateCerts(ctx context.Context, certsDir string) ( true, /* overwrite */ username.RootUserName(), nil, /* tenantIDs - this makes it valid for all tenants */ - nil, /* tenantNames - this makes it valid for all tenants */ true, /* generatePKCS8Key */ ); err != nil { return err @@ -1503,7 +1502,6 @@ func (c *transientCluster) generateCerts(ctx context.Context, certsDir string) ( true, /* overwrite */ demoUser, nil, /* tenantIDs - this makes it valid for all tenants */ - nil, /* tenantNames - this makes it valid for all tenants */ true, /* generatePKCS8Key */ ); err != nil { return err @@ -1718,7 +1716,7 @@ func (c *transientCluster) SetupWorkload(ctx context.Context) error { if err != nil { return err } - sqlURLs = append(sqlURLs, sqlURL.WithDatabase(gen.Meta().Name).ToPQ().String()) + sqlURLs = append(sqlURLs, sqlURL.ToPQ().String()) } if err := c.runWorkload(ctx, c.demoCtx.WorkloadGenerator, sqlURLs); err != nil { return errors.Wrapf(err, "starting background workload") diff --git a/pkg/cli/flags.go b/pkg/cli/flags.go index 092161be69cb..38c8040c81a8 100644 --- a/pkg/cli/flags.go +++ b/pkg/cli/flags.go @@ -191,41 +191,6 @@ func (t tenantIDSetter) Set(v string) error { return nil } -// tenantNameSetter wraps a list of roachpb.TenantNames and enables setting -// them via a command-line flag. -type tenantNameSetter struct { - tenantNames *[]roachpb.TenantName -} - -// String implements the pflag.Value interface. -func (t tenantNameSetter) String() string { - var tenantString strings.Builder - separator := "" - for _, tName := range *t.tenantNames { - tenantString.WriteString(separator) - tenantString.WriteString(string(tName)) - separator = "," - } - return tenantString.String() -} - -// Type implements the pflag.Value interface. -func (t tenantNameSetter) Type() string { return "<[]TenantName>" } - -// Set implements the pflag.Value interface. -func (t tenantNameSetter) Set(v string) error { - *t.tenantNames = []roachpb.TenantName{} - tenantScopes := strings.Split(v, "," /* separator */) - for _, tenantScope := range tenantScopes { - tenant := roachpb.TenantName(tenantScope) - if err := tenant.IsValid(); err != nil { - return err - } - *t.tenantNames = append(*t.tenantNames, roachpb.TenantName(tenantScope)) - } - return nil -} - // Set implements the pflag.Value interface. func (a clusterNameSetter) Set(v string) error { if v == "" { @@ -652,7 +617,6 @@ func init() { if cmd == createClientCertCmd { cliflagcfg.VarFlag(f, &tenantIDSetter{tenantIDs: &certCtx.tenantScope}, cliflags.TenantScope) - cliflagcfg.VarFlag(f, &tenantNameSetter{tenantNames: &certCtx.tenantNameScope}, cliflags.TenantScopeByNames) // PKCS8 key format is only available for the client cert command. cliflagcfg.BoolFlag(f, &certCtx.generatePKCS8Key, cliflags.GeneratePKCS8Key) @@ -776,7 +740,6 @@ func init() { f := drainNodeCmd.Flags() cliflagcfg.DurationFlag(f, &drainCtx.drainWait, cliflags.DrainWait) cliflagcfg.BoolFlag(f, &drainCtx.nodeDrainSelf, cliflags.NodeDrainSelf) - cliflagcfg.BoolFlag(f, &drainCtx.shutdown, cliflags.NodeDrainShutdown) } // Commands that establish a SQL connection. diff --git a/pkg/cli/flags_test.go b/pkg/cli/flags_test.go index faf82c214475..9d4e1ba9cb7d 100644 --- a/pkg/cli/flags_test.go +++ b/pkg/cli/flags_test.go @@ -1529,34 +1529,6 @@ func TestTenantID(t *testing.T) { } } -func TestTenantName(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - tests := []struct { - name string - arg string - errContains string - }{ - {"empty tenant name text", "", "invalid tenant name: \"\""}, - {"tenant name not valid", "a+bc", "invalid tenant name: \"a+bc\""}, - {"tenant name \"abc\" is valid", "abc", ""}, - {"tenant name \"system\" is valid", "system", ""}, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - tns := tenantNameSetter{tenantNames: &[]roachpb.TenantName{}} - err := tns.Set(tt.arg) - if tt.errContains == "" { - assert.NoError(t, err) - assert.Equal(t, tt.arg, tns.String()) - } else { - assert.True(t, strings.Contains(err.Error(), tt.errContains)) - } - }) - } -} - func TestTenantIDFromFile(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) diff --git a/pkg/cli/log_flags.go b/pkg/cli/log_flags.go index 31a0ceb2455f..f390259c0543 100644 --- a/pkg/cli/log_flags.go +++ b/pkg/cli/log_flags.go @@ -20,7 +20,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/base" "github.com/cockroachdb/cockroach/pkg/cli/cliflags" - "github.com/cockroachdb/cockroach/pkg/storage/fs" "github.com/cockroachdb/cockroach/pkg/util/envutil" "github.com/cockroachdb/cockroach/pkg/util/humanizeutil" "github.com/cockroachdb/cockroach/pkg/util/log" @@ -182,31 +181,15 @@ func setupLogging(ctx context.Context, cmd *cobra.Command, isServerCmd, applyCon } // Configuration is ready to be applied. Ensure that the output log - // directories exist. We also initialize write metrics for each directory. - fileSinkMetricsForDir := make(map[string]log.FileSinkMetrics) + // directories exist. if err := h.Config.IterateDirectories(func(logDir string) error { - if err := os.MkdirAll(logDir, 0755); err != nil { - return errors.Wrap(err, "unable to create log directory") - } - writeStatsCollector, err := serverCfg.DiskWriteStats.GetOrCreateCollector(logDir) - if err != nil { - return errors.Wrap(err, "unable to get stats collector for log directory") - } - if _, ok := fileSinkMetricsForDir[logDir]; !ok { - logBytesWritten := writeStatsCollector.CreateStat(fs.CRDBLogWriteCategory) - metric := log.FileSinkMetrics{LogBytesWritten: logBytesWritten} - fileSinkMetricsForDir[logDir] = metric - } - return nil + return os.MkdirAll(logDir, 0755) }); err != nil { - return err + return errors.Wrap(err, "unable to create log directory") } // Configuration ready and directories exist; apply it. - fatalOnLogStall := func() bool { - return fs.MaxSyncDurationFatalOnExceeded.Get(&serverCfg.Settings.SV) - } - logShutdownFn, err := log.ApplyConfig(h.Config, fileSinkMetricsForDir, fatalOnLogStall) + logShutdownFn, err := log.ApplyConfig(h.Config) if err != nil { return err } diff --git a/pkg/cli/node.go b/pkg/cli/node.go index 7dde34aed8d9..cb3dda52acaa 100644 --- a/pkg/cli/node.go +++ b/pkg/cli/node.go @@ -865,8 +865,8 @@ func runRecommissionNode(cmd *cobra.Command, args []string) error { } var drainNodeCmd = &cobra.Command{ - Use: "drain { --self | } [ --shutdown ] [ --drain-wait=timeout ] ", - Short: "drain a node and optionally shut it down", + Use: "drain { --self | }", + Short: "drain a node without shutting it down", Long: ` Prepare a server so it becomes ready to be shut down safely. This causes the server to stop accepting client connections, stop @@ -874,10 +874,9 @@ extant connections, and finally push range leases onto other nodes, subject to various timeout parameters configurable via cluster settings. -After a successful drain, if the --shutdown flag is not specified, -the server process is still running; use a service manager or -orchestrator to terminate the process gracefully using e.g. a -unix signal. +After a successful drain, the server process is still running; +use a service manager or orchestrator to terminate the process +gracefully using e.g. a unix signal. If an argument is specified, the command affects the node whose ID is given. If --self is specified, the command @@ -906,6 +905,13 @@ func runDrain(cmd *cobra.Command, args []string) (err error) { targetNode = args[0] } + // At the end, we'll report "ok" if there was no error. + defer func() { + if err == nil { + fmt.Println("ok") + } + }() + // Establish a RPC connection. c, finish, err := getAdminClient(ctx, serverCfg) if err != nil { @@ -913,22 +919,8 @@ func runDrain(cmd *cobra.Command, args []string) (err error) { } defer finish() - if _, _, err := doDrain(ctx, c, targetNode); err != nil { - return err - } - - // Report "ok" if there was no error. - fmt.Println("drain ok") - - if drainCtx.shutdown { - if _, err := doShutdown(ctx, c, targetNode); err != nil { - return err - } - // Report "ok" if there was no error. - fmt.Println("shutdown ok") - } - - return nil + _, _, err = doDrain(ctx, c, targetNode) + return err } // Sub-commands for node command. diff --git a/pkg/cli/statement_bundle.go b/pkg/cli/statement_bundle.go index b39f289651b2..c1e953d194f7 100644 --- a/pkg/cli/statement_bundle.go +++ b/pkg/cli/statement_bundle.go @@ -354,11 +354,7 @@ func getExplainCombinations( if err != nil { panic("failed parsing datum string as " + datum.String() + " " + err.Error()) } - if maxUpperBound == nil { - maxUpperBound = datum - } else if cmp, err := maxUpperBound.Compare(ctx, &evalCtx, datum); err != nil { - panic(err) - } else if cmp < 0 { + if maxUpperBound == nil || maxUpperBound.Compare(&evalCtx, datum) < 0 { maxUpperBound = datum } // If we have any datums within the bucket (i.e. not equal to @@ -376,7 +372,7 @@ func getExplainCombinations( addPrevious = true } if addPrevious { - if prev, ok := tree.DatumPrev(ctx, datum, &evalCtx, &evalCtx.CollationEnv); ok { + if prev, ok := tree.DatumPrev(datum, &evalCtx, &evalCtx.CollationEnv); ok { bucketMap[key] = append(bucketMap[key], tree.AsStringWithFlags(prev, fmtCtx)) addedNonExistent = addedNonExistent || numRange == 0 } @@ -388,7 +384,7 @@ func getExplainCombinations( } // Create a value that's outside of histogram range by incrementing the // max value that we've seen. - if outside, ok := tree.DatumNext(ctx, maxUpperBound, &evalCtx, &evalCtx.CollationEnv); ok { + if outside, ok := tree.DatumNext(maxUpperBound, &evalCtx, &evalCtx.CollationEnv); ok { colSamples = append(colSamples, tree.AsStringWithFlags(outside, fmtCtx)) } sort.Strings(colSamples) diff --git a/pkg/cli/statement_diag.go b/pkg/cli/statement_diag.go index 1e4e8bb655a2..72f54caeb0f7 100644 --- a/pkg/cli/statement_diag.go +++ b/pkg/cli/statement_diag.go @@ -83,7 +83,7 @@ func runStmtDiagList(cmd *cobra.Command, args []string) (resErr error) { } else { fmt.Printf("Outstanding activation requests:\n") w := tabwriter.NewWriter(&buf, 4, 0, 2, ' ', 0) - fmt.Fprint(w, " ID\tActivation time\tStatement\tPlan gist\tAnti plan gist\tSampling probability\tMin execution latency\tExpires at\tRedacted\n") + fmt.Fprint(w, " ID\tActivation time\tStatement\tPlan gist\tAnti plan gist\tSampling probability\tMin execution latency\tExpires at\n") for _, r := range reqs { minExecLatency := "N/A" if r.MinExecutionLatency != 0 { @@ -100,9 +100,8 @@ func runStmtDiagList(cmd *cobra.Command, args []string) (resErr error) { samplingProbability = fmt.Sprintf("%0.4f", r.SamplingProbability) } fmt.Fprintf( - w, " %d\t%s\t%s\t%s\t%t\t%s\t%s\t%s\t%t\n", - r.ID, r.RequestedAt.UTC().Format(timeFmt), r.Statement, r.PlanGist, r.AntiPlanGist, - samplingProbability, minExecLatency, expiresAt, r.Redacted, + w, " %d\t%s\t%s\t%s\t%t\t%s\t%s\t%s\n", + r.ID, r.RequestedAt.UTC().Format(timeFmt), r.Statement, r.PlanGist, r.AntiPlanGist, samplingProbability, minExecLatency, expiresAt, ) } _ = w.Flush() diff --git a/pkg/cli/statement_diag_test.go b/pkg/cli/statement_diag_test.go index e764489694e3..1b891cb85d01 100644 --- a/pkg/cli/statement_diag_test.go +++ b/pkg/cli/statement_diag_test.go @@ -96,10 +96,10 @@ func Example_statement_diag() { // 10 2010-01-02 03:04:05 UTC SELECT _ FROM _ // // Outstanding activation requests: - // ID Activation time Statement Plan gist Anti plan gist Sampling probability Min execution latency Expires at Redacted - // 6 2010-01-02 03:04:12 UTC SELECT _ / _ bar true 1.0000 N/A never false - // 5 2010-01-02 03:04:11 UTC SELECT _ - _ foo false 1.0000 N/A 2030-01-02 03:04:12 +0000 UTC false - // 4 2010-01-02 03:04:10 UTC SELECT _ + _ false 0.8000 26h3m4.005s never false + // ID Activation time Statement Plan gist Anti plan gist Sampling probability Min execution latency Expires at + // 6 2010-01-02 03:04:12 UTC SELECT _ / _ bar true 1.0000 N/A never + // 5 2010-01-02 03:04:11 UTC SELECT _ - _ foo false 1.0000 N/A 2030-01-02 03:04:12 +0000 UTC + // 4 2010-01-02 03:04:10 UTC SELECT _ + _ false 0.8000 26h3m4.005s never // statement-diag download 13 // ERROR: failed to download statement diagnostics bundle 13 to 'stmt-bundle-13.zip': no statement diagnostics bundle with ID 13 // statement-diag download 20 tempfile.zip @@ -122,18 +122,18 @@ func Example_statement_diag() { // 20 2010-01-02 03:04:06 UTC SELECT _ FROM _ WHERE _ > _ // // Outstanding activation requests: - // ID Activation time Statement Plan gist Anti plan gist Sampling probability Min execution latency Expires at Redacted - // 6 2010-01-02 03:04:12 UTC SELECT _ / _ bar true 1.0000 N/A never false - // 5 2010-01-02 03:04:11 UTC SELECT _ - _ foo false 1.0000 N/A 2030-01-02 03:04:12 +0000 UTC false - // 4 2010-01-02 03:04:10 UTC SELECT _ + _ false 0.8000 26h3m4.005s never false + // ID Activation time Statement Plan gist Anti plan gist Sampling probability Min execution latency Expires at + // 6 2010-01-02 03:04:12 UTC SELECT _ / _ bar true 1.0000 N/A never + // 5 2010-01-02 03:04:11 UTC SELECT _ - _ foo false 1.0000 N/A 2030-01-02 03:04:12 +0000 UTC + // 4 2010-01-02 03:04:10 UTC SELECT _ + _ false 0.8000 26h3m4.005s never // statement-diag delete --all // statement-diag list // No statement diagnostics bundles available. // Outstanding activation requests: - // ID Activation time Statement Plan gist Anti plan gist Sampling probability Min execution latency Expires at Redacted - // 6 2010-01-02 03:04:12 UTC SELECT _ / _ bar true 1.0000 N/A never false - // 5 2010-01-02 03:04:11 UTC SELECT _ - _ foo false 1.0000 N/A 2030-01-02 03:04:12 +0000 UTC false - // 4 2010-01-02 03:04:10 UTC SELECT _ + _ false 0.8000 26h3m4.005s never false + // ID Activation time Statement Plan gist Anti plan gist Sampling probability Min execution latency Expires at + // 6 2010-01-02 03:04:12 UTC SELECT _ / _ bar true 1.0000 N/A never + // 5 2010-01-02 03:04:11 UTC SELECT _ - _ foo false 1.0000 N/A 2030-01-02 03:04:12 +0000 UTC + // 4 2010-01-02 03:04:10 UTC SELECT _ + _ false 0.8000 26h3m4.005s never // statement-diag cancel xx // ERROR: invalid ID // statement-diag cancel 5 6 @@ -144,9 +144,9 @@ func Example_statement_diag() { // statement-diag list // No statement diagnostics bundles available. // Outstanding activation requests: - // ID Activation time Statement Plan gist Anti plan gist Sampling probability Min execution latency Expires at Redacted - // 6 2010-01-02 03:04:12 UTC SELECT _ / _ bar true 1.0000 N/A never false - // 5 2010-01-02 03:04:11 UTC SELECT _ - _ foo false 1.0000 N/A 2030-01-02 03:04:12 +0000 UTC false + // ID Activation time Statement Plan gist Anti plan gist Sampling probability Min execution latency Expires at + // 6 2010-01-02 03:04:12 UTC SELECT _ / _ bar true 1.0000 N/A never + // 5 2010-01-02 03:04:11 UTC SELECT _ - _ foo false 1.0000 N/A 2030-01-02 03:04:12 +0000 UTC // statement-diag cancel 123 // ERROR: no outstanding activation request with ID 123 // statement-diag cancel --all diff --git a/pkg/cli/testdata/declarative-rules/deprules b/pkg/cli/testdata/declarative-rules/deprules index 844da777f531..560893bd7de9 100644 --- a/pkg/cli/testdata/declarative-rules/deprules +++ b/pkg/cli/testdata/declarative-rules/deprules @@ -1,6 +1,6 @@ dep ---- -debug declarative-print-rules 1000024.2 dep +debug declarative-print-rules 23.2 dep deprules ---- - name: 'CheckConstraint transitions to ABSENT uphold 2-version invariant: PUBLIC->VALIDATED' @@ -16,75 +16,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = PUBLIC - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - - joinTargetNode($prev, $prev-Target, $prev-Node) - - joinTargetNode($next, $next-Target, $next-Node) -- name: 'CheckConstraint transitions to ABSENT uphold 2-version invariant: TRANSIENT_ABSENT->ABSENT' - from: prev-Node - kind: PreviousTransactionPrecedence - to: next-Node - query: - - $prev[Type] = '*scpb.CheckConstraint' - - $next[Type] = '*scpb.CheckConstraint' - - $prev[DescID] = $descID - - $prev[Self] = $next - - $prev-Target[Self] = $next-Target - - $prev-Target[TargetStatus] = ABSENT - - $prev-Node[CurrentStatus] = TRANSIENT_ABSENT - - $next-Node[CurrentStatus] = ABSENT - - descriptorIsNotBeingDropped-24.2($prev) - - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC - - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - - joinTargetNode($prev, $prev-Target, $prev-Node) - - joinTargetNode($next, $next-Target, $next-Node) -- name: 'CheckConstraint transitions to ABSENT uphold 2-version invariant: TRANSIENT_VALIDATED->VALIDATED' - from: prev-Node - kind: PreviousTransactionPrecedence - to: next-Node - query: - - $prev[Type] = '*scpb.CheckConstraint' - - $next[Type] = '*scpb.CheckConstraint' - - $prev[DescID] = $descID - - $prev[Self] = $next - - $prev-Target[Self] = $next-Target - - $prev-Target[TargetStatus] = ABSENT - - $prev-Node[CurrentStatus] = TRANSIENT_VALIDATED - - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) - - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC - - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - - joinTargetNode($prev, $prev-Target, $prev-Node) - - joinTargetNode($next, $next-Target, $next-Node) -- name: 'CheckConstraint transitions to ABSENT uphold 2-version invariant: TRANSIENT_WRITE_ONLY->VALIDATED' - from: prev-Node - kind: PreviousTransactionPrecedence - to: next-Node - query: - - $prev[Type] = '*scpb.CheckConstraint' - - $next[Type] = '*scpb.CheckConstraint' - - $prev[DescID] = $descID - - $prev[Self] = $next - - $prev-Target[Self] = $next-Target - - $prev-Target[TargetStatus] = ABSENT - - $prev-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY - - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) - - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC - - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'CheckConstraint transitions to ABSENT uphold 2-version invariant: VALIDATED->ABSENT' @@ -100,13 +35,11 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - - nodeNotExistsWithStatusIn_TRANSIENT_VALIDATED_WRITE_ONLY_TRANSIENT_WRITE_ONLY($prev-Target) + - nodeNotExistsWithStatusIn_WRITE_ONLY($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'CheckConstraint transitions to ABSENT uphold 2-version invariant: WRITE_ONLY->VALIDATED' @@ -122,12 +55,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'CheckConstraint transitions to PUBLIC uphold 2-version invariant: ABSENT->WRITE_ONLY' @@ -143,12 +74,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = ABSENT - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'CheckConstraint transitions to PUBLIC uphold 2-version invariant: VALIDATED->PUBLIC' @@ -164,12 +93,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = PUBLIC - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'CheckConstraint transitions to PUBLIC uphold 2-version invariant: WRITE_ONLY->VALIDATED' @@ -185,139 +112,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) - - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC - - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - - joinTargetNode($prev, $prev-Target, $prev-Node) - - joinTargetNode($next, $next-Target, $next-Node) -- name: 'CheckConstraint transitions to TRANSIENT_ABSENT uphold 2-version invariant: ABSENT->WRITE_ONLY' - from: prev-Node - kind: PreviousTransactionPrecedence - to: next-Node - query: - - $prev[Type] = '*scpb.CheckConstraint' - - $next[Type] = '*scpb.CheckConstraint' - - $prev[DescID] = $descID - - $prev[Self] = $next - - $prev-Target[Self] = $next-Target - - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - - $prev-Node[CurrentStatus] = ABSENT - - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - - joinTargetNode($prev, $prev-Target, $prev-Node) - - joinTargetNode($next, $next-Target, $next-Node) -- name: 'CheckConstraint transitions to TRANSIENT_ABSENT uphold 2-version invariant: PUBLIC->TRANSIENT_VALIDATED' - from: prev-Node - kind: PreviousTransactionPrecedence - to: next-Node - query: - - $prev[Type] = '*scpb.CheckConstraint' - - $next[Type] = '*scpb.CheckConstraint' - - $prev[DescID] = $descID - - $prev[Self] = $next - - $prev-Target[Self] = $next-Target - - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - - $prev-Node[CurrentStatus] = PUBLIC - - $next-Node[CurrentStatus] = TRANSIENT_VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) - - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC - - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - - joinTargetNode($prev, $prev-Target, $prev-Node) - - joinTargetNode($next, $next-Target, $next-Node) -- name: 'CheckConstraint transitions to TRANSIENT_ABSENT uphold 2-version invariant: TRANSIENT_VALIDATED->TRANSIENT_ABSENT' - from: prev-Node - kind: PreviousTransactionPrecedence - to: next-Node - query: - - $prev[Type] = '*scpb.CheckConstraint' - - $next[Type] = '*scpb.CheckConstraint' - - $prev[DescID] = $descID - - $prev[Self] = $next - - $prev-Target[Self] = $next-Target - - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - - $prev-Node[CurrentStatus] = TRANSIENT_VALIDATED - - $next-Node[CurrentStatus] = TRANSIENT_ABSENT - - descriptorIsNotBeingDropped-24.2($prev) - - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC - - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - - nodeNotExistsWithStatusIn_TRANSIENT_WRITE_ONLY($prev-Target) - - joinTargetNode($prev, $prev-Target, $prev-Node) - - joinTargetNode($next, $next-Target, $next-Node) -- name: 'CheckConstraint transitions to TRANSIENT_ABSENT uphold 2-version invariant: TRANSIENT_WRITE_ONLY->TRANSIENT_VALIDATED' - from: prev-Node - kind: PreviousTransactionPrecedence - to: next-Node - query: - - $prev[Type] = '*scpb.CheckConstraint' - - $next[Type] = '*scpb.CheckConstraint' - - $prev[DescID] = $descID - - $prev[Self] = $next - - $prev-Target[Self] = $next-Target - - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - - $prev-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY - - $next-Node[CurrentStatus] = TRANSIENT_VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) - - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC - - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - - joinTargetNode($prev, $prev-Target, $prev-Node) - - joinTargetNode($next, $next-Target, $next-Node) -- name: 'CheckConstraint transitions to TRANSIENT_ABSENT uphold 2-version invariant: VALIDATED->PUBLIC' - from: prev-Node - kind: PreviousTransactionPrecedence - to: next-Node - query: - - $prev[Type] = '*scpb.CheckConstraint' - - $next[Type] = '*scpb.CheckConstraint' - - $prev[DescID] = $descID - - $prev[Self] = $next - - $prev-Target[Self] = $next-Target - - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - - $prev-Node[CurrentStatus] = VALIDATED - - $next-Node[CurrentStatus] = PUBLIC - - descriptorIsNotBeingDropped-24.2($prev) - - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC - - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - - joinTargetNode($prev, $prev-Target, $prev-Node) - - joinTargetNode($next, $next-Target, $next-Node) -- name: 'CheckConstraint transitions to TRANSIENT_ABSENT uphold 2-version invariant: WRITE_ONLY->VALIDATED' - from: prev-Node - kind: PreviousTransactionPrecedence - to: next-Node - query: - - $prev[Type] = '*scpb.CheckConstraint' - - $next[Type] = '*scpb.CheckConstraint' - - $prev[DescID] = $descID - - $prev[Self] = $next - - $prev-Target[Self] = $next-Target - - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - - $prev-Node[CurrentStatus] = WRITE_ONLY - - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) - - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC - - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'Column transitions to ABSENT uphold 2-version invariant: DELETE_ONLY->ABSENT' @@ -333,12 +131,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = DELETE_ONLY - $next-Node[CurrentStatus] = ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'Column transitions to ABSENT uphold 2-version invariant: PUBLIC->WRITE_ONLY' @@ -354,12 +150,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = PUBLIC - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'Column transitions to ABSENT uphold 2-version invariant: WRITE_ONLY->DELETE_ONLY' @@ -375,12 +169,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'Column transitions to PUBLIC uphold 2-version invariant: ABSENT->DELETE_ONLY' @@ -396,12 +188,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = ABSENT - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'Column transitions to PUBLIC uphold 2-version invariant: DELETE_ONLY->WRITE_ONLY' @@ -417,12 +207,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = DELETE_ONLY - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'Column transitions to PUBLIC uphold 2-version invariant: WRITE_ONLY->PUBLIC' @@ -438,12 +226,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = PUBLIC - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'ColumnNotNull transitions to ABSENT uphold 2-version invariant: PUBLIC->VALIDATED' @@ -459,12 +245,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = PUBLIC - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'ColumnNotNull transitions to ABSENT uphold 2-version invariant: VALIDATED->ABSENT' @@ -480,12 +264,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - nodeNotExistsWithStatusIn_WRITE_ONLY($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) @@ -502,12 +284,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'ColumnNotNull transitions to PUBLIC uphold 2-version invariant: ABSENT->WRITE_ONLY' @@ -523,12 +303,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = ABSENT - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'ColumnNotNull transitions to PUBLIC uphold 2-version invariant: VALIDATED->PUBLIC' @@ -544,12 +322,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = PUBLIC - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'ColumnNotNull transitions to PUBLIC uphold 2-version invariant: WRITE_ONLY->VALIDATED' @@ -565,12 +341,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: Constraint should be hidden before name @@ -707,12 +481,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = PUBLIC - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'ForeignKeyConstraint transitions to ABSENT uphold 2-version invariant: VALIDATED->ABSENT' @@ -728,12 +500,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - nodeNotExistsWithStatusIn_WRITE_ONLY($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) @@ -750,12 +520,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'ForeignKeyConstraint transitions to PUBLIC uphold 2-version invariant: ABSENT->WRITE_ONLY' @@ -771,12 +539,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = ABSENT - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'ForeignKeyConstraint transitions to PUBLIC uphold 2-version invariant: VALIDATED->PUBLIC' @@ -792,12 +558,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = PUBLIC - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'ForeignKeyConstraint transitions to PUBLIC uphold 2-version invariant: WRITE_ONLY->VALIDATED' @@ -813,29 +577,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) -- name: New primary index should go public only after columns being dropped move to WRITE_ONLY - from: column-Node - kind: Precedence - to: new-primary-index-Node - query: - - $column[Type] = '*scpb.Column' - - $new-primary-index[Type] = '*scpb.PrimaryIndex' - - ColumnInSourcePrimaryIndex($index-column, $new-primary-index, $table-id, $column-id, $index-id) - - joinOnColumnID($index-column, $column, $table-id, $column-id) - - $column-Target[TargetStatus] = ABSENT - - $column-Node[CurrentStatus] = WRITE_ONLY - - $new-primary-index-Target[TargetStatus] = PUBLIC - - $new-primary-index-Node[CurrentStatus] = PUBLIC - - joinTargetNode($column, $column-Target, $column-Node) - - joinTargetNode($new-primary-index, $new-primary-index-Target, $new-primary-index-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: BACKFILLED->DELETE_ONLY' from: prev-Node kind: PreviousTransactionPrecedence @@ -849,12 +596,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = BACKFILLED - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: BACKFILL_ONLY->DELETE_ONLY' @@ -870,12 +615,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = BACKFILL_ONLY - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: DELETE_ONLY->ABSENT' @@ -891,12 +634,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = DELETE_ONLY - $next-Node[CurrentStatus] = ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - nodeNotExistsWithStatusIn_TRANSIENT_DELETE_ONLY_BACKFILLED_TRANSIENT_BACKFILLED_BACKFILL_ONLY_TRANSIENT_BACKFILL_ONLY($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) @@ -913,12 +654,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = MERGED - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: MERGE_ONLY->WRITE_ONLY' @@ -934,12 +673,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = MERGE_ONLY - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: PUBLIC->VALIDATED' @@ -955,12 +692,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = PUBLIC - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: TRANSIENT_ABSENT->ABSENT' @@ -976,12 +711,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_ABSENT - $next-Node[CurrentStatus] = ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: TRANSIENT_BACKFILLED->DELETE_ONLY' @@ -997,12 +730,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_BACKFILLED - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: TRANSIENT_BACKFILL_ONLY->DELETE_ONLY' @@ -1018,12 +749,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_BACKFILL_ONLY - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: TRANSIENT_DELETE_ONLY->DELETE_ONLY' @@ -1039,12 +768,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_DELETE_ONLY - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: TRANSIENT_MERGED->WRITE_ONLY' @@ -1060,12 +787,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_MERGED - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: TRANSIENT_MERGE_ONLY->WRITE_ONLY' @@ -1081,12 +806,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_MERGE_ONLY - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: TRANSIENT_VALIDATED->VALIDATED' @@ -1102,12 +825,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_VALIDATED - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: TRANSIENT_WRITE_ONLY->WRITE_ONLY' @@ -1123,12 +844,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: VALIDATED->WRITE_ONLY' @@ -1144,12 +863,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - nodeNotExistsWithStatusIn_TRANSIENT_VALIDATED($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) @@ -1166,12 +883,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - nodeNotExistsWithStatusIn_VALIDATED_TRANSIENT_WRITE_ONLY_MERGE_ONLY_TRANSIENT_MERGE_ONLY_MERGED_TRANSIENT_MERGED($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) @@ -1188,12 +903,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = ABSENT - $next-Node[CurrentStatus] = BACKFILL_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to PUBLIC uphold 2-version invariant: BACKFILLED->DELETE_ONLY' @@ -1209,12 +922,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = BACKFILLED - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to PUBLIC uphold 2-version invariant: BACKFILL_ONLY->BACKFILLED' @@ -1230,12 +941,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = BACKFILL_ONLY - $next-Node[CurrentStatus] = BACKFILLED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to PUBLIC uphold 2-version invariant: DELETE_ONLY->MERGE_ONLY' @@ -1251,12 +960,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = DELETE_ONLY - $next-Node[CurrentStatus] = MERGE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to PUBLIC uphold 2-version invariant: MERGED->WRITE_ONLY' @@ -1272,12 +979,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = MERGED - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to PUBLIC uphold 2-version invariant: MERGE_ONLY->MERGED' @@ -1293,12 +998,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = MERGE_ONLY - $next-Node[CurrentStatus] = MERGED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to PUBLIC uphold 2-version invariant: VALIDATED->PUBLIC' @@ -1314,12 +1017,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = PUBLIC - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to PUBLIC uphold 2-version invariant: WRITE_ONLY->VALIDATED' @@ -1335,12 +1036,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: ABSENT->BACKFILL_ONLY' @@ -1356,12 +1055,10 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = ABSENT - $next-Node[CurrentStatus] = BACKFILL_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: BACKFILLED->DELETE_ONLY' @@ -1377,12 +1074,10 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = BACKFILLED - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: BACKFILL_ONLY->BACKFILLED' @@ -1398,12 +1093,10 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = BACKFILL_ONLY - $next-Node[CurrentStatus] = BACKFILLED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: DELETE_ONLY->MERGE_ONLY' @@ -1419,12 +1112,10 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = DELETE_ONLY - $next-Node[CurrentStatus] = MERGE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: MERGED->WRITE_ONLY' @@ -1440,12 +1131,10 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = MERGED - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: MERGE_ONLY->MERGED' @@ -1461,12 +1150,10 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = MERGE_ONLY - $next-Node[CurrentStatus] = MERGED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: PUBLIC->TRANSIENT_VALIDATED' @@ -1482,12 +1169,10 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = PUBLIC - $next-Node[CurrentStatus] = TRANSIENT_VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: TRANSIENT_BACKFILLED->TRANSIENT_DELETE_ONLY' @@ -1503,12 +1188,10 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_BACKFILLED - $next-Node[CurrentStatus] = TRANSIENT_DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: TRANSIENT_BACKFILL_ONLY->TRANSIENT_DELETE_ONLY' @@ -1524,12 +1207,10 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_BACKFILL_ONLY - $next-Node[CurrentStatus] = TRANSIENT_DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: TRANSIENT_DELETE_ONLY->TRANSIENT_ABSENT' @@ -1545,12 +1226,10 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_DELETE_ONLY - $next-Node[CurrentStatus] = TRANSIENT_ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - nodeNotExistsWithStatusIn_TRANSIENT_BACKFILLED_TRANSIENT_BACKFILL_ONLY($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) @@ -1567,12 +1246,10 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_MERGED - $next-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: TRANSIENT_MERGE_ONLY->TRANSIENT_WRITE_ONLY' @@ -1588,12 +1265,10 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_MERGE_ONLY - $next-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: TRANSIENT_VALIDATED->TRANSIENT_WRITE_ONLY' @@ -1609,12 +1284,10 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_VALIDATED - $next-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: TRANSIENT_WRITE_ONLY->TRANSIENT_DELETE_ONLY' @@ -1630,12 +1303,10 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY - $next-Node[CurrentStatus] = TRANSIENT_DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - nodeNotExistsWithStatusIn_TRANSIENT_VALIDATED_TRANSIENT_MERGE_ONLY_TRANSIENT_MERGED($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) @@ -1652,12 +1323,10 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = PUBLIC - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: WRITE_ONLY->VALIDATED' @@ -1673,12 +1342,10 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to ABSENT uphold 2-version invariant: BACKFILLED->DELETE_ONLY' @@ -1694,12 +1361,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = BACKFILLED - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to ABSENT uphold 2-version invariant: BACKFILL_ONLY->DELETE_ONLY' @@ -1715,12 +1380,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = BACKFILL_ONLY - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to ABSENT uphold 2-version invariant: DELETE_ONLY->ABSENT' @@ -1736,12 +1399,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = DELETE_ONLY - $next-Node[CurrentStatus] = ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - nodeNotExistsWithStatusIn_BACKFILLED_BACKFILL_ONLY($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) @@ -1758,12 +1419,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = MERGED - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to ABSENT uphold 2-version invariant: MERGE_ONLY->WRITE_ONLY' @@ -1779,12 +1438,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = MERGE_ONLY - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to ABSENT uphold 2-version invariant: PUBLIC->VALIDATED' @@ -1800,12 +1457,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = PUBLIC - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to ABSENT uphold 2-version invariant: VALIDATED->WRITE_ONLY' @@ -1821,12 +1476,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to ABSENT uphold 2-version invariant: WRITE_ONLY->DELETE_ONLY' @@ -1842,12 +1495,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - nodeNotExistsWithStatusIn_VALIDATED_MERGE_ONLY_MERGED($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) @@ -1864,12 +1515,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = ABSENT - $next-Node[CurrentStatus] = BACKFILL_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to PUBLIC uphold 2-version invariant: BACKFILLED->DELETE_ONLY' @@ -1885,12 +1534,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = BACKFILLED - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to PUBLIC uphold 2-version invariant: BACKFILL_ONLY->BACKFILLED' @@ -1906,12 +1553,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = BACKFILL_ONLY - $next-Node[CurrentStatus] = BACKFILLED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to PUBLIC uphold 2-version invariant: DELETE_ONLY->MERGE_ONLY' @@ -1927,12 +1572,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = DELETE_ONLY - $next-Node[CurrentStatus] = MERGE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to PUBLIC uphold 2-version invariant: MERGED->WRITE_ONLY' @@ -1948,12 +1591,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = MERGED - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to PUBLIC uphold 2-version invariant: MERGE_ONLY->MERGED' @@ -1969,12 +1610,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = MERGE_ONLY - $next-Node[CurrentStatus] = MERGED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to PUBLIC uphold 2-version invariant: VALIDATED->PUBLIC' @@ -1990,12 +1629,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = PUBLIC - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to PUBLIC uphold 2-version invariant: WRITE_ONLY->VALIDATED' @@ -2011,12 +1648,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'TemporaryIndex transitions to ABSENT uphold 2-version invariant: DELETE_ONLY->ABSENT' @@ -2032,12 +1667,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = DELETE_ONLY - $next-Node[CurrentStatus] = ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - nodeNotExistsWithStatusIn_TRANSIENT_DELETE_ONLY($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) @@ -2054,12 +1687,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_ABSENT - $next-Node[CurrentStatus] = ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'TemporaryIndex transitions to ABSENT uphold 2-version invariant: TRANSIENT_DELETE_ONLY->DELETE_ONLY' @@ -2075,12 +1706,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_DELETE_ONLY - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'TemporaryIndex transitions to ABSENT uphold 2-version invariant: WRITE_ONLY->DELETE_ONLY' @@ -2096,12 +1725,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'TemporaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: ABSENT->DELETE_ONLY' @@ -2117,12 +1744,10 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = ABSENT - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'TemporaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: DELETE_ONLY->WRITE_ONLY' @@ -2138,12 +1763,10 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = DELETE_ONLY - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'TemporaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: TRANSIENT_DELETE_ONLY->TRANSIENT_ABSENT' @@ -2159,12 +1782,10 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_DELETE_ONLY - $next-Node[CurrentStatus] = TRANSIENT_ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'TemporaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: WRITE_ONLY->TRANSIENT_DELETE_ONLY' @@ -2180,12 +1801,10 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = TRANSIENT_DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'UniqueWithoutIndexConstraint transitions to ABSENT uphold 2-version invariant: PUBLIC->VALIDATED' @@ -2201,12 +1820,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = PUBLIC - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'UniqueWithoutIndexConstraint transitions to ABSENT uphold 2-version invariant: VALIDATED->ABSENT' @@ -2222,12 +1839,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - nodeNotExistsWithStatusIn_WRITE_ONLY($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) @@ -2244,12 +1859,10 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'UniqueWithoutIndexConstraint transitions to PUBLIC uphold 2-version invariant: ABSENT->WRITE_ONLY' @@ -2265,12 +1878,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = ABSENT - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'UniqueWithoutIndexConstraint transitions to PUBLIC uphold 2-version invariant: VALIDATED->PUBLIC' @@ -2286,12 +1897,10 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = PUBLIC - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'UniqueWithoutIndexConstraint transitions to PUBLIC uphold 2-version invariant: WRITE_ONLY->VALIDATED' @@ -2307,72 +1916,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-23.2($prev) - $descriptor-data[Type] = '*scpb.TableData' - - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - - $descriptor-data-Node[CurrentStatus] = PUBLIC + - joinTarget($descriptor-data, $descriptor-data-Target) - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) -- name: Virtual computed column expression is dropped before the column it depends on - from: virtual-column-expr-Node - kind: Precedence - to: column-Node - query: - - $virtual-column-expr[Type] = '*scpb.ColumnType' - - $column[Type] = '*scpb.Column' - - joinOnDescID($virtual-column-expr, $column, $table-id) - - computedColumnTypeReferencesColumn(*scpb.ColumnType, *scpb.Column)($virtual-column-expr, $column) - - toAbsent($virtual-column-expr-Target, $column-Target) - - $virtual-column-expr-Node[CurrentStatus] = ABSENT - - $column-Node[CurrentStatus] = WRITE_ONLY - - joinTargetNode($virtual-column-expr, $virtual-column-expr-Target, $virtual-column-expr-Node) - - joinTargetNode($column, $column-Target, $column-Node) -- name: Virtual computed column expression is dropped before the column it depends on - from: virtual-column-expr-Node - kind: Precedence - to: column-Node - query: - - $virtual-column-expr[Type] = '*scpb.ColumnType' - - $column[Type] = '*scpb.Column' - - joinOnDescID($virtual-column-expr, $column, $table-id) - - computedColumnTypeReferencesColumn(*scpb.ColumnType, *scpb.Column)($virtual-column-expr, $column) - - transient($virtual-column-expr-Target, $column-Target) - - $virtual-column-expr-Node[CurrentStatus] = TRANSIENT_ABSENT - - $column-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY - - joinTargetNode($virtual-column-expr, $virtual-column-expr-Target, $virtual-column-expr-Node) - - joinTargetNode($column, $column-Target, $column-Node) -- name: Virtual computed column expression is dropped before the column it depends on - from: virtual-column-expr-Node - kind: Precedence - to: column-Node - query: - - $virtual-column-expr[Type] = '*scpb.ColumnType' - - $column[Type] = '*scpb.Column' - - joinOnDescID($virtual-column-expr, $column, $table-id) - - computedColumnTypeReferencesColumn(*scpb.ColumnType, *scpb.Column)($virtual-column-expr, $column) - - $virtual-column-expr-Target[TargetStatus] = TRANSIENT_ABSENT - - $virtual-column-expr-Node[CurrentStatus] = TRANSIENT_ABSENT - - $column-Target[TargetStatus] = ABSENT - - $column-Node[CurrentStatus] = WRITE_ONLY - - joinTargetNode($virtual-column-expr, $virtual-column-expr-Target, $virtual-column-expr-Node) - - joinTargetNode($column, $column-Target, $column-Node) -- name: Virtual computed column expression is dropped before the column it depends on - from: virtual-column-expr-Node - kind: Precedence - to: column-Node - query: - - $virtual-column-expr[Type] = '*scpb.ColumnType' - - $column[Type] = '*scpb.Column' - - joinOnDescID($virtual-column-expr, $column, $table-id) - - computedColumnTypeReferencesColumn(*scpb.ColumnType, *scpb.Column)($virtual-column-expr, $column) - - $virtual-column-expr-Target[TargetStatus] = ABSENT - - $virtual-column-expr-Node[CurrentStatus] = ABSENT - - $column-Target[TargetStatus] = TRANSIENT_ABSENT - - $column-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY - - joinTargetNode($virtual-column-expr, $virtual-column-expr-Target, $virtual-column-expr-Node) - - joinTargetNode($column, $column-Target, $column-Node) - name: all adding indexes reached BACKFILL_ONLY before any of their columns disappear from: index-Node kind: Precedence @@ -2401,9 +1950,9 @@ deprules - $parent-descriptor-Node[CurrentStatus] = DROPPED - joinTargetNode($back-reference-in-parent-descriptor, $back-reference-in-parent-descriptor-Target, $back-reference-in-parent-descriptor-Node) - joinTargetNode($parent-descriptor, $parent-descriptor-Target, $parent-descriptor-Node) -- name: column constraint removed right before column reaches write only +- name: column constraint removed right before column reaches delete only from: column-constraint-Node - kind: Precedence + kind: SameStagePrecedence to: column-Node query: - $column-constraint[Type] IN ['*scpb.CheckConstraint', '*scpb.ColumnNotNull', '*scpb.ForeignKeyConstraint', '*scpb.UniqueWithoutIndexConstraint'] @@ -2411,12 +1960,12 @@ deprules - joinOnColumnID($column-constraint, $column, $table-id, $col-id) - toAbsent($column-constraint-Target, $column-Target) - $column-constraint-Node[CurrentStatus] = ABSENT - - $column-Node[CurrentStatus] = WRITE_ONLY + - $column-Node[CurrentStatus] = DELETE_ONLY - joinTargetNode($column-constraint, $column-constraint-Target, $column-constraint-Node) - joinTargetNode($column, $column-Target, $column-Node) -- name: column constraint removed right before column reaches write only +- name: column constraint removed right before column reaches delete only from: column-constraint-Node - kind: Precedence + kind: SameStagePrecedence to: column-Node query: - $column-constraint[Type] IN ['*scpb.CheckConstraint', '*scpb.ColumnNotNull', '*scpb.ForeignKeyConstraint', '*scpb.UniqueWithoutIndexConstraint'] @@ -2424,12 +1973,12 @@ deprules - joinOnColumnID($column-constraint, $column, $table-id, $col-id) - transient($column-constraint-Target, $column-Target) - $column-constraint-Node[CurrentStatus] = TRANSIENT_ABSENT - - $column-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY + - $column-Node[CurrentStatus] = TRANSIENT_DELETE_ONLY - joinTargetNode($column-constraint, $column-constraint-Target, $column-constraint-Node) - joinTargetNode($column, $column-Target, $column-Node) -- name: column constraint removed right before column reaches write only +- name: column constraint removed right before column reaches delete only from: column-constraint-Node - kind: Precedence + kind: SameStagePrecedence to: column-Node query: - $column-constraint[Type] IN ['*scpb.CheckConstraint', '*scpb.ColumnNotNull', '*scpb.ForeignKeyConstraint', '*scpb.UniqueWithoutIndexConstraint'] @@ -2438,12 +1987,12 @@ deprules - $column-constraint-Target[TargetStatus] = TRANSIENT_ABSENT - $column-constraint-Node[CurrentStatus] = TRANSIENT_ABSENT - $column-Target[TargetStatus] = ABSENT - - $column-Node[CurrentStatus] = WRITE_ONLY + - $column-Node[CurrentStatus] = DELETE_ONLY - joinTargetNode($column-constraint, $column-constraint-Target, $column-constraint-Node) - joinTargetNode($column, $column-Target, $column-Node) -- name: column constraint removed right before column reaches write only +- name: column constraint removed right before column reaches delete only from: column-constraint-Node - kind: Precedence + kind: SameStagePrecedence to: column-Node query: - $column-constraint[Type] IN ['*scpb.CheckConstraint', '*scpb.ColumnNotNull', '*scpb.ForeignKeyConstraint', '*scpb.UniqueWithoutIndexConstraint'] @@ -2452,7 +2001,7 @@ deprules - $column-constraint-Target[TargetStatus] = ABSENT - $column-constraint-Node[CurrentStatus] = ABSENT - $column-Target[TargetStatus] = TRANSIENT_ABSENT - - $column-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY + - $column-Node[CurrentStatus] = TRANSIENT_DELETE_ONLY - joinTargetNode($column-constraint, $column-constraint-Target, $column-constraint-Node) - joinTargetNode($column, $column-Target, $column-Node) - name: column dependents exist before column becomes public @@ -2542,7 +2091,7 @@ deprules to: dependent-Node query: - $column[Type] = '*scpb.Column' - - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] + - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] - joinOnColumnID($column, $dependent, $table-id, $col-id) - toAbsent($column-Target, $dependent-Target) - $column-Node[CurrentStatus] = WRITE_ONLY @@ -2555,7 +2104,7 @@ deprules to: dependent-Node query: - $column[Type] = '*scpb.Column' - - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] + - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] - joinOnColumnID($column, $dependent, $table-id, $col-id) - transient($column-Target, $dependent-Target) - $column-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY @@ -2568,7 +2117,7 @@ deprules to: dependent-Node query: - $column[Type] = '*scpb.Column' - - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] + - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] - joinOnColumnID($column, $dependent, $table-id, $col-id) - $column-Target[TargetStatus] = TRANSIENT_ABSENT - $column-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY @@ -2582,7 +2131,7 @@ deprules to: dependent-Node query: - $column[Type] = '*scpb.Column' - - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] + - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] - joinOnColumnID($column, $dependent, $table-id, $col-id) - $column-Target[TargetStatus] = ABSENT - $column-Node[CurrentStatus] = WRITE_ONLY @@ -2618,22 +2167,6 @@ deprules - $column-type-Node[CurrentStatus] = ABSENT - joinTargetNode($dependent, $dependent-Target, $dependent-Node) - joinTargetNode($column-type, $column-type-Target, $column-type-Node) -- name: column type is changed to public after doing validation of a transient check constraint - from: transient-check-constraint-Node - kind: SameStagePrecedence - to: column-type-Node - query: - - $transient-check-constraint[Type] = '*scpb.CheckConstraint' - - $column-type[Type] = '*scpb.ColumnType' - - joinOnDescID($transient-check-constraint, $column-type, $table-id) - - $column-type[ColumnID] = $columnID - - $transient-check-constraint[ReferencedColumnIDs] CONTAINS $columnID - - $transient-check-constraint-Target[TargetStatus] = TRANSIENT_ABSENT - - $column-type-Target[TargetStatus] = PUBLIC - - $transient-check-constraint-Node[CurrentStatus] = TRANSIENT_VALIDATED - - $column-type-Node[CurrentStatus] = PUBLIC - - joinTargetNode($transient-check-constraint, $transient-check-constraint-Target, $transient-check-constraint-Node) - - joinTargetNode($column-type, $column-type-Target, $column-type-Node) - name: column type removed before column family from: column-type-Node kind: Precedence @@ -2653,7 +2186,7 @@ deprules to: column-Node query: - $column-type[Type] = '*scpb.ColumnType' - - descriptorIsNotBeingDropped-24.2($column-type) + - descriptorIsNotBeingDropped-23.2($column-type) - $column[Type] = '*scpb.Column' - joinOnColumnID($column-type, $column, $table-id, $col-id) - toAbsent($column-type-Target, $column-Target) @@ -2661,20 +2194,6 @@ deprules - $column-Node[CurrentStatus] = ABSENT - joinTargetNode($column-type, $column-type-Target, $column-type-Node) - joinTargetNode($column, $column-Target, $column-Node) -- name: column type update is decomposed as a drop then add - from: old-column-type-Node - kind: Precedence - to: new-column-type-Node - query: - - $old-column-type[Type] = '*scpb.ColumnType' - - $new-column-type[Type] = '*scpb.ColumnType' - - joinOnColumnID($old-column-type, $new-column-type, $table-id, $col-id) - - $old-column-type-Target[TargetStatus] = ABSENT - - $old-column-type-Node[CurrentStatus] = PUBLIC - - $new-column-type-Target[TargetStatus] = PUBLIC - - $new-column-type-Node[CurrentStatus] = ABSENT - - joinTargetNode($old-column-type, $old-column-type-Target, $old-column-type-Node) - - joinTargetNode($new-column-type, $new-column-type-Target, $new-column-type-Node) - name: column writable right before column constraint is enforced. from: column-Node kind: SameStagePrecedence @@ -2894,7 +2413,7 @@ deprules kind: Precedence to: relation-Node query: - - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseData', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexData', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableData', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - $relation[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - joinOnDescID($dependent, $relation, $relation-id) - ToPublicOrTransient($dependent-Target, $relation-Target) @@ -3138,7 +2657,7 @@ deprules to: referencing-via-attr-Node query: - $referenced-descriptor[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - - $referencing-via-attr[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.RowLevelTTL', '*scpb.SchemaComment', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $referencing-via-attr[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.RowLevelTTL', '*scpb.SchemaComment', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - joinReferencedDescID($referencing-via-attr, $referenced-descriptor, $desc-id) - toAbsent($referenced-descriptor-Target, $referencing-via-attr-Target) - $referenced-descriptor-Node[CurrentStatus] = DROPPED @@ -3181,7 +2700,7 @@ deprules - $referenced-descriptor[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.EnumType'] - $referenced-descriptor[DescID] = $fromDescID - $referencing-via-type[ReferencedTypeIDs] CONTAINS $fromDescID - - descriptorIsNotBeingDropped-24.2($referencing-via-type) + - descriptorIsNotBeingDropped-23.2($referencing-via-type) - $referencing-via-type[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnDefaultExpression', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.SecondaryIndexPartial'] - toAbsent($referenced-descriptor-Target, $referencing-via-type-Target) - $referenced-descriptor-Node[CurrentStatus] = DROPPED @@ -3194,7 +2713,7 @@ deprules to: dependent-Node query: - $descriptor[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - - $dependent[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $dependent[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - joinOnDescID($descriptor, $dependent, $desc-id) - toAbsent($descriptor-Target, $dependent-Target) - $descriptor-Node[CurrentStatus] = DROPPED @@ -3233,7 +2752,7 @@ deprules to: dependent-Node query: - $relation[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseData', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexData', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableData', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseData', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexData', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableData', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - joinOnDescID($relation, $dependent, $relation-id) - ToPublicOrTransient($relation-Target, $dependent-Target) - $relation-Node[CurrentStatus] = DESCRIPTOR_ADDED @@ -3255,7 +2774,7 @@ deprules - joinTargetNode($data, $data-Target, $data-Node) - name: ensure columns are in increasing order from: later-column-Node - kind: Precedence + kind: SameStagePrecedence to: earlier-column-Node query: - $later-column[Type] = '*scpb.Column' @@ -3603,7 +3122,7 @@ deprules - $column[Type] = '*scpb.Column' - ColumnInIndex($index-column, $index, $table-id, $column-id, $index-id) - joinOnColumnID($index-column, $column, $table-id, $column-id) - - descriptorIsNotBeingDropped-24.2($index-column) + - descriptorIsNotBeingDropped-23.2($index-column) - toAbsent($index-Target, $column-Target) - $index-Node[CurrentStatus] = ABSENT - $column-Node[CurrentStatus] = ABSENT @@ -3618,7 +3137,7 @@ deprules - $column[Type] = '*scpb.Column' - ColumnInIndex($index-column, $index, $table-id, $column-id, $index-id) - joinOnColumnID($index-column, $column, $table-id, $column-id) - - descriptorIsNotBeingDropped-24.2($index-column) + - descriptorIsNotBeingDropped-23.2($index-column) - transient($index-Target, $column-Target) - $index-Node[CurrentStatus] = TRANSIENT_ABSENT - $column-Node[CurrentStatus] = TRANSIENT_ABSENT @@ -3633,7 +3152,7 @@ deprules - $column[Type] = '*scpb.Column' - ColumnInIndex($index-column, $index, $table-id, $column-id, $index-id) - joinOnColumnID($index-column, $column, $table-id, $column-id) - - descriptorIsNotBeingDropped-24.2($index-column) + - descriptorIsNotBeingDropped-23.2($index-column) - $index-Target[TargetStatus] = TRANSIENT_ABSENT - $index-Node[CurrentStatus] = TRANSIENT_ABSENT - $column-Target[TargetStatus] = ABSENT @@ -3649,32 +3168,19 @@ deprules - $column[Type] = '*scpb.Column' - ColumnInIndex($index-column, $index, $table-id, $column-id, $index-id) - joinOnColumnID($index-column, $column, $table-id, $column-id) - - descriptorIsNotBeingDropped-24.2($index-column) + - descriptorIsNotBeingDropped-23.2($index-column) - $index-Target[TargetStatus] = ABSENT - $index-Node[CurrentStatus] = ABSENT - $column-Target[TargetStatus] = TRANSIENT_ABSENT - $column-Node[CurrentStatus] = TRANSIENT_ABSENT - joinTargetNode($index, $index-Target, $index-Node) - joinTargetNode($column, $column-Target, $column-Node) -- name: namespace exist before schema parent - from: dependent-Node - kind: Precedence - to: relation-Node - query: - - $dependent[Type] = '*scpb.Namespace' - - $relation[Type] = '*scpb.SchemaParent' - - joinOnDescID($dependent, $relation, $schema-id) - - ToPublicOrTransient($dependent-Target, $relation-Target) - - $dependent-Node[CurrentStatus] = PUBLIC - - $relation-Node[CurrentStatus] = PUBLIC - - joinTargetNode($dependent, $dependent-Target, $dependent-Node) - - joinTargetNode($relation, $relation-Target, $relation-Node) - name: non-data dependents removed before descriptor from: dependent-Node kind: Precedence to: descriptor-Node query: - - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - $descriptor[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - joinOnDescID($dependent, $descriptor, $desc-id) - toAbsent($dependent-Target, $descriptor-Target) @@ -3708,7 +3214,7 @@ deprules to: index-Node query: - $partial-predicate[Type] = '*scpb.SecondaryIndexPartial' - - descriptorIsNotBeingDropped-24.2($partial-predicate) + - descriptorIsNotBeingDropped-23.2($partial-predicate) - $index[Type] = '*scpb.SecondaryIndex' - joinOnIndexID($partial-predicate, $index, $table-id, $index-id) - toAbsent($partial-predicate-Target, $index-Target) @@ -3722,7 +3228,7 @@ deprules to: index-Node query: - $partial-predicate[Type] = '*scpb.SecondaryIndexPartial' - - descriptorIsNotBeingDropped-24.2($partial-predicate) + - descriptorIsNotBeingDropped-23.2($partial-predicate) - $index[Type] = '*scpb.SecondaryIndex' - joinOnIndexID($partial-predicate, $index, $table-id, $index-id) - transient($partial-predicate-Target, $index-Target) @@ -3736,7 +3242,7 @@ deprules to: index-Node query: - $partial-predicate[Type] = '*scpb.SecondaryIndexPartial' - - descriptorIsNotBeingDropped-24.2($partial-predicate) + - descriptorIsNotBeingDropped-23.2($partial-predicate) - $index[Type] = '*scpb.SecondaryIndex' - joinOnIndexID($partial-predicate, $index, $table-id, $index-id) - $partial-predicate-Target[TargetStatus] = TRANSIENT_ABSENT @@ -3751,7 +3257,7 @@ deprules to: index-Node query: - $partial-predicate[Type] = '*scpb.SecondaryIndexPartial' - - descriptorIsNotBeingDropped-24.2($partial-predicate) + - descriptorIsNotBeingDropped-23.2($partial-predicate) - $index[Type] = '*scpb.SecondaryIndex' - joinOnIndexID($partial-predicate, $index, $table-id, $index-id) - $partial-predicate-Target[TargetStatus] = ABSENT @@ -4066,7 +3572,7 @@ deprules - $secondary-partial-index[Type] = '*scpb.SecondaryIndex' - $column[Type] = '*scpb.Column' - joinOnDescID($secondary-partial-index, $column, $table-id) - - descriptorIsNotBeingDropped-24.2($secondary-partial-index) + - descriptorIsNotBeingDropped-23.2($secondary-partial-index) - secondaryIndexReferencesColumn(*scpb.SecondaryIndex, *scpb.Column)($secondary-partial-index, $column) - toAbsent($secondary-partial-index-Target, $column-Target) - $secondary-partial-index-Node[CurrentStatus] = DELETE_ONLY @@ -4081,7 +3587,7 @@ deprules - $secondary-partial-index[Type] = '*scpb.SecondaryIndex' - $column[Type] = '*scpb.Column' - joinOnDescID($secondary-partial-index, $column, $table-id) - - descriptorIsNotBeingDropped-24.2($secondary-partial-index) + - descriptorIsNotBeingDropped-23.2($secondary-partial-index) - secondaryIndexReferencesColumn(*scpb.SecondaryIndex, *scpb.Column)($secondary-partial-index, $column) - transient($secondary-partial-index-Target, $column-Target) - $secondary-partial-index-Node[CurrentStatus] = TRANSIENT_DELETE_ONLY @@ -4096,7 +3602,7 @@ deprules - $secondary-partial-index[Type] = '*scpb.SecondaryIndex' - $column[Type] = '*scpb.Column' - joinOnDescID($secondary-partial-index, $column, $table-id) - - descriptorIsNotBeingDropped-24.2($secondary-partial-index) + - descriptorIsNotBeingDropped-23.2($secondary-partial-index) - secondaryIndexReferencesColumn(*scpb.SecondaryIndex, *scpb.Column)($secondary-partial-index, $column) - $secondary-partial-index-Target[TargetStatus] = TRANSIENT_ABSENT - $secondary-partial-index-Node[CurrentStatus] = TRANSIENT_DELETE_ONLY @@ -4112,7 +3618,7 @@ deprules - $secondary-partial-index[Type] = '*scpb.SecondaryIndex' - $column[Type] = '*scpb.Column' - joinOnDescID($secondary-partial-index, $column, $table-id) - - descriptorIsNotBeingDropped-24.2($secondary-partial-index) + - descriptorIsNotBeingDropped-23.2($secondary-partial-index) - secondaryIndexReferencesColumn(*scpb.SecondaryIndex, *scpb.Column)($secondary-partial-index, $column) - $secondary-partial-index-Target[TargetStatus] = ABSENT - $secondary-partial-index-Node[CurrentStatus] = DELETE_ONLY @@ -4128,7 +3634,7 @@ deprules - $secondary-partial-index[Type] = '*scpb.SecondaryIndexPartial' - $column[Type] = '*scpb.Column' - joinOnDescID($secondary-partial-index, $column, $table-id) - - descriptorIsNotBeingDropped-24.2($secondary-partial-index) + - descriptorIsNotBeingDropped-23.2($secondary-partial-index) - secondaryIndexReferencesColumn(*scpb.SecondaryIndexPartial, *scpb.Column)($secondary-partial-index, $column) - toAbsent($secondary-partial-index-Target, $column-Target) - $secondary-partial-index-Node[CurrentStatus] = ABSENT @@ -4143,7 +3649,7 @@ deprules - $secondary-partial-index[Type] = '*scpb.SecondaryIndexPartial' - $column[Type] = '*scpb.Column' - joinOnDescID($secondary-partial-index, $column, $table-id) - - descriptorIsNotBeingDropped-24.2($secondary-partial-index) + - descriptorIsNotBeingDropped-23.2($secondary-partial-index) - secondaryIndexReferencesColumn(*scpb.SecondaryIndexPartial, *scpb.Column)($secondary-partial-index, $column) - transient($secondary-partial-index-Target, $column-Target) - $secondary-partial-index-Node[CurrentStatus] = TRANSIENT_ABSENT @@ -4158,7 +3664,7 @@ deprules - $secondary-partial-index[Type] = '*scpb.SecondaryIndexPartial' - $column[Type] = '*scpb.Column' - joinOnDescID($secondary-partial-index, $column, $table-id) - - descriptorIsNotBeingDropped-24.2($secondary-partial-index) + - descriptorIsNotBeingDropped-23.2($secondary-partial-index) - secondaryIndexReferencesColumn(*scpb.SecondaryIndexPartial, *scpb.Column)($secondary-partial-index, $column) - $secondary-partial-index-Target[TargetStatus] = TRANSIENT_ABSENT - $secondary-partial-index-Node[CurrentStatus] = TRANSIENT_ABSENT @@ -4174,7 +3680,7 @@ deprules - $secondary-partial-index[Type] = '*scpb.SecondaryIndexPartial' - $column[Type] = '*scpb.Column' - joinOnDescID($secondary-partial-index, $column, $table-id) - - descriptorIsNotBeingDropped-24.2($secondary-partial-index) + - descriptorIsNotBeingDropped-23.2($secondary-partial-index) - secondaryIndexReferencesColumn(*scpb.SecondaryIndexPartial, *scpb.Column)($secondary-partial-index, $column) - $secondary-partial-index-Target[TargetStatus] = ABSENT - $secondary-partial-index-Node[CurrentStatus] = ABSENT @@ -4248,7 +3754,7 @@ deprules - toAbsent($index-Target, $column-Target) - $index-Node[CurrentStatus] = VALIDATED - $column-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($index-column) + - descriptorIsNotBeingDropped-23.2($index-column) - isIndexKeyColumnKey(*scpb.IndexColumn)($index-column) - joinTargetNode($index, $index-Target, $index-Node) - joinTargetNode($column, $column-Target, $column-Node) @@ -4292,19 +3798,6 @@ deprules - $column-Node[CurrentStatus] = PUBLIC - joinTargetNode($index, $index-Target, $index-Node) - joinTargetNode($column, $column-Target, $column-Node) -- name: table added right before data element - from: table-Node - kind: Precedence - to: data-Node - query: - - $table[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - - $data[Type] IN ['*scpb.DatabaseData', '*scpb.IndexData', '*scpb.TableData'] - - joinOnDescID($table, $data, $table-id) - - ToPublicOrTransient($table-Target, $data-Target) - - $table-Node[CurrentStatus] = PUBLIC - - $data-Node[CurrentStatus] = PUBLIC - - joinTargetNode($table, $table-Target, $table-Node) - - joinTargetNode($data, $data-Target, $data-Node) - name: table removed right before garbage collection from: table-Node kind: SameStagePrecedence diff --git a/pkg/cli/testdata/declarative-rules/invalid_version b/pkg/cli/testdata/declarative-rules/invalid_version index 84e28c5287b1..cbcd2853128f 100644 --- a/pkg/cli/testdata/declarative-rules/invalid_version +++ b/pkg/cli/testdata/declarative-rules/invalid_version @@ -4,5 +4,5 @@ invalid_version debug declarative-print-rules 1.1 op unsupported version number, the supported versions are: latest - 1000024.2 - 1000024.1 + 23.2 + 23.1 diff --git a/pkg/cli/testdata/doctor/test_examine_cluster b/pkg/cli/testdata/doctor/test_examine_cluster index 5dc28a7efa8a..40c4339e5705 100644 --- a/pkg/cli/testdata/doctor/test_examine_cluster +++ b/pkg/cli/testdata/doctor/test_examine_cluster @@ -1,7 +1,7 @@ debug doctor examine cluster ---- debug doctor examine cluster -Examining 64 descriptors and 63 namespace entries... +Examining 63 descriptors and 62 namespace entries... ParentID 100, ParentSchemaID 101: relation "foo" (105): expected matching namespace entry, found none -Examining 11 jobs... +Examining 10 jobs... ERROR: validation failed diff --git a/pkg/cli/testdata/doctor/test_examine_cluster_dropped b/pkg/cli/testdata/doctor/test_examine_cluster_dropped index 75feb6cf5dde..2118e0bd3469 100644 --- a/pkg/cli/testdata/doctor/test_examine_cluster_dropped +++ b/pkg/cli/testdata/doctor/test_examine_cluster_dropped @@ -1,6 +1,6 @@ debug doctor examine cluster ---- debug doctor examine cluster -Examining 63 descriptors and 63 namespace entries... -Examining 9 jobs... +Examining 62 descriptors and 62 namespace entries... +Examining 8 jobs... No problems found! diff --git a/pkg/cli/testdata/doctor/test_examine_cluster_jobs b/pkg/cli/testdata/doctor/test_examine_cluster_jobs index 373f80aaeb3b..8ba58ad8df93 100644 --- a/pkg/cli/testdata/doctor/test_examine_cluster_jobs +++ b/pkg/cli/testdata/doctor/test_examine_cluster_jobs @@ -1,11 +1,11 @@ debug doctor examine cluster ---- debug doctor examine cluster -Examining 63 descriptors and 64 namespace entries... +Examining 62 descriptors and 63 namespace entries... ParentID 183, ParentSchemaID 381: relation "foo" (104): referenced database ID 183: referenced descriptor not found ParentID 183, ParentSchemaID 381: relation "foo" (104): referenced schema ID 381: referenced descriptor not found ParentID 183, ParentSchemaID 381: relation "foo" (104): expected matching namespace entry, found none ParentID 183, ParentSchemaID 381: relation "foo" (104): mutation job 962952277419655169: job 962952277419655169 not found ParentID 100, ParentSchemaID 101: namespace entry "foo" (104): mismatched name "foo" in relation descriptor -Examining 9 jobs... +Examining 8 jobs... ERROR: validation failed diff --git a/pkg/cli/testdata/doctor/test_recreate_zipdir b/pkg/cli/testdata/doctor/test_recreate_zipdir index 75d8ed638fd4..99808a290447 100644 --- a/pkg/cli/testdata/doctor/test_recreate_zipdir +++ b/pkg/cli/testdata/doctor/test_recreate_zipdir @@ -7,12 +7,12 @@ SELECT crdb_internal.unsafe_delete_descriptor(id, true) FROM system.descriptor W SELECT crdb_internal.unsafe_delete_namespace_entry("parentID", "parentSchemaID", name, id) FROM system.namespace WHERE id >= 100; COMMIT; BEGIN; -SELECT crdb_internal.unsafe_upsert_descriptor(100, decode('125b0a0964656661756c74646210641a300a0b0a0561646d696e100218020a0d0a067075626c696310801018000a0a0a04726f6f74100218021204726f6f741803220028013a0c0a067075626c69631202086540004a005a0210007000', 'hex'), true); +SELECT crdb_internal.unsafe_upsert_descriptor(100, decode('12590a0964656661756c74646210641a300a0b0a0561646d696e100218020a0d0a067075626c696310801018000a0a0a04726f6f74100218021204726f6f741803220028013a0c0a067075626c69631202086540004a005a021000', 'hex'), true); SELECT crdb_internal.unsafe_upsert_namespace_entry(0, 0, 'defaultdb', 100, true); -SELECT crdb_internal.unsafe_upsert_descriptor(101, decode('2249086412067075626c6963186522310a0b0a0561646d696e100218020a0d0a067075626c696310840418000a0a0a04726f6f7410021802120561646d696e18032a00300140004a007000', 'hex'), true); +SELECT crdb_internal.unsafe_upsert_descriptor(101, decode('2247086412067075626c6963186522310a0b0a0561646d696e100218020a0d0a067075626c696310840418000a0a0a04726f6f7410021802120561646d696e18032a00300140004a00', 'hex'), true); SELECT crdb_internal.unsafe_upsert_namespace_entry(100, 0, 'public', 101, true); -SELECT crdb_internal.unsafe_upsert_descriptor(102, decode('125a0a08706f73746772657310661a300a0b0a0561646d696e100218020a0d0a067075626c696310801018000a0a0a04726f6f74100218021204726f6f741803220028013a0c0a067075626c69631202086740004a005a0210007000', 'hex'), true); +SELECT crdb_internal.unsafe_upsert_descriptor(102, decode('12580a08706f73746772657310661a300a0b0a0561646d696e100218020a0d0a067075626c696310801018000a0a0a04726f6f74100218021204726f6f741803220028013a0c0a067075626c69631202086740004a005a021000', 'hex'), true); SELECT crdb_internal.unsafe_upsert_namespace_entry(0, 0, 'postgres', 102, true); -SELECT crdb_internal.unsafe_upsert_descriptor(103, decode('2249086612067075626c6963186722310a0b0a0561646d696e100218020a0d0a067075626c696310840418000a0a0a04726f6f7410021802120561646d696e18032a00300140004a007000', 'hex'), true); -SELECT crdb_internal.unsafe_upsert_descriptor(104, decode('0af4020a01741868206428013a0042260a016910011a0c08011040180030005014600020013000680070007800800100880100980100423a0a05726f77696410021a0c08011040180030005014600020002a0e756e697175655f726f77696428293001680070007800800100880100980100480352720a06745f706b6579100118012205726f7769642a0169300240004a10080010001a00200028003000380040005a0070017a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c801d88aed86ddb7c5e517d00101e00100e901000000000000000060026a210a0b0a0561646d696e100218020a0a0a04726f6f74100218021204726f6f741803800101880103980100b2011b0a077072696d61727910001a01691a05726f776964200120022801b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c00265c80200e00200800300880302a80300b00300d00300d80300e00300f80300', 'hex'), true); +SELECT crdb_internal.unsafe_upsert_descriptor(103, decode('2247086612067075626c6963186722310a0b0a0561646d696e100218020a0d0a067075626c696310840418000a0a0a04726f6f7410021802120561646d696e18032a00300140004a00', 'hex'), true); +SELECT crdb_internal.unsafe_upsert_descriptor(104, decode('0af1020a01741868206428013a0042260a016910011a0c08011040180030005014600020013000680070007800800100880100980100423a0a05726f77696410021a0c08011040180030005014600020002a0e756e697175655f726f77696428293001680070007800800100880100980100480352720a06745f706b6579100118012205726f7769642a0169300240004a10080010001a00200028003000380040005a0070017a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c801d88aed86ddb7c5e517d00101e00100e901000000000000000060026a210a0b0a0561646d696e100218020a0a0a04726f6f74100218021204726f6f741803800101880103980100b2011b0a077072696d61727910001a01691a05726f776964200120022801b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c00265c80200e00200800300880302a80300b00300d00300d80300e00300', 'hex'), true); COMMIT; diff --git a/pkg/cli/testdata/doctor/test_recreate_zipdir-json b/pkg/cli/testdata/doctor/test_recreate_zipdir-json index e1555fb9b514..517dce2f8550 100644 --- a/pkg/cli/testdata/doctor/test_recreate_zipdir-json +++ b/pkg/cli/testdata/doctor/test_recreate_zipdir-json @@ -7,28 +7,28 @@ SELECT crdb_internal.unsafe_delete_descriptor(id, true) FROM system.descriptor W SELECT crdb_internal.unsafe_delete_namespace_entry("parentID", "parentSchemaID", name, id) FROM system.namespace WHERE id >= 100; COMMIT; BEGIN; -SELECT crdb_internal.unsafe_upsert_descriptor(100, decode('125b0a0964656661756c74646210641a300a0b0a0561646d696e100218020a0d0a067075626c696310801018000a0a0a04726f6f74100218021204726f6f741802220028013a0c0a067075626c69631202086540004a005a0210007000', 'hex'), true); +SELECT crdb_internal.unsafe_upsert_descriptor(100, decode('12590a0964656661756c74646210641a300a0b0a0561646d696e100218020a0d0a067075626c696310801018000a0a0a04726f6f74100218021204726f6f741802220028013a0c0a067075626c69631202086540004a005a021000', 'hex'), true); SELECT crdb_internal.unsafe_upsert_namespace_entry(0, 0, 'defaultdb', 100, true); -SELECT crdb_internal.unsafe_upsert_descriptor(101, decode('2249086412067075626c6963186522310a0b0a0561646d696e100218020a0d0a067075626c696310840418000a0a0a04726f6f7410021802120561646d696e18022a00300140004a007000', 'hex'), true); +SELECT crdb_internal.unsafe_upsert_descriptor(101, decode('2247086412067075626c6963186522310a0b0a0561646d696e100218020a0d0a067075626c696310840418000a0a0a04726f6f7410021802120561646d696e18022a00300140004a00', 'hex'), true); SELECT crdb_internal.unsafe_upsert_namespace_entry(100, 0, 'public', 101, true); -SELECT crdb_internal.unsafe_upsert_descriptor(102, decode('125a0a08706f73746772657310661a300a0b0a0561646d696e100218020a0d0a067075626c696310801018000a0a0a04726f6f74100218021204726f6f741802220028013a0c0a067075626c69631202086740004a005a0210007000', 'hex'), true); +SELECT crdb_internal.unsafe_upsert_descriptor(102, decode('12580a08706f73746772657310661a300a0b0a0561646d696e100218020a0d0a067075626c696310801018000a0a0a04726f6f74100218021204726f6f741802220028013a0c0a067075626c69631202086740004a005a021000', 'hex'), true); SELECT crdb_internal.unsafe_upsert_namespace_entry(0, 0, 'postgres', 102, true); -SELECT crdb_internal.unsafe_upsert_descriptor(103, decode('2249086612067075626c6963186722310a0b0a0561646d696e100218020a0d0a067075626c696310840418000a0a0a04726f6f7410021802120561646d696e18022a00300140004a007000', 'hex'), true); +SELECT crdb_internal.unsafe_upsert_descriptor(103, decode('2247086612067075626c6963186722310a0b0a0561646d696e100218020a0d0a067075626c696310840418000a0a0a04726f6f7410021802120561646d696e18022a00300140004a00', 'hex'), true); SELECT crdb_internal.unsafe_upsert_namespace_entry(102, 0, 'public', 103, true); -SELECT crdb_internal.unsafe_upsert_descriptor(104, decode('12560a046d6f767210681a300a0b0a0561646d696e100218020a0d0a067075626c696310801018000a0a0a04726f6f74100218021204726f6f741802220028013a0c0a067075626c69631202086940004a005a0210007000', 'hex'), true); +SELECT crdb_internal.unsafe_upsert_descriptor(104, decode('12540a046d6f767210681a300a0b0a0561646d696e100218020a0d0a067075626c696310801018000a0a0a04726f6f74100218021204726f6f741802220028013a0c0a067075626c69631202086940004a005a021000', 'hex'), true); SELECT crdb_internal.unsafe_upsert_namespace_entry(0, 0, 'movr', 104, true); -SELECT crdb_internal.unsafe_upsert_descriptor(105, decode('2249086812067075626c6963186922310a0b0a0561646d696e100218020a0d0a067075626c696310840418000a0a0a04726f6f7410021802120561646d696e18022a00300140004a007000', 'hex'), true); +SELECT crdb_internal.unsafe_upsert_descriptor(105, decode('2247086812067075626c6963186922310a0b0a0561646d696e100218020a0d0a067075626c696310840418000a0a0a04726f6f7410021802120561646d696e18022a00300140004a00', 'hex'), true); SELECT crdb_internal.unsafe_upsert_namespace_entry(104, 0, 'public', 105, true); -SELECT crdb_internal.unsafe_upsert_descriptor(106, decode('0ae9050a057573657273186a206828013a0042280a02696410011a0d080e100018003000508617600020003000680070007800800100880100980100422a0a046369747910021a0d0807100018003007509308600020003000680070007800800100880100980100422a0a046e616d6510031a0d0807100018003007509308600020013000680070007800800100880100980100422d0a076164647265737310041a0d080710001800300750930860002001300068007000780080010088010098010042310a0b6372656469745f6361726410051a0d08071000180030075093086000200130006800700078008001008801009801004806529a010a0a75736572735f706b657910011801220463697479220269642a046e616d652a07616464726573732a0b6372656469745f6361726430023001400040004a10080010001a00200028003000380040005a007003700470057a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c801f8c2998282bfb0b317d00101e00100e901000000000000000060026a210a0b0a0561646d696e100218020a0a0a04726f6f74100218021204726f6f741802800101880103980100b2013d0a077072696d61727910001a0269641a04636974791a046e616d651a07616464726573731a0b6372656469745f63617264200120022003200420052800b80101c20100e80100f2010408001200f801008002009202009a0200aa0233086b1002100418021801206a2a1b76656869636c65735f636974795f6f776e65725f69645f666b657930003800400048007002aa0230086c1002100418021801206a2a1872696465735f636974795f72696465725f69645f666b657930003800400048007003aa023a086f1001100218021801206a2a22757365725f70726f6d6f5f636f6465735f636974795f757365725f69645f666b657930003800400048007002b20200b80200c00269c80200e00200800300880304a80300b00300d00300d80300e00300f80300', 'hex'), true); +SELECT crdb_internal.unsafe_upsert_descriptor(106, decode('0ae6050a057573657273186a206828013a0042280a02696410011a0d080e100018003000508617600020003000680070007800800100880100980100422a0a046369747910021a0d0807100018003007509308600020003000680070007800800100880100980100422a0a046e616d6510031a0d0807100018003007509308600020013000680070007800800100880100980100422d0a076164647265737310041a0d080710001800300750930860002001300068007000780080010088010098010042310a0b6372656469745f6361726410051a0d08071000180030075093086000200130006800700078008001008801009801004806529a010a0a75736572735f706b657910011801220463697479220269642a046e616d652a07616464726573732a0b6372656469745f6361726430023001400040004a10080010001a00200028003000380040005a007003700470057a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c801f8c2998282bfb0b317d00101e00100e901000000000000000060026a210a0b0a0561646d696e100218020a0a0a04726f6f74100218021204726f6f741802800101880103980100b2013d0a077072696d61727910001a0269641a04636974791a046e616d651a07616464726573731a0b6372656469745f63617264200120022003200420052800b80101c20100e80100f2010408001200f801008002009202009a0200aa0233086b1002100418021801206a2a1b76656869636c65735f636974795f6f776e65725f69645f666b657930003800400048007002aa0230086c1002100418021801206a2a1872696465735f636974795f72696465725f69645f666b657930003800400048007003aa023a086f1001100218021801206a2a22757365725f70726f6d6f5f636f6465735f636974795f757365725f69645f666b657930003800400048007002b20200b80200c00269c80200e00200800300880304a80300b00300d00300d80300e00300', 'hex'), true); SELECT crdb_internal.unsafe_upsert_namespace_entry(104, 105, 'users', 106, true); -SELECT crdb_internal.unsafe_upsert_descriptor(107, decode('0abe080a0876656869636c6573186b206828013a0042280a02696410011a0d080e100018003000508617600020003000680070007800800100880100980100422a0a046369747910021a0d0807100018003007509308600020003000680070007800800100880100980100422a0a047479706510031a0d0807100018003007509308600020013000680070007800800100880100980100422e0a086f776e65725f696410041a0d080e10001800300050861760002001300068007000780080010088010098010042330a0d6372656174696f6e5f74696d6510051a0d080510001800300050da08600020013000680070007800800100880100980100422c0a0673746174757310061a0d080710001800300750930860002001300068007000780080010088010098010042360a1063757272656e745f6c6f636174696f6e10071a0d080710001800300750930860002001300068007000780080010088010098010042290a0365787410081a0d081210001800300050da1d600020013000680070007800800100880100980100480952c5010a0d76656869636c65735f706b657910011801220463697479220269642a04747970652a086f776e65725f69642a0d6372656174696f6e5f74696d652a067374617475732a1063757272656e745f6c6f636174696f6e2a0365787430023001400040004a10080010001a00200028003000380040005a007003700470057006700770087a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c801a8c1b58582bfb0b317d00101e00100e90100000000000000005a9b010a2576656869636c65735f6175746f5f696e6465785f666b5f636974795f7265665f75736572731002180022046369747922086f776e65725f6964300230043801400040004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c801a8c1b58582bfb0b317d00100e00100e901000000000000000060036a210a0b0a0561646d696e100218020a0a0a04726f6f74100218021204726f6f741802800101880103980100b201650a077072696d61727910001a0269641a04636974791a04747970651a086f776e65725f69641a0d6372656174696f6e5f74696d651a067374617475731a1063757272656e745f6c6f636174696f6e1a03657874200120022003200420052006200720082800b80101c20100e80100f2010408001200f801008002009202009a0200a20233086b1002100418021801206a2a1b76656869636c65735f636974795f6f776e65725f69645f666b657930003800400048007002aa023a086c1003100518021801206b2a2272696465735f76656869636c655f636974795f76656869636c655f69645f666b657930003800400048007004b20200b80200c00269c80200e00200800300880305a80300b00300d00300d80300e00300f80300', 'hex'), true); +SELECT crdb_internal.unsafe_upsert_descriptor(107, decode('0abb080a0876656869636c6573186b206828013a0042280a02696410011a0d080e100018003000508617600020003000680070007800800100880100980100422a0a046369747910021a0d0807100018003007509308600020003000680070007800800100880100980100422a0a047479706510031a0d0807100018003007509308600020013000680070007800800100880100980100422e0a086f776e65725f696410041a0d080e10001800300050861760002001300068007000780080010088010098010042330a0d6372656174696f6e5f74696d6510051a0d080510001800300050da08600020013000680070007800800100880100980100422c0a0673746174757310061a0d080710001800300750930860002001300068007000780080010088010098010042360a1063757272656e745f6c6f636174696f6e10071a0d080710001800300750930860002001300068007000780080010088010098010042290a0365787410081a0d081210001800300050da1d600020013000680070007800800100880100980100480952c5010a0d76656869636c65735f706b657910011801220463697479220269642a04747970652a086f776e65725f69642a0d6372656174696f6e5f74696d652a067374617475732a1063757272656e745f6c6f636174696f6e2a0365787430023001400040004a10080010001a00200028003000380040005a007003700470057006700770087a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c801a8c1b58582bfb0b317d00101e00100e90100000000000000005a9b010a2576656869636c65735f6175746f5f696e6465785f666b5f636974795f7265665f75736572731002180022046369747922086f776e65725f6964300230043801400040004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c801a8c1b58582bfb0b317d00100e00100e901000000000000000060036a210a0b0a0561646d696e100218020a0a0a04726f6f74100218021204726f6f741802800101880103980100b201650a077072696d61727910001a0269641a04636974791a04747970651a086f776e65725f69641a0d6372656174696f6e5f74696d651a067374617475731a1063757272656e745f6c6f636174696f6e1a03657874200120022003200420052006200720082800b80101c20100e80100f2010408001200f801008002009202009a0200a20233086b1002100418021801206a2a1b76656869636c65735f636974795f6f776e65725f69645f666b657930003800400048007002aa023a086c1003100518021801206b2a2272696465735f76656869636c655f636974795f76656869636c655f69645f666b657930003800400048007004b20200b80200c00269c80200e00200800300880305a80300b00300d00300d80300e00300', 'hex'), true); SELECT crdb_internal.unsafe_upsert_namespace_entry(104, 105, 'vehicles', 107, true); -SELECT crdb_internal.unsafe_upsert_descriptor(108, decode('0aa00c0a057269646573186c206828013a0042280a02696410011a0d080e100018003000508617600020003000680070007800800100880100980100422a0a046369747910021a0d080710001800300750930860002000300068007000780080010088010098010042320a0c76656869636c655f6369747910031a0d0807100018003007509308600020013000680070007800800100880100980100422e0a0872696465725f696410041a0d080e10001800300050861760002001300068007000780080010088010098010042300a0a76656869636c655f696410051a0d080e10001800300050861760002001300068007000780080010088010098010042330a0d73746172745f6164647265737310061a0d080710001800300750930860002001300068007000780080010088010098010042310a0b656e645f6164647265737310071a0d080710001800300750930860002001300068007000780080010088010098010042300a0a73746172745f74696d6510081a0d080510001800300050da08600020013000680070007800800100880100980100422e0a08656e645f74696d6510091a0d080510001800300050da08600020013000680070007800800100880100980100422d0a07726576656e7565100a1a0d08031002180a300050a40d600020013000680070007800800100880100980100480b52e7010a0a72696465735f706b657910011801220463697479220269642a0c76656869636c655f636974792a0872696465725f69642a0a76656869636c655f69642a0d73746172745f616464726573732a0b656e645f616464726573732a0a73746172745f74696d652a08656e645f74696d652a07726576656e756530023001400040004a10080010001a00200028003000380040005a007003700470057006700770087009700a7a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80188f68d8982bfb0b317d00101e00100e90100000000000000005a98010a2272696465735f6175746f5f696e6465785f666b5f636974795f7265665f757365727310021800220463697479220872696465725f6964300230043801400040004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80188f68d8982bfb0b317d00100e00100e90100000000000000005aaf010a2d72696465735f6175746f5f696e6465785f666b5f76656869636c655f636974795f7265665f76656869636c657310031800220c76656869636c655f63697479220a76656869636c655f69643003300538023801400040004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80188f68d8982bfb0b317d00100e00100e901000000000000000060046a210a0b0a0561646d696e100218020a0a0a04726f6f74100218021204726f6f741802800101880103980100a2013a0a1376656869636c655f63697479203d20636974791217636865636b5f76656869636c655f636974795f63697479180128022803300038004002b2018a010a077072696d61727910001a0269641a04636974791a0c76656869636c655f636974791a0872696465725f69641a0a76656869636c655f69641a0d73746172745f616464726573731a0b656e645f616464726573731a0a73746172745f74696d651a08656e645f74696d651a07726576656e7565200120022003200420052006200720082009200a2800b80101c20100e80100f2010408001200f801008002009202009a0200a20230086c1002100418021801206a2a1872696465735f636974795f72696465725f69645f666b657930003800400048007003a2023a086c1003100518021801206b2a2272696465735f76656869636c655f636974795f76656869636c655f69645f666b657930003800400048007004aa0244086d1001100218021801206c2a2c76656869636c655f6c6f636174696f6e5f686973746f726965735f636974795f726964655f69645f666b657930003800400048007002b20200b80200c00269c80200e00200800300880305a80300b00300d00300d80300e00300f80300', 'hex'), true); +SELECT crdb_internal.unsafe_upsert_descriptor(108, decode('0a9d0c0a057269646573186c206828013a0042280a02696410011a0d080e100018003000508617600020003000680070007800800100880100980100422a0a046369747910021a0d080710001800300750930860002000300068007000780080010088010098010042320a0c76656869636c655f6369747910031a0d0807100018003007509308600020013000680070007800800100880100980100422e0a0872696465725f696410041a0d080e10001800300050861760002001300068007000780080010088010098010042300a0a76656869636c655f696410051a0d080e10001800300050861760002001300068007000780080010088010098010042330a0d73746172745f6164647265737310061a0d080710001800300750930860002001300068007000780080010088010098010042310a0b656e645f6164647265737310071a0d080710001800300750930860002001300068007000780080010088010098010042300a0a73746172745f74696d6510081a0d080510001800300050da08600020013000680070007800800100880100980100422e0a08656e645f74696d6510091a0d080510001800300050da08600020013000680070007800800100880100980100422d0a07726576656e7565100a1a0d08031002180a300050a40d600020013000680070007800800100880100980100480b52e7010a0a72696465735f706b657910011801220463697479220269642a0c76656869636c655f636974792a0872696465725f69642a0a76656869636c655f69642a0d73746172745f616464726573732a0b656e645f616464726573732a0a73746172745f74696d652a08656e645f74696d652a07726576656e756530023001400040004a10080010001a00200028003000380040005a007003700470057006700770087009700a7a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80188f68d8982bfb0b317d00101e00100e90100000000000000005a98010a2272696465735f6175746f5f696e6465785f666b5f636974795f7265665f757365727310021800220463697479220872696465725f6964300230043801400040004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80188f68d8982bfb0b317d00100e00100e90100000000000000005aaf010a2d72696465735f6175746f5f696e6465785f666b5f76656869636c655f636974795f7265665f76656869636c657310031800220c76656869636c655f63697479220a76656869636c655f69643003300538023801400040004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80188f68d8982bfb0b317d00100e00100e901000000000000000060046a210a0b0a0561646d696e100218020a0a0a04726f6f74100218021204726f6f741802800101880103980100a2013a0a1376656869636c655f63697479203d20636974791217636865636b5f76656869636c655f636974795f63697479180128022803300038004002b2018a010a077072696d61727910001a0269641a04636974791a0c76656869636c655f636974791a0872696465725f69641a0a76656869636c655f69641a0d73746172745f616464726573731a0b656e645f616464726573731a0a73746172745f74696d651a08656e645f74696d651a07726576656e7565200120022003200420052006200720082009200a2800b80101c20100e80100f2010408001200f801008002009202009a0200a20230086c1002100418021801206a2a1872696465735f636974795f72696465725f69645f666b657930003800400048007003a2023a086c1003100518021801206b2a2272696465735f76656869636c655f636974795f76656869636c655f69645f666b657930003800400048007004aa0244086d1001100218021801206c2a2c76656869636c655f6c6f636174696f6e5f686973746f726965735f636974795f726964655f69645f666b657930003800400048007002b20200b80200c00269c80200e00200800300880305a80300b00300d00300d80300e00300', 'hex'), true); SELECT crdb_internal.unsafe_upsert_namespace_entry(104, 105, 'rides', 108, true); -SELECT crdb_internal.unsafe_upsert_descriptor(109, decode('0ab3050a1a76656869636c655f6c6f636174696f6e5f686973746f72696573186d206828013a00422a0a046369747910011a0d0807100018003007509308600020003000680070007800800100880100980100422d0a07726964655f696410021a0d080e100018003000508617600020003000680070007800800100880100980100422f0a0974696d657374616d7010031a0d080510001800300050da0860002000300068007000780080010088010098010042290a036c617410041a0d080210401800300050bd05600020013000680070007800800100880100980100422a0a046c6f6e6710051a0d080210401800300050bd05600020013000680070007800800100880100980100480652b0010a1f76656869636c655f6c6f636174696f6e5f686973746f726965735f706b6579100118012204636974792207726964655f6964220974696d657374616d702a036c61742a046c6f6e673001300230034000400040004a10080010001a00200028003000380040005a00700470057a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c8018094eb8c82bfb0b317d00101e00100e901000000000000000060026a210a0b0a0561646d696e100218020a0a0a04726f6f74100218021204726f6f741802800101880103980100b2013c0a077072696d61727910001a04636974791a07726964655f69641a0974696d657374616d701a036c61741a046c6f6e67200120022003200420052800b80101c20100e80100f2010408001200f801008002009202009a0200a20244086d1001100218021801206c2a2c76656869636c655f6c6f636174696f6e5f686973746f726965735f636974795f726964655f69645f666b657930003800400048007002b20200b80200c00269c80200e00200800300880303a80300b00300d00300d80300e00300f80300', 'hex'), true); +SELECT crdb_internal.unsafe_upsert_descriptor(109, decode('0ab0050a1a76656869636c655f6c6f636174696f6e5f686973746f72696573186d206828013a00422a0a046369747910011a0d0807100018003007509308600020003000680070007800800100880100980100422d0a07726964655f696410021a0d080e100018003000508617600020003000680070007800800100880100980100422f0a0974696d657374616d7010031a0d080510001800300050da0860002000300068007000780080010088010098010042290a036c617410041a0d080210401800300050bd05600020013000680070007800800100880100980100422a0a046c6f6e6710051a0d080210401800300050bd05600020013000680070007800800100880100980100480652b0010a1f76656869636c655f6c6f636174696f6e5f686973746f726965735f706b6579100118012204636974792207726964655f6964220974696d657374616d702a036c61742a046c6f6e673001300230034000400040004a10080010001a00200028003000380040005a00700470057a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c8018094eb8c82bfb0b317d00101e00100e901000000000000000060026a210a0b0a0561646d696e100218020a0a0a04726f6f74100218021204726f6f741802800101880103980100b2013c0a077072696d61727910001a04636974791a07726964655f69641a0974696d657374616d701a036c61741a046c6f6e67200120022003200420052800b80101c20100e80100f2010408001200f801008002009202009a0200a20244086d1001100218021801206c2a2c76656869636c655f6c6f636174696f6e5f686973746f726965735f636974795f726964655f69645f666b657930003800400048007002b20200b80200c00269c80200e00200800300880303a80300b00300d00300d80300e00300', 'hex'), true); SELECT crdb_internal.unsafe_upsert_namespace_entry(104, 105, 'vehicle_location_histories', 109, true); -SELECT crdb_internal.unsafe_upsert_descriptor(110, decode('0a89050a0b70726f6d6f5f636f646573186e206828013a00422a0a04636f646510011a0d080710001800300750930860002000300068007000780080010088010098010042310a0b6465736372697074696f6e10021a0d080710001800300750930860002001300068007000780080010088010098010042330a0d6372656174696f6e5f74696d6510031a0d080510001800300050da0860002001300068007000780080010088010098010042350a0f65787069726174696f6e5f74696d6510041a0d080510001800300050da08600020013000680070007800800100880100980100422b0a0572756c657310051a0d081210001800300050da1d600020013000680070007800800100880100980100480652b2010a1070726f6d6f5f636f6465735f706b6579100118012204636f64652a0b6465736372697074696f6e2a0d6372656174696f6e5f74696d652a0f65787069726174696f6e5f74696d652a0572756c6573300140004a10080010001a00200028003000380040005a0070027003700470057a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c801a8df8a9082bfb0b317d00101e00100e901000000000000000060026a210a0b0a0561646d696e100218020a0a0a04726f6f74100218021204726f6f741802800101880103980100b201510a077072696d61727910001a04636f64651a0b6465736372697074696f6e1a0d6372656174696f6e5f74696d651a0f65787069726174696f6e5f74696d651a0572756c6573200120022003200420052800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c00269c80200e00200800300880302a80300b00300d00300d80300e00300f80300', 'hex'), true); +SELECT crdb_internal.unsafe_upsert_descriptor(110, decode('0a86050a0b70726f6d6f5f636f646573186e206828013a00422a0a04636f646510011a0d080710001800300750930860002000300068007000780080010088010098010042310a0b6465736372697074696f6e10021a0d080710001800300750930860002001300068007000780080010088010098010042330a0d6372656174696f6e5f74696d6510031a0d080510001800300050da0860002001300068007000780080010088010098010042350a0f65787069726174696f6e5f74696d6510041a0d080510001800300050da08600020013000680070007800800100880100980100422b0a0572756c657310051a0d081210001800300050da1d600020013000680070007800800100880100980100480652b2010a1070726f6d6f5f636f6465735f706b6579100118012204636f64652a0b6465736372697074696f6e2a0d6372656174696f6e5f74696d652a0f65787069726174696f6e5f74696d652a0572756c6573300140004a10080010001a00200028003000380040005a0070027003700470057a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c801a8df8a9082bfb0b317d00101e00100e901000000000000000060026a210a0b0a0561646d696e100218020a0a0a04726f6f74100218021204726f6f741802800101880103980100b201510a077072696d61727910001a04636f64651a0b6465736372697074696f6e1a0d6372656174696f6e5f74696d651a0f65787069726174696f6e5f74696d651a0572756c6573200120022003200420052800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c00269c80200e00200800300880302a80300b00300d00300d80300e00300', 'hex'), true); SELECT crdb_internal.unsafe_upsert_namespace_entry(104, 105, 'promo_codes', 110, true); -SELECT crdb_internal.unsafe_upsert_descriptor(111, decode('0aac050a10757365725f70726f6d6f5f636f646573186f206828013a00422a0a046369747910011a0d0807100018003007509308600020003000680070007800800100880100980100422d0a07757365725f696410021a0d080e100018003000508617600020003000680070007800800100880100980100422a0a04636f646510031a0d0807100018003007509308600020003000680070007800800100880100980100422f0a0974696d657374616d7010041a0d080510001800300050da0860002001300068007000780080010088010098010042300a0b75736167655f636f756e7410051a0c08011040180030005014600020013000680070007800800100880100980100480652ae010a15757365725f70726f6d6f5f636f6465735f706b6579100118012204636974792207757365725f69642204636f64652a0974696d657374616d702a0b75736167655f636f756e743001300230034000400040004a10080010001a00200028003000380040005a00700470057a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80190d1b29382bfb0b317d00101e00100e901000000000000000060026a210a0b0a0561646d696e100218020a0a0a04726f6f74100218021204726f6f741802800101880103980100b201440a077072696d61727910001a04636974791a07757365725f69641a04636f64651a0974696d657374616d701a0b75736167655f636f756e74200120022003200420052800b80101c20100e80100f2010408001200f801008002009202009a0200a2023a086f1001100218021801206a2a22757365725f70726f6d6f5f636f6465735f636974795f757365725f69645f666b657930003800400048007002b20200b80200c00269c80200e00200800300880303a80300b00300d00300d80300e00300f80300', 'hex'), true); +SELECT crdb_internal.unsafe_upsert_descriptor(111, decode('0aa9050a10757365725f70726f6d6f5f636f646573186f206828013a00422a0a046369747910011a0d0807100018003007509308600020003000680070007800800100880100980100422d0a07757365725f696410021a0d080e100018003000508617600020003000680070007800800100880100980100422a0a04636f646510031a0d0807100018003007509308600020003000680070007800800100880100980100422f0a0974696d657374616d7010041a0d080510001800300050da0860002001300068007000780080010088010098010042300a0b75736167655f636f756e7410051a0c08011040180030005014600020013000680070007800800100880100980100480652ae010a15757365725f70726f6d6f5f636f6465735f706b6579100118012204636974792207757365725f69642204636f64652a0974696d657374616d702a0b75736167655f636f756e743001300230034000400040004a10080010001a00200028003000380040005a00700470057a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80190d1b29382bfb0b317d00101e00100e901000000000000000060026a210a0b0a0561646d696e100218020a0a0a04726f6f74100218021204726f6f741802800101880103980100b201440a077072696d61727910001a04636974791a07757365725f69641a04636f64651a0974696d657374616d701a0b75736167655f636f756e74200120022003200420052800b80101c20100e80100f2010408001200f801008002009202009a0200a2023a086f1001100218021801206a2a22757365725f70726f6d6f5f636f6465735f636974795f757365725f69645f666b657930003800400048007002b20200b80200c00269c80200e00200800300880303a80300b00300d00300d80300e00300', 'hex'), true); SELECT crdb_internal.unsafe_upsert_namespace_entry(104, 105, 'user_promo_codes', 111, true); COMMIT; diff --git a/pkg/cli/testdata/tsdump/json b/pkg/cli/testdata/tsdump/json index e7a6ee14264d..a7cf5a910405 100644 --- a/pkg/cli/testdata/tsdump/json +++ b/pkg/cli/testdata/tsdump/json @@ -13,8 +13,8 @@ cr.node.admission.admitted.elastic.cpu 2 1.000000 1711130560 ---- POST: https://example.com/data X-Crl-Token: test-token -Body: {"metric":{"__name__":"admission_admitted_elastic_cpu","cluster":"test-cluster","cluster_type":"SELF_HOSTED","instance":"1","job":"cockroachdb","node_id":"1","region":"local"},"values":[0,1,1,1],"timestamps":[17111304700,17111304800,17111304900,17111305000]} -{"metric":{"__name__":"admission_admitted_elastic_cpu","cluster":"test-cluster","cluster_type":"SELF_HOSTED","instance":"2","job":"cockroachdb","node_id":"2","region":"local"},"values":[1,1,1,1,1,1],"timestamps":[17111305100,17111305200,17111305300,17111305400,17111305500,17111305600]} +Body: {"metric":{"__name__":"admission_admitted_elastic_cpu","cluster":"test-cluster","cluster_type":"SELF_HOSTED","job":"cockroachdb","node_id":"1","region":"local"},"values":[0,1,1,1],"timestamps":[17111304700,17111304800,17111304900,17111305000]} +{"metric":{"__name__":"admission_admitted_elastic_cpu","cluster":"test-cluster","cluster_type":"SELF_HOSTED","job":"cockroachdb","node_id":"2","region":"local"},"values":[1,1,1,1,1,1],"timestamps":[17111305100,17111305200,17111305300,17111305400,17111305500,17111305600]} format-datadog series-threshold=1 @@ -31,4 +31,4 @@ cr.node.admission.admitted.elastic.cpu 2 1.000000 1711130560 ---- POST: https://example.com/data DD-API-KEY: api-key -Body: {"series":[{"metric":"crdb.tsdump.admission.admitted.elastic.cpu","type":0,"points":[{"timestamp":17111304,"value":0},{"timestamp":17111304,"value":1},{"timestamp":17111304,"value":1},{"timestamp":17111305,"value":1}],"resources":null,"tags":["cluster_type:SELF_HOSTED","job:cockroachdb","region:local","cluster_label:test-cluster","upload_id:test-cluster-1234","node_id:1"]},{"metric":"crdb.tsdump.admission.admitted.elastic.cpu","type":0,"points":[{"timestamp":17111305,"value":1},{"timestamp":17111305,"value":1},{"timestamp":17111305,"value":1},{"timestamp":17111305,"value":1},{"timestamp":17111305,"value":1},{"timestamp":17111305,"value":1}],"resources":null,"tags":["cluster_type:SELF_HOSTED","job:cockroachdb","region:local","cluster_label:test-cluster","upload_id:test-cluster-1234","node_id:2"]}]} +Body: {"series":[{"metric":"crdb.tsdump.admission.admitted.elastic.cpu","type":0,"points":[{"timestamp":17111304,"value":0},{"timestamp":17111304,"value":1},{"timestamp":17111304,"value":1},{"timestamp":17111305,"value":1}],"resources":null,"tags":["cluster_type:SELF_HOSTED","job:cockroachdb","region:local","cluster:test-cluster","node_id:1"]},{"metric":"crdb.tsdump.admission.admitted.elastic.cpu","type":0,"points":[{"timestamp":17111305,"value":1},{"timestamp":17111305,"value":1},{"timestamp":17111305,"value":1},{"timestamp":17111305,"value":1},{"timestamp":17111305,"value":1},{"timestamp":17111305,"value":1}],"resources":null,"tags":["cluster_type:SELF_HOSTED","job:cockroachdb","region:local","cluster:test-cluster","node_id:2"]}]} diff --git a/pkg/cli/testdata/upload/logs b/pkg/cli/testdata/upload/logs deleted file mode 100644 index 0fcd1b2f635b..000000000000 --- a/pkg/cli/testdata/upload/logs +++ /dev/null @@ -1,86 +0,0 @@ -# Single-node -upload-logs -{ - "nodes": { - "1": { - "logs": [ - { - "name": "cockroach.hostname.username.2024-07-16T17_51_43Z.048498.log", - "lines": [ - "I240716 17:51:44.661864 100 server/node.go:533 ⋮ [T1,n1] 24 initialized store s1", - "W240716 17:51:44.667017 100 server/env_sampler.go:125 ⋮ [T1,n1] 33 failed to start query profiler worker: failed to detect cgroup memory limit: failed to read memory cgroup from cgroups file: ‹/proc/self/cgroup›: open ‹/proc/self/cgroup›: no such file or directory" - ] - } - ] - } - } -} ----- -ABC/123/dt=20240716/hour=17: -Upload ID: 123 -debug zip upload debugDir --dd-api-key=dd-api-key --dd-app-key=dd-app-key --cluster=ABC --include=logs --log-format=crdb-v1 -{"data":{"type":"archives","attributes":{"name":"123","query":"-*","destination":{"type":"gcs","path":"ABC/123","bucket":"debugzip-archives","integration":{"project_id":"arjun-sandbox-424904","client_email":"datadog-archive@arjun-sandbox-424904.iam.gserviceaccount.com"}}}}} -{"timestamp":1721152304,"date":"2024-07-16T17:51:44Z","message":"failed to start query profiler worker: failed to detect cgroup memory limit: failed to read memory cgroup from cgroups file: /proc/self/cgroup: open /proc/self/cgroup: no such file or directory","tags":["cluster:ABC","env:debug","node_id:1","service:CRDB-SH","source:cockroachdb","upload_id:123"],"_id":"a1b2c3","attributes":{"goroutine":100,"file":"server/env_sampler.go","line":125,"counter":33,"tenant_id":"1","date":"2024-07-16T17:51:44Z","timestamp":1721152304,"channel":"DEV","severity":"WARNING"}} -{"timestamp":1721152304,"date":"2024-07-16T17:51:44Z","message":"initialized store s1","tags":["cluster:ABC","env:debug","node_id:1","service:CRDB-SH","source:cockroachdb","upload_id:123"],"_id":"a1b2c3","attributes":{"goroutine":100,"file":"server/node.go","line":533,"counter":24,"tenant_id":"1","date":"2024-07-16T17:51:44Z","timestamp":1721152304,"channel":"DEV","severity":"INFO"}} - - -# single-node with wrong log format -upload-logs log-format=crdb-v2 -{ - "nodes": { - "1": { - "logs": [ - { - "name": "cockroach.hostname.username.2024-07-16T17_51_43Z.048498.log", - "lines": [ - "I240716 17:51:44.661864 100 server/node.go:533 ⋮ [T1,n1] 24 initialized store s1", - "W240716 17:51:44.667017 100 server/env_sampler.go:125 ⋮ [T1,n1] 33 failed to start query profiler worker: failed to detect cgroup memory limit: failed to read memory cgroup from cgroups file: ‹/proc/self/cgroup›: open ‹/proc/self/cgroup›: no such file or directory" - ] - } - ] - } - } -} ----- -Failed to upload logs: decoding on line 2: malformed log entry -Upload ID: 123 -debug zip upload debugDir --dd-api-key=dd-api-key --dd-app-key=dd-app-key --cluster=ABC --include=logs --log-format=crdb-v2 - - -# multi-node -upload-logs -{ - "nodes": { - "1": { - "logs": [ - { - "name": "cockroach.node1.username.2024-07-16T17_51_43Z.048498.log", - "lines": [ - "I240716 17:51:44.661864 100 server/node.go:533 ⋮ [T1,n1] 24 initialized store s1", - "W240716 17:51:44.667017 100 server/env_sampler.go:125 ⋮ [T1,n1] 33 failed to start query profiler worker: failed to detect cgroup memory limit: failed to read memory cgroup from cgroups file: ‹/proc/self/cgroup›: open ‹/proc/self/cgroup›: no such file or directory" - ] - } - ] - }, - "2": { - "logs": [ - { - "name": "cockroach.node2.username.2024-07-16T17_51_43Z.048498.log", - "lines": [ - "I240716 17:51:44.797342 916 sql/sqlliveness/slstorage/slstorage.go:540 ⋮ [T1,n1] 43 inserted sqlliveness session 01018071445fbd54a44ee88e906efb311d7193", - "I240716 17:51:44.797530 916 sql/sqlliveness/slinstance/slinstance.go:258 ⋮ [T1,n1] 44 created new SQL liveness session 01018071445fbd54a44ee88e906efb311d7193" - ] - } - ] - } - } -} ----- -ABC/123/dt=20240716/hour=17: -Upload ID: 123 -debug zip upload debugDir --dd-api-key=dd-api-key --dd-app-key=dd-app-key --cluster=ABC --include=logs --log-format=crdb-v1 -{"data":{"type":"archives","attributes":{"name":"123","query":"-*","destination":{"type":"gcs","path":"ABC/123","bucket":"debugzip-archives","integration":{"project_id":"arjun-sandbox-424904","client_email":"datadog-archive@arjun-sandbox-424904.iam.gserviceaccount.com"}}}}} -{"timestamp":1721152304,"date":"2024-07-16T17:51:44Z","message":"created new SQL liveness session 01018071445fbd54a44ee88e906efb311d7193","tags":["cluster:ABC","env:debug","node_id:2","service:CRDB-SH","source:cockroachdb","upload_id:123"],"_id":"a1b2c3","attributes":{"goroutine":916,"file":"sql/sqlliveness/slinstance/slinstance.go","line":258,"counter":44,"tenant_id":"1","date":"2024-07-16T17:51:44Z","timestamp":1721152304,"channel":"DEV","severity":"INFO"}} -{"timestamp":1721152304,"date":"2024-07-16T17:51:44Z","message":"failed to start query profiler worker: failed to detect cgroup memory limit: failed to read memory cgroup from cgroups file: /proc/self/cgroup: open /proc/self/cgroup: no such file or directory","tags":["cluster:ABC","env:debug","node_id:1","service:CRDB-SH","source:cockroachdb","upload_id:123"],"_id":"a1b2c3","attributes":{"goroutine":100,"file":"server/env_sampler.go","line":125,"counter":33,"tenant_id":"1","date":"2024-07-16T17:51:44Z","timestamp":1721152304,"channel":"DEV","severity":"WARNING"}} -{"timestamp":1721152304,"date":"2024-07-16T17:51:44Z","message":"initialized store s1","tags":["cluster:ABC","env:debug","node_id:1","service:CRDB-SH","source:cockroachdb","upload_id:123"],"_id":"a1b2c3","attributes":{"goroutine":100,"file":"server/node.go","line":533,"counter":24,"tenant_id":"1","date":"2024-07-16T17:51:44Z","timestamp":1721152304,"channel":"DEV","severity":"INFO"}} -{"timestamp":1721152304,"date":"2024-07-16T17:51:44Z","message":"inserted sqlliveness session 01018071445fbd54a44ee88e906efb311d7193","tags":["cluster:ABC","env:debug","node_id:2","service:CRDB-SH","source:cockroachdb","upload_id:123"],"_id":"a1b2c3","attributes":{"goroutine":916,"file":"sql/sqlliveness/slstorage/slstorage.go","line":540,"counter":43,"tenant_id":"1","date":"2024-07-16T17:51:44Z","timestamp":1721152304,"channel":"DEV","severity":"INFO"}} diff --git a/pkg/cli/testdata/upload/profiles b/pkg/cli/testdata/upload/profiles deleted file mode 100644 index 54012b5b3863..000000000000 --- a/pkg/cli/testdata/upload/profiles +++ /dev/null @@ -1,123 +0,0 @@ -# Single-node - both profiles -upload-profiles -{ - "nodes": { - "1": { - "profiles": [ - {"type": "cpu", "timestamp": 1718972610, "duration": 20}, - {"type": "heap", "timestamp": 1718974401, "duration": 20} - ] - } - } -} ----- -Upload ID: 123 -debug zip upload debugDir --dd-api-key=dd-api-key --dd-app-key=dd-app-key --cluster=ABC --include=profiles -{"start":"","end":"","attachments":["cpu.pprof","heap.pprof"],"tags_profiler":"cluster:ABC,env:debug,node_id:1,service:CRDB-SH,source:cockroachdb,upload_id:123","family":"go","version":"4"} - - -# Multi-node - both profiles -upload-profiles tags=foo:bar -{ - "nodes": { - "1": { - "profiles": [ - {"type": "cpu", "timestamp": 1718972610, "duration": 20}, - {"type": "heap", "timestamp": 1718974401, "duration": 20} - ] - }, - "2": { - "profiles": [ - {"type": "cpu", "timestamp": 1718974543, "duration": 20}, - {"type": "heap", "timestamp": 1718974535, "duration": 20} - ] - } - } -} ----- -Upload ID: 123 -debug zip upload debugDir --dd-api-key=dd-api-key --dd-app-key=dd-app-key --tags=foo:bar --cluster=ABC --include=profiles -{"start":"","end":"","attachments":["cpu.pprof","heap.pprof"],"tags_profiler":"cluster:ABC,env:debug,foo:bar,node_id:1,service:CRDB-SH,source:cockroachdb,upload_id:123","family":"go","version":"4"} -{"start":"","end":"","attachments":["cpu.pprof","heap.pprof"],"tags_profiler":"cluster:ABC,env:debug,foo:bar,node_id:2,service:CRDB-SH,source:cockroachdb,upload_id:123","family":"go","version":"4"} - - -# Single-node - only CPU profile -upload-profiles tags=customer:user-given-name,cluster:XYZ -{ - "nodes": { - "1": { - "profiles": [ - {"type": "cpu", "timestamp": 1718972610, "duration": 20} - ] - } - } -} ----- -Upload ID: 123 -debug zip upload debugDir --dd-api-key=dd-api-key --dd-app-key=dd-app-key --tags=customer:user-given-name,cluster:XYZ --cluster=ABC --include=profiles -{"start":"","end":"","attachments":["cpu.pprof"],"tags_profiler":"cluster:XYZ,customer:user-given-name,env:debug,foo:bar,node_id:1,service:CRDB-SH,source:cockroachdb,upload_id:123","family":"go","version":"4"} - - -# Single-node - no profiles found -upload-profiles -{ - "nodes": { - "1": {} - } -} ----- -Upload ID: 123 -debug zip upload debugDir --dd-api-key=dd-api-key --dd-app-key=dd-app-key --cluster=ABC --include=profiles - - -# Colliding tags - env provided by the user should take precedence -upload-profiles tags=env:SH -{ - "nodes": { - "1": { - "profiles": [ - {"type": "cpu", "timestamp": 1718972610, "duration": 20}, - {"type": "heap", "timestamp": 1718974401, "duration": 20} - ] - } - } -} ----- -Upload ID: 123 -debug zip upload debugDir --dd-api-key=dd-api-key --dd-app-key=dd-app-key --tags=env:SH --cluster=ABC --include=profiles -{"start":"","end":"","attachments":["cpu.pprof","heap.pprof"],"tags_profiler":"cluster:ABC,env:SH,node_id:1,service:CRDB-SH,source:cockroachdb,upload_id:123","family":"go","version":"4"} - - -# Single-node - both profiles -upload-profiles tags=ERR -{ - "nodes": { - "1": { - "profiles": [ - {"type": "cpu", "timestamp": 1718972610, "duration": 20}, - {"type": "heap", "timestamp": 1718974401, "duration": 20} - ] - } - } -} ----- -Failed to upload profiles: failed to upload profiles of node 1: status: 400, body: 'runtime' is a required field -Upload ID: 123 -debug zip upload debugDir --dd-api-key=dd-api-key --dd-app-key=dd-app-key --tags=ERR --cluster=ABC --include=profiles - - -# Customer name not provided by the user -upload-profiles tags=foo:bar skip-cluster-name=true -{ - "nodes": { - "1": { - "profiles": [ - {"type": "cpu", "timestamp": 1718972610, "duration": 20}, - {"type": "heap", "timestamp": 1718974401, "duration": 20} - ] - } - } -} ----- -ERROR: cluster name is required for uploading profiles -debug zip upload debugDir --dd-api-key=dd-api-key --dd-app-key=dd-app-key --tags=foo:bar --include=profiles diff --git a/pkg/cli/testdata/zip/partial1 b/pkg/cli/testdata/zip/partial1 index 18befc011929..d3e45a9c9fc6 100644 --- a/pkg/cli/testdata/zip/partial1 +++ b/pkg/cli/testdata/zip/partial1 @@ -18,7 +18,6 @@ debug zip --concurrency=1 --cpu-profile-duration=0s /dev/null [cluster] retrieving SQL data for "".crdb_internal.create_schema_statements... writing output: debug/crdb_internal.create_schema_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_statements... writing output: debug/crdb_internal.create_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_type_statements... writing output: debug/crdb_internal.create_type_statements.txt... done -[cluster] retrieving SQL data for "".crdb_internal.logical_replication_node_processors... writing output: debug/crdb_internal.logical_replication_node_processors.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_contention_events... writing output: debug/crdb_internal.cluster_contention_events.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_database_privileges... writing output: debug/crdb_internal.cluster_database_privileges.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_distsql_flows... writing output: debug/crdb_internal.cluster_distsql_flows.txt... done @@ -114,10 +113,10 @@ debug zip --concurrency=1 --cpu-profile-duration=0s /dev/null [node 1] retrieving SQL data for crdb_internal.node_txn_stats... writing output: debug/nodes/1/crdb_internal.node_txn_stats.txt... done [node 1] requesting data for debug/nodes/1/details... received response... writing JSON output: debug/nodes/1/details.json... done [node 1] requesting data for debug/nodes/1/gossip... received response... writing JSON output: debug/nodes/1/gossip.json... done +[node 1] requesting data for debug/nodes/1/enginestats... received response... writing JSON output: debug/nodes/1/enginestats.json... done [node 1] requesting stacks... received response... writing binary output: debug/nodes/1/stacks.txt... done [node 1] requesting stacks with labels... received response... writing binary output: debug/nodes/1/stacks_with_labels.txt... done [node 1] requesting heap profile... received response... writing binary output: debug/nodes/1/heap.pprof... done -[node 1] requesting engine stats... received response... writing binary output: debug/nodes/1/lsm.txt... done [node 1] requesting heap profile list... received response... [node 1] requesting heap profile list: last request failed: rpc error: ... [node 1] requesting heap profile list: creating error output: debug/nodes/1/heapprof.err.txt... done @@ -208,6 +207,9 @@ debug zip --concurrency=1 --cpu-profile-duration=0s /dev/null [node 2] requesting data for debug/nodes/2/gossip... received response... [node 2] requesting data for debug/nodes/2/gossip: last request failed: rpc error: ... [node 2] requesting data for debug/nodes/2/gossip: creating error output: debug/nodes/2/gossip.json.err.txt... done +[node 2] requesting data for debug/nodes/2/enginestats... received response... +[node 2] requesting data for debug/nodes/2/enginestats: last request failed: rpc error: ... +[node 2] requesting data for debug/nodes/2/enginestats: creating error output: debug/nodes/2/enginestats.json.err.txt... done [node 2] requesting stacks... received response... [node 2] requesting stacks: last request failed: rpc error: ... [node 2] requesting stacks: creating error output: debug/nodes/2/stacks.txt.err.txt... done @@ -217,9 +219,6 @@ debug zip --concurrency=1 --cpu-profile-duration=0s /dev/null [node 2] requesting heap profile... received response... [node 2] requesting heap profile: last request failed: rpc error: ... [node 2] requesting heap profile: creating error output: debug/nodes/2/heap.pprof.err.txt... done -[node 2] requesting engine stats... received response... -[node 2] requesting engine stats: last request failed: rpc error: ... -[node 2] requesting engine stats: creating error output: debug/nodes/2/lsm.txt.err.txt... done [node 2] requesting heap profile list... received response... [node 2] requesting heap profile list: last request failed: rpc error: ... [node 2] requesting heap profile list: creating error output: debug/nodes/2/heapprof.err.txt... done @@ -262,10 +261,10 @@ debug zip --concurrency=1 --cpu-profile-duration=0s /dev/null [node 3] retrieving SQL data for crdb_internal.node_txn_stats... writing output: debug/nodes/3/crdb_internal.node_txn_stats.txt... done [node 3] requesting data for debug/nodes/3/details... received response... writing JSON output: debug/nodes/3/details.json... done [node 3] requesting data for debug/nodes/3/gossip... received response... writing JSON output: debug/nodes/3/gossip.json... done +[node 3] requesting data for debug/nodes/3/enginestats... received response... writing JSON output: debug/nodes/3/enginestats.json... done [node 3] requesting stacks... received response... writing binary output: debug/nodes/3/stacks.txt... done [node 3] requesting stacks with labels... received response... writing binary output: debug/nodes/3/stacks_with_labels.txt... done [node 3] requesting heap profile... received response... writing binary output: debug/nodes/3/heap.pprof... done -[node 3] requesting engine stats... received response... writing binary output: debug/nodes/3/lsm.txt... done [node 3] requesting heap profile list... received response... [node 3] requesting heap profile list: last request failed: rpc error: ... [node 3] requesting heap profile list: creating error output: debug/nodes/3/heapprof.err.txt... done @@ -282,4 +281,3 @@ debug zip --concurrency=1 --cpu-profile-duration=0s /dev/null [cluster] pprof summary script... writing binary output: debug/pprof-summary.sh... done [cluster] hot range summary script... writing binary output: debug/hot-ranges.sh... done [cluster] tenant hot range summary script... writing binary output: debug/hot-ranges-tenant.sh... done -[cluster] capture debug zip flags... writing binary output: debug/debug_zip_command_flags.txt... done diff --git a/pkg/cli/testdata/zip/partial1_excluded b/pkg/cli/testdata/zip/partial1_excluded index 0c23ccd1cecc..0428aa4fb588 100644 --- a/pkg/cli/testdata/zip/partial1_excluded +++ b/pkg/cli/testdata/zip/partial1_excluded @@ -18,7 +18,6 @@ debug zip /dev/null --concurrency=1 --exclude-nodes=2 --cpu-profile-duration=0 [cluster] retrieving SQL data for "".crdb_internal.create_schema_statements... writing output: debug/crdb_internal.create_schema_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_statements... writing output: debug/crdb_internal.create_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_type_statements... writing output: debug/crdb_internal.create_type_statements.txt... done -[cluster] retrieving SQL data for "".crdb_internal.logical_replication_node_processors... writing output: debug/crdb_internal.logical_replication_node_processors.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_contention_events... writing output: debug/crdb_internal.cluster_contention_events.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_database_privileges... writing output: debug/crdb_internal.cluster_database_privileges.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_distsql_flows... writing output: debug/crdb_internal.cluster_distsql_flows.txt... done @@ -114,10 +113,10 @@ debug zip /dev/null --concurrency=1 --exclude-nodes=2 --cpu-profile-duration=0 [node 1] retrieving SQL data for crdb_internal.node_txn_stats... writing output: debug/nodes/1/crdb_internal.node_txn_stats.txt... done [node 1] requesting data for debug/nodes/1/details... received response... writing JSON output: debug/nodes/1/details.json... done [node 1] requesting data for debug/nodes/1/gossip... received response... writing JSON output: debug/nodes/1/gossip.json... done +[node 1] requesting data for debug/nodes/1/enginestats... received response... writing JSON output: debug/nodes/1/enginestats.json... done [node 1] requesting stacks... received response... writing binary output: debug/nodes/1/stacks.txt... done [node 1] requesting stacks with labels... received response... writing binary output: debug/nodes/1/stacks_with_labels.txt... done [node 1] requesting heap profile... received response... writing binary output: debug/nodes/1/heap.pprof... done -[node 1] requesting engine stats... received response... writing binary output: debug/nodes/1/lsm.txt... done [node 1] requesting heap profile list... received response... [node 1] requesting heap profile list: last request failed: rpc error: ... [node 1] requesting heap profile list: creating error output: debug/nodes/1/heapprof.err.txt... done @@ -159,10 +158,10 @@ debug zip /dev/null --concurrency=1 --exclude-nodes=2 --cpu-profile-duration=0 [node 3] retrieving SQL data for crdb_internal.node_txn_stats... writing output: debug/nodes/3/crdb_internal.node_txn_stats.txt... done [node 3] requesting data for debug/nodes/3/details... received response... writing JSON output: debug/nodes/3/details.json... done [node 3] requesting data for debug/nodes/3/gossip... received response... writing JSON output: debug/nodes/3/gossip.json... done +[node 3] requesting data for debug/nodes/3/enginestats... received response... writing JSON output: debug/nodes/3/enginestats.json... done [node 3] requesting stacks... received response... writing binary output: debug/nodes/3/stacks.txt... done [node 3] requesting stacks with labels... received response... writing binary output: debug/nodes/3/stacks_with_labels.txt... done [node 3] requesting heap profile... received response... writing binary output: debug/nodes/3/heap.pprof... done -[node 3] requesting engine stats... received response... writing binary output: debug/nodes/3/lsm.txt... done [node 3] requesting heap profile list... received response... [node 3] requesting heap profile list: last request failed: rpc error: ... [node 3] requesting heap profile list: creating error output: debug/nodes/3/heapprof.err.txt... done @@ -179,4 +178,3 @@ debug zip /dev/null --concurrency=1 --exclude-nodes=2 --cpu-profile-duration=0 [cluster] pprof summary script... writing binary output: debug/pprof-summary.sh... done [cluster] hot range summary script... writing binary output: debug/hot-ranges.sh... done [cluster] tenant hot range summary script... writing binary output: debug/hot-ranges-tenant.sh... done -[cluster] capture debug zip flags... writing binary output: debug/debug_zip_command_flags.txt... done diff --git a/pkg/cli/testdata/zip/partial2 b/pkg/cli/testdata/zip/partial2 index 957ef2815d38..b338449bb145 100644 --- a/pkg/cli/testdata/zip/partial2 +++ b/pkg/cli/testdata/zip/partial2 @@ -18,7 +18,6 @@ debug zip --concurrency=1 --cpu-profile-duration=0 /dev/null [cluster] retrieving SQL data for "".crdb_internal.create_schema_statements... writing output: debug/crdb_internal.create_schema_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_statements... writing output: debug/crdb_internal.create_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_type_statements... writing output: debug/crdb_internal.create_type_statements.txt... done -[cluster] retrieving SQL data for "".crdb_internal.logical_replication_node_processors... writing output: debug/crdb_internal.logical_replication_node_processors.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_contention_events... writing output: debug/crdb_internal.cluster_contention_events.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_database_privileges... writing output: debug/crdb_internal.cluster_database_privileges.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_distsql_flows... writing output: debug/crdb_internal.cluster_distsql_flows.txt... done @@ -114,10 +113,10 @@ debug zip --concurrency=1 --cpu-profile-duration=0 /dev/null [node 1] retrieving SQL data for crdb_internal.node_txn_stats... writing output: debug/nodes/1/crdb_internal.node_txn_stats.txt... done [node 1] requesting data for debug/nodes/1/details... received response... writing JSON output: debug/nodes/1/details.json... done [node 1] requesting data for debug/nodes/1/gossip... received response... writing JSON output: debug/nodes/1/gossip.json... done +[node 1] requesting data for debug/nodes/1/enginestats... received response... writing JSON output: debug/nodes/1/enginestats.json... done [node 1] requesting stacks... received response... writing binary output: debug/nodes/1/stacks.txt... done [node 1] requesting stacks with labels... received response... writing binary output: debug/nodes/1/stacks_with_labels.txt... done [node 1] requesting heap profile... received response... writing binary output: debug/nodes/1/heap.pprof... done -[node 1] requesting engine stats... received response... writing binary output: debug/nodes/1/lsm.txt... done [node 1] requesting heap profile list... received response... [node 1] requesting heap profile list: last request failed: rpc error: ... [node 1] requesting heap profile list: creating error output: debug/nodes/1/heapprof.err.txt... done @@ -158,10 +157,10 @@ debug zip --concurrency=1 --cpu-profile-duration=0 /dev/null [node 3] retrieving SQL data for crdb_internal.node_txn_stats... writing output: debug/nodes/3/crdb_internal.node_txn_stats.txt... done [node 3] requesting data for debug/nodes/3/details... received response... writing JSON output: debug/nodes/3/details.json... done [node 3] requesting data for debug/nodes/3/gossip... received response... writing JSON output: debug/nodes/3/gossip.json... done +[node 3] requesting data for debug/nodes/3/enginestats... received response... writing JSON output: debug/nodes/3/enginestats.json... done [node 3] requesting stacks... received response... writing binary output: debug/nodes/3/stacks.txt... done [node 3] requesting stacks with labels... received response... writing binary output: debug/nodes/3/stacks_with_labels.txt... done [node 3] requesting heap profile... received response... writing binary output: debug/nodes/3/heap.pprof... done -[node 3] requesting engine stats... received response... writing binary output: debug/nodes/3/lsm.txt... done [node 3] requesting heap profile list... received response... [node 3] requesting heap profile list: last request failed: rpc error: ... [node 3] requesting heap profile list: creating error output: debug/nodes/3/heapprof.err.txt... done @@ -178,4 +177,3 @@ debug zip --concurrency=1 --cpu-profile-duration=0 /dev/null [cluster] pprof summary script... writing binary output: debug/pprof-summary.sh... done [cluster] hot range summary script... writing binary output: debug/hot-ranges.sh... done [cluster] tenant hot range summary script... writing binary output: debug/hot-ranges-tenant.sh... done -[cluster] capture debug zip flags... writing binary output: debug/debug_zip_command_flags.txt... done diff --git a/pkg/cli/testdata/zip/testzip b/pkg/cli/testdata/zip/testzip index 5d7a7bfff1e1..82417c5213b5 100644 --- a/pkg/cli/testdata/zip/testzip +++ b/pkg/cli/testdata/zip/testzip @@ -18,7 +18,6 @@ debug zip --concurrency=1 --cpu-profile-duration=1s /dev/null [cluster] retrieving SQL data for "".crdb_internal.create_schema_statements... writing output: debug/crdb_internal.create_schema_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_statements... writing output: debug/crdb_internal.create_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_type_statements... writing output: debug/crdb_internal.create_type_statements.txt... done -[cluster] retrieving SQL data for "".crdb_internal.logical_replication_node_processors... writing output: debug/crdb_internal.logical_replication_node_processors.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_contention_events... writing output: debug/crdb_internal.cluster_contention_events.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_database_privileges... writing output: debug/crdb_internal.cluster_database_privileges.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_distsql_flows... writing output: debug/crdb_internal.cluster_distsql_flows.txt... done @@ -117,10 +116,10 @@ debug zip --concurrency=1 --cpu-profile-duration=1s /dev/null [node 1] retrieving SQL data for crdb_internal.node_txn_stats... writing output: debug/nodes/1/crdb_internal.node_txn_stats.txt... done [node 1] requesting data for debug/nodes/1/details... received response... writing JSON output: debug/nodes/1/details.json... done [node 1] requesting data for debug/nodes/1/gossip... received response... writing JSON output: debug/nodes/1/gossip.json... done +[node 1] requesting data for debug/nodes/1/enginestats... received response... writing JSON output: debug/nodes/1/enginestats.json... done [node 1] requesting stacks... received response... writing binary output: debug/nodes/1/stacks.txt... done [node 1] requesting stacks with labels... received response... writing binary output: debug/nodes/1/stacks_with_labels.txt... done [node 1] requesting heap profile... received response... writing binary output: debug/nodes/1/heap.pprof... done -[node 1] requesting engine stats... received response... writing binary output: debug/nodes/1/lsm.txt... done [node 1] requesting heap profile list... received response... done [node ?] ? heap profiles found [node 1] requesting goroutine dump list... received response... done @@ -134,4 +133,3 @@ debug zip --concurrency=1 --cpu-profile-duration=1s /dev/null [cluster] pprof summary script... writing binary output: debug/pprof-summary.sh... done [cluster] hot range summary script... writing binary output: debug/hot-ranges.sh... done [cluster] tenant hot range summary script... writing binary output: debug/hot-ranges-tenant.sh... done -[cluster] capture debug zip flags... writing binary output: debug/debug_zip_command_flags.txt... done diff --git a/pkg/cli/testdata/zip/testzip_concurrent b/pkg/cli/testdata/zip/testzip_concurrent index 57eb706818bf..5353400ac0cb 100644 --- a/pkg/cli/testdata/zip/testzip_concurrent +++ b/pkg/cli/testdata/zip/testzip_concurrent @@ -1,8 +1,5 @@ zip ---- -[cluster] capture debug zip flags... -[cluster] capture debug zip flags: done -[cluster] capture debug zip flags: writing binary output: debug/debug_zip_command_flags.txt... [cluster] collecting the inflight traces for jobs... [cluster] collecting the inflight traces for jobs: done [cluster] collecting the inflight traces for jobs: received response... @@ -74,9 +71,6 @@ zip [cluster] retrieving SQL data for "".crdb_internal.create_type_statements... [cluster] retrieving SQL data for "".crdb_internal.create_type_statements: done [cluster] retrieving SQL data for "".crdb_internal.create_type_statements: writing output: debug/crdb_internal.create_type_statements.txt... -[cluster] retrieving SQL data for "".crdb_internal.logical_replication_node_processors... -[cluster] retrieving SQL data for "".crdb_internal.logical_replication_node_processors: done -[cluster] retrieving SQL data for "".crdb_internal.logical_replication_node_processors: writing output: debug/crdb_internal.logical_replication_node_processors.txt... [cluster] retrieving SQL data for crdb_internal.cluster_contention_events... [cluster] retrieving SQL data for crdb_internal.cluster_contention_events: done [cluster] retrieving SQL data for crdb_internal.cluster_contention_events: writing output: debug/crdb_internal.cluster_contention_events.txt... @@ -281,14 +275,14 @@ zip [node 1] requesting data for debug/nodes/1/details: done [node 1] requesting data for debug/nodes/1/details: received response... [node 1] requesting data for debug/nodes/1/details: writing JSON output: debug/nodes/1/details.json... +[node 1] requesting data for debug/nodes/1/enginestats... +[node 1] requesting data for debug/nodes/1/enginestats: done +[node 1] requesting data for debug/nodes/1/enginestats: received response... +[node 1] requesting data for debug/nodes/1/enginestats: writing JSON output: debug/nodes/1/enginestats.json... [node 1] requesting data for debug/nodes/1/gossip... [node 1] requesting data for debug/nodes/1/gossip: done [node 1] requesting data for debug/nodes/1/gossip: received response... [node 1] requesting data for debug/nodes/1/gossip: writing JSON output: debug/nodes/1/gossip.json... -[node 1] requesting engine stats... -[node 1] requesting engine stats: done -[node 1] requesting engine stats: received response... -[node 1] requesting engine stats: writing binary output: debug/nodes/1/lsm.txt... [node 1] requesting goroutine dump list... [node 1] requesting goroutine dump list: creating error output: debug/nodes/1/goroutines.err.txt... [node 1] requesting goroutine dump list: done @@ -402,14 +396,14 @@ zip [node 2] requesting data for debug/nodes/2/details: done [node 2] requesting data for debug/nodes/2/details: received response... [node 2] requesting data for debug/nodes/2/details: writing JSON output: debug/nodes/2/details.json... +[node 2] requesting data for debug/nodes/2/enginestats... +[node 2] requesting data for debug/nodes/2/enginestats: done +[node 2] requesting data for debug/nodes/2/enginestats: received response... +[node 2] requesting data for debug/nodes/2/enginestats: writing JSON output: debug/nodes/2/enginestats.json... [node 2] requesting data for debug/nodes/2/gossip... [node 2] requesting data for debug/nodes/2/gossip: done [node 2] requesting data for debug/nodes/2/gossip: received response... [node 2] requesting data for debug/nodes/2/gossip: writing JSON output: debug/nodes/2/gossip.json... -[node 2] requesting engine stats... -[node 2] requesting engine stats: done -[node 2] requesting engine stats: received response... -[node 2] requesting engine stats: writing binary output: debug/nodes/2/lsm.txt... [node 2] requesting goroutine dump list... [node 2] requesting goroutine dump list: creating error output: debug/nodes/2/goroutines.err.txt... [node 2] requesting goroutine dump list: done @@ -523,14 +517,14 @@ zip [node 3] requesting data for debug/nodes/3/details: done [node 3] requesting data for debug/nodes/3/details: received response... [node 3] requesting data for debug/nodes/3/details: writing JSON output: debug/nodes/3/details.json... +[node 3] requesting data for debug/nodes/3/enginestats... +[node 3] requesting data for debug/nodes/3/enginestats: done +[node 3] requesting data for debug/nodes/3/enginestats: received response... +[node 3] requesting data for debug/nodes/3/enginestats: writing JSON output: debug/nodes/3/enginestats.json... [node 3] requesting data for debug/nodes/3/gossip... [node 3] requesting data for debug/nodes/3/gossip: done [node 3] requesting data for debug/nodes/3/gossip: received response... [node 3] requesting data for debug/nodes/3/gossip: writing JSON output: debug/nodes/3/gossip.json... -[node 3] requesting engine stats... -[node 3] requesting engine stats: done -[node 3] requesting engine stats: received response... -[node 3] requesting engine stats: writing binary output: debug/nodes/3/lsm.txt... [node 3] requesting goroutine dump list... [node 3] requesting goroutine dump list: creating error output: debug/nodes/3/goroutines.err.txt... [node 3] requesting goroutine dump list: done diff --git a/pkg/cli/testdata/zip/testzip_exclude_goroutine_stacks b/pkg/cli/testdata/zip/testzip_exclude_goroutine_stacks index 4784ee500529..331773f52281 100644 --- a/pkg/cli/testdata/zip/testzip_exclude_goroutine_stacks +++ b/pkg/cli/testdata/zip/testzip_exclude_goroutine_stacks @@ -18,7 +18,6 @@ debug zip --concurrency=1 --cpu-profile-duration=1s --include-goroutine-stacks=f [cluster] retrieving SQL data for "".crdb_internal.create_schema_statements... writing output: debug/crdb_internal.create_schema_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_statements... writing output: debug/crdb_internal.create_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_type_statements... writing output: debug/crdb_internal.create_type_statements.txt... done -[cluster] retrieving SQL data for "".crdb_internal.logical_replication_node_processors... writing output: debug/crdb_internal.logical_replication_node_processors.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_contention_events... writing output: debug/crdb_internal.cluster_contention_events.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_database_privileges... writing output: debug/crdb_internal.cluster_database_privileges.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_distsql_flows... writing output: debug/crdb_internal.cluster_distsql_flows.txt... done @@ -117,9 +116,9 @@ debug zip --concurrency=1 --cpu-profile-duration=1s --include-goroutine-stacks=f [node 1] retrieving SQL data for crdb_internal.node_txn_stats... writing output: debug/nodes/1/crdb_internal.node_txn_stats.txt... done [node 1] requesting data for debug/nodes/1/details... received response... writing JSON output: debug/nodes/1/details.json... done [node 1] requesting data for debug/nodes/1/gossip... received response... writing JSON output: debug/nodes/1/gossip.json... done +[node 1] requesting data for debug/nodes/1/enginestats... received response... writing JSON output: debug/nodes/1/enginestats.json... done [node 1] Skipping fetching goroutine stacks. Enable via the --include-goroutine-stacks flag. [node 1] requesting heap profile... received response... writing binary output: debug/nodes/1/heap.pprof... done -[node 1] requesting engine stats... received response... writing binary output: debug/nodes/1/lsm.txt... done [node 1] requesting heap profile list... received response... done [node ?] ? heap profiles found [node 1] requesting goroutine dump list... received response... done @@ -133,5 +132,4 @@ debug zip --concurrency=1 --cpu-profile-duration=1s --include-goroutine-stacks=f [cluster] pprof summary script... writing binary output: debug/pprof-summary.sh... done [cluster] hot range summary script... writing binary output: debug/hot-ranges.sh... done [cluster] tenant hot range summary script... writing binary output: debug/hot-ranges-tenant.sh... done -[cluster] capture debug zip flags... writing binary output: debug/debug_zip_command_flags.txt... done [cluster] NOTE: Omitted node-level goroutine stack dumps from this debug zip bundle. Use the --include-goroutine-stacks flag to enable the fetching of this data. diff --git a/pkg/cli/testdata/zip/testzip_exclude_range_info b/pkg/cli/testdata/zip/testzip_exclude_range_info index 18f94fead719..4d84a61c769e 100644 --- a/pkg/cli/testdata/zip/testzip_exclude_range_info +++ b/pkg/cli/testdata/zip/testzip_exclude_range_info @@ -17,7 +17,6 @@ debug zip --concurrency=1 --cpu-profile-duration=1s --include-range-info=false / [cluster] retrieving SQL data for "".crdb_internal.create_schema_statements... writing output: debug/crdb_internal.create_schema_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_statements... writing output: debug/crdb_internal.create_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_type_statements... writing output: debug/crdb_internal.create_type_statements.txt... done -[cluster] retrieving SQL data for "".crdb_internal.logical_replication_node_processors... writing output: debug/crdb_internal.logical_replication_node_processors.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_contention_events... writing output: debug/crdb_internal.cluster_contention_events.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_database_privileges... writing output: debug/crdb_internal.cluster_database_privileges.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_distsql_flows... writing output: debug/crdb_internal.cluster_distsql_flows.txt... done @@ -113,10 +112,10 @@ debug zip --concurrency=1 --cpu-profile-duration=1s --include-range-info=false / [node 1] retrieving SQL data for crdb_internal.node_txn_stats... writing output: debug/nodes/1/crdb_internal.node_txn_stats.txt... done [node 1] requesting data for debug/nodes/1/details... received response... writing JSON output: debug/nodes/1/details.json... done [node 1] requesting data for debug/nodes/1/gossip... received response... writing JSON output: debug/nodes/1/gossip.json... done +[node 1] requesting data for debug/nodes/1/enginestats... received response... writing JSON output: debug/nodes/1/enginestats.json... done [node 1] requesting stacks... received response... writing binary output: debug/nodes/1/stacks.txt... done [node 1] requesting stacks with labels... received response... writing binary output: debug/nodes/1/stacks_with_labels.txt... done [node 1] requesting heap profile... received response... writing binary output: debug/nodes/1/heap.pprof... done -[node 1] requesting engine stats... received response... writing binary output: debug/nodes/1/lsm.txt... done [node 1] requesting heap profile list... received response... done [node ?] ? heap profiles found [node 1] requesting goroutine dump list... received response... done @@ -126,4 +125,3 @@ debug zip --concurrency=1 --cpu-profile-duration=1s --include-range-info=false / [node 1] requesting log files list... received response... done [node ?] ? log files found [cluster] pprof summary script... writing binary output: debug/pprof-summary.sh... done -[cluster] capture debug zip flags... writing binary output: debug/debug_zip_command_flags.txt... done diff --git a/pkg/cli/testdata/zip/testzip_external_process_virtualization b/pkg/cli/testdata/zip/testzip_external_process_virtualization index 52dd014c1ada..f3c34c437e7d 100644 --- a/pkg/cli/testdata/zip/testzip_external_process_virtualization +++ b/pkg/cli/testdata/zip/testzip_external_process_virtualization @@ -20,7 +20,6 @@ debug zip --concurrency=1 --cpu-profile-duration=1s /dev/null [cluster] retrieving SQL data for "".crdb_internal.create_schema_statements... writing output: debug/crdb_internal.create_schema_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_statements... writing output: debug/crdb_internal.create_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_type_statements... writing output: debug/crdb_internal.create_type_statements.txt... done -[cluster] retrieving SQL data for "".crdb_internal.logical_replication_node_processors... writing output: debug/crdb_internal.logical_replication_node_processors.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_contention_events... writing output: debug/crdb_internal.cluster_contention_events.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_database_privileges... writing output: debug/crdb_internal.cluster_database_privileges.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_distsql_flows... writing output: debug/crdb_internal.cluster_distsql_flows.txt... done @@ -137,12 +136,12 @@ debug zip --concurrency=1 --cpu-profile-duration=1s /dev/null [node 1] requesting data for debug/nodes/1/gossip... received response... [node 1] requesting data for debug/nodes/1/gossip: last request failed: rpc error: ... [node 1] requesting data for debug/nodes/1/gossip: creating error output: debug/nodes/1/gossip.json.err.txt... done +[node 1] requesting data for debug/nodes/1/enginestats... received response... +[node 1] requesting data for debug/nodes/1/enginestats: last request failed: rpc error: ... +[node 1] requesting data for debug/nodes/1/enginestats: creating error output: debug/nodes/1/enginestats.json.err.txt... done [node 1] requesting stacks... received response... writing binary output: debug/nodes/1/stacks.txt... done [node 1] requesting stacks with labels... received response... writing binary output: debug/nodes/1/stacks_with_labels.txt... done [node 1] requesting heap profile... received response... writing binary output: debug/nodes/1/heap.pprof... done -[node 1] requesting engine stats... received response... -[node 1] requesting engine stats: last request failed: rpc error: ... -[node 1] requesting engine stats: creating error output: debug/nodes/1/lsm.txt.err.txt... done [node 1] requesting heap profile list... received response... done [node ?] ? heap profiles found [node 1] requesting goroutine dump list... received response... done @@ -157,4 +156,3 @@ debug zip --concurrency=1 --cpu-profile-duration=1s /dev/null [cluster] pprof summary script... writing binary output: debug/pprof-summary.sh... done [cluster] hot range summary script... writing binary output: debug/hot-ranges.sh... done [cluster] tenant hot range summary script... writing binary output: debug/hot-ranges-tenant.sh... done -[cluster] capture debug zip flags... writing binary output: debug/debug_zip_command_flags.txt... done diff --git a/pkg/cli/testdata/zip/testzip_fallback b/pkg/cli/testdata/zip/testzip_fallback index c2b059738fbf..0f8cfe7e216a 100644 --- a/pkg/cli/testdata/zip/testzip_fallback +++ b/pkg/cli/testdata/zip/testzip_fallback @@ -154,7 +154,6 @@ debug zip --concurrency=1 --cpu-profile-duration=1s /dev/null [cluster] retrieving SQL data for "".crdb_internal.create_schema_statements... writing output: debug/crdb_internal.create_schema_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_statements... writing output: debug/crdb_internal.create_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_type_statements... writing output: debug/crdb_internal.create_type_statements.txt... done -[cluster] retrieving SQL data for "".crdb_internal.logical_replication_node_processors... writing output: debug/crdb_internal.logical_replication_node_processors.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_contention_events... writing output: debug/crdb_internal.cluster_contention_events.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_database_privileges... writing output: debug/crdb_internal.cluster_database_privileges.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_distsql_flows... writing output: debug/crdb_internal.cluster_distsql_flows.txt... done @@ -256,10 +255,10 @@ debug zip --concurrency=1 --cpu-profile-duration=1s /dev/null [node 1] retrieving SQL data for crdb_internal.node_txn_stats... writing output: debug/nodes/1/crdb_internal.node_txn_stats.txt... done [node 1] requesting data for debug/nodes/1/details... received response... writing JSON output: debug/nodes/1/details.json... done [node 1] requesting data for debug/nodes/1/gossip... received response... writing JSON output: debug/nodes/1/gossip.json... done +[node 1] requesting data for debug/nodes/1/enginestats... received response... writing JSON output: debug/nodes/1/enginestats.json... done [node 1] requesting stacks... received response... writing binary output: debug/nodes/1/stacks.txt... done [node 1] requesting stacks with labels... received response... writing binary output: debug/nodes/1/stacks_with_labels.txt... done [node 1] requesting heap profile... received response... writing binary output: debug/nodes/1/heap.pprof... done -[node 1] requesting engine stats... received response... writing binary output: debug/nodes/1/lsm.txt... done [node 1] requesting heap profile list... received response... done [node ?] ? heap profiles found [node 1] requesting goroutine dump list... received response... done @@ -273,4 +272,3 @@ debug zip --concurrency=1 --cpu-profile-duration=1s /dev/null [cluster] pprof summary script... writing binary output: debug/pprof-summary.sh... done [cluster] hot range summary script... writing binary output: debug/hot-ranges.sh... done [cluster] tenant hot range summary script... writing binary output: debug/hot-ranges-tenant.sh... done -[cluster] capture debug zip flags... writing binary output: debug/debug_zip_command_flags.txt... done diff --git a/pkg/cli/testdata/zip/testzip_include_goroutine_stacks b/pkg/cli/testdata/zip/testzip_include_goroutine_stacks index 5d7a7bfff1e1..82417c5213b5 100644 --- a/pkg/cli/testdata/zip/testzip_include_goroutine_stacks +++ b/pkg/cli/testdata/zip/testzip_include_goroutine_stacks @@ -18,7 +18,6 @@ debug zip --concurrency=1 --cpu-profile-duration=1s /dev/null [cluster] retrieving SQL data for "".crdb_internal.create_schema_statements... writing output: debug/crdb_internal.create_schema_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_statements... writing output: debug/crdb_internal.create_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_type_statements... writing output: debug/crdb_internal.create_type_statements.txt... done -[cluster] retrieving SQL data for "".crdb_internal.logical_replication_node_processors... writing output: debug/crdb_internal.logical_replication_node_processors.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_contention_events... writing output: debug/crdb_internal.cluster_contention_events.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_database_privileges... writing output: debug/crdb_internal.cluster_database_privileges.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_distsql_flows... writing output: debug/crdb_internal.cluster_distsql_flows.txt... done @@ -117,10 +116,10 @@ debug zip --concurrency=1 --cpu-profile-duration=1s /dev/null [node 1] retrieving SQL data for crdb_internal.node_txn_stats... writing output: debug/nodes/1/crdb_internal.node_txn_stats.txt... done [node 1] requesting data for debug/nodes/1/details... received response... writing JSON output: debug/nodes/1/details.json... done [node 1] requesting data for debug/nodes/1/gossip... received response... writing JSON output: debug/nodes/1/gossip.json... done +[node 1] requesting data for debug/nodes/1/enginestats... received response... writing JSON output: debug/nodes/1/enginestats.json... done [node 1] requesting stacks... received response... writing binary output: debug/nodes/1/stacks.txt... done [node 1] requesting stacks with labels... received response... writing binary output: debug/nodes/1/stacks_with_labels.txt... done [node 1] requesting heap profile... received response... writing binary output: debug/nodes/1/heap.pprof... done -[node 1] requesting engine stats... received response... writing binary output: debug/nodes/1/lsm.txt... done [node 1] requesting heap profile list... received response... done [node ?] ? heap profiles found [node 1] requesting goroutine dump list... received response... done @@ -134,4 +133,3 @@ debug zip --concurrency=1 --cpu-profile-duration=1s /dev/null [cluster] pprof summary script... writing binary output: debug/pprof-summary.sh... done [cluster] hot range summary script... writing binary output: debug/hot-ranges.sh... done [cluster] tenant hot range summary script... writing binary output: debug/hot-ranges-tenant.sh... done -[cluster] capture debug zip flags... writing binary output: debug/debug_zip_command_flags.txt... done diff --git a/pkg/cli/testdata/zip/testzip_include_range_info b/pkg/cli/testdata/zip/testzip_include_range_info index 2a3a2fc67a3b..f6e47a87e9b4 100644 --- a/pkg/cli/testdata/zip/testzip_include_range_info +++ b/pkg/cli/testdata/zip/testzip_include_range_info @@ -18,7 +18,6 @@ debug zip --concurrency=1 --cpu-profile-duration=1s --include-range-info /dev/nu [cluster] retrieving SQL data for "".crdb_internal.create_schema_statements... writing output: debug/crdb_internal.create_schema_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_statements... writing output: debug/crdb_internal.create_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_type_statements... writing output: debug/crdb_internal.create_type_statements.txt... done -[cluster] retrieving SQL data for "".crdb_internal.logical_replication_node_processors... writing output: debug/crdb_internal.logical_replication_node_processors.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_contention_events... writing output: debug/crdb_internal.cluster_contention_events.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_database_privileges... writing output: debug/crdb_internal.cluster_database_privileges.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_distsql_flows... writing output: debug/crdb_internal.cluster_distsql_flows.txt... done @@ -117,10 +116,10 @@ debug zip --concurrency=1 --cpu-profile-duration=1s --include-range-info /dev/nu [node 1] retrieving SQL data for crdb_internal.node_txn_stats... writing output: debug/nodes/1/crdb_internal.node_txn_stats.txt... done [node 1] requesting data for debug/nodes/1/details... received response... writing JSON output: debug/nodes/1/details.json... done [node 1] requesting data for debug/nodes/1/gossip... received response... writing JSON output: debug/nodes/1/gossip.json... done +[node 1] requesting data for debug/nodes/1/enginestats... received response... writing JSON output: debug/nodes/1/enginestats.json... done [node 1] requesting stacks... received response... writing binary output: debug/nodes/1/stacks.txt... done [node 1] requesting stacks with labels... received response... writing binary output: debug/nodes/1/stacks_with_labels.txt... done [node 1] requesting heap profile... received response... writing binary output: debug/nodes/1/heap.pprof... done -[node 1] requesting engine stats... received response... writing binary output: debug/nodes/1/lsm.txt... done [node 1] requesting heap profile list... received response... done [node ?] ? heap profiles found [node 1] requesting goroutine dump list... received response... done @@ -134,4 +133,3 @@ debug zip --concurrency=1 --cpu-profile-duration=1s --include-range-info /dev/nu [cluster] pprof summary script... writing binary output: debug/pprof-summary.sh... done [cluster] hot range summary script... writing binary output: debug/hot-ranges.sh... done [cluster] tenant hot range summary script... writing binary output: debug/hot-ranges-tenant.sh... done -[cluster] capture debug zip flags... writing binary output: debug/debug_zip_command_flags.txt... done diff --git a/pkg/cli/testdata/zip/testzip_redacted b/pkg/cli/testdata/zip/testzip_redacted deleted file mode 100644 index d1a5ebe7f462..000000000000 --- a/pkg/cli/testdata/zip/testzip_redacted +++ /dev/null @@ -1,137 +0,0 @@ -zip ----- -debug zip --concurrency=1 --cpu-profile-duration=1s --redact /dev/null -[cluster] discovering virtual clusters... done -[cluster] creating output file /dev/null... done -[cluster] establishing RPC connection to ... -[cluster] using SQL address: ... -[cluster] requesting data for debug/events... received response... writing JSON output: debug/events.json... done -[cluster] requesting data for debug/rangelog... received response... writing JSON output: debug/rangelog.json... done -[cluster] requesting data for debug/settings... received response... writing JSON output: debug/settings.json... done -[cluster] requesting data for debug/reports/problemranges... received response... writing JSON output: debug/reports/problemranges.json... done -[cluster] retrieving SQL data for "".crdb_internal.cluster_replication_node_stream_checkpoints... writing output: debug/crdb_internal.cluster_replication_node_stream_checkpoints.txt... done -[cluster] retrieving SQL data for "".crdb_internal.cluster_replication_node_stream_spans... writing output: debug/crdb_internal.cluster_replication_node_stream_spans.txt... done -[cluster] retrieving SQL data for "".crdb_internal.cluster_replication_node_streams... writing output: debug/crdb_internal.cluster_replication_node_streams.txt... done -[cluster] retrieving SQL data for "".crdb_internal.cluster_replication_spans... writing output: debug/crdb_internal.cluster_replication_spans.txt... done -[cluster] retrieving SQL data for "".crdb_internal.create_function_statements... writing output: debug/crdb_internal.create_function_statements.txt... done -[cluster] retrieving SQL data for "".crdb_internal.create_procedure_statements... writing output: debug/crdb_internal.create_procedure_statements.txt... done -[cluster] retrieving SQL data for "".crdb_internal.create_schema_statements... writing output: debug/crdb_internal.create_schema_statements.txt... done -[cluster] retrieving SQL data for "".crdb_internal.create_statements... writing output: debug/crdb_internal.create_statements.txt... done -[cluster] retrieving SQL data for "".crdb_internal.create_type_statements... writing output: debug/crdb_internal.create_type_statements.txt... done -[cluster] retrieving SQL data for "".crdb_internal.logical_replication_node_processors... writing output: debug/crdb_internal.logical_replication_node_processors.txt... done -[cluster] retrieving SQL data for crdb_internal.cluster_contention_events... writing output: debug/crdb_internal.cluster_contention_events.txt... done -[cluster] retrieving SQL data for crdb_internal.cluster_database_privileges... writing output: debug/crdb_internal.cluster_database_privileges.txt... done -[cluster] retrieving SQL data for crdb_internal.cluster_distsql_flows... writing output: debug/crdb_internal.cluster_distsql_flows.txt... done -[cluster] retrieving SQL data for crdb_internal.cluster_locks... writing output: debug/crdb_internal.cluster_locks.txt... done -[cluster] retrieving SQL data for crdb_internal.cluster_queries... writing output: debug/crdb_internal.cluster_queries.txt... done -[cluster] retrieving SQL data for crdb_internal.cluster_sessions... writing output: debug/crdb_internal.cluster_sessions.txt... done -[cluster] retrieving SQL data for crdb_internal.cluster_settings... writing output: debug/crdb_internal.cluster_settings.txt... done -[cluster] retrieving SQL data for crdb_internal.cluster_transactions... writing output: debug/crdb_internal.cluster_transactions.txt... done -[cluster] retrieving SQL data for crdb_internal.default_privileges... writing output: debug/crdb_internal.default_privileges.txt... done -[cluster] retrieving SQL data for crdb_internal.index_usage_statistics... writing output: debug/crdb_internal.index_usage_statistics.txt... done -[cluster] retrieving SQL data for crdb_internal.invalid_objects... writing output: debug/crdb_internal.invalid_objects.txt... done -[cluster] retrieving SQL data for crdb_internal.jobs... writing output: debug/crdb_internal.jobs.txt... done -[cluster] retrieving SQL data for crdb_internal.kv_node_liveness... writing output: debug/crdb_internal.kv_node_liveness.txt... done -[cluster] retrieving SQL data for crdb_internal.kv_node_status... writing output: debug/crdb_internal.kv_node_status.txt... done -[cluster] retrieving SQL data for crdb_internal.kv_protected_ts_records... writing output: debug/crdb_internal.kv_protected_ts_records.txt... done -[cluster] retrieving SQL data for crdb_internal.kv_store_status... writing output: debug/crdb_internal.kv_store_status.txt... done -[cluster] retrieving SQL data for crdb_internal.kv_system_privileges... writing output: debug/crdb_internal.kv_system_privileges.txt... done -[cluster] retrieving SQL data for crdb_internal.partitions... writing output: debug/crdb_internal.partitions.txt... done -[cluster] retrieving SQL data for crdb_internal.probe_ranges_1s_read_limit_100... writing output: debug/crdb_internal.probe_ranges_1s_read_limit_100.txt... done -[cluster] retrieving SQL data for crdb_internal.regions... writing output: debug/crdb_internal.regions.txt... done -[cluster] retrieving SQL data for crdb_internal.schema_changes... writing output: debug/crdb_internal.schema_changes.txt... done -[cluster] retrieving SQL data for crdb_internal.super_regions... writing output: debug/crdb_internal.super_regions.txt... done -[cluster] retrieving SQL data for crdb_internal.system_jobs... writing output: debug/crdb_internal.system_jobs.txt... done -[cluster] retrieving SQL data for crdb_internal.table_indexes... writing output: debug/crdb_internal.table_indexes.txt... done -[cluster] retrieving SQL data for crdb_internal.transaction_contention_events... writing output: debug/crdb_internal.transaction_contention_events.txt... done -[cluster] retrieving SQL data for crdb_internal.zones... writing output: debug/crdb_internal.zones.txt... done -[cluster] retrieving SQL data for system.database_role_settings... writing output: debug/system.database_role_settings.txt... done -[cluster] retrieving SQL data for system.descriptor... writing output: debug/system.descriptor.txt... done -[cluster] retrieving SQL data for system.eventlog... writing output: debug/system.eventlog.txt... done -[cluster] retrieving SQL data for system.external_connections... writing output: debug/system.external_connections.txt... done -[cluster] retrieving SQL data for system.job_info... writing output: debug/system.job_info.txt... done -[cluster] retrieving SQL data for system.jobs... writing output: debug/system.jobs.txt... done -[cluster] retrieving SQL data for system.lease... writing output: debug/system.lease.txt... done -[cluster] retrieving SQL data for system.locations... writing output: debug/system.locations.txt... done -[cluster] retrieving SQL data for system.migrations... writing output: debug/system.migrations.txt... done -[cluster] retrieving SQL data for system.namespace... writing output: debug/system.namespace.txt... done -[cluster] retrieving SQL data for system.privileges... writing output: debug/system.privileges.txt... done -[cluster] retrieving SQL data for system.protected_ts_meta... writing output: debug/system.protected_ts_meta.txt... done -[cluster] retrieving SQL data for system.protected_ts_records... writing output: debug/system.protected_ts_records.txt... done -[cluster] retrieving SQL data for system.rangelog... writing output: debug/system.rangelog.txt... done -[cluster] retrieving SQL data for system.replication_constraint_stats... writing output: debug/system.replication_constraint_stats.txt... done -[cluster] retrieving SQL data for system.replication_critical_localities... writing output: debug/system.replication_critical_localities.txt... done -[cluster] retrieving SQL data for system.replication_stats... writing output: debug/system.replication_stats.txt... done -[cluster] retrieving SQL data for system.reports_meta... writing output: debug/system.reports_meta.txt... done -[cluster] retrieving SQL data for system.role_id_seq... writing output: debug/system.role_id_seq.txt... done -[cluster] retrieving SQL data for system.role_members... writing output: debug/system.role_members.txt... done -[cluster] retrieving SQL data for system.role_options... writing output: debug/system.role_options.txt... done -[cluster] retrieving SQL data for system.scheduled_jobs... writing output: debug/system.scheduled_jobs.txt... done -[cluster] retrieving SQL data for system.settings... writing output: debug/system.settings.txt... done -[cluster] retrieving SQL data for system.span_configurations... writing output: debug/system.span_configurations.txt... done -[cluster] retrieving SQL data for system.sql_instances... writing output: debug/system.sql_instances.txt... done -[cluster] retrieving SQL data for system.sql_stats_cardinality... writing output: debug/system.sql_stats_cardinality.txt... done -[cluster] retrieving SQL data for system.sqlliveness... writing output: debug/system.sqlliveness.txt... done -[cluster] retrieving SQL data for system.statement_diagnostics... writing output: debug/system.statement_diagnostics.txt... done -[cluster] retrieving SQL data for system.statement_diagnostics_requests... writing output: debug/system.statement_diagnostics_requests.txt... done -[cluster] retrieving SQL data for system.statement_statistics_limit_5000... writing output: debug/system.statement_statistics_limit_5000.txt... done -[cluster] retrieving SQL data for system.table_statistics... writing output: debug/system.table_statistics.txt... done -[cluster] retrieving SQL data for system.task_payloads... writing output: debug/system.task_payloads.txt... done -[cluster] retrieving SQL data for system.tenant_settings... writing output: debug/system.tenant_settings.txt... done -[cluster] retrieving SQL data for system.tenant_tasks... writing output: debug/system.tenant_tasks.txt... done -[cluster] retrieving SQL data for system.tenant_usage... writing output: debug/system.tenant_usage.txt... done -[cluster] retrieving SQL data for system.tenants... writing output: debug/system.tenants.txt... done -[cluster] requesting nodes... received response... writing JSON output: debug/nodes.json... done -[cluster] requesting liveness... received response... writing JSON output: debug/liveness.json... done -[cluster] requesting tenant ranges... received response... -[cluster] requesting tenant ranges: last request failed: rpc error: ... -[cluster] requesting tenant ranges: creating error output: debug/tenant_ranges.err.txt... done -[cluster] collecting the inflight traces for jobs... received response... done -[cluster] requesting CPU profiles -[cluster] profiles generated -[cluster] profile for node 1... writing binary output: debug/nodes/1/cpu.pprof... done -[node 1] node status... writing JSON output: debug/nodes/1/status.json... done -[node 1] using SQL connection URL: postgresql://... -[node 1] retrieving SQL data for crdb_internal.active_range_feeds... writing output: debug/nodes/1/crdb_internal.active_range_feeds.txt... done -[node 1] retrieving SQL data for crdb_internal.feature_usage... writing output: debug/nodes/1/crdb_internal.feature_usage.txt... done -[node 1] retrieving SQL data for crdb_internal.gossip_alerts... writing output: debug/nodes/1/crdb_internal.gossip_alerts.txt... done -[node 1] retrieving SQL data for crdb_internal.gossip_liveness... writing output: debug/nodes/1/crdb_internal.gossip_liveness.txt... done -[node 1] retrieving SQL data for crdb_internal.gossip_nodes... writing output: debug/nodes/1/crdb_internal.gossip_nodes.txt... done -[node 1] retrieving SQL data for crdb_internal.kv_session_based_leases... writing output: debug/nodes/1/crdb_internal.kv_session_based_leases.txt... done -[node 1] retrieving SQL data for crdb_internal.leases... writing output: debug/nodes/1/crdb_internal.leases.txt... done -[node 1] retrieving SQL data for crdb_internal.node_build_info... writing output: debug/nodes/1/crdb_internal.node_build_info.txt... done -[node 1] retrieving SQL data for crdb_internal.node_contention_events... writing output: debug/nodes/1/crdb_internal.node_contention_events.txt... done -[node 1] retrieving SQL data for crdb_internal.node_distsql_flows... writing output: debug/nodes/1/crdb_internal.node_distsql_flows.txt... done -[node 1] retrieving SQL data for crdb_internal.node_execution_insights... writing output: debug/nodes/1/crdb_internal.node_execution_insights.txt... done -[node 1] retrieving SQL data for crdb_internal.node_inflight_trace_spans... writing output: debug/nodes/1/crdb_internal.node_inflight_trace_spans.txt... done -[node 1] retrieving SQL data for crdb_internal.node_memory_monitors... writing output: debug/nodes/1/crdb_internal.node_memory_monitors.txt... done -[node 1] retrieving SQL data for crdb_internal.node_metrics... writing output: debug/nodes/1/crdb_internal.node_metrics.txt... done -[node 1] retrieving SQL data for crdb_internal.node_queries... writing output: debug/nodes/1/crdb_internal.node_queries.txt... done -[node 1] retrieving SQL data for crdb_internal.node_runtime_info... writing output: debug/nodes/1/crdb_internal.node_runtime_info.txt... done -[node 1] retrieving SQL data for crdb_internal.node_sessions... writing output: debug/nodes/1/crdb_internal.node_sessions.txt... done -[node 1] retrieving SQL data for crdb_internal.node_statement_statistics... writing output: debug/nodes/1/crdb_internal.node_statement_statistics.txt... done -[node 1] retrieving SQL data for crdb_internal.node_tenant_capabilities_cache... writing output: debug/nodes/1/crdb_internal.node_tenant_capabilities_cache.txt... done -[node 1] retrieving SQL data for crdb_internal.node_transaction_statistics... writing output: debug/nodes/1/crdb_internal.node_transaction_statistics.txt... done -[node 1] retrieving SQL data for crdb_internal.node_transactions... writing output: debug/nodes/1/crdb_internal.node_transactions.txt... done -[node 1] retrieving SQL data for crdb_internal.node_txn_execution_insights... writing output: debug/nodes/1/crdb_internal.node_txn_execution_insights.txt... done -[node 1] retrieving SQL data for crdb_internal.node_txn_stats... writing output: debug/nodes/1/crdb_internal.node_txn_stats.txt... done -[node 1] requesting data for debug/nodes/1/details... received response... writing JSON output: debug/nodes/1/details.json... done -[node 1] requesting data for debug/nodes/1/gossip... received response... writing JSON output: debug/nodes/1/gossip.json... done -[node 1] requesting stacks... received response... writing binary output: debug/nodes/1/stacks.txt... done -[node 1] requesting stacks with labels... received response... writing binary output: debug/nodes/1/stacks_with_labels.txt... done -[node 1] requesting heap profile... received response... writing binary output: debug/nodes/1/heap.pprof... done -[node 1] requesting engine stats... received response... writing binary output: debug/nodes/1/lsm.txt... done -[node 1] requesting heap profile list... received response... done -[node ?] ? heap profiles found -[node 1] requesting goroutine dump list... received response... done -[node ?] ? goroutine dumps found -[node 1] requesting cpu profile list... received response... done -[node ?] ? cpu profiles found -[node 1] requesting log files list... received response... done -[node ?] ? log files found -[node 1] requesting ranges... received response... done -[node 1] writing ranges... writing JSON output: debug/nodes/1/ranges.json... done -[cluster] pprof summary script... writing binary output: debug/pprof-summary.sh... done -[cluster] hot range summary script... writing binary output: debug/hot-ranges.sh... done -[cluster] tenant hot range summary script... writing binary output: debug/hot-ranges-tenant.sh... done -[cluster] capture debug zip flags... writing binary output: debug/debug_zip_command_flags.txt... done diff --git a/pkg/cli/testdata/zip/testzip_shared_process_virtualization b/pkg/cli/testdata/zip/testzip_shared_process_virtualization index c6e9c3ab3137..85edb57ddde8 100644 --- a/pkg/cli/testdata/zip/testzip_shared_process_virtualization +++ b/pkg/cli/testdata/zip/testzip_shared_process_virtualization @@ -18,7 +18,6 @@ debug zip --concurrency=1 --cpu-profile-duration=1s /dev/null [cluster] retrieving SQL data for "".crdb_internal.create_schema_statements... writing output: debug/crdb_internal.create_schema_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_statements... writing output: debug/crdb_internal.create_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_type_statements... writing output: debug/crdb_internal.create_type_statements.txt... done -[cluster] retrieving SQL data for "".crdb_internal.logical_replication_node_processors... writing output: debug/crdb_internal.logical_replication_node_processors.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_contention_events... writing output: debug/crdb_internal.cluster_contention_events.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_database_privileges... writing output: debug/crdb_internal.cluster_database_privileges.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_distsql_flows... writing output: debug/crdb_internal.cluster_distsql_flows.txt... done @@ -117,10 +116,10 @@ debug zip --concurrency=1 --cpu-profile-duration=1s /dev/null [node 1] retrieving SQL data for crdb_internal.node_txn_stats... writing output: debug/nodes/1/crdb_internal.node_txn_stats.txt... done [node 1] requesting data for debug/nodes/1/details... received response... writing JSON output: debug/nodes/1/details.json... done [node 1] requesting data for debug/nodes/1/gossip... received response... writing JSON output: debug/nodes/1/gossip.json... done +[node 1] requesting data for debug/nodes/1/enginestats... received response... writing JSON output: debug/nodes/1/enginestats.json... done [node 1] requesting stacks... received response... writing binary output: debug/nodes/1/stacks.txt... done [node 1] requesting stacks with labels... received response... writing binary output: debug/nodes/1/stacks_with_labels.txt... done [node 1] requesting heap profile... received response... writing binary output: debug/nodes/1/heap.pprof... done -[node 1] requesting engine stats... received response... writing binary output: debug/nodes/1/lsm.txt... done [node 1] requesting heap profile list... received response... done [node ?] ? heap profiles found [node 1] requesting goroutine dump list... received response... done @@ -134,7 +133,6 @@ debug zip --concurrency=1 --cpu-profile-duration=1s /dev/null [cluster] pprof summary script... writing binary output: debug/pprof-summary.sh... done [cluster] hot range summary script... writing binary output: debug/hot-ranges.sh... done [cluster] tenant hot range summary script... writing binary output: debug/hot-ranges-tenant.sh... done -[cluster] capture debug zip flags... writing binary output: debug/debug_zip_command_flags.txt... done [cluster] establishing RPC connection to ... [cluster] using SQL address: ... [cluster] requesting data for debug/cluster/test-tenant/events... received response... writing JSON output: debug/cluster/test-tenant/events.json... done @@ -152,7 +150,6 @@ debug zip --concurrency=1 --cpu-profile-duration=1s /dev/null [cluster] retrieving SQL data for "".crdb_internal.create_schema_statements... writing output: debug/cluster/test-tenant/crdb_internal.create_schema_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_statements... writing output: debug/cluster/test-tenant/crdb_internal.create_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_type_statements... writing output: debug/cluster/test-tenant/crdb_internal.create_type_statements.txt... done -[cluster] retrieving SQL data for "".crdb_internal.logical_replication_node_processors... writing output: debug/cluster/test-tenant/crdb_internal.logical_replication_node_processors.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_contention_events... writing output: debug/cluster/test-tenant/crdb_internal.cluster_contention_events.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_database_privileges... writing output: debug/cluster/test-tenant/crdb_internal.cluster_database_privileges.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_distsql_flows... writing output: debug/cluster/test-tenant/crdb_internal.cluster_distsql_flows.txt... done @@ -269,12 +266,12 @@ debug zip --concurrency=1 --cpu-profile-duration=1s /dev/null [node 1] requesting data for debug/cluster/test-tenant/nodes/1/gossip... received response... [node 1] requesting data for debug/cluster/test-tenant/nodes/1/gossip: last request failed: rpc error: ... [node 1] requesting data for debug/cluster/test-tenant/nodes/1/gossip: creating error output: debug/cluster/test-tenant/nodes/1/gossip.json.err.txt... done +[node 1] requesting data for debug/cluster/test-tenant/nodes/1/enginestats... received response... +[node 1] requesting data for debug/cluster/test-tenant/nodes/1/enginestats: last request failed: rpc error: ... +[node 1] requesting data for debug/cluster/test-tenant/nodes/1/enginestats: creating error output: debug/cluster/test-tenant/nodes/1/enginestats.json.err.txt... done [node 1] requesting stacks... received response... writing binary output: debug/cluster/test-tenant/nodes/1/stacks.txt... done [node 1] requesting stacks with labels... received response... writing binary output: debug/cluster/test-tenant/nodes/1/stacks_with_labels.txt... done [node 1] requesting heap profile... received response... writing binary output: debug/cluster/test-tenant/nodes/1/heap.pprof... done -[node 1] requesting engine stats... received response... -[node 1] requesting engine stats: last request failed: rpc error: ... -[node 1] requesting engine stats: creating error output: debug/cluster/test-tenant/nodes/1/lsm.txt.err.txt... done [node 1] requesting heap profile list... received response... [node 1] requesting heap profile list: last request failed: rpc error: ... [node 1] requesting heap profile list: creating error output: debug/cluster/test-tenant/nodes/1/heapprof.err.txt... done @@ -292,4 +289,3 @@ debug zip --concurrency=1 --cpu-profile-duration=1s /dev/null [cluster] pprof summary script... writing binary output: debug/cluster/test-tenant/pprof-summary.sh... done [cluster] hot range summary script... writing binary output: debug/cluster/test-tenant/hot-ranges.sh... done [cluster] tenant hot range summary script... writing binary output: debug/cluster/test-tenant/hot-ranges-tenant.sh... done -[cluster] capture debug zip flags... writing binary output: debug/cluster/test-tenant/debug_zip_command_flags.txt... done diff --git a/pkg/cli/testdata/zip/testzip_shared_process_virtualization_with_default_tenant b/pkg/cli/testdata/zip/testzip_shared_process_virtualization_with_default_tenant index c6e9c3ab3137..85edb57ddde8 100644 --- a/pkg/cli/testdata/zip/testzip_shared_process_virtualization_with_default_tenant +++ b/pkg/cli/testdata/zip/testzip_shared_process_virtualization_with_default_tenant @@ -18,7 +18,6 @@ debug zip --concurrency=1 --cpu-profile-duration=1s /dev/null [cluster] retrieving SQL data for "".crdb_internal.create_schema_statements... writing output: debug/crdb_internal.create_schema_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_statements... writing output: debug/crdb_internal.create_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_type_statements... writing output: debug/crdb_internal.create_type_statements.txt... done -[cluster] retrieving SQL data for "".crdb_internal.logical_replication_node_processors... writing output: debug/crdb_internal.logical_replication_node_processors.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_contention_events... writing output: debug/crdb_internal.cluster_contention_events.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_database_privileges... writing output: debug/crdb_internal.cluster_database_privileges.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_distsql_flows... writing output: debug/crdb_internal.cluster_distsql_flows.txt... done @@ -117,10 +116,10 @@ debug zip --concurrency=1 --cpu-profile-duration=1s /dev/null [node 1] retrieving SQL data for crdb_internal.node_txn_stats... writing output: debug/nodes/1/crdb_internal.node_txn_stats.txt... done [node 1] requesting data for debug/nodes/1/details... received response... writing JSON output: debug/nodes/1/details.json... done [node 1] requesting data for debug/nodes/1/gossip... received response... writing JSON output: debug/nodes/1/gossip.json... done +[node 1] requesting data for debug/nodes/1/enginestats... received response... writing JSON output: debug/nodes/1/enginestats.json... done [node 1] requesting stacks... received response... writing binary output: debug/nodes/1/stacks.txt... done [node 1] requesting stacks with labels... received response... writing binary output: debug/nodes/1/stacks_with_labels.txt... done [node 1] requesting heap profile... received response... writing binary output: debug/nodes/1/heap.pprof... done -[node 1] requesting engine stats... received response... writing binary output: debug/nodes/1/lsm.txt... done [node 1] requesting heap profile list... received response... done [node ?] ? heap profiles found [node 1] requesting goroutine dump list... received response... done @@ -134,7 +133,6 @@ debug zip --concurrency=1 --cpu-profile-duration=1s /dev/null [cluster] pprof summary script... writing binary output: debug/pprof-summary.sh... done [cluster] hot range summary script... writing binary output: debug/hot-ranges.sh... done [cluster] tenant hot range summary script... writing binary output: debug/hot-ranges-tenant.sh... done -[cluster] capture debug zip flags... writing binary output: debug/debug_zip_command_flags.txt... done [cluster] establishing RPC connection to ... [cluster] using SQL address: ... [cluster] requesting data for debug/cluster/test-tenant/events... received response... writing JSON output: debug/cluster/test-tenant/events.json... done @@ -152,7 +150,6 @@ debug zip --concurrency=1 --cpu-profile-duration=1s /dev/null [cluster] retrieving SQL data for "".crdb_internal.create_schema_statements... writing output: debug/cluster/test-tenant/crdb_internal.create_schema_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_statements... writing output: debug/cluster/test-tenant/crdb_internal.create_statements.txt... done [cluster] retrieving SQL data for "".crdb_internal.create_type_statements... writing output: debug/cluster/test-tenant/crdb_internal.create_type_statements.txt... done -[cluster] retrieving SQL data for "".crdb_internal.logical_replication_node_processors... writing output: debug/cluster/test-tenant/crdb_internal.logical_replication_node_processors.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_contention_events... writing output: debug/cluster/test-tenant/crdb_internal.cluster_contention_events.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_database_privileges... writing output: debug/cluster/test-tenant/crdb_internal.cluster_database_privileges.txt... done [cluster] retrieving SQL data for crdb_internal.cluster_distsql_flows... writing output: debug/cluster/test-tenant/crdb_internal.cluster_distsql_flows.txt... done @@ -269,12 +266,12 @@ debug zip --concurrency=1 --cpu-profile-duration=1s /dev/null [node 1] requesting data for debug/cluster/test-tenant/nodes/1/gossip... received response... [node 1] requesting data for debug/cluster/test-tenant/nodes/1/gossip: last request failed: rpc error: ... [node 1] requesting data for debug/cluster/test-tenant/nodes/1/gossip: creating error output: debug/cluster/test-tenant/nodes/1/gossip.json.err.txt... done +[node 1] requesting data for debug/cluster/test-tenant/nodes/1/enginestats... received response... +[node 1] requesting data for debug/cluster/test-tenant/nodes/1/enginestats: last request failed: rpc error: ... +[node 1] requesting data for debug/cluster/test-tenant/nodes/1/enginestats: creating error output: debug/cluster/test-tenant/nodes/1/enginestats.json.err.txt... done [node 1] requesting stacks... received response... writing binary output: debug/cluster/test-tenant/nodes/1/stacks.txt... done [node 1] requesting stacks with labels... received response... writing binary output: debug/cluster/test-tenant/nodes/1/stacks_with_labels.txt... done [node 1] requesting heap profile... received response... writing binary output: debug/cluster/test-tenant/nodes/1/heap.pprof... done -[node 1] requesting engine stats... received response... -[node 1] requesting engine stats: last request failed: rpc error: ... -[node 1] requesting engine stats: creating error output: debug/cluster/test-tenant/nodes/1/lsm.txt.err.txt... done [node 1] requesting heap profile list... received response... [node 1] requesting heap profile list: last request failed: rpc error: ... [node 1] requesting heap profile list: creating error output: debug/cluster/test-tenant/nodes/1/heapprof.err.txt... done @@ -292,4 +289,3 @@ debug zip --concurrency=1 --cpu-profile-duration=1s /dev/null [cluster] pprof summary script... writing binary output: debug/cluster/test-tenant/pprof-summary.sh... done [cluster] hot range summary script... writing binary output: debug/cluster/test-tenant/hot-ranges.sh... done [cluster] tenant hot range summary script... writing binary output: debug/cluster/test-tenant/hot-ranges-tenant.sh... done -[cluster] capture debug zip flags... writing binary output: debug/cluster/test-tenant/debug_zip_command_flags.txt... done diff --git a/pkg/cli/tsdump.go b/pkg/cli/tsdump.go index 112009308237..a865ee942e40 100644 --- a/pkg/cli/tsdump.go +++ b/pkg/cli/tsdump.go @@ -51,7 +51,6 @@ var debugTimeSeriesDumpOpts = struct { yaml string targetURL string ddApiKey string - ddSite string httpToken string }{ format: tsDumpText, @@ -61,30 +60,14 @@ var debugTimeSeriesDumpOpts = struct { yaml: "/tmp/tsdump.yaml", } -var ( - // each site in datadog has a different host name. ddSiteToHostMap - // holds the mapping of site name to the host name. - ddSiteToHostMap = map[string]string{ - "us1": "api.datadoghq.com", - "us3": "api.us3.datadoghq.com", - "us5": "api.us5.datadoghq.com", - "eu1": "api.datadoghq.eu", - "ap1": "api.ap1.datadoghq.com", - "us1-fed": "api.ddog-gov.com", - } - - targetURLFormat = "https://%s/api/v2/series" -) - var debugTimeSeriesDumpCmd = &cobra.Command{ Use: "tsdump", Short: "dump all the raw timeseries values in a cluster", Long: ` -Dumps all of the raw timeseries values in a cluster. If the supplied time range -is within the 'timeseries.storage.resolution_10s.ttl', metrics will be dumped -as it is with 10s resolution. If the time range extends outside of the TTL, the -timeseries downsampled to 30m resolution will be dumped for the time beyond -the TTL. +Dumps all of the raw timeseries values in a cluster. Only the default resolution +is retrieved, i.e. typically datapoints older than the value of the +'timeseries.storage.resolution_10s.ttl' cluster setting will be absent from the +output. When an input file is provided instead (as an argument), this input file must previously have been created with the --format=raw switch. The command @@ -100,13 +83,6 @@ will then convert it to the --format requested in the current invocation. convertFile = args[0] } - // validate the datadog site name & generate target url for datadog upload - host, ok := ddSiteToHostMap[debugTimeSeriesDumpOpts.ddSite] - if !ok { - return fmt.Errorf("unsupported datadog site '%s'", debugTimeSeriesDumpOpts.ddSite) - } - targetURL := fmt.Sprintf(targetURLFormat, host) - var w tsWriter switch debugTimeSeriesDumpOpts.format { case tsDumpRaw: @@ -133,7 +109,7 @@ will then convert it to the --format requested in the current invocation. case tsDumpDatadog: w = makeDatadogWriter( ctx, - targetURL, + "https://api.datadoghq.com/api/v2/series", false, /* init */ debugTimeSeriesDumpOpts.ddApiKey, 100, /* threshold */ @@ -142,7 +118,7 @@ will then convert it to the --format requested in the current invocation. case tsDumpDatadogInit: w = makeDatadogWriter( ctx, - targetURL, + "https://api.datadoghq.com/api/v2/series", true, /* init */ debugTimeSeriesDumpOpts.ddApiKey, 100, /* threshold */ @@ -177,9 +153,6 @@ will then convert it to the --format requested in the current invocation. StartNanos: time.Time(debugTimeSeriesDumpOpts.from).UnixNano(), EndNanos: time.Time(debugTimeSeriesDumpOpts.to).UnixNano(), Names: names, - Resolutions: []tspb.TimeSeriesResolution{ - tspb.TimeSeriesResolution_RESOLUTION_30M, tspb.TimeSeriesResolution_RESOLUTION_10S, - }, } tsClient := tspb.NewTimeSeriesClient(conn) @@ -355,7 +328,7 @@ type datadogWriter struct { targetURL string buffer bytes.Buffer series []DatadogSeries - uploadID string + timestamp int64 init bool apiKey string // namePrefix sets the string to prepend to all metric names. The @@ -376,7 +349,7 @@ func makeDatadogWriter( return &datadogWriter{ targetURL: targetURL, buffer: bytes.Buffer{}, - uploadID: newTsdumpUploadID(), + timestamp: timeutil.Now().Unix(), init: init, apiKey: apiKey, namePrefix: "crdb.tsdump.", // Default pre-set prefix to distinguish these uploads. @@ -385,18 +358,6 @@ func makeDatadogWriter( } } -var newTsdumpUploadID = func() string { - clusterTagValue := "" - if debugTimeSeriesDumpOpts.clusterLabel != "" { - clusterTagValue = debugTimeSeriesDumpOpts.clusterLabel - } else if serverCfg.ClusterName != "" { - clusterTagValue = serverCfg.ClusterName - } else { - clusterTagValue = fmt.Sprintf("cluster-debug-%d", timeutil.Now().Unix()) - } - return newUploadID(clusterTagValue) -} - // DatadogPoint is a single metric point in Datadog format type DatadogPoint struct { // Timestamp must be in seconds since Unix epoch. @@ -448,14 +409,18 @@ func (d *datadogWriter) Emit(data *tspb.TimeSeriesData) error { tags = append(tags, "job:cockroachdb") tags = append(tags, "region:local") + // Command values + clusterTag := "" if debugTimeSeriesDumpOpts.clusterLabel != "" { - tags = append(tags, makeDDTag("cluster_label", debugTimeSeriesDumpOpts.clusterLabel)) + clusterTag = fmt.Sprintf("cluster:%s", debugTimeSeriesDumpOpts.clusterLabel) + } else if serverCfg.ClusterName != "" { + clusterTag = fmt.Sprintf("cluster:%s", serverCfg.ClusterName) + } else { + clusterTag = fmt.Sprintf("cluster:cluster-debug-%d", d.timestamp) } - - tags = append(tags, makeDDTag(uploadIDTag, d.uploadID)) - + tags = append(tags, clusterTag) d.Do(func() { - fmt.Println("Upload ID:", d.uploadID) + fmt.Printf("Cluster label is set to: %s\n", clusterTag) }) sl := reCrStoreNode.FindStringSubmatch(data.Name) @@ -624,8 +589,6 @@ func (o *jsonWriter) Emit(data *tspb.TimeSeriesData) error { storeNodeKey += "_id" } out.Metric[storeNodeKey] = data.Source - // `instance` is used in dashboards to split data by node. - out.Metric["instance"] = data.Source name = sl[2] } diff --git a/pkg/cli/tsdump_test.go b/pkg/cli/tsdump_test.go index aedc262f0283..f749284aa050 100644 --- a/pkg/cli/tsdump_test.go +++ b/pkg/cli/tsdump_test.go @@ -24,7 +24,6 @@ import ( "strings" "testing" - "github.com/cockroachdb/cockroach/pkg/testutils" "github.com/cockroachdb/cockroach/pkg/ts/tspb" "github.com/cockroachdb/cockroach/pkg/util/leaktest" "github.com/cockroachdb/cockroach/pkg/util/log" @@ -152,9 +151,6 @@ func parseTSInput(t *testing.T, input string, w tsWriter) { func TestTsDumpFormatsDataDriven(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) - defer testutils.TestingHook(&newUploadID, func(cluster string) string { - return fmt.Sprintf("%s-1234", cluster) - })() datadriven.Walk(t, "testdata/tsdump", func(t *testing.T, path string) { datadriven.RunTest(t, path, func(t *testing.T, d *datadriven.TestData) string { diff --git a/pkg/cli/zip.go b/pkg/cli/zip.go index 1428f3ab9bc7..fe180523d332 100644 --- a/pkg/cli/zip.go +++ b/pkg/cli/zip.go @@ -64,23 +64,6 @@ type debugZipContext struct { sem semaphore.Semaphore } -var filterFlags = map[string]struct{}{ - "cert-principal-map": {}, - "certs-dir": {}, - "cluster-name": {}, - "disable-cluster-name-verification": {}, - "format": {}, - "host": {}, - "url": {}, - "enterprise-require-fips-ready": {}, - "log": {}, - "log-config-file": {}, - "log-config-vars": {}, - "log-dir": {}, - "logtostderr": {}, - "vmodule": {}, -} - func (zc *debugZipContext) runZipFn( ctx context.Context, s *zipReporter, fn func(ctx context.Context) error, ) error { @@ -112,8 +95,7 @@ func (zc *debugZipContext) runZipRequest(ctx context.Context, zr *zipReporter, r func (zc *debugZipContext) forAllNodes( ctx context.Context, nodesList *serverpb.NodesListResponse, - redactedNodesList *serverpb.NodesListResponse, - fn func(ctx context.Context, nodeDetails serverpb.NodeDetails, nodeStatus *statuspb.NodeStatus, redactedNodeDetails serverpb.NodeDetails) error, + fn func(ctx context.Context, nodeDetails serverpb.NodeDetails, nodeStatus *statuspb.NodeStatus) error, ) error { if nodesList == nil { // Nothing to do, return @@ -123,7 +105,7 @@ func (zc *debugZipContext) forAllNodes( // Sequential case. Simplify. for _, nodeDetails := range nodesList.Nodes { var nodeStatus *statuspb.NodeStatus - if err := fn(ctx, nodeDetails, nodeStatus, zc.getRedactedNodeDetails(redactedNodesList, nodeDetails.NodeID)); err != nil { + if err := fn(ctx, nodeDetails, nodeStatus); err != nil { return err } } @@ -147,7 +129,7 @@ func (zc *debugZipContext) forAllNodes( } defer zc.sem.Release(1) - nodeErrs <- fn(ctx, nodeDetails, nodeStatus, zc.getRedactedNodeDetails(redactedNodesList, nodeDetails.NodeID)) + nodeErrs <- fn(ctx, nodeDetails, nodeStatus) }(nodeDetails, nodeStatus) } wg.Wait() @@ -160,27 +142,6 @@ func (zc *debugZipContext) forAllNodes( return err } -// getRedactedNodeDetails finds out matching redacted node details using node Id. -// When we have a redacted nodelist response and unredacted nodelist response, -// there is no guarantee that the objects in the list are going to be in the same -// order by node Id. Hence, we are explicitly extracting the required object by node -// id. -func (zc *debugZipContext) getRedactedNodeDetails( - redactedNodesList *serverpb.NodesListResponse, nodeId int32, -) serverpb.NodeDetails { - if redactedNodesList == nil { - return serverpb.NodeDetails{} - } - - for i := range redactedNodesList.Nodes { - if redactedNodesList.Nodes[i].NodeID == nodeId { - return redactedNodesList.Nodes[i] - } - } - - return serverpb.NodeDetails{} -} - type nodeLivenesses = map[roachpb.NodeID]livenesspb.NodeLivenessStatus func runDebugZip(cmd *cobra.Command, args []string) (retErr error) { @@ -330,7 +291,7 @@ func runDebugZip(cmd *cobra.Command, args []string) (retErr error) { // For a SQL only server, the nodeList will be a list of SQL nodes // and livenessByNodeID is null. For a KV server, the nodeList will // be a list of KV nodes along with the corresponding node liveness data. - nodesList, redactedNodesList, livenessByNodeID, err := zc.collectClusterData(ctx) + nodesList, livenessByNodeID, err := zc.collectClusterData(ctx) if err != nil { return err } @@ -341,8 +302,8 @@ func runDebugZip(cmd *cobra.Command, args []string) (retErr error) { } // Collect the per-node data. - if err := zc.forAllNodes(ctx, nodesList, redactedNodesList, func(ctx context.Context, nodeDetails serverpb.NodeDetails, nodesStatus *statuspb.NodeStatus, redactedNodeDetails serverpb.NodeDetails) error { - return zc.collectPerNodeData(ctx, nodeDetails, nodesStatus, livenessByNodeID, redactedNodeDetails) + if err := zc.forAllNodes(ctx, nodesList, func(ctx context.Context, nodeDetails serverpb.NodeDetails, nodesStatus *statuspb.NodeStatus) error { + return zc.collectPerNodeData(ctx, nodeDetails, nodesStatus, livenessByNodeID) }); err != nil { return err } @@ -350,7 +311,7 @@ func runDebugZip(cmd *cobra.Command, args []string) (retErr error) { // Add a little helper script to draw attention to the existence of tags in // the profiles. { - s = zc.clusterPrinter.start("pprof summary script") + s := zc.clusterPrinter.start("pprof summary script") if err := z.createRaw(s, zc.prefix+"/pprof-summary.sh", []byte(`#!/bin/sh find . -name cpu.pprof -print0 | xargs -0 go tool pprof -tags `)); err != nil { @@ -360,7 +321,7 @@ find . -name cpu.pprof -print0 | xargs -0 go tool pprof -tags // A script to summarize the hottest ranges for a storage server's range reports. if zipCtx.includeRangeInfo { - s = zc.clusterPrinter.start("hot range summary script") + s := zc.clusterPrinter.start("hot range summary script") if err := z.createRaw(s, zc.prefix+"/hot-ranges.sh", []byte(`#!/bin/sh for stat in "queries" "writes" "reads" "write_bytes" "read_bytes" "cpu_time"; do echo "$stat" @@ -373,7 +334,7 @@ done // A script to summarize the hottest ranges for a tenant's range report. if zipCtx.includeRangeInfo { - s = zc.clusterPrinter.start("tenant hot range summary script") + s := zc.clusterPrinter.start("tenant hot range summary script") if err := z.createRaw(s, zc.prefix+"/hot-ranges-tenant.sh", []byte(`#!/bin/sh for stat in "queries" "writes" "reads" "write_bytes" "read_bytes" "cpu_time"; do echo "$stat"_per_second @@ -383,17 +344,6 @@ done return err } } - - s = zr.start("capture debug zip flags") - flags := getCLIClusterFlags(true, cmd, func(flag string) bool { - _, filter := filterFlags[flag] - return filter - }) - - if err := z.createRaw(s, zc.prefix+"/debug_zip_command_flags.txt", []byte(flags)); err != nil { - return err - } - return nil }(); err != nil { return err diff --git a/pkg/cli/zip_cluster_wide.go b/pkg/cli/zip_cluster_wide.go index a53b73406a5a..232606bce752 100644 --- a/pkg/cli/zip_cluster_wide.go +++ b/pkg/cli/zip_cluster_wide.go @@ -79,17 +79,12 @@ func makeClusterWideZipRequests( // occur once for the entire cluster. func (zc *debugZipContext) collectClusterData( ctx context.Context, -) ( - nodesList *serverpb.NodesListResponse, - nodesListRedacted *serverpb.NodesListResponse, - livenessByNodeID nodeLivenesses, - err error, -) { +) (nodesList *serverpb.NodesListResponse, livenessByNodeID nodeLivenesses, err error) { clusterWideZipRequests := makeClusterWideZipRequests(zc.admin, zc.status, zc.prefix) for _, r := range clusterWideZipRequests { if err := zc.runZipRequest(ctx, zc.clusterPrinter, r); err != nil { - return &serverpb.NodesListResponse{}, &serverpb.NodesListResponse{}, nil, err + return &serverpb.NodesListResponse{}, nil, err } } @@ -106,37 +101,29 @@ func (zc *debugZipContext) collectClusterData( return nil } if err := queryAndDumpTables(zipInternalTablesPerCluster); err != nil { - return &serverpb.NodesListResponse{}, &serverpb.NodesListResponse{}, nil, err + return &serverpb.NodesListResponse{}, nil, err } if err := queryAndDumpTables(zipSystemTables); err != nil { - return &serverpb.NodesListResponse{}, &serverpb.NodesListResponse{}, nil, err + return &serverpb.NodesListResponse{}, nil, err } { s := zc.clusterPrinter.start("requesting nodes") - var nodesStatus *serverpb.NodesResponse - err = zc.runZipFn(ctx, s, func(ctx context.Context) error { + err := zc.runZipFn(ctx, s, func(ctx context.Context) error { nodesList, err = zc.status.NodesList(ctx, &serverpb.NodesListRequest{}) - if err != nil { - return err - } - nodesStatus, err = zc.status.Nodes(ctx, &serverpb.NodesRequest{Redact: zipCtx.redact}) - if err != nil { - return err - } - nodesListRedacted, err = zc.status.NodesList(ctx, &serverpb.NodesListRequest{Redact: zipCtx.redact}) + nodesStatus, err = zc.status.Nodes(ctx, &serverpb.NodesRequest{}) return err }) if code := status.Code(errors.Cause(err)); code == codes.Unimplemented { - // running on non system tenant, use data from redacted NodesList() - if cErr := zc.z.createJSONOrError(s, debugBase+"/nodes.json", nodesListRedacted, err); cErr != nil { - return &serverpb.NodesListResponse{}, &serverpb.NodesListResponse{}, nil, cErr + // running on non system tenant, use data from NodesList() + if cErr := zc.z.createJSONOrError(s, debugBase+"/nodes.json", nodesList, err); cErr != nil { + return &serverpb.NodesListResponse{}, nil, cErr } } else { if cErr := zc.z.createJSONOrError(s, debugBase+"/nodes.json", nodesStatus, err); cErr != nil { - return &serverpb.NodesListResponse{}, &serverpb.NodesListResponse{}, nil, cErr + return &serverpb.NodesListResponse{}, nil, cErr } } @@ -144,9 +131,9 @@ func (zc *debugZipContext) collectClusterData( // In case the NodesList() RPC failed), we still want to inspect the // per-node endpoints on the head node. s = zc.clusterPrinter.start("retrieving the node status") - firstNodeDetails, err := zc.status.Details(ctx, &serverpb.DetailsRequest{NodeId: "local", Redact: zipCtx.redact}) + firstNodeDetails, err := zc.status.Details(ctx, &serverpb.DetailsRequest{NodeId: "local"}) if err != nil { - return &serverpb.NodesListResponse{}, &serverpb.NodesListResponse{}, nil, err + return &serverpb.NodesListResponse{}, nil, err } s.done() nodesList = &serverpb.NodesListResponse{ @@ -166,7 +153,7 @@ func (zc *debugZipContext) collectClusterData( return err }) if cErr := zc.z.createJSONOrError(s, zc.prefix+livenessName+".json", nodes, err); cErr != nil { - return &serverpb.NodesListResponse{}, &serverpb.NodesListResponse{}, nil, cErr + return &serverpb.NodesListResponse{}, nil, cErr } livenessByNodeID = map[roachpb.NodeID]livenesspb.NodeLivenessStatus{} if lresponse != nil { @@ -183,7 +170,7 @@ func (zc *debugZipContext) collectClusterData( return err }); requestErr != nil { if err := zc.z.createError(s, zc.prefix+tenantRangesName, requestErr); err != nil { - return &serverpb.NodesListResponse{}, &serverpb.NodesListResponse{}, nil, s.fail(err) + return &serverpb.NodesListResponse{}, nil, s.fail(err) } } else { s.done() @@ -197,7 +184,7 @@ func (zc *debugZipContext) collectClusterData( name := fmt.Sprintf("%s/%s/%s", zc.prefix, tenantRangesName, locality) s := zc.clusterPrinter.start(redact.Sprintf("writing tenant ranges for locality %s", locality)) if err := zc.z.createJSON(s, name+".json", rangeList.Ranges); err != nil { - return &serverpb.NodesListResponse{}, &serverpb.NodesListResponse{}, nil, s.fail(err) + return &serverpb.NodesListResponse{}, nil, s.fail(err) } sLocality.done() } @@ -211,12 +198,12 @@ func (zc *debugZipContext) collectClusterData( return zc.dumpTraceableJobTraces(ctx) }); requestErr != nil { if err := zc.z.createError(s, zc.prefix+"/jobs", requestErr); err != nil { - return &serverpb.NodesListResponse{}, &serverpb.NodesListResponse{}, nil, s.fail(err) + return &serverpb.NodesListResponse{}, nil, s.fail(err) } } else { s.done() } } - return nodesList, nodesListRedacted, livenessByNodeID, nil + return nodesList, livenessByNodeID, nil } diff --git a/pkg/cli/zip_cmd.go b/pkg/cli/zip_cmd.go index 82d815399b2c..4cb1d355c649 100644 --- a/pkg/cli/zip_cmd.go +++ b/pkg/cli/zip_cmd.go @@ -31,13 +31,3 @@ requires the cluster to be live. Args: cobra.ExactArgs(1), RunE: clierrorplus.MaybeDecorateError(runDebugZip), } - -// debugZipUploadCmd is a hidden command that uploads the generated debug.zip -// to datadog. This will not apprear in the help text of the zip command. -var debugZipUploadCmd = &cobra.Command{ - Use: "upload ", - Short: "upload the contents of the debug.zip to an observability platform", - Args: cobra.ExactArgs(1), - Hidden: true, - RunE: clierrorplus.MaybeDecorateError(runDebugZipUpload), -} diff --git a/pkg/cli/zip_per_node.go b/pkg/cli/zip_per_node.go index 2a89acb1a7fa..09af8c213f17 100644 --- a/pkg/cli/zip_per_node.go +++ b/pkg/cli/zip_per_node.go @@ -15,7 +15,6 @@ import ( "fmt" "net/url" "os" - "regexp" "sort" "strings" "sync" @@ -25,8 +24,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/cli/clisqlclient" "github.com/cockroachdb/cockroach/pkg/kv/kvserver/liveness/livenesspb" "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/rpc" - "github.com/cockroachdb/cockroach/pkg/server/debug" "github.com/cockroachdb/cockroach/pkg/server/serverpb" "github.com/cockroachdb/cockroach/pkg/server/status/statuspb" "github.com/cockroachdb/cockroach/pkg/util/log" @@ -35,26 +32,28 @@ import ( "github.com/cockroachdb/redact" ) -var redactedAddress = fmt.Sprintf("%s=%s", rpc.RemoteAddressTag, redact.RedactedMarker()) - -const regexpOfRemoteAddress = "[[:alnum:].:-]+" - // makePerNodeZipRequests defines the zipRequests (API requests) that are to be // performed once per node. func makePerNodeZipRequests(prefix, id string, status serverpb.StatusClient) []zipRequest { return []zipRequest{ { fn: func(ctx context.Context) (interface{}, error) { - return status.Details(ctx, &serverpb.DetailsRequest{NodeId: id, Redact: zipCtx.redact}) + return status.Details(ctx, &serverpb.DetailsRequest{NodeId: id}) }, pathName: prefix + "/details", }, { fn: func(ctx context.Context) (interface{}, error) { - return status.Gossip(ctx, &serverpb.GossipRequest{NodeId: id, Redact: zipCtx.redact}) + return status.Gossip(ctx, &serverpb.GossipRequest{NodeId: id}) }, pathName: prefix + "/gossip", }, + { + fn: func(ctx context.Context) (interface{}, error) { + return status.EngineStats(ctx, &serverpb.EngineStatsRequest{NodeId: id}) + }, + pathName: prefix + "/enginestats", + }, } } @@ -240,7 +239,6 @@ func (zc *debugZipContext) collectPerNodeData( nodeDetails serverpb.NodeDetails, nodeStatus *statuspb.NodeStatus, livenessByNodeID nodeLivenesses, - redactedNodeDetails serverpb.NodeDetails, ) error { nodeID := roachpb.NodeID(nodeDetails.NodeID) @@ -278,7 +276,7 @@ func (zc *debugZipContext) collectPerNodeData( return err } } else { - if err := zc.z.createJSON(nodePrinter.start("node status"), prefix+"/status.json", redactedNodeDetails); err != nil { + if err := zc.z.createJSON(nodePrinter.start("node status"), prefix+"/status.json", nodeDetails); err != nil { return err } } @@ -346,9 +344,6 @@ func (zc *debugZipContext) collectPerNodeData( } return err }) - if zipCtx.redact { - stacksDataWithLabels = redactStackTrace(stacksDataWithLabels) - } if err := zc.z.createRawOrError(s, prefix+"/stacks_with_labels.txt", stacksDataWithLabels, requestErr); err != nil { return err } @@ -373,21 +368,6 @@ func (zc *debugZipContext) collectPerNodeData( return err } - // Collect storage engine metrics using the same format as the /debug/lsm route. - var lsmStats string - s = nodePrinter.start("requesting engine stats") - requestErr = zc.runZipFn(ctx, s, - func(ctx context.Context) error { - resp, err := zc.status.EngineStats(ctx, &serverpb.EngineStatsRequest{NodeId: id}) - if err == nil { - lsmStats = debug.FormatLSMStats(resp.StatsByStoreId) - } - return err - }) - if err := zc.z.createRawOrError(s, prefix+"/lsm.txt", []byte(lsmStats), requestErr); err != nil { - return err - } - // Collect all relevant heap profiles. if err := zc.collectFileList(ctx, nodePrinter, id, prefix, serverpb.FileType_HEAP); err != nil { return err @@ -517,7 +497,7 @@ func (zc *debugZipContext) collectPerNodeData( s = nodePrinter.start("requesting ranges") if requestErr := zc.runZipFn(ctx, s, func(ctx context.Context) error { var err error - ranges, err = zc.status.Ranges(ctx, &serverpb.RangesRequest{NodeId: id, Redact: zipCtx.redact}) + ranges, err = zc.status.Ranges(ctx, &serverpb.RangesRequest{NodeId: id}) return err }); requestErr != nil { if err := zc.z.createError(s, prefix+"/ranges", requestErr); err != nil { @@ -539,12 +519,6 @@ func (zc *debugZipContext) collectPerNodeData( return nil } -func redactStackTrace(stacksDataWithLabels []byte) []byte { - re := regexp.MustCompile(fmt.Sprintf("%s=%s", rpc.RemoteAddressTag, regexpOfRemoteAddress)) - data := re.ReplaceAll(stacksDataWithLabels, []byte(redactedAddress)) - return data -} - func guessNodeURL(workingURL string, hostport string) clisqlclient.Conn { u, err := url.Parse(workingURL) if err != nil { diff --git a/pkg/cli/zip_per_node_test.go b/pkg/cli/zip_per_node_test.go deleted file mode 100644 index e5eb67297a89..000000000000 --- a/pkg/cli/zip_per_node_test.go +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Use of this software is governed by the Business Source License -// included in the file licenses/BSL.txt. -// -// As of the Change Date specified in that file, in accordance with -// the Business Source License, use of this software will be governed -// by the Apache License, Version 2.0, included in the file -// licenses/APL.txt. - -package cli - -import ( - "bytes" - "testing" - - "github.com/cockroachdb/cockroach/pkg/util/leaktest" - "github.com/stretchr/testify/require" -) - -func TestRedactStackTrace(t *testing.T) { - defer leaktest.AfterTest(t)() - tests := []struct { - log string - expectedRedactedLog string - }{ - {"labels: {\"tags\":\"n1,rnode=1,raddr=localhost:26257,class=default,rpc\"}", "labels: {\"tags\":\"n1,rnode=1,raddr=‹×›,class=default,rpc\"}"}, - {"labels: {\"tags\":\"n1,rnode=1,raddr=248.123.55.1:26257,class=default,rpc\"}", "labels: {\"tags\":\"n1,rnode=1,raddr=‹×›,class=default,rpc\"}"}, - {"labels: {\"tags\":\"n1,rnode=1,raddr=abc.def.com:78484,class=default,rpc\"}", "labels: {\"tags\":\"n1,rnode=1,raddr=‹×›,class=default,rpc\"}"}, - {"labels: {\"tags\":\"n1,rnode=1,raddr=0.0.0:26257\"}", "labels: {\"tags\":\"n1,rnode=1,raddr=‹×›\"}"}, - {"labels: {\"tags\":\"n1,rnode=1,raddr=2001:db8:3333:4444:5555:6666:7777:8888:78484,class=default,rpc\"}", "labels: {\"tags\":\"n1,rnode=1,raddr=‹×›,class=default,rpc\"}"}, - } - - for _, test := range tests { - redactedData := redactStackTrace([]byte(test.log)) - redactedDataStr := bytes.NewBuffer(redactedData).String() - require.Equal(t, test.expectedRedactedLog, redactedDataStr) - } -} diff --git a/pkg/cli/zip_table_registry.go b/pkg/cli/zip_table_registry.go index 1b9dca26ced0..ba16adff9cd0 100644 --- a/pkg/cli/zip_table_registry.go +++ b/pkg/cli/zip_table_registry.go @@ -339,17 +339,12 @@ var zipInternalTablesPerCluster = DebugZipTableRegistry{ `"".crdb_internal.cluster_replication_node_streams`: { nonSensitiveCols: NonSensitiveColumns{ "stream_id", - "consumer", + "consumer_id", "spans", "initial_ts", "prev_ts", "batches", "checkpoints", - "megabytes", - "produce_wait", - "emit_wait", - "last_produce_wait", - "last_emit_wait", "last_checkpoint", "rf_checkpoints", "rf_advances", @@ -361,39 +356,17 @@ var zipInternalTablesPerCluster = DebugZipTableRegistry{ `"".crdb_internal.cluster_replication_node_stream_spans`: { nonSensitiveCols: NonSensitiveColumns{ "stream_id", - "consumer", + "consumer_id", }, }, `"".crdb_internal.cluster_replication_node_stream_checkpoints`: { nonSensitiveCols: NonSensitiveColumns{ "stream_id", - "consumer", + "consumer_id", "resolved", "resolved_age", }, }, - `"".crdb_internal.logical_replication_node_processors`: { - nonSensitiveCols: NonSensitiveColumns{ - "stream_id", - "consumer", - "recv_wait", - "last_recv_wait", - "flush_count", - "flush_time", - "flush_kvs", - "flush_bytes", - "flush_batches", - "last_time", - "last_kvs", - "last_bytes", - "last_slowest", - "cur_time", - "cur_kvs_done", - "cur_kvs_todo", - "cur_batches", - "cur_slowest", - }, - }, "crdb_internal.default_privileges": { nonSensitiveCols: NonSensitiveColumns{ "database_name", @@ -489,32 +462,28 @@ var zipInternalTablesPerCluster = DebugZipTableRegistry{ "crdb_internal.kv_node_status": { // `env` column can contain sensitive node environment variable values, // such as AWS_ACCESS_KEY. - // Some fields are marked as `` because we want to redact hostname, ip address and other sensitive fields - // in the db dump files contained in debugzip - customQueryRedacted: `SELECT - "node_id", - "network", - '' as address, - "attrs", - "locality", - "server_version", - "go_version", - "tag", - "time", - "revision", - "cgo_compiler", - "platform", - "distribution", - "type", - "dependencies", - "started_at", - "updated_at", - "metrics", - '' as args, - '' as env, - "activity" - FROM crdb_internal.kv_node_status - `, + nonSensitiveCols: NonSensitiveColumns{ + "node_id", + "network", + "address", + "attrs", + "locality", + "server_version", + "go_version", + "tag", + "time", + "revision", + "cgo_compiler", + "platform", + "distribution", + "type", + "dependencies", + "started_at", + "updated_at", + "metrics", + "args", + "activity", + }, }, "crdb_internal.kv_store_status": { nonSensitiveCols: NonSensitiveColumns{ @@ -725,25 +694,10 @@ var zipInternalTablesPerNode = DebugZipTableRegistry{ "crdb_internal.gossip_nodes": { // `cluster_name` is hashed as we only care to see whether values are // identical across nodes. - // Some fields are marked as `` because we want to redact hostname, ip address and other sensitive fields - // in the db dump files contained in debugzip customQueryRedacted: `SELECT - node_id, - network, - '' as address, - '' as advertise_address, - sql_network, - '' as sql_address, - '' as advertise_sql_address, - attrs, - '' as locality, - fnv32(cluster_name) as cluster_name, - server_version, - build_tag, - started_at, - is_live, - ranges, - leases + node_id, network, address, advertise_address, sql_network, sql_address, + advertise_sql_address, attrs, locality, fnv32(cluster_name) as cluster_name, + server_version, build_tag, started_at, is_live, ranges, leases FROM crdb_internal.gossip_nodes`, }, "crdb_internal.leases": { @@ -816,7 +770,6 @@ var zipInternalTablesPerNode = DebugZipTableRegistry{ "priority", "retries", "exec_node_ids", - "kv_node_ids", "error_code", "crdb_internal.redact(last_error_redactable) as last_error_redactable", }, @@ -871,24 +824,12 @@ var zipInternalTablesPerNode = DebugZipTableRegistry{ }, }, "crdb_internal.node_runtime_info": { - // Some fields are marked as `` because we want to redact hostname, ip address and other sensitive fields - // in the db dump files contained in debugzip - customQueryRedacted: `SELECT * FROM ( - SELECT - "node_id", - "component", - "field", - "value" - FROM crdb_internal.node_runtime_info - WHERE field NOT IN ('URL', 'Host', 'URI') UNION - SELECT - "node_id", - "component", - "field", - '' AS value - FROM crdb_internal.node_runtime_info - WHERE field IN ('URL', 'Host', 'URI') - ) ORDER BY node_id`, + nonSensitiveCols: NonSensitiveColumns{ + "node_id", + "component", + "field", + "value", + }, }, "crdb_internal.node_sessions": { // `client_address` contains unredacted client IP addresses. @@ -981,8 +922,6 @@ var zipInternalTablesPerNode = DebugZipTableRegistry{ "sample_plan", "database_name", "exec_node_ids", - "kv_node_ids", - "used_follower_read", "txn_fingerprint_id", "index_recommendations", "latency_seconds_min", @@ -1109,22 +1048,24 @@ var zipInternalTablesPerNode = DebugZipTableRegistry{ }, } -// NB: The following system tables explicitly forbidden: -// - system.users: avoid downloading passwords. -// - system.web_sessions: avoid downloading active session tokens. -// - system.join_tokens: avoid downloading secret join keys. -// - system.comments: avoid downloading noise from SQL schema. -// - system.ui: avoid downloading noise from UI customizations. -// - system.zones: the contents of crdb_internal.zones is easier to use. -// - system.statement_bundle_chunks: avoid downloading a large table that's -// hard to interpret currently. -// - system.statement_statistics: historical data, usually too much to -// download. -// - system.transaction_statistics: ditto -// - system.statement_activity: ditto -// - system.transaction_activity: ditto -// -// A test makes this assertion in pkg/cli/zip_table_registry.go:TestNoForbiddenSystemTablesInDebugZip +/** + * NB: The following system tables explicitly forbidden: + * - system.users: avoid downloading passwords. + * - system.web_sessions: avoid downloading active session tokens. + * - system.join_tokens: avoid downloading secret join keys. + * - system.comments: avoid downloading noise from SQL schema. + * - system.ui: avoid downloading noise from UI customizations. + * - system.zones: the contents of crdb_internal.zones is easier to use. + * - system.statement_bundle_chunks: avoid downloading a large table that's + * hard to interpret currently. + * - system.statement_statistics: historical data, usually too much to + * download. + * - system.transaction_statistics: ditto + * - system.statement_activity: ditto + * - system.transaction_activity: ditto + * + * A test makes this assertion in pkg/cli/zip_table_registry.go:TestNoForbiddenSystemTablesInDebugZip + */ var zipSystemTables = DebugZipTableRegistry{ "system.database_role_settings": { nonSensitiveCols: NonSensitiveColumns{ @@ -1339,15 +1280,15 @@ var zipSystemTables = DebugZipTableRegistry{ "system.settings": { customQueryUnredacted: `SELECT * FROM system.settings`, customQueryRedacted: `SELECT * FROM ( - SELECT * - FROM system.settings - WHERE "valueType" <> 's' + SELECT * + FROM system.settings + WHERE "valueType" <> 's' ) UNION ( - SELECT name, '' as value, - "lastUpdated", - "valueType" - FROM system.settings - WHERE "valueType" = 's' + SELECT name, '' as value, + "lastUpdated", + "valueType" + FROM system.settings + WHERE "valueType" = 's' )`, }, "system.span_configurations": { @@ -1364,16 +1305,12 @@ var zipSystemTables = DebugZipTableRegistry{ }, }, "system.sql_instances": { - // Some fields are marked as `` because we want to redact hostname, ip address and other sensitive fields - // in the db dump files contained in debugzip - customQueryRedacted: `SELECT + nonSensitiveCols: NonSensitiveColumns{ "id", - '' as addr, + "addr", "session_id", - '' as locality, - '' as sql_addr - FROM system.sql_instances - `, + "locality", + }, }, // system.sql_stats_cardinality shows row counts for all of the system tables related to the SQL Stats // system, grouped by aggregated timestamp. None of this information is sensitive. It aids in escalations @@ -1434,7 +1371,6 @@ var zipSystemTables = DebugZipTableRegistry{ "sampling_probability", "plan_gist", "anti_plan_gist", - "redacted", }, }, // statement_statistics can have over 100k rows in just the last hour. diff --git a/pkg/cli/zip_table_registry_test.go b/pkg/cli/zip_table_registry_test.go index 1f88be28746a..5670b9036429 100644 --- a/pkg/cli/zip_table_registry_test.go +++ b/pkg/cli/zip_table_registry_test.go @@ -233,9 +233,6 @@ func TestNonSensitiveColumns(t *testing.T) { // in a system tenant. These would fail if pointed to a // secondary tenant. DefaultTestTenant: base.TestIsSpecificToStorageLayerAndNeedsASystemTenant, - //We are seeing certificate issue in CI test job. Hence,we are - //running cluster in insecure mode. - Insecure: true, }, }) defer cluster.Stopper().Stop(context.Background()) diff --git a/pkg/cli/zip_test.go b/pkg/cli/zip_test.go index 8d787efde096..3cb41d3770a3 100644 --- a/pkg/cli/zip_test.go +++ b/pkg/cli/zip_test.go @@ -98,11 +98,8 @@ table_name NOT IN ( 'kv_dropped_relations', 'kv_inherited_role_members', 'kv_flow_control_handles', - 'kv_flow_control_handles_v2', 'kv_flow_controller', - 'kv_flow_controller_v2', 'kv_flow_token_deductions', - 'kv_flow_token_deductions_v2', 'lost_descriptors_with_data', 'table_columns', 'table_row_statistics', @@ -124,8 +121,7 @@ table_name NOT IN ( 'transaction_statistics_persisted_v22_2', 'transaction_statistics', 'tenant_usage_details', - 'pg_catalog_table_is_implemented', - 'fully_qualified_names' + 'pg_catalog_table_is_implemented' ) ORDER BY name ASC`) assert.NoError(t, err) @@ -190,12 +186,6 @@ func TestZipQueryFallback(t *testing.T) { skip.UnderRace(t, "test too slow under race") existing := zipInternalTablesPerCluster["crdb_internal.transaction_contention_events"] - - // Avoid leaking configuration changes after the tests end. - defer func() { - zipInternalTablesPerCluster["crdb_internal.transaction_contention_events"] = existing - }() - zipInternalTablesPerCluster["crdb_internal.transaction_contention_events"] = TableRegistryConfig{ nonSensitiveCols: existing.nonSensitiveCols, // We want this to fail to trigger the fallback. @@ -228,37 +218,6 @@ func TestZipQueryFallback(t *testing.T) { }) } -// This tests the operation of redacted zip over secure clusters. -func TestZipRedacted(t *testing.T) { - defer leaktest.AfterTest(t)() - - skip.UnderRace(t, "test too slow under race") - - dir, cleanupFn := testutils.TempDir(t) - defer cleanupFn() - - c := NewCLITest(TestCLIParams{ - StoreSpecs: []base.StoreSpec{{ - Path: dir, - }}, - }) - defer c.Cleanup() - - out, err := c.RunWithCapture("debug zip --concurrency=1 --cpu-profile-duration=1s --redact " + os.DevNull) - if err != nil { - t.Fatal(err) - } - - // Strip any non-deterministic messages. - out = eraseNonDeterministicZipOutput(out) - - // We use datadriven simply to read the golden output file; we don't actually - // run any commands. Using datadriven allows TESTFLAGS=-rewrite. - datadriven.RunTest(t, datapathutils.TestDataPath(t, "zip", "testzip_redacted"), func(t *testing.T, td *datadriven.TestData) string { - return out - }) -} - // This tests the operation of zip using --include-goroutine-stacks. func TestZipIncludeGoroutineStacks(t *testing.T) { defer leaktest.AfterTest(t)() @@ -446,9 +405,6 @@ func TestZipSpecialNames(t *testing.T) { defer leaktest.AfterTest(t)() defer log.Scope(t).Close(t) - skip.UnderShort(t) - skip.UnderRace(t) - dir, cleanupFn := testutils.TempDir(t) defer cleanupFn() @@ -674,8 +630,6 @@ func eraseNonDeterministicZipOutput(out string) string { out = re.ReplaceAllString(out, `[node ?] ? goroutine dumps found`) re = regexp.MustCompile(`(?m)^\[node \d+\] \d+ cpu profiles found$`) out = re.ReplaceAllString(out, `[node ?] ? cpu profiles found`) - re = regexp.MustCompile(`(?m)^\[node \d+\] retrieving cpuprof.*$` + "\n") - out = re.ReplaceAllString(out, ``) re = regexp.MustCompile(`(?m)^\[node \d+\] \d+ log files found$`) out = re.ReplaceAllString(out, `[node ?] ? log files found`) re = regexp.MustCompile(`(?m)^\[node \d+\] retrieving (memprof|memstats|memmonitoring).*$` + "\n") @@ -1116,7 +1070,7 @@ func TestZipJobTrace(t *testing.T) { }) defer s.Stopper().Stop(context.Background()) blockCh := make(chan struct{}) - defer jobs.TestingRegisterConstructor(jobspb.TypeImport, + jobs.RegisterConstructor(jobspb.TypeImport, func(j *jobs.Job, _ *cluster.Settings) jobs.Resumer { return jobstest.FakeResumer{ OnResume: func(ctx context.Context) error { @@ -1124,7 +1078,7 @@ func TestZipJobTrace(t *testing.T) { return nil }, } - }, jobs.UsesTenantCostControl)() + }, jobs.UsesTenantCostControl) runner := sqlutils.MakeSQLRunner(sqlDB) dir, cleanupFn := testutils.TempDir(t) defer cleanupFn() @@ -1205,53 +1159,3 @@ func TestZipJobTrace(t *testing.T) { jobutils.WaitForJobToSucceed(t, runner, importJobID) jobutils.WaitForJobToSucceed(t, runner, importJobID2) } - -// This test the command flags values set during command execution. -func TestCommandFlags(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - - dir, cleanupFn := testutils.TempDir(t) - defer cleanupFn() - c := NewCLITest(TestCLIParams{ - StoreSpecs: []base.StoreSpec{{ - Path: dir, - }}, - }) - defer c.Cleanup() - - _, err := c.RunWithCapture("debug zip --concurrency=1 --cpu-profile-duration=0 --exclude-nodes=1" + - " --redact --nodes=1 --exclude-files=*.log --include-goroutine-stacks --include-running-job-traces " + dir + "/debug.zip") - if err != nil { - t.Fatal(err) - } - - r, err := zip.OpenReader(dir + "/debug.zip") - if err != nil { - t.Fatal(err) - } - - for _, f := range r.File { - if f.Name == "debug/debug_zip_command_flags.txt" { - rc, err := f.Open() - if err != nil { - t.Fatal(err) - } - defer rc.Close() - - actualFlags, err := io.ReadAll(rc) - if err != nil { - t.Fatal(err) - } - assert.Equal(t, " --concurrency=1 --cpu-profile-duration=0s --exclude-files=[*.log] --exclude-nodes=1"+ - " --include-goroutine-stacks=true --include-running-job-traces=true --insecure=false --nodes=1 --redact=true", - string(actualFlags)) - return - } - } - assert.Fail(t, "debug/debug_zip_command_flags.txt is not generated") - - if err = r.Close(); err != nil { - t.Fatal(err) - } -} diff --git a/pkg/cli/zip_upload.go b/pkg/cli/zip_upload.go deleted file mode 100644 index 31ee50698417..000000000000 --- a/pkg/cli/zip_upload.go +++ /dev/null @@ -1,832 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Use of this software is governed by the Business Source License -// included in the file licenses/BSL.txt. -// -// As of the Change Date specified in that file, in accordance with -// the Business Source License, use of this software will be governed -// by the Apache License, Version 2.0, included in the file -// licenses/APL.txt. - -package cli - -import ( - "bytes" - "compress/gzip" - "context" - "encoding/json" - "fmt" - "io" - "math/rand" - "mime/multipart" - "net/http" - "net/textproto" - "os" - "path" - "path/filepath" - "regexp" - "sort" - "strings" - "time" - - "cloud.google.com/go/storage" - "github.com/cockroachdb/cockroach/pkg/util/httputil" - "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/cockroach/pkg/util/log/logpb" - "github.com/cockroachdb/cockroach/pkg/util/syncutil" - "github.com/cockroachdb/cockroach/pkg/util/system" - "github.com/cockroachdb/cockroach/pkg/util/timeutil" - "github.com/cockroachdb/cockroach/pkg/util/uuid" - "github.com/cockroachdb/errors" - "github.com/spf13/cobra" - "golang.org/x/oauth2/google" - "google.golang.org/api/option" -) - -type profileUploadEvent struct { - Start string `json:"start"` - End string `json:"end"` - Attachments []string `json:"attachments"` - Tags string `json:"tags_profiler"` - Family string `json:"family"` - Version string `json:"version"` -} - -type uploadZipArtifactFunc func(ctx context.Context, uuid string, debugDirPath string) error - -const ( - // default flag values - defaultDDSite = "us5" - defaultGCPProjectID = "arjun-sandbox-424904" // TODO: change this project ID - - // datadog HTTP headers - datadogAPIKeyHeader = "DD-API-KEY" - datadogAppKeyHeader = "DD-APPLICATION-KEY" - - // the path pattern to search for specific artifacts in the debug zip directory - zippedProfilePattern = "nodes/*/*.pprof" - zippedLogsPattern = "nodes/*/logs/*" - - // this is not the pprof version, but the version of the profile - // upload format supported by datadog - profileVersion = "4" - profileFamily = "go" - - // names of mandatory tag - nodeIDTag = "node_id" - uploadIDTag = "upload_id" - clusterTag = "cluster" - - // datadog endpoint URLs - datadogProfileUploadURLTmpl = "https://intake.profile.%s/v1/input" - datadogCreateArchiveURLTmpl = "https://%s/api/v2/logs/config/archives" - - // datadog archive attributes - ddArchiveType = "archives" - ddArchiveDestinationType = "gcs" - ddArchiveQuery = "-*" // will make sure to not archive any live logs - ddArchiveBucketName = "debugzip-archives" - ddArchiveDefaultClient = "datadog-archive" // TODO(arjunmahishi): make this a flag also -) - -var debugZipUploadOpts = struct { - include []string - ddAPIKey string - ddAPPKey string - ddSite string - clusterName string - gcpProjectID string - tags []string - from, to timestampValue - logFormat string - maxConcurrentUploads int - reporter *zipUploadReporter -}{ - maxConcurrentUploads: system.NumCPU(), - reporter: newReporter(os.Stderr), -} - -// This is the list of all supported artifact types. The "possible values" part -// in the help text is generated from this list. So, make sure to keep this updated -// var zipArtifactTypes = []string{"profiles", "logs"} -// TODO(arjunmahishi): Removing the profiles upload for now. It has started -// failing for some reason. Will fix this later -var zipArtifactTypes = []string{"logs"} - -// uploadZipArtifactFuncs is a registry of handler functions for each artifact type. -// While adding/removing functions from here, make sure to update -// the zipArtifactTypes list as well -var uploadZipArtifactFuncs = map[string]uploadZipArtifactFunc{ - "profiles": uploadZipProfiles, - "logs": uploadZipLogs, -} - -// default datadog tags. Source has to be "cockroachdb" for the logs to be -// ingested correctly. This will make sure that the logs pass through the right -// pipeline which enriches the logs with more fields. -var defaultDDTags = []string{"service:CRDB-SH", "env:debug", "source:cockroachdb"} - -func runDebugZipUpload(cmd *cobra.Command, args []string) error { - if err := validateZipUploadReadiness(); err != nil { - return err - } - - // a unique ID for this upload session. This should be used to tag all the artifacts uploaded in this session - uploadID := newUploadID(debugZipUploadOpts.clusterName) - - // override the list of artifacts to upload if the user has provided any - artifactsToUpload := zipArtifactTypes - if len(debugZipUploadOpts.include) > 0 { - artifactsToUpload = debugZipUploadOpts.include - } - - // run the upload functions for each artifact type. This can run sequentially. - // All the concurrency is contained within the upload functions. - for _, artType := range artifactsToUpload { - if err := uploadZipArtifactFuncs[artType](cmd.Context(), uploadID, args[0]); err != nil { - // Log the error and continue with the next artifact - fmt.Printf("Failed to upload %s: %s\n", artType, err) - } - } - - fmt.Println("Upload ID:", uploadID) - return nil -} - -func validateZipUploadReadiness() error { - var ( - includeLookup = map[string]struct{}{} - artifactsToUpload = zipArtifactTypes - ) - - if len(debugZipUploadOpts.include) > 0 { - artifactsToUpload = debugZipUploadOpts.include - } - for _, inc := range artifactsToUpload { - if _, ok := includeLookup[inc]; ok { - // if the artifact type is already included, ignore the duplicate and - // continue - continue - } - - includeLookup[inc] = struct{}{} - } - - if debugZipUploadOpts.ddAPIKey == "" { - return fmt.Errorf("datadog API key is required for uploading profiles") - } - - if debugZipUploadOpts.clusterName == "" { - return fmt.Errorf("cluster name is required for uploading profiles") - } - - // validate the artifact types provided and fail early if any of them are not supported - for _, artType := range debugZipUploadOpts.include { - if _, ok := uploadZipArtifactFuncs[artType]; !ok { - return fmt.Errorf("unsupported artifact type '%s'", artType) - } - } - - // validate the datadog site name - if _, ok := ddSiteToHostMap[debugZipUploadOpts.ddSite]; !ok { - return fmt.Errorf("unsupported datadog site '%s'", debugZipUploadOpts.ddSite) - } - - // special validations when logs are to be uploaded - _, ok := log.FormatParsers[debugZipUploadOpts.logFormat] - _, shouldUploadLogs := includeLookup["logs"] - if shouldUploadLogs { - if !ok { - return fmt.Errorf("unsupported log format '%s'", debugZipUploadOpts.logFormat) - } - - if debugZipUploadOpts.ddAPPKey == "" { - return fmt.Errorf("datadog APP key is required for uploading logs") - } - } - - return nil -} - -func uploadZipProfiles(ctx context.Context, uploadID string, debugDirPath string) error { - paths, err := expandPatterns([]string{path.Join(debugDirPath, zippedProfilePattern)}) - if err != nil { - return err - } - - pathsByNode := make(map[string][]string) - for _, path := range paths { - nodeID := filepath.Base(filepath.Dir(path)) - if _, ok := pathsByNode[nodeID]; !ok { - pathsByNode[nodeID] = []string{} - } - - pathsByNode[nodeID] = append(pathsByNode[nodeID], path) - } - - for nodeID, paths := range pathsByNode { - req, err := newProfileUploadReq( - ctx, paths, appendUserTags( - append( - defaultDDTags, makeDDTag(nodeIDTag, nodeID), makeDDTag(uploadIDTag, uploadID), - makeDDTag(clusterTag, debugZipUploadOpts.clusterName), - ), // system generated tags - debugZipUploadOpts.tags..., // user provided tags - ), - ) - if err != nil { - return err - } - - if _, err := doUploadReq(req); err != nil { - return fmt.Errorf("failed to upload profiles of node %s: %w", nodeID, err) - } - - fmt.Fprintf(os.Stderr, "Uploaded profiles of node %s to datadog (%s)\n", nodeID, strings.Join(paths, ", ")) - fmt.Fprintf(os.Stderr, "Explore the profiles on datadog: "+ - "https://{{ datadog domain }}/profiling/explorer?query=%s:%s\n", uploadIDTag, uploadID) - } - - return nil -} - -func newProfileUploadReq( - ctx context.Context, profilePaths []string, tags []string, -) (*http.Request, error) { - var ( - body bytes.Buffer - mw = multipart.NewWriter(&body) - now = timeutil.Now() - event = &profileUploadEvent{ - Version: profileVersion, - Family: profileFamily, - Tags: strings.Join(tags, ","), - - // Ideally, we should be calculating the start and end times based on the - // timestamp encoded in the pprof file. But, datadog doesn't seem to - // support uploading profiles that are older than a certain period. So, we - // are using a 5-second window around the current time. - Start: now.Add(time.Second * -5).Format(time.RFC3339Nano), - End: now.Format(time.RFC3339Nano), - } - ) - - for _, profilePath := range profilePaths { - fileName := filepath.Base(profilePath) - event.Attachments = append(event.Attachments, fileName) - - f, err := mw.CreateFormFile(fileName, fileName) - if err != nil { - return nil, err - } - - data, err := os.ReadFile(profilePath) - if err != nil { - return nil, err - } - - if _, err := f.Write(data); err != nil { - return nil, err - } - } - - f, err := mw.CreatePart(textproto.MIMEHeader{ - httputil.ContentDispositionHeader: []string{`form-data; name="event"; filename="event.json"`}, - httputil.ContentTypeHeader: []string{httputil.JSONContentType}, - }) - if err != nil { - return nil, err - } - - if err := json.NewEncoder(f).Encode(event); err != nil { - return nil, err - } - - if err := mw.Close(); err != nil { - return nil, err - } - - req, err := http.NewRequestWithContext(ctx, http.MethodPost, makeDDURL(datadogProfileUploadURLTmpl), &body) - if err != nil { - return nil, err - } - - req.Header.Set(httputil.ContentTypeHeader, mw.FormDataContentType()) - req.Header.Set(datadogAPIKeyHeader, debugZipUploadOpts.ddAPIKey) - return req, nil -} - -func uploadZipLogs(ctx context.Context, uploadID string, debugDirPath string) error { - paths, err := expandPatterns([]string{path.Join(debugDirPath, zippedLogsPattern)}) - if err != nil { - return err - } - - filePattern := regexp.MustCompile(logFilePattern) - files, err := findLogFiles( - paths, filePattern, nil, groupIndex(filePattern, "program"), - ) - if err != nil { - return err - } - - // chunkMap holds the mapping of target path names to the chunks of log lines - chunkMap := make(map[string][][]byte) - firstEventTime, lastEventTime := time.Time{}, time.Time{} - gcsPathPrefix := path.Join(debugZipUploadOpts.clusterName, uploadID) - for _, file := range files { - pathParts := strings.Split(strings.TrimPrefix(file.path, debugDirPath), "/") - inputEditMode := log.SelectEditMode(false /* redactable */, false /* redactInput */) - stream, err := newFileLogStream( - file, time.Time(debugZipUploadOpts.from), time.Time(debugZipUploadOpts.to), - inputEditMode, debugZipUploadOpts.logFormat, - ) - if err != nil { - return err - } - - for e, ok := stream.peek(); ok; e, ok = stream.peek() { - if firstEventTime.IsZero() { - firstEventTime = timeutil.Unix(0, e.Time) // from the first log entry - } - lastEventTime = timeutil.Unix(0, e.Time) // from the last log entry - - // The target path is constructed like this: //dt=20210901/hour=15 - targetPath := path.Join( - gcsPathPrefix, timeutil.Unix(0, e.Time).Format("dt=20060102/hour=15"), - ) - rawLine, err := logEntryToJSON(e, appendUserTags( - append( - defaultDDTags, makeDDTag(uploadIDTag, uploadID), makeDDTag(nodeIDTag, pathParts[2]), - makeDDTag(clusterTag, debugZipUploadOpts.clusterName), - ), // system generated tags - debugZipUploadOpts.tags..., // user provided tags - )) - if err != nil { - return err - } - - if _, ok := chunkMap[targetPath]; !ok { - chunkMap[targetPath] = [][]byte{} - } - - // TODO(arjunmahishi): Can this map hold all the data? We might be able - // to start the upload here itself. So that we don't have to keep - // everything in memory. But since we are running this on our mac books - // for now, we can afford to keep everything in memory. - chunkMap[targetPath] = append(chunkMap[targetPath], rawLine) - stream.pop() - } - - if err := stream.error(); err != nil { - if err.Error() == "EOF" { - continue - } - return err - } - } - - if err := writeLogsToGCS(ctx, chunkMap); err != nil { - return err - } - - if err := setupDDArchive(ctx, gcsPathPrefix, uploadID); err != nil { - return errors.Wrap(err, "failed to setup datadog archive") - } - - printRehydrationSteps(uploadID, uploadID, firstEventTime, lastEventTime) - return nil -} - -type ddArchivePayload struct { - Type string `json:"type"` - Attributes ddArchiveAttributes `json:"attributes"` -} - -type ddArchiveAttributes struct { - Name string `json:"name"` - Query string `json:"query"` - Destination ddArchiveDestination `json:"destination"` -} - -type ddArchiveDestination struct { - Type string `json:"type"` - Path string `json:"path"` - Bucket string `json:"bucket"` - Integration ddArchiveIntegration `json:"integration"` -} - -type ddArchiveIntegration struct { - ProjectID string `json:"project_id"` - ClientEmail string `json:"client_email"` -} - -func setupDDArchive(ctx context.Context, pathPrefix, archiveName string) error { - rawPayload, err := json.Marshal(struct { - Data ddArchivePayload `json:"data"` - }{ - Data: ddArchivePayload{ - Type: ddArchiveType, - Attributes: ddArchiveAttributes{ - Name: archiveName, - Query: ddArchiveQuery, - Destination: ddArchiveDestination{ - Type: ddArchiveDestinationType, - Bucket: ddArchiveBucketName, - Path: pathPrefix, - Integration: ddArchiveIntegration{ - ProjectID: debugZipUploadOpts.gcpProjectID, - ClientEmail: fmt.Sprintf( - "%s@%s.iam.gserviceaccount.com", - ddArchiveDefaultClient, debugZipUploadOpts.gcpProjectID, - ), - }, - }, - }, - }, - }) - if err != nil { - return err - } - - req, err := http.NewRequestWithContext( - ctx, http.MethodPost, makeDDURL(datadogCreateArchiveURLTmpl), bytes.NewReader(rawPayload), - ) - if err != nil { - return err - } - - req.Header.Set(httputil.ContentTypeHeader, httputil.JSONContentType) - req.Header.Set(datadogAPIKeyHeader, debugZipUploadOpts.ddAPIKey) - req.Header.Set(datadogAppKeyHeader, debugZipUploadOpts.ddAPPKey) - - if _, err := doUploadReq(req); err != nil { - return fmt.Errorf("failed to create datadog archive: %w", err) - } - - return nil -} - -type gcsWorkerSig struct { - key string - data []byte -} - -// writeLogsToGCS is a function that concurrently writes the logs to GCS. -// The chunkMap is expected to be a map of time-base paths to luist of log lines. -// -// Example: { -// "dt=20210901/hour=15": [[]byte, []byte, ...], -// } -// -// Each path will be uploaded as a separate file. The final file name will be -// randomly generated just be for uploading. -var writeLogsToGCS = func(ctx context.Context, chunkMap map[string][][]byte) error { - gcsClient, closeGCSClient, err := newGCSClient(ctx) - if err != nil { - return err - } - defer closeGCSClient() - - // The concurrency can be easily managed with something like sync/errors.Group - // But using channels gives us two advantages: - // 1. We can fail fast i.e exit as soon as one upload fails - // 2. We can monitor the progress as the uploads happen and report it to the - // CLI user (this seem like a non-feature but this is super useful when the - // upload times are long) - workChan := make(chan gcsWorkerSig, len(chunkMap)) - doneChan := make(chan error, len(chunkMap)) - for key, lines := range chunkMap { - workChan <- gcsWorkerSig{key, bytes.Join(lines, []byte("\n"))} - } - - // we can aggressively schedule the number of workers. Because this is a - // network IO bound workload. We will be waiting for the GCS API to complete - // the upload most of the time - noOfWorkers := min(system.NumCPU()*4, len(chunkMap)) - for i := 0; i < noOfWorkers; i++ { - go func() { - for sig := range workChan { - filename := path.Join(sig.key, fmt.Sprintf( - "archive_%s_%s_%s.json.gz", - newRandStr(6, true /* numericOnly */), newRandStr(4, true), newRandStr(22, false), - )) - - objectWriter := gcsClient.Bucket(ddArchiveBucketName).Object(filename).NewWriter(ctx) - w := gzip.NewWriter(objectWriter) - _, err := w.Write(sig.data) - if err != nil { - doneChan <- err - return - } - - if err := w.Close(); err != nil { - doneChan <- err - return - } - - if err := objectWriter.Close(); err != nil { - doneChan <- err - return - } - - doneChan <- nil - } - }() - } - - report := newReporter(os.Stderr).newReport("logs") - doneCount := 0.0 - for i := 0; i < len(chunkMap); i++ { - if err := <-doneChan; err != nil { - // stop everything and return the error - close(workChan) - close(doneChan) - return err - } - - doneCount++ - report((doneCount / float64(len(chunkMap))) * 100) - } - - close(workChan) - close(doneChan) - return nil -} - -func newGCSClient(ctx context.Context) (*storage.Client, func(), error) { - tokenSource, err := google.DefaultTokenSource(ctx) - if err != nil { - return nil, nil, err - } - - gcsClient, err := storage.NewClient(ctx, option.WithTokenSource(tokenSource)) - if err != nil { - return nil, nil, err - } - - return gcsClient, func() { - // return a function that already handles the closing error - if err := gcsClient.Close(); err != nil { - fmt.Println(err) - } - }, nil -} - -type ddLogEntry struct { - logpb.Entry - - Date string `json:"date"` - Timestamp int64 `json:"timestamp"` - Channel string `json:"channel"` - Severity string `json:"severity"` - - // fields to be omitted - Message any `json:"message,omitempty"` - Time string `json:"time,omitempty"` - Tags string `json:"tags,omitempty"` -} - -// logEntryToJSON converts a logpb.Entry to a JSON byte slice and also -// transform a few fields to use the correct types. The JSON format is based on -// the specification provided by datadog. -// Refer: https://gist.github.com/ckelner/edc0e4efe4fa110f6b6b61f69d580171 -func logEntryToJSON(e logpb.Entry, tags []string) ([]byte, error) { - var message any = e.Message - if strings.HasPrefix(e.Message, "{") { - // If the message is already a JSON object, we don't want to escape it - // by wrapping it in quotes. Instead, we want to include it as a nested - // object in the final JSON output. So, we can override the Message field - // with the json.RawMessage instead of string. This will prevent the - // message from being escaped. - message = json.RawMessage(e.Message) - } - - date := timeutil.Unix(0, e.Time).Format(time.RFC3339) - timestamp := e.Time / 1e9 - - return json.Marshal(struct { - // override the following fields in the embedded logpb.Entry struct - Timestamp int64 `json:"timestamp"` - Date string `json:"date"` - Message any `json:"message"` - Tags []string `json:"tags"` - ID string `json:"_id"` - Attributes ddLogEntry `json:"attributes"` - }{ - Timestamp: timestamp, - Date: date, - Message: message, - Tags: tags, - ID: newRandStr(24, false /* numericOnly */), - Attributes: ddLogEntry{ - Entry: e, - Date: date, - Timestamp: timestamp, - Channel: e.Channel.String(), - Severity: e.Severity.String(), - - // remove the below fields via the omitempty tag - Time: "", - Tags: "", - }, - }) -} - -// appendUserTags will make sure there are no duplicates in the final list of tags. -// In case of duplicates, the user provided tags will take precedence. -func appendUserTags(systemTags []string, tags ...string) []string { - tagsMap := make(map[string]string) - for _, tag := range systemTags { - split := strings.Split(tag, ":") - if len(split) != 2 { - tagsMap[tag] = "" - continue - } - - tagsMap[split[0]] = split[1] - } - - for _, tag := range tags { - split := strings.Split(tag, ":") - if len(split) != 2 { - tagsMap[tag] = "" - continue - } - - tagsMap[split[0]] = split[1] - } - - var finalList []string - for key, value := range tagsMap { - if value == "" { - finalList = append(finalList, key) - continue - } - - finalList = append(finalList, fmt.Sprintf("%s:%s", key, value)) - } - - sort.Strings(finalList) - return finalList -} - -// makeDDTag is a simple convenience function to make a tag string in the key:value format. -// This is just to make the code more readable. -func makeDDTag(key, value string) string { - return fmt.Sprintf("%s:%s", key, value) -} - -// doUploadReq is a variable that holds the function that makes the actual HTTP request. -// There is also some error handling logic in this function. This is a variable so that -// we can mock this function in the tests. -var doUploadReq = func(req *http.Request) ([]byte, error) { - resp, err := http.DefaultClient.Do(req) - if err != nil { - return nil, err - } - - defer func() { - if err := resp.Body.Close(); err != nil { - fmt.Println("failed to close response body:", err) - } - }() - - rawBody, err := io.ReadAll(resp.Body) - if err != nil { - return nil, err - } - - // treat all non-2xx status codes as errors - if resp.StatusCode/100 != 2 { - return nil, fmt.Errorf("status code: %s, err message: %s", resp.Status, string(rawBody)) - } - - return rawBody, nil -} - -// a wrapper around uuid.MakeV4().String() to make the tests more deterministic. -// Everything is converted to lowercase and spaces are replaced with hyphens. Because, -// datadog will do this anyway and we want to make sure the UUIDs match when we generate the -// explore/dashboard links. -var newUploadID = func(cluster string) string { - return strings.ToLower( - strings.ReplaceAll( - fmt.Sprintf("%s-%s", cluster, uuid.NewV4().Short()), " ", "-", - ), - ) -} - -// newRandStr generates a random alphanumeric string of the given length. This is used -// for the _id field in the log entries and for the name of the archives -var newRandStr = func(length int, numericOnly bool) string { - charSet := "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" - if numericOnly { - charSet = "0123456789" - } - - r := rand.New(rand.NewSource(timeutil.Now().UnixNano())) - b := make([]byte, length) - for i := range b { - b[i] = charSet[r.Intn(len(charSet))] - } - return string(b) -} - -func printRehydrationSteps(uploadID, archiveName string, from, to time.Time) { - msg := ` -The logs have been added to an archive and are ready for rehydration (ingestion). This has to be -triggered manually for now. This will be automated as soon as the datadog API supports it. - -Follow these steps to trigger rehydration: - - 1. Open this link in your browser: https://us5.datadoghq.com/logs/pipelines/historical-views/add - 2. In "Select Time Range" section, select the time range from "%s" to "%s" or a subset of it - 3. In "Select Archive" section, select the archive "%s" - 4. In "Name Historical Index", enter the name "%s" - 5. Click on "Rehydrate From Archive" - -You will receive an email notification once the rehydration is complete. -` - - // Month data year - timeFormat := "Jan 2 2006" - from = from.Truncate(time.Hour) // round down to the nearest hour - to = to.Add(time.Hour).Truncate(time.Hour) // round up to the nearest hour - fmt.Fprintf( - os.Stderr, msg, from.Format(timeFormat), to.Format(timeFormat), archiveName, uploadID, - ) -} - -// makeDDURL constructe the final datadog URL by replacing the site -// placeholder in the template. This is a simple convenience -// function. It assumes that the site is valid. This assumption is -// fine because we are validating the site early on in the flow. -func makeDDURL(tmpl string) string { - return fmt.Sprintf(tmpl, ddSiteToHostMap[debugZipUploadOpts.ddSite]) -} - -// zipUploadReporter is a simple concurrency-safe logger that can be used to -// report the progress on the upload of each artifact type in the debug zip. -// The log printed by this is updated in-place as the progress changes. -// Usage pattern: -// -// reporter := newReporter(os.Stderr) -// report := reporter.newReport("profiles") -// report(50) // 50% progress -// report(75) // 50% progress -// report(100) // 100% progress -type zipUploadReporter struct { - syncutil.RWMutex - reports map[string]float64 - output string - logWriter io.Writer -} - -func (r *zipUploadReporter) print() { - r.RLock() - defer r.RUnlock() - - // move the cursor to the top - currentLines := strings.Count(r.output, "\n") - if currentLines > 0 { - fmt.Fprintf(r.logWriter, "\033[%dA", currentLines) - } - - reports := []string{} - for name := range r.reports { - reports = append(reports, name) - } - sort.Strings(reports) - - var outputBuilder strings.Builder - for _, name := range reports { - progress := r.reports[name] - outputBuilder.WriteString(fmt.Sprintf("%s upload progress: %.2f%%\n", name, progress)) - } - - r.output = outputBuilder.String() - fmt.Fprint(r.logWriter, r.output) -} - -func (r *zipUploadReporter) newReport(name string) func(float64) { - r.Lock() - defer r.print() - defer r.Unlock() - - r.reports[name] = 0 - return func(progress float64) { - r.Lock() - defer r.print() - defer r.Unlock() - - r.reports[name] = progress - } -} - -func newReporter(logWriter io.Writer) *zipUploadReporter { - return &zipUploadReporter{ - reports: make(map[string]float64), - logWriter: logWriter, - } -} diff --git a/pkg/cli/zip_upload_test.go b/pkg/cli/zip_upload_test.go deleted file mode 100644 index 36f56e0ccafe..000000000000 --- a/pkg/cli/zip_upload_test.go +++ /dev/null @@ -1,373 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Use of this software is governed by the Business Source License -// included in the file licenses/BSL.txt. -// -// As of the Change Date specified in that file, in accordance with -// the Business Source License, use of this software will be governed -// by the Apache License, Version 2.0, included in the file -// licenses/APL.txt. - -package cli - -import ( - "bytes" - "context" - "encoding/json" - "fmt" - "io" - "mime" - "mime/multipart" - "net/http" - "os" - "path" - "sort" - "strings" - "testing" - "time" - - "github.com/cockroachdb/cockroach/pkg/testutils" - "github.com/cockroachdb/cockroach/pkg/util/leaktest" - "github.com/cockroachdb/cockroach/pkg/util/log" - "github.com/cockroachdb/cockroach/pkg/util/log/logpb" - "github.com/cockroachdb/cockroach/pkg/util/uuid" - "github.com/cockroachdb/datadriven" - "github.com/google/pprof/profile" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" -) - -type zipUploadTestContents struct { - Nodes map[int]struct { - Profiles []uploadProfileReq `json:"profiles"` - Logs []uploadLogsReq `json:"logs"` - } `json:"nodes"` -} - -type uploadLogsReq struct { - Name string `json:"name"` - Lines []string `json:"lines"` -} - -type uploadProfileReq struct { - Type string `json:"type"` - Timestamp int64 `json:"timestamp"` - Duration int64 `json:"duration"` -} - -func setupZipDir(t *testing.T, inputs zipUploadTestContents) (string, func()) { - t.Helper() - - // make sure that the debug directory name is unique. Or the tests will be flaky. - debugDir := path.Join(os.TempDir(), fmt.Sprintf("debug-%s/", uuid.MakeV4().String())) - - for nodeID, nodeInputs := range inputs.Nodes { - // setup profiles - profDir := path.Join(debugDir, fmt.Sprintf("nodes/%d/", nodeID)) - require.NoError(t, os.MkdirAll(profDir, 0755)) - - for _, prof := range nodeInputs.Profiles { - p := &profile.Profile{ - TimeNanos: time.Unix(prof.Timestamp, 0).UnixNano(), - DurationNanos: prof.Duration, - SampleType: []*profile.ValueType{ - {Type: prof.Type}, - }, - } - - file, err := os.Create( - path.Join(profDir, fmt.Sprintf("%s.pprof", prof.Type)), - ) - require.NoError(t, err) - require.NoError(t, p.Write(file)) - require.NoError(t, file.Close()) - } - - // setup logs - logDir := path.Join(debugDir, fmt.Sprintf("nodes/%d/logs", nodeID)) - require.NoError(t, os.MkdirAll(logDir, 0755)) - - for _, log := range nodeInputs.Logs { - var logBuilder bytes.Buffer - for _, line := range log.Lines { - logBuilder.WriteString(line) - logBuilder.WriteString("\n") - } - - file, err := os.Create( - path.Join(logDir, log.Name), - ) - require.NoError(t, err) - - _, err = file.Write(logBuilder.Bytes()) - require.NoError(t, err) - require.NoError(t, file.Close()) - } - } - - return debugDir, func() { - require.NoError(t, os.RemoveAll(debugDir)) - } -} - -func TestUploadZipEndToEnd(t *testing.T) { - defer leaktest.AfterTest(t)() - defer log.Scope(t).Close(t) - defer testutils.TestingHook(&newUploadID, func(string) string { - return "123" - })() - defer testutils.TestingHook(&newRandStr, func(l int, n bool) string { - if n { - return "123" - } - return "a1b2c3" - })() - - defer testutils.TestingHook(&doUploadReq, - func(req *http.Request) ([]byte, error) { - defer req.Body.Close() - - switch req.URL.Path { - case "/v1/input": - return uploadProfileHook(t, req) - case "/api/v2/logs/config/archives": - return setupDDArchiveHook(t, req) - default: - return nil, fmt.Errorf( - "unexpected request is being made to datadog: %s", req.URL.Path, - ) - } - }, - )() - - defer testutils.TestingHook(&writeLogsToGCS, writeLogsToGCSHook)() - - datadriven.Walk(t, "testdata/upload", func(t *testing.T, path string) { - datadriven.RunTest(t, path, func(t *testing.T, d *datadriven.TestData) string { - c := NewCLITest(TestCLIParams{}) - defer c.Cleanup() - debugZipUploadOpts.include = nil - - var finaloutput bytes.Buffer - - var testInput zipUploadTestContents - require.NoError(t, json.Unmarshal([]byte(d.Input), &testInput)) - - var tags string - if d.HasArg("tags") { - d.ScanArgs(t, "tags", &tags) - tags = fmt.Sprintf("--tags=%s", tags) - } else { - debugZipUploadOpts.tags = nil - } - - clusterNameArg := "--cluster=ABC" - if d.HasArg("skip-cluster-name") { - debugZipUploadOpts.clusterName = "" - clusterNameArg = "" - } - - var includeFlag string // no include flag by default - switch d.Cmd { - case "upload-profiles": - includeFlag = "--include=profiles" - case "upload-logs": - var logFormat string - if d.HasArg("log-format") { - d.ScanArgs(t, "log-format", &logFormat) - } - - if logFormat == "" { - logFormat = "crdb-v1" - } - - includeFlag = fmt.Sprintf("--include=logs --log-format=%s", logFormat) - } - - debugDir, cleanup := setupZipDir(t, testInput) - defer cleanup() - - stdout, err := c.RunWithCapture(fmt.Sprintf( - "debug zip upload %s --dd-api-key=dd-api-key --dd-app-key=dd-app-key %s %s %s", - debugDir, tags, clusterNameArg, includeFlag, - )) - require.NoError(t, err) - - // also write the STDOUT output to the finaloutput buffer. So, both the - // API request made to Datadog and the STDOUT output are validated. - _, err = finaloutput.WriteString(stdout) - require.NoError(t, err) - - lines := strings.Split(finaloutput.String(), "\n") - // if d.Cmd == "upload-profiles" { - // sort the lines to avoid flakiness in the test - sort.Strings(lines) - // } - - // replace the debugDir with a constant string to avoid flakiness in the test - return strings.ReplaceAll(strings.TrimSpace(strings.Join(lines, "\n")), debugDir, "debugDir") - }) - }) -} - -func TestAppendUserTags(t *testing.T) { - defer leaktest.AfterTest(t)() - - tt := []struct { - name string - systemTags []string - userTags []string - expected []string - }{ - { - name: "no user tags", - systemTags: []string{"tag1:val1", "tag2:val2"}, - expected: []string{"tag1:val1", "tag2:val2"}, - }, - { - name: "no system tags", - userTags: []string{"tag1:val1", "tag2:val2"}, - expected: []string{"tag1:val1", "tag2:val2"}, - }, - { - name: "different sets of tags", - systemTags: []string{"A:1", "B:2"}, - userTags: []string{"C:3", "D:4"}, - expected: []string{"A:1", "B:2", "C:3", "D:4"}, - }, - { - name: "colliding tags", - systemTags: []string{"A:1", "B:2"}, - userTags: []string{"C:3", "A:4"}, - expected: []string{"A:4", "B:2", "C:3"}, - }, - { - name: "non-key-value tags given by the user", - systemTags: []string{"A:1", "B:2"}, - userTags: []string{"C:3", "ABC"}, - expected: []string{"A:1", "ABC", "B:2", "C:3"}, - }, - } - - for _, tc := range tt { - t.Run(tc.name, func(t *testing.T) { - assert.Equal(t, tc.expected, appendUserTags(tc.systemTags, tc.userTags...)) - }) - } -} - -func TestZipUploadArtifactTypes(t *testing.T) { - defer leaktest.AfterTest(t)() - - for _, artifactType := range zipArtifactTypes { - _, ok := uploadZipArtifactFuncs[artifactType] - assert.True( - t, ok, "Missing upload function for '%s'. Either add an upload function for this artifact type or remove it from the list.", - artifactType, - ) - } -} - -func uploadProfileHook(t *testing.T, req *http.Request) ([]byte, error) { - t.Helper() - - _, params, _ := mime.ParseMediaType(req.Header.Get("Content-Type")) - reader := multipart.NewReader(req.Body, params["boundary"]) - - // find the "event" part in the multipart request and copy it to the final output - for { - part, err := reader.NextPart() - if err == io.EOF { - break - } - - if part.FormName() == "event" { - var event profileUploadEvent - require.NoError(t, json.NewDecoder(part).Decode(&event)) - - if strings.Contains(event.Tags, "ERR") { - // this is a test to simulate a client error - return nil, fmt.Errorf("status: 400, body: 'runtime' is a required field") - } - - // validate the timestamps outside the data-driven test framework - // to keep the test deterministic. - start, err := time.Parse(time.RFC3339Nano, event.Start) - require.NoError(t, err) - - end, err := time.Parse(time.RFC3339Nano, event.End) - require.NoError(t, err) - - require.Equal(t, time.Second*5, end.Sub(start)) - event.Start = "" - event.End = "" - - // require.NoError(t, json.NewEncoder(&finaloutput).Encode(event)) - rawEvent, err := json.Marshal(event) - require.NoError(t, err) - - // print the event so that it gets captured as a part of RunWithCapture - fmt.Println(string(rawEvent)) - } - } - - return []byte("200 OK"), nil -} - -func setupDDArchiveHook(t *testing.T, req *http.Request) ([]byte, error) { - t.Helper() - - var body bytes.Buffer - _, err := body.ReadFrom(req.Body) - require.NoError(t, err) - - // print the request bidy so that it gets captured as a part of - // RunWithCapture - fmt.Println(body.String()) - return []byte("200 OK"), nil -} - -func writeLogsToGCSHook(ctx context.Context, chunkMap map[string][][]byte) error { - out := strings.Builder{} - for k, v := range chunkMap { - out.WriteString(fmt.Sprintf("%s:\n", k)) - for _, chunk := range v { - out.WriteString(fmt.Sprintf("%s\n", string(chunk))) - } - } - - // print the logs so that it gets captured as a part of RunWithCapture - fmt.Println(out.String()) - return nil -} - -func TestLogEntryToJSON(t *testing.T) { - defer leaktest.AfterTest(t)() - - // set the maxConcurrentUploads to 1 to avoid flakiness in the test - origConc := debugZipUploadOpts.maxConcurrentUploads - debugZipUploadOpts.maxConcurrentUploads = 1 - defer func() { - debugZipUploadOpts.maxConcurrentUploads = origConc - }() - - raw, err := logEntryToJSON(logpb.Entry{ - Severity: logpb.Severity_INFO, - Channel: logpb.Channel_STORAGE, - Time: time.Date(2024, time.August, 2, 0, 0, 0, 0, time.UTC).UnixNano(), - Message: "something happend", - }, []string{}) - require.NoError(t, err) - - t.Log(string(raw)) - - raw, err = logEntryToJSON(logpb.Entry{ - Severity: logpb.Severity_INFO, - Channel: logpb.Channel_STORAGE, - Time: time.Date(2024, time.August, 2, 0, 0, 0, 0, time.UTC).UnixNano(), - Message: `{"foo": "bar"}`, - }, []string{}) - require.NoError(t, err) - - t.Log(string(raw)) -} diff --git a/pkg/cloud/amazon/BUILD.bazel b/pkg/cloud/amazon/BUILD.bazel index e8823f410af8..b140afae3190 100644 --- a/pkg/cloud/amazon/BUILD.bazel +++ b/pkg/cloud/amazon/BUILD.bazel @@ -27,19 +27,16 @@ go_library( "//pkg/util/syncutil", "//pkg/util/timeutil", "//pkg/util/tracing", - "@com_github_aws_aws_sdk_go_v2//aws", - "@com_github_aws_aws_sdk_go_v2//aws/retry", - "@com_github_aws_aws_sdk_go_v2//aws/transport/http", - "@com_github_aws_aws_sdk_go_v2_config//:config", - "@com_github_aws_aws_sdk_go_v2_credentials//:credentials", - "@com_github_aws_aws_sdk_go_v2_credentials//stscreds", - "@com_github_aws_aws_sdk_go_v2_feature_s3_manager//:manager", - "@com_github_aws_aws_sdk_go_v2_service_kms//:kms", - "@com_github_aws_aws_sdk_go_v2_service_s3//:s3", - "@com_github_aws_aws_sdk_go_v2_service_s3//types", - "@com_github_aws_aws_sdk_go_v2_service_sts//:sts", - "@com_github_aws_smithy_go//:smithy-go", - "@com_github_aws_smithy_go//logging", + "@com_github_aws_aws_sdk_go//aws", + "@com_github_aws_aws_sdk_go//aws/awserr", + "@com_github_aws_aws_sdk_go//aws/client", + "@com_github_aws_aws_sdk_go//aws/credentials", + "@com_github_aws_aws_sdk_go//aws/credentials/stscreds", + "@com_github_aws_aws_sdk_go//aws/request", + "@com_github_aws_aws_sdk_go//aws/session", + "@com_github_aws_aws_sdk_go//service/kms", + "@com_github_aws_aws_sdk_go//service/s3", + "@com_github_aws_aws_sdk_go//service/s3/s3manager", "@com_github_cockroachdb_errors//:errors", "@com_github_cockroachdb_logtags//:logtags", "@io_opentelemetry_go_otel//attribute", @@ -61,15 +58,15 @@ go_test( "//pkg/cloud/cloudpb", "//pkg/cloud/cloudtestutils", "//pkg/security/username", + "//pkg/settings", "//pkg/settings/cluster", "//pkg/testutils", "//pkg/testutils/skip", "//pkg/util/leaktest", "@com_github_aws_aws_sdk_go//aws/awserr", + "@com_github_aws_aws_sdk_go//aws/credentials", "@com_github_aws_aws_sdk_go//aws/request", - "@com_github_aws_aws_sdk_go_v2_config//:config", - "@com_github_aws_aws_sdk_go_v2_service_s3//types", - "@com_github_aws_smithy_go//:smithy-go", + "@com_github_aws_aws_sdk_go//service/s3", "@com_github_cockroachdb_errors//:errors", "@com_github_stretchr_testify//require", ], diff --git a/pkg/cloud/amazon/aws_kms.go b/pkg/cloud/amazon/aws_kms.go index b64781a93988..04b13ac76f12 100644 --- a/pkg/cloud/amazon/aws_kms.go +++ b/pkg/cloud/amazon/aws_kms.go @@ -16,12 +16,11 @@ import ( "reflect" "strings" - "github.com/aws/aws-sdk-go-v2/aws" - "github.com/aws/aws-sdk-go-v2/config" - "github.com/aws/aws-sdk-go-v2/credentials" - "github.com/aws/aws-sdk-go-v2/credentials/stscreds" - "github.com/aws/aws-sdk-go-v2/service/kms" - "github.com/aws/aws-sdk-go-v2/service/sts" + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/credentials" + "github.com/aws/aws-sdk-go/aws/credentials/stscreds" + "github.com/aws/aws-sdk-go/aws/session" + "github.com/aws/aws-sdk-go/service/kms" "github.com/cockroachdb/cockroach/pkg/cloud" "github.com/cockroachdb/cockroach/pkg/settings" "github.com/cockroachdb/cockroach/pkg/util/log" @@ -36,7 +35,7 @@ const ( ) type awsKMS struct { - kms *kms.Client + kms *kms.KMS customerMasterKeyID string } @@ -129,41 +128,35 @@ func MakeAWSKMS(ctx context.Context, uri string, env cloud.KMSEnv) (cloud.KMS, e } region := kmsURIParams.region - if region == "" { - // TODO(adityamaru): Maybe use the KeyID to get the region, similar to how - // we infer the region from the bucket for s3_storage. - return nil, errors.New("aws kms REGION parameter not specified") - } - var loadOptions []func(options *config.LoadOptions) error - addLoadOption := func(option config.LoadOptionsFunc) { - loadOptions = append(loadOptions, option) - } - addLoadOption(config.WithLogger(newLogAdapter(ctx))) + awsConfig := &aws.Config{} + awsConfig.Logger = newLogAdapter(ctx) if kmsURIParams.verbose { - addLoadOption(config.WithClientLogMode(awsVerboseLogging)) + awsConfig.LogLevel = awsVerboseLogging } - var endpointURI string if kmsURIParams.endpoint != "" { if env.KMSConfig().DisableHTTP { return nil, errors.New( "custom endpoints disallowed for aws kms due to --aws-kms-disable-http flag") } - client, err := cloud.MakeHTTPClient(env.ClusterSettings(), cloud.NilMetrics, "aws", "KMS") - if err != nil { - return nil, err + awsConfig.Endpoint = &kmsURIParams.endpoint + if region == "" { + // TODO(adityamaru): Think about what the correct way to handle this + // situation is. + region = "default-region" } - addLoadOption(config.WithHTTPClient(client)) - endpointURI, err = constructEndpointURI(kmsURIParams.endpoint) + client, err := cloud.MakeHTTPClient(env.ClusterSettings(), cloud.NilMetrics, "aws", "KMS") if err != nil { return nil, err } + awsConfig.HTTPClient = client } // "specified": use credentials provided in URI params; error if not present. // "implicit": enable SharedConfig, which loads in credentials from environment. // Detailed in https://docs.aws.amazon.com/sdk-for-go/api/aws/session/ // "": default to `specified`. + opts := session.Options{} switch kmsURIParams.auth { case "", cloud.AuthParamSpecified: if kmsURIParams.accessKey == "" { @@ -182,47 +175,52 @@ func MakeAWSKMS(ctx context.Context, uri string, env cloud.KMSEnv) (cloud.KMS, e AWSSecretParam, ) } - addLoadOption(config.WithCredentialsProvider(aws.NewCredentialsCache( - credentials.NewStaticCredentialsProvider(kmsURIParams.accessKey, - kmsURIParams.secret, kmsURIParams.tempToken)))) + awsConfig.Credentials = credentials.NewStaticCredentials(kmsURIParams.accessKey, kmsURIParams.secret, kmsURIParams.tempToken) + case cloud.AuthParamImplicit: if env.KMSConfig().DisableImplicitCredentials { return nil, errors.New( "implicit credentials disallowed for s3 due to --external-io-disable-implicit-credentials flag") } - addLoadOption(config.WithSharedConfigProfile(config.DefaultSharedConfigProfile)) + opts.SharedConfigState = session.SharedConfigEnable default: return nil, errors.Errorf("unsupported value %s for %s", kmsURIParams.auth, cloud.AuthParam) } + opts.Config.MergeIn(awsConfig) - cfg, err := config.LoadDefaultConfig(ctx, loadOptions...) + sess, err := session.NewSessionWithOptions(opts) if err != nil { - return nil, cloud.KMSInaccessible(errors.Wrap(err, "could not initialize an aws config")) + return nil, cloud.KMSInaccessible(errors.Wrap(err, "new aws session")) } - cfg.Region = region if kmsURIParams.roleProvider != (roleProvider{}) { // If there are delegate roles in the assume-role chain, we create a session // for each role in order for it to fetch the credentials from the next role // in the chain. for _, delegateProvider := range kmsURIParams.delegateRoleProviders { - client := sts.NewFromConfig(cfg, func(options *sts.Options) { - if endpointURI != "" { - options.BaseEndpoint = aws.String(endpointURI) - } - }) - intermediateCreds := stscreds.NewAssumeRoleProvider(client, delegateProvider.roleARN, withExternalID(delegateProvider.externalID)) - cfg.Credentials = intermediateCreds - } + intermediateCreds := stscreds.NewCredentials(sess, delegateProvider.roleARN, withExternalID(delegateProvider.externalID)) + opts.Config.Credentials = intermediateCreds - client := sts.NewFromConfig(cfg, func(options *sts.Options) { - if endpointURI != "" { - options.BaseEndpoint = aws.String(endpointURI) + sess, err = session.NewSessionWithOptions(opts) + if err != nil { + return nil, cloud.KMSInaccessible(errors.Wrap(err, "session with intermediate credentials")) } - }) - creds := stscreds.NewAssumeRoleProvider(client, kmsURIParams.roleProvider.roleARN, withExternalID(kmsURIParams.roleProvider.externalID)) - cfg.Credentials = creds + } + + creds := stscreds.NewCredentials(sess, kmsURIParams.roleProvider.roleARN, withExternalID(kmsURIParams.roleProvider.externalID)) + opts.Config.Credentials = creds + sess, err = session.NewSessionWithOptions(opts) + if err != nil { + return nil, cloud.KMSInaccessible(errors.Wrap(err, "session with assume role credentials")) + } + } + + if region == "" { + // TODO(adityamaru): Maybe use the KeyID to get the region, similar to how + // we infer the region from the bucket for s3_storage. + return nil, errors.New("could not find the aws kms region") } + sess.Config.Region = aws.String(region) reuse := reuseKMSSession.Get(&env.ClusterSettings().SV) if reuse { @@ -235,11 +233,7 @@ func MakeAWSKMS(ctx context.Context, uri string, env cloud.KMSEnv) (cloud.KMS, e } kms := &awsKMS{ - kms: kms.NewFromConfig(cfg, func(options *kms.Options) { - if endpointURI != "" { - options.BaseEndpoint = aws.String(endpointURI) - } - }), + kms: kms.New(sess), customerMasterKeyID: kmsURIParams.customerMasterKeyID, } @@ -263,7 +257,7 @@ func (k *awsKMS) Encrypt(ctx context.Context, data []byte) ([]byte, error) { Plaintext: data, } - encryptOutput, err := k.kms.Encrypt(ctx, encryptInput) + encryptOutput, err := k.kms.Encrypt(encryptInput) if err != nil { return nil, cloud.KMSInaccessible(err) } @@ -278,7 +272,7 @@ func (k *awsKMS) Decrypt(ctx context.Context, data []byte) ([]byte, error) { CiphertextBlob: data, } - decryptOutput, err := k.kms.Decrypt(ctx, decryptInput) + decryptOutput, err := k.kms.Decrypt(decryptInput) if err != nil { return nil, cloud.KMSInaccessible(err) } diff --git a/pkg/cloud/amazon/aws_kms_test.go b/pkg/cloud/amazon/aws_kms_test.go index b70316be43b8..6d924a7a8d08 100644 --- a/pkg/cloud/amazon/aws_kms_test.go +++ b/pkg/cloud/amazon/aws_kms_test.go @@ -11,16 +11,22 @@ package amazon import ( "context" + "encoding/pem" "fmt" + "io" + "net/http" + "net/http/httptest" "net/url" "os" + "path/filepath" "strings" "testing" - "github.com/aws/aws-sdk-go-v2/config" + "github.com/aws/aws-sdk-go/aws/credentials" "github.com/cockroachdb/cockroach/pkg/base" "github.com/cockroachdb/cockroach/pkg/cloud" "github.com/cockroachdb/cockroach/pkg/cloud/cloudtestutils" + "github.com/cockroachdb/cockroach/pkg/settings" "github.com/cockroachdb/cockroach/pkg/settings/cluster" "github.com/cockroachdb/cockroach/pkg/testutils" "github.com/cockroachdb/cockroach/pkg/testutils/skip" @@ -41,10 +47,9 @@ func TestEncryptDecryptAWS(t *testing.T) { // If environment credentials are not present, we want to // skip all AWS KMS tests, including auth-implicit, even though // it is not used in auth-implicit. - envConfig, err := config.NewEnvConfig() - require.NoError(t, err) - if !envConfig.Credentials.HasKeys() { - skip.IgnoreLint(t, "No AWS credentials") + _, err := credentials.NewEnvCredentials().Get() + if err != nil { + skip.IgnoreLint(t, "Test only works with AWS credentials") } q := make(url.Values) @@ -96,11 +101,8 @@ func TestEncryptDecryptAWS(t *testing.T) { // in the AWS console, then set it up locally. // https://docs.aws.com/cli/latest/userguide/cli-configure-role.html // We only run this test if default role exists. - ctx := context.Background() - cfg, err := config.LoadDefaultConfig(ctx, - config.WithSharedConfigProfile(config.DefaultSharedConfigProfile)) - require.NoError(t, err) - _, err = cfg.Credentials.Retrieve(ctx) + credentialsProvider := credentials.SharedCredentialsProvider{} + _, err := credentialsProvider.Retrieve() if err != nil { skip.IgnoreLint(t, err) } @@ -134,10 +136,9 @@ func TestEncryptDecryptAWSAssumeRole(t *testing.T) { // If environment credentials are not present, we want to // skip all AWS KMS tests, including auth-implicit, even though // it is not used in auth-implicit. - envConfig, err := config.NewEnvConfig() - require.NoError(t, err) - if !envConfig.Credentials.HasKeys() { - skip.IgnoreLint(t, "No AWS credentials") + _, err := credentials.NewEnvCredentials().Get() + if err != nil { + skip.IgnoreLint(t, "Test only works with AWS credentials") } q := make(url.Values) @@ -177,11 +178,8 @@ func TestEncryptDecryptAWSAssumeRole(t *testing.T) { // in the AWS console, then set it up locally. // https://docs.aws.com/cli/latest/userguide/cli-configure-role.html // We only run this test if default role exists. - ctx := context.Background() - cfg, err := config.LoadDefaultConfig(ctx, - config.WithSharedConfigProfile(config.DefaultSharedConfigProfile)) - require.NoError(t, err) - _, err = cfg.Credentials.Retrieve(ctx) + credentialsProvider := credentials.SharedCredentialsProvider{} + _, err := credentialsProvider.Retrieve() if err != nil { skip.IgnoreLint(t, err) } @@ -231,6 +229,63 @@ func TestEncryptDecryptAWSAssumeRole(t *testing.T) { }) } +func TestKMSAgainstMockAWS(t *testing.T) { + defer leaktest.AfterTest(t)() + ctx := context.Background() + + // Setup a bogus credentials file so it doesn't try to use a metadata server. + tempDir, cleanup := testutils.TempDir(t) + defer cleanup() + credFile := filepath.Join(tempDir, "credentials") + require.NoError(t, os.Setenv("AWS_SHARED_CREDENTIALS_FILE", credFile)) + defer func() { + require.NoError(t, os.Unsetenv("AWS_SHARED_CREDENTIALS_FILE")) + }() + require.NoError(t, os.WriteFile(credFile, []byte(`[default] + aws_access_key_id = abc + aws_secret_access_key = xyz + `), 0644)) + + srv := httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + body, err := io.ReadAll(r.Body) + require.NoError(t, err) + defer r.Body.Close() + // Default to replying with static placeholder "ciphertext", unless req is + // a decrypt req, in which case send static "decrypted" plaintext resp. + resp := `{"CiphertextBlob": "dW51c2Vk"}` // "unused". + if strings.Contains(string(body), "Ciphertext") { + resp = `{"Plaintext": "aGVsbG8gd29ybGQ="}` // base64 for 'hello world' + } + _, err = w.Write([]byte(resp)) + require.NoError(t, err) + })) + defer srv.Close() + + tEnv := &cloud.TestKMSEnv{Settings: cluster.MakeTestingClusterSettings(), ExternalIOConfig: &base.ExternalIODirConfig{}} + + // Set the custom CA so testserver is trusted, and defer reset of it. + u := tEnv.Settings.MakeUpdater() + require.NoError(t, u.Set(ctx, "cloudstorage.http.custom_ca", settings.EncodedValue{ + Type: "s", Value: string(pem.EncodeToMemory(&pem.Block{Type: "CERTIFICATE", Bytes: srv.Certificate().Raw})), + })) + + t.Run("implicit", func(t *testing.T) { + q := url.Values{ + KMSRegionParam: []string{"r"}, AWSEndpointParam: []string{srv.URL}, + cloud.AuthParam: []string{"implicit"}, + } + cloud.KMSEncryptDecrypt(t, fmt.Sprintf("aws:///arn?%s", q.Encode()), tEnv) + }) + + t.Run("specified", func(t *testing.T) { + q := url.Values{ + KMSRegionParam: []string{"r"}, AWSEndpointParam: []string{srv.URL}, + AWSAccessKeyParam: []string{"k"}, AWSSecretParam: []string{"s"}, + } + cloud.KMSEncryptDecrypt(t, fmt.Sprintf("aws:///arn?%s", q.Encode()), tEnv) + }) +} + func TestPutAWSKMSEndpoint(t *testing.T) { defer leaktest.AfterTest(t)() ctx := context.Background() @@ -341,7 +396,7 @@ func TestAWSKMSInaccessibleError(t *testing.T) { q2.Set(AWSSecretParam, q.Get(AWSSecretParam)+"garbage") uri := fmt.Sprintf("%s:///%s?%s", awsKMSScheme, keyID, q2.Encode()) - cloudtestutils.RequireKMSInaccessibleErrorContaining(ctx, t, uri, "StatusCode: 400") + cloudtestutils.RequireKMSInaccessibleErrorContaining(ctx, t, uri, "status code: 400") }) t.Run("incorrect-kms", func(t *testing.T) { diff --git a/pkg/cloud/amazon/s3_storage.go b/pkg/cloud/amazon/s3_storage.go index 50235e31119b..04cd14362b98 100644 --- a/pkg/cloud/amazon/s3_storage.go +++ b/pkg/cloud/amazon/s3_storage.go @@ -21,18 +21,15 @@ import ( "strings" "time" - "github.com/aws/aws-sdk-go-v2/aws" - "github.com/aws/aws-sdk-go-v2/aws/retry" - awshttp "github.com/aws/aws-sdk-go-v2/aws/transport/http" - "github.com/aws/aws-sdk-go-v2/config" - "github.com/aws/aws-sdk-go-v2/credentials" - "github.com/aws/aws-sdk-go-v2/credentials/stscreds" - "github.com/aws/aws-sdk-go-v2/feature/s3/manager" - "github.com/aws/aws-sdk-go-v2/service/s3" - "github.com/aws/aws-sdk-go-v2/service/s3/types" - "github.com/aws/aws-sdk-go-v2/service/sts" - "github.com/aws/smithy-go" - "github.com/aws/smithy-go/logging" + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/credentials" + "github.com/aws/aws-sdk-go/aws/credentials/stscreds" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/session" + "github.com/aws/aws-sdk-go/service/s3" + "github.com/aws/aws-sdk-go/service/s3/s3manager" "github.com/cockroachdb/cockroach/pkg/base" "github.com/cockroachdb/cockroach/pkg/cloud" "github.com/cockroachdb/cockroach/pkg/cloud/cloudpb" @@ -85,8 +82,6 @@ const ( // scheme component of an S3 URI. scheme = "s3" - - checksumAlgorithm = types.ChecksumAlgorithmSha256 ) // NightlyEnvVarS3Params maps param keys that get added to an S3 @@ -119,9 +114,13 @@ type s3Storage struct { cached *s3Client } +var _ request.Retryer = &customRetryer{} + // customRetryer implements the `request.Retryer` interface and allows for // customization of the retry behaviour of an AWS client. -type customRetryer struct{} +type customRetryer struct { + client.DefaultRetryer +} // isErrReadConnectionReset returns true if the underlying error is a read // connection reset error. @@ -143,17 +142,15 @@ func isErrReadConnectionReset(err error) bool { return err != nil && strings.Contains(err.Error(), "read: connection reset") } -// IsErrorRetryable implements the retry.IsErrorRetryable interface. -func (sr *customRetryer) IsErrorRetryable(e error) aws.Ternary { - return aws.BoolTernary(isErrReadConnectionReset(e)) +// ShouldRetry implements the request.Retryer interface. +func (sr *customRetryer) ShouldRetry(r *request.Request) bool { + return sr.DefaultRetryer.ShouldRetry(r) || isErrReadConnectionReset(r.Error) } -var _ retry.IsErrorRetryable = &customRetryer{} - // s3Client wraps an SDK client and uploader for a given session. type s3Client struct { - client *s3.Client - uploader *manager.Uploader + client *s3.S3 + uploader *s3manager.Uploader } var reuseSession = settings.RegisterBoolSetting( @@ -491,8 +488,8 @@ type awsLogAdapter struct { ctx context.Context } -func (l *awsLogAdapter) Logf(_ logging.Classification, format string, v ...interface{}) { - log.Infof(l.ctx, format, v...) +func (l *awsLogAdapter) Log(vals ...interface{}) { + log.Infof(l.ctx, "s3: %s", fmt.Sprint(vals...)) } func newLogAdapter(ctx context.Context) *awsLogAdapter { @@ -501,26 +498,7 @@ func newLogAdapter(ctx context.Context) *awsLogAdapter { } } -var awsVerboseLogging = aws.LogRequestEventMessage | aws.LogResponseEventMessage | aws.LogRetries | aws.LogSigning - -func constructEndpointURI(endpoint string) (string, error) { - parsedURL, err := url.Parse(endpoint) - if err != nil { - return "", errors.Wrap(err, "error parsing URL") - } - - if parsedURL.Scheme != "" { - return parsedURL.String(), nil - } - // Input URL doesn't have a scheme, construct a new URL with a default - // scheme. - u := &url.URL{ - Scheme: "https", // Default scheme - Host: endpoint, - } - - return u.String(), nil -} +var awsVerboseLogging = aws.LogLevel(aws.LogDebugWithRequestRetries | aws.LogDebugWithRequestErrors) // newClient creates a client from the passed s3ClientConfig and if the passed // config's region is empty, used the passed bucket to determine a region and @@ -536,105 +514,95 @@ func newClient( defer sp.Finish() } - var loadOptions []func(options *config.LoadOptions) error - addLoadOption := func(option config.LoadOptionsFunc) { - loadOptions = append(loadOptions, option) - } + opts := session.Options{} - client, err := cloud.MakeHTTPClient(settings, metrics, "aws", conf.bucket) + httpClient, err := cloud.MakeHTTPClient(settings, metrics, "aws", conf.bucket) if err != nil { return s3Client{}, "", err } - addLoadOption(config.WithHTTPClient(client)) + opts.Config.HTTPClient = httpClient + + if conf.endpoint != "" { + opts.Config.Endpoint = aws.String(conf.endpoint) + opts.Config.S3ForcePathStyle = aws.Bool(true) + + if conf.region == "" { + conf.region = "default-region" + } + } // TODO(yevgeniy): Revisit retry logic. Retrying 10 times seems arbitrary. - retryMaxAttempts := 10 - addLoadOption(config.WithRetryMaxAttempts(retryMaxAttempts)) + opts.Config.MaxRetries = aws.Int(10) - addLoadOption(config.WithLogger(newLogAdapter(ctx))) + opts.Config.CredentialsChainVerboseErrors = aws.Bool(true) + + opts.Config.Logger = newLogAdapter(ctx) if conf.verbose { - addLoadOption(config.WithClientLogMode(awsVerboseLogging)) + opts.Config.LogLevel = awsVerboseLogging } - config.WithRetryer(func() aws.Retryer { - return retry.NewStandard(func(opts *retry.StandardOptions) { - opts.MaxAttempts = retryMaxAttempts - opts.Retryables = append(opts.Retryables, &customRetryer{}) - }) - }) + retryer := &customRetryer{ + DefaultRetryer: client.DefaultRetryer{ + NumMaxRetries: *opts.Config.MaxRetries, + }, + } + opts.Config.Retryer = retryer + + var sess *session.Session switch conf.auth { case "", cloud.AuthParamSpecified: - addLoadOption(config.WithCredentialsProvider( - aws.NewCredentialsCache(credentials.NewStaticCredentialsProvider(conf.accessKey, conf.secret, conf.tempToken)))) + sess, err = session.NewSessionWithOptions(opts) + if err != nil { + return s3Client{}, "", errors.Wrap(err, "new aws session") + } + sess.Config.Credentials = credentials.NewStaticCredentials(conf.accessKey, conf.secret, conf.tempToken) case cloud.AuthParamImplicit: - } - - cfg, err := config.LoadDefaultConfig(ctx, loadOptions...) - if err != nil { - return s3Client{}, "", errors.Wrap(err, "could not initialize an aws config") - } - - var endpointURI string - if conf.endpoint != "" { - var err error - endpointURI, err = constructEndpointURI(conf.endpoint) + opts.SharedConfigState = session.SharedConfigEnable + sess, err = session.NewSessionWithOptions(opts) if err != nil { - return s3Client{}, "", err + return s3Client{}, "", errors.Wrap(err, "new aws session") } } if conf.assumeRoleProvider.roleARN != "" { for _, delegateProvider := range conf.delegateRoleProviders { - client := sts.NewFromConfig(cfg, func(options *sts.Options) { - if endpointURI != "" { - options.BaseEndpoint = aws.String(endpointURI) - } - }) - intermediateCreds := stscreds.NewAssumeRoleProvider(client, delegateProvider.roleARN, withExternalID(delegateProvider.externalID)) - cfg.Credentials = aws.NewCredentialsCache(intermediateCreds) - } + intermediateCreds := stscreds.NewCredentials(sess, delegateProvider.roleARN, withExternalID(delegateProvider.externalID)) + opts.Config.Credentials = intermediateCreds - client := sts.NewFromConfig(cfg, func(options *sts.Options) { - if endpointURI != "" { - options.BaseEndpoint = aws.String(endpointURI) + sess, err = session.NewSessionWithOptions(opts) + if err != nil { + return s3Client{}, "", errors.Wrap(err, "session with intermediate credentials") } - }) + } - creds := stscreds.NewAssumeRoleProvider(client, conf.assumeRoleProvider.roleARN, withExternalID(conf.assumeRoleProvider.externalID)) - cfg.Credentials = creds + creds := stscreds.NewCredentials(sess, conf.assumeRoleProvider.roleARN, withExternalID(conf.assumeRoleProvider.externalID)) + opts.Config.Credentials = creds + sess, err = session.NewSessionWithOptions(opts) + if err != nil { + return s3Client{}, "", errors.Wrap(err, "session with assume role credentials") + } } region := conf.region if region == "" { - // Set a hint because we have no region specified, we will override this - // below once we get the actual bucket region. - cfg.Region = "us-east-1" if err := cloud.DelayedRetry(ctx, "s3manager.GetBucketRegion", s3ErrDelay, func() error { - region, err = manager.GetBucketRegion(ctx, s3.NewFromConfig(cfg, func(options *s3.Options) { - if endpointURI != "" { - options.BaseEndpoint = aws.String(endpointURI) - } - }), conf.bucket) + region, err = s3manager.GetBucketRegion(ctx, sess, conf.bucket, "us-east-1") return err }); err != nil { return s3Client{}, "", errors.Wrap(err, "could not find s3 bucket's region") } } - cfg.Region = region + sess.Config.Region = aws.String(region) - c := s3.NewFromConfig(cfg, func(options *s3.Options) { - if endpointURI != "" { - options.BaseEndpoint = aws.String(endpointURI) - } - }) - u := manager.NewUploader(c, func(uploader *manager.Uploader) { + c := s3.New(sess) + u := s3manager.NewUploader(sess, func(uploader *s3manager.Uploader) { uploader.PartSize = cloud.WriteChunkSize.Get(&settings.SV) }) return s3Client{client: c, uploader: u}, region, nil } -func (s *s3Storage) getClient(ctx context.Context) (*s3.Client, error) { +func (s *s3Storage) getClient(ctx context.Context) (*s3.S3, error) { if s.cached != nil { return s.cached.client, nil } @@ -648,7 +616,7 @@ func (s *s3Storage) getClient(ctx context.Context) (*s3.Client, error) { return client.client, nil } -func (s *s3Storage) getUploader(ctx context.Context) (*manager.Uploader, error) { +func (s *s3Storage) getUploader(ctx context.Context) (*s3manager.Uploader, error) { if s.cached != nil { return s.cached.uploader, nil } @@ -681,7 +649,7 @@ func (s *s3Storage) Settings() *cluster.Settings { type putUploader struct { b *bytes.Buffer - client *s3.Client + client *s3.S3 input *s3.PutObjectInput } @@ -691,8 +659,7 @@ func (u *putUploader) Write(p []byte) (int, error) { func (u *putUploader) Close() error { u.input.Body = bytes.NewReader(u.b.Bytes()) - // TODO(adityamaru): plumb a ctx through to close. - _, err := u.client.PutObject(context.Background(), u.input) + _, err := u.client.PutObject(u.input) return err } @@ -709,10 +676,9 @@ func (s *s3Storage) putUploader(ctx context.Context, basename string) (io.WriteC input: &s3.PutObjectInput{ Bucket: s.bucket, Key: aws.String(path.Join(s.prefix, basename)), - ServerSideEncryption: types.ServerSideEncryption(s.conf.ServerEncMode), + ServerSideEncryption: nilIfEmpty(s.conf.ServerEncMode), SSEKMSKeyId: nilIfEmpty(s.conf.ServerKMSID), - StorageClass: types.StorageClass(s.conf.StorageClass), - ChecksumAlgorithm: checksumAlgorithm, + StorageClass: nilIfEmpty(s.conf.StorageClass), }, client: client, }, nil @@ -734,14 +700,13 @@ func (s *s3Storage) Writer(ctx context.Context, basename string) (io.WriteCloser defer sp.Finish() // Upload the file to S3. // TODO(dt): test and tune the uploader parameters. - _, err := uploader.Upload(ctx, &s3.PutObjectInput{ + _, err := uploader.UploadWithContext(ctx, &s3manager.UploadInput{ Bucket: s.bucket, Key: aws.String(path.Join(s.prefix, basename)), Body: r, - ServerSideEncryption: types.ServerSideEncryption(s.conf.ServerEncMode), + ServerSideEncryption: nilIfEmpty(s.conf.ServerEncMode), SSEKMSKeyId: nilIfEmpty(s.conf.ServerKMSID), - StorageClass: types.StorageClass(s.conf.StorageClass), - ChecksumAlgorithm: checksumAlgorithm, + StorageClass: nilIfEmpty(s.conf.StorageClass), }) err = interpretAWSError(err) err = errors.Wrap(err, "upload failed") @@ -774,7 +739,7 @@ func (s *s3Storage) openStreamAt( req.Range = aws.String(fmt.Sprintf("bytes=%d-", pos)) } - out, err := client.GetObject(ctx, req) + out, err := client.GetObjectWithContext(ctx, req) if err != nil { err = interpretAWSError(err) if errors.Is(err, cloud.ErrFileDoesNotExist) { @@ -827,6 +792,7 @@ func (s *s3Storage) ReadFile( // so try a Size() request. x, err := s.Size(ctx, basename) if err != nil { + err = interpretAWSError(err) return nil, 0, errors.Wrap(err, "content-length missing from GetObject and Size() failed") } fileSize = x @@ -858,44 +824,47 @@ func (s *s3Storage) List(ctx context.Context, prefix, delim string, fn cloud.Lis return err } - var s3Input *s3.ListObjectsV2Input + var fnErr error + pageFn := func(page *s3.ListObjectsOutput, lastPage bool) bool { + for _, x := range page.CommonPrefixes { + if fnErr = fn(strings.TrimPrefix(*x.Prefix, dest)); fnErr != nil { + return false + } + } + for _, fileObject := range page.Contents { + if fnErr = fn(strings.TrimPrefix(*fileObject.Key, dest)); fnErr != nil { + return false + } + } + + return true + } + + var s3Input *s3.ListObjectsInput // Add an environment variable toggle for s3 storage to list prefixes with a // paging marker that's the prefix with an additional /. This allows certain // s3 clones which return s3:/// as the first result of listing // s3:// to exclude that result. if envutil.EnvOrDefaultBool("COCKROACH_S3_LIST_WITH_PREFIX_SLASH_MARKER", false) { - s3Input = &s3.ListObjectsV2Input{Bucket: s.bucket, Prefix: aws.String(dest), Delimiter: nilIfEmpty(delim), StartAfter: aws.String(dest + "/")} + s3Input = &s3.ListObjectsInput{Bucket: s.bucket, Prefix: aws.String(dest), Delimiter: nilIfEmpty(delim), Marker: aws.String(dest + "/")} } else { - s3Input = &s3.ListObjectsV2Input{Bucket: s.bucket, Prefix: aws.String(dest), Delimiter: nilIfEmpty(delim)} + s3Input = &s3.ListObjectsInput{Bucket: s.bucket, Prefix: aws.String(dest), Delimiter: nilIfEmpty(delim)} } - paginator := s3.NewListObjectsV2Paginator(client, s3Input) - for paginator.HasMorePages() { - page, err := paginator.NextPage(ctx) - if err != nil { - err = interpretAWSError(err) - err = errors.Wrap(err, `failed to list s3 bucket`) - // Mark with ctx's error for upstream code to not interpret this as - // corruption. - if ctx.Err() != nil { - err = errors.Mark(err, ctx.Err()) - } - return err - } - - for _, x := range page.CommonPrefixes { - if err := fn(strings.TrimPrefix(*x.Prefix, dest)); err != nil { - return err - } - } - - for _, fileObject := range page.Contents { - if err := fn(strings.TrimPrefix(*fileObject.Key, dest)); err != nil { - return err - } + if err := client.ListObjectsPagesWithContext( + ctx, s3Input, pageFn, + ); err != nil { + err = interpretAWSError(err) + err = errors.Wrap(err, `failed to list s3 bucket`) + // Mark with ctx's error for upstream code to not interpret this as + // corruption. + if ctx.Err() != nil { + err = errors.Mark(err, ctx.Err()) } + return err } - return nil + + return fnErr } // interpretAWSError attempts to surface safe information that otherwise would be redacted. @@ -917,19 +886,16 @@ func interpretAWSError(err error) error { err = errors.Wrap(err, "AccessDenied") } - var apiErr smithy.APIError - if errors.As(err, &apiErr) { - code := apiErr.ErrorCode() + if aerr := (awserr.Error)(nil); errors.As(err, &aerr) { + code := aerr.Code() if code != "" { // nolint:errwrap err = errors.Wrapf(err, "%v", code) - noSuchBucket := types.NoSuchBucket{} - noSuchKey := types.NoSuchKey{} switch code { // Relevant 404 errors reported by AWS. - case noSuchBucket.ErrorCode(), noSuchKey.ErrorCode(): + case s3.ErrCodeNoSuchBucket, s3.ErrCodeNoSuchKey: // nolint:errwrap err = errors.Wrapf( errors.Wrap(cloud.ErrFileDoesNotExist, "s3 object does not exist"), @@ -955,7 +921,7 @@ func (s *s3Storage) Delete(ctx context.Context, basename string) error { return timeutil.RunWithTimeout(ctx, "delete s3 object", cloud.Timeout.Get(&s.settings.SV), func(ctx context.Context) error { - _, err := client.DeleteObject(ctx, &s3.DeleteObjectInput{ + _, err := client.DeleteObjectWithContext(ctx, &s3.DeleteObjectInput{ Bucket: s.bucket, Key: aws.String(path.Join(s.prefix, basename)), }) @@ -977,7 +943,7 @@ func (s *s3Storage) Size(ctx context.Context, basename string) (int64, error) { cloud.Timeout.Get(&s.settings.SV), func(ctx context.Context) error { var err error - out, err = client.HeadObject(ctx, &s3.HeadObjectInput{ + out, err = client.HeadObjectWithContext(ctx, &s3.HeadObjectInput{ Bucket: s.bucket, Key: aws.String(path.Join(s.prefix, basename)), }) @@ -1008,20 +974,20 @@ func nilIfEmpty(s string) *string { } func s3ErrDelay(err error) time.Duration { - var re *awshttp.ResponseError - if errors.As(err, &re) { + var s3err s3.RequestFailure + if errors.As(err, &s3err) { // A 503 error could mean we need to reduce our request rate. Impose an // arbitrary slowdown in that case. // See http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html - if re.HTTPStatusCode() == 503 { + if s3err.StatusCode() == 503 { return time.Second * 5 } } return 0 } -func withExternalID(externalID string) func(p *stscreds.AssumeRoleOptions) { - return func(p *stscreds.AssumeRoleOptions) { +func withExternalID(externalID string) func(*stscreds.AssumeRoleProvider) { + return func(p *stscreds.AssumeRoleProvider) { if externalID != "" { p.ExternalID = aws.String(externalID) } diff --git a/pkg/cloud/amazon/s3_storage_test.go b/pkg/cloud/amazon/s3_storage_test.go index fc3741a82966..e8531f838899 100644 --- a/pkg/cloud/amazon/s3_storage_test.go +++ b/pkg/cloud/amazon/s3_storage_test.go @@ -18,11 +18,10 @@ import ( "strings" "testing" - "github.com/aws/aws-sdk-go-v2/config" - "github.com/aws/aws-sdk-go-v2/service/s3/types" "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/credentials" "github.com/aws/aws-sdk-go/aws/request" - "github.com/aws/smithy-go" + "github.com/aws/aws-sdk-go/service/s3" "github.com/cockroachdb/cockroach/pkg/base" "github.com/cockroachdb/cockroach/pkg/blobs" "github.com/cockroachdb/cockroach/pkg/cloud" @@ -61,38 +60,16 @@ func makeS3Storage( return s, nil } -// You can create an IAM that can access S3 in the AWS console, then -// set it up locally. -// https://docs.aws.com/cli/latest/userguide/cli-configure-role.html -// We only run the calling test if default role exists. -func skipIfNoDefaultConfig(t *testing.T, ctx context.Context) { - t.Helper() - const helpMsg = "we only run this test if a default role exists, " + - "refer to https://docs.aws.com/cli/latest/userguide/cli-configure-role.html" - config, err := config.LoadDefaultConfig(ctx, - config.WithSharedConfigProfile(config.DefaultSharedConfigProfile)) - if err != nil && err.Error() == "failed to get shared config profile, default" { - skip.IgnoreLintf(t, "%s: %s", helpMsg, err) - } - require.NoError(t, err) - _, err = config.Credentials.Retrieve(ctx) - if err != nil { - skip.IgnoreLintf(t, "%s: %s", helpMsg, err) - } -} - func TestPutS3(t *testing.T) { defer leaktest.AfterTest(t)() // If environment credentials are not present, we want to // skip all S3 tests, including auth-implicit, even though // it is not used in auth-implicit. - envConfig, err := config.NewEnvConfig() - require.NoError(t, err) - if !envConfig.Credentials.HasKeys() { + creds, err := credentials.NewEnvCredentials().Get() + if err != nil { skip.IgnoreLint(t, "No AWS credentials") } - envCreds := envConfig.Credentials baseBucket := os.Getenv("AWS_S3_BUCKET") if baseBucket == "" { skip.IgnoreLint(t, "AWS_S3_BUCKET env var must be set") @@ -129,7 +106,17 @@ func TestPutS3(t *testing.T) { )) }) t.Run("auth-implicit", func(t *testing.T) { - skipIfNoDefaultConfig(t, ctx) + // You can create an IAM that can access S3 + // in the AWS console, then set it up locally. + // https://docs.aws.com/cli/latest/userguide/cli-configure-role.html + // We only run this test if default role exists. + credentialsProvider := credentials.SharedCredentialsProvider{} + _, err := credentialsProvider.Retrieve() + if err != nil { + skip.IgnoreLintf(t, "we only run this test if a default role exists, "+ + "refer to https://docs.aws.com/cli/latest/userguide/cli-configure-role.html: %s", err) + } + cloudtestutils.CheckExportStore(t, fmt.Sprintf( "s3://%s/%s-%d?%s=%s", bucket, "backup-test-default", testID, @@ -140,7 +127,7 @@ func TestPutS3(t *testing.T) { }) t.Run("auth-specified", func(t *testing.T) { uri := S3URI(bucket, fmt.Sprintf("backup-test-%d", testID), - &cloudpb.ExternalStorage_S3{AccessKey: envCreds.AccessKeyID, Secret: envCreds.SecretAccessKey, Region: "us-east-1"}, + &cloudpb.ExternalStorage_S3{AccessKey: creds.AccessKeyID, Secret: creds.SecretAccessKey, Region: "us-east-1"}, ) cloudtestutils.CheckExportStore( t, uri, false, user, nil /* db */, testSettings, @@ -152,7 +139,17 @@ func TestPutS3(t *testing.T) { // Tests that we can put an object with server side encryption specified. t.Run("server-side-encryption", func(t *testing.T) { - skipIfNoDefaultConfig(t, ctx) + // You can create an IAM that can access S3 + // in the AWS console, then set it up locally. + // https://docs.aws.com/cli/latest/userguide/cli-configure-role.html + // We only run this test if default role exists. + credentialsProvider := credentials.SharedCredentialsProvider{} + _, err := credentialsProvider.Retrieve() + if err != nil { + skip.IgnoreLintf(t, "we only run this test if a default role exists, "+ + "refer to https://docs.aws.com/cli/latest/userguide/cli-configure-role.html: %s", err) + } + cloudtestutils.CheckExportStore(t, fmt.Sprintf( "s3://%s/%s-%d?%s=%s&%s=%s", bucket, "backup-test-sse-256", testID, @@ -182,7 +179,17 @@ func TestPutS3(t *testing.T) { }) t.Run("server-side-encryption-invalid-params", func(t *testing.T) { - skipIfNoDefaultConfig(t, ctx) + // You can create an IAM that can access S3 + // in the AWS console, then set it up locally. + // https://docs.aws.com/cli/latest/userguide/cli-configure-role.html + // We only run this test if default role exists. + credentialsProvider := credentials.SharedCredentialsProvider{} + _, err := credentialsProvider.Retrieve() + if err != nil { + skip.IgnoreLintf(t, "we only run this test if a default role exists, "+ + "refer to https://docs.aws.com/cli/latest/userguide/cli-configure-role.html: %s", err) + } + // Unsupported server side encryption option. invalidSSEModeURI := fmt.Sprintf( "s3://%s/%s?%s=%s&%s=%s", @@ -213,12 +220,10 @@ func TestPutS3AssumeRole(t *testing.T) { // If environment credentials are not present, we want to // skip all S3 tests, including auth-implicit, even though // it is not used in auth-implicit. - envConfig, err := config.NewEnvConfig() - require.NoError(t, err) - if !envConfig.Credentials.HasKeys() { + creds, err := credentials.NewEnvCredentials().Get() + if err != nil { skip.IgnoreLint(t, "No AWS credentials") } - creds := envConfig.Credentials bucket := os.Getenv("AWS_S3_BUCKET") if bucket == "" { skip.IgnoreLint(t, "AWS_S3_BUCKET env var must be set") @@ -234,9 +239,13 @@ func TestPutS3AssumeRole(t *testing.T) { if roleArn == "" { skip.IgnoreLint(t, "AWS_ASSUME_ROLE env var must be set") } - ctx := context.Background() t.Run("auth-implicit", func(t *testing.T) { - skipIfNoDefaultConfig(t, ctx) + credentialsProvider := credentials.SharedCredentialsProvider{} + _, err := credentialsProvider.Retrieve() + if err != nil { + skip.IgnoreLintf(t, "we only run this test if a default role exists, "+ + "refer to https://docs.aws.com/cli/latest/userguide/cli-configure-role.html: %s", err) + } uri := S3URI(bucket, testPath, &cloudpb.ExternalStorage_S3{Auth: cloud.AuthParamImplicit, RoleARN: roleArn, Region: "us-east-1"}, ) @@ -380,9 +389,8 @@ func TestS3DisallowCustomEndpoints(t *testing.T) { // including auth-implicit, even though it is not used in auth-implicit. // Without credentials, it's unclear if we can even communicate with an s3 // endpoint. - envConfig, err := config.NewEnvConfig() - require.NoError(t, err) - if !envConfig.Credentials.HasKeys() { + _, err := credentials.NewEnvCredentials().Get() + if err != nil { skip.IgnoreLint(t, "No AWS credentials") } @@ -404,9 +412,8 @@ func TestS3DisallowImplicitCredentials(t *testing.T) { // including auth-implicit, even though it is not used in auth-implicit. // Without credentials, it's unclear if we can even communicate with an s3 // endpoint. - envConfig, err := config.NewEnvConfig() - require.NoError(t, err) - if !envConfig.Credentials.HasKeys() { + _, err := credentials.NewEnvCredentials().Get() + if err != nil { skip.IgnoreLint(t, "No AWS credentials") } @@ -428,36 +435,35 @@ func TestS3DisallowImplicitCredentials(t *testing.T) { type awserror struct { error + orig error code, message string - fault smithy.ErrorFault } -var _ smithy.APIError = awserror{} +var _ awserr.Error = awserror{} -func (a awserror) ErrorCode() string { +func (a awserror) Code() string { return a.code } -func (a awserror) ErrorMessage() string { +func (a awserror) Message() string { return a.message } -func (a awserror) ErrorFault() smithy.ErrorFault { - return a.fault +func (a awserror) OrigErr() error { + return a.orig } func TestInterpretAWSCode(t *testing.T) { { // with code - err := types.BucketAlreadyOwnedByYou{} input := awserror{ error: errors.New("hello"), - code: err.ErrorCode(), + code: s3.ErrCodeBucketAlreadyOwnedByYou, } got := interpretAWSError(input) require.NotNil(t, got, "expected tryAWSCode to recognize an awserr.Error type") require.False(t, errors.Is(got, cloud.ErrFileDoesNotExist), "should not include cloud.ErrFileDoesNotExist in the error chain") - require.True(t, strings.Contains(got.Error(), err.ErrorCode()), "aws error code should be in the error chain") + require.True(t, strings.Contains(got.Error(), s3.ErrCodeBucketAlreadyOwnedByYou), "aws error code should be in the error chain") } { @@ -473,36 +479,34 @@ func TestInterpretAWSCode(t *testing.T) { { // with particular code - err := types.NoSuchBucket{} input := awserror{ error: errors.New("hello"), - code: err.ErrorCode(), + code: s3.ErrCodeNoSuchBucket, } got := interpretAWSError(input) require.NotNil(t, got, "expected tryAWSCode to regognize awserr.Error") require.True(t, errors.Is(got, cloud.ErrFileDoesNotExist), "expected cloud.ErrFileDoesNotExist in the error chain") - require.True(t, strings.Contains(got.Error(), err.ErrorCode()), "aws error code should be in the error chain") + require.True(t, strings.Contains(got.Error(), s3.ErrCodeNoSuchBucket), "aws error code should be in the error chain") } { // with keywords and code - err := types.ObjectNotInActiveTierError{} input := awserror{ error: errors.New("‹AccessDenied: User: arn:aws:sts::12345:assumed-role/12345 is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::12345›"), - code: err.ErrorCode(), + code: s3.ErrCodeObjectAlreadyInActiveTierError, } got := interpretAWSError(input) require.NotNil(t, got, "expected interpretAWSError to recognize keywords") require.True(t, strings.Contains(got.Error(), "AccessDenied"), "expected to see AccessDenied in error chain") require.True(t, strings.Contains(got.Error(), "AssumeRole"), "expected to see AssumeRole in error chain") - require.True(t, strings.Contains(got.Error(), err.ErrorCode()), "aws error code should be in the error chain") + require.True(t, strings.Contains(got.Error(), s3.ErrCodeObjectAlreadyInActiveTierError), "aws error code should be in the error chain") require.True(t, strings.Contains(got.Error(), "12345"), "SDK error should appear in the error chain") // the keywords and code should come through while the original got redacted redacted := errors.Redact(got) require.True(t, strings.Contains(got.Error(), "AccessDenied"), "expected to see AccessDenied in error chain after redaction") require.True(t, strings.Contains(got.Error(), "AssumeRole"), "expected to see AssumeRole in error chain after redaction") - require.True(t, strings.Contains(got.Error(), err.ErrorCode()), "aws error code should be in the error chain after redaction") + require.True(t, strings.Contains(got.Error(), s3.ErrCodeObjectAlreadyInActiveTierError), "aws error code should be in the error chain after redaction") require.False(t, strings.Contains(redacted, "12345"), "SDK error should have been redacted") } @@ -531,9 +535,12 @@ func TestS3BucketDoesNotExist(t *testing.T) { testSettings := cluster.MakeTestingClusterSettings() - ctx := context.Background() - skipIfNoDefaultConfig(t, ctx) - + credentialsProvider := credentials.SharedCredentialsProvider{} + _, err := credentialsProvider.Retrieve() + if err != nil { + skip.IgnoreLintf(t, "we only run this test if a default role exists, "+ + "refer to https://docs.aws.com/cli/latest/userguide/cli-configure-role.html: %s", err) + } q := make(url.Values) q.Add(cloud.AuthParam, cloud.AuthParamImplicit) q.Add(S3RegionParam, "us-east-1") @@ -547,6 +554,7 @@ func TestS3BucketDoesNotExist(t *testing.T) { RawQuery: q.Encode(), } + ctx := context.Background() user := username.RootUserName() conf, err := cloud.ExternalStorageConfFromURI(u.String(), user) @@ -583,9 +591,8 @@ func TestAntagonisticS3Read(t *testing.T) { // including auth-implicit, even though it is not used in auth-implicit. // Without credentials, it's unclear if we can even communicate with an s3 // endpoint. - envConfig, err := config.NewEnvConfig() - require.NoError(t, err) - if !envConfig.Credentials.HasKeys() { + _, err := credentials.NewEnvCredentials().Get() + if err != nil { skip.IgnoreLint(t, "No AWS credentials") } @@ -612,9 +619,8 @@ func TestNewClientErrorsOnBucketRegion(t *testing.T) { // including auth-implicit, even though it is not used in auth-implicit. // Without credentials, it's unclear if we can even communicate with an s3 // endpoint. - envConfig, err := config.NewEnvConfig() - require.NoError(t, err) - if !envConfig.Credentials.HasKeys() { + _, err := credentials.NewEnvCredentials().Get() + if err != nil { skip.IgnoreLint(t, "No AWS credentials") } @@ -633,9 +639,8 @@ func TestNewClientErrorsOnBucketRegion(t *testing.T) { func TestReadFileAtReturnsSize(t *testing.T) { defer leaktest.AfterTest(t)() - envConfig, err := config.NewEnvConfig() - require.NoError(t, err) - if !envConfig.Credentials.HasKeys() { + _, err := credentials.NewEnvCredentials().Get() + if err != nil { skip.IgnoreLint(t, "No AWS credentials") } diff --git a/pkg/cloud/cloudcheck/cloudcheck_processor.go b/pkg/cloud/cloudcheck/cloudcheck_processor.go index 62b5369eac84..f346afdce8e5 100644 --- a/pkg/cloud/cloudcheck/cloudcheck_processor.go +++ b/pkg/cloud/cloudcheck/cloudcheck_processor.go @@ -238,8 +238,8 @@ func (p *proc) Next() (rowenc.EncDatumRow, *execinfrapb.ProducerMetadata) { return nil, p.DrainHelper() } return rowenc.EncDatumRow{ - rowenc.DatumToEncDatum(types.Int, tree.NewDInt(tree.DInt(p.FlowCtx.EvalCtx.NodeID.SQLInstanceID()))), - rowenc.DatumToEncDatum(types.String, tree.NewDString(p.FlowCtx.EvalCtx.Locality.String())), + rowenc.DatumToEncDatum(types.Int, tree.NewDInt(tree.DInt(p.EvalCtx.NodeID.SQLInstanceID()))), + rowenc.DatumToEncDatum(types.String, tree.NewDString(p.EvalCtx.Locality.String())), rowenc.DatumToEncDatum(types.Bool, tree.MakeDBool(tree.DBool(res.ok))), rowenc.DatumToEncDatum(types.String, tree.NewDString(res.error)), rowenc.DatumToEncDatum(types.Int, tree.NewDInt(tree.DInt(res.readBytes))), diff --git a/pkg/cloud/externalconn/connection.go b/pkg/cloud/externalconn/connection.go index 2db19032fb35..4f37a1ce13ed 100644 --- a/pkg/cloud/externalconn/connection.go +++ b/pkg/cloud/externalconn/connection.go @@ -38,9 +38,6 @@ type ExternalConnection interface { // `externalconn.NewMutableExternalConnection` for mutating an External // Connection object. ConnectionProto() *connectionpb.ConnectionDetails - // RedactedConnectionURI returns the connection URI with sensitive information - // redacted. - RedactedConnectionURI() string } // connectionParserFactory is the factory method that takes in an endpoint URI diff --git a/pkg/cloud/externalconn/record.go b/pkg/cloud/externalconn/record.go index 85912f1b1767..db3da3680d50 100644 --- a/pkg/cloud/externalconn/record.go +++ b/pkg/cloud/externalconn/record.go @@ -16,7 +16,6 @@ import ( "reflect" "strings" - "github.com/cockroachdb/cockroach/pkg/cloud" "github.com/cockroachdb/cockroach/pkg/cloud/externalconn/connectionpb" "github.com/cockroachdb/cockroach/pkg/security/username" "github.com/cockroachdb/cockroach/pkg/sql/catalog/colinfo" @@ -181,33 +180,6 @@ func (e *MutableExternalConnection) UnredactedConnectionStatement() string { return tree.AsStringWithFlags(ecNode, tree.FmtShowFullURIs) } -// RedactedConnectionURI implements the ExternalConnection interface and -// returns the redacted URI -func (e *MutableExternalConnection) RedactedConnectionURI() string { - unredactedURI := e.rec.ConnectionDetails.UnredactedURI() - var err error - switch e.rec.ConnectionType { - case connectionpb.TypeStorage.String(): - redactedURI, err := cloud.SanitizeExternalStorageURI(unredactedURI, nil) - if err == nil { - return redactedURI - } - case connectionpb.TypeKMS.String(): - redactedURI, err := cloud.RedactKMSURI(unredactedURI) - if err == nil { - return redactedURI - } - case connectionpb.TypeForeignData.String(): - redactedURI, err := cloud.SanitizeExternalStorageURI(unredactedURI, nil) - if err == nil { - return redactedURI - } - default: - err = fmt.Errorf("cannot redact URI for unknown connection type: %s", e.rec.ConnectionType) - } - return fmt.Sprintf("failed to redact the URI: %s", err.Error()) -} - // datumToNative is a helper to convert tree.Datum into Go native types. We // only care about types stored in the system.external_connections table. func datumToNative(datum tree.Datum) (interface{}, error) { diff --git a/pkg/cloud/impl_registry.go b/pkg/cloud/impl_registry.go index 42ee44646361..a6110a16d538 100644 --- a/pkg/cloud/impl_registry.go +++ b/pkg/cloud/impl_registry.go @@ -80,24 +80,20 @@ func registerLimiterSettings(providerType cloudpb.ExternalStorageProvider) { rate: settings.RegisterByteSizeSetting(settings.ApplicationLevel, readRateName, "limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero", 0, - settings.WithPublic, ), burst: settings.RegisterByteSizeSetting(settings.ApplicationLevel, readBurstName, "burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero", 0, - settings.WithPublic, ), }, write: rateAndBurstSettings{ rate: settings.RegisterByteSizeSetting(settings.ApplicationLevel, writeRateName, "limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero", 0, - settings.WithPublic, ), burst: settings.RegisterByteSizeSetting(settings.ApplicationLevel, writeBurstName, "burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero", 0, - settings.WithPublic, ), }, } @@ -164,7 +160,9 @@ func registerExternalStorageProviderImpls( earlyBootConfParsers[scheme] = provider.EarlyBootParseFn } - RegisterRedactedParams(provider.RedactedParams) + for param := range provider.RedactedParams { + redactedQueryParams[param] = struct{}{} + } } if _, ok := implementations[providerType]; ok { @@ -617,9 +615,3 @@ func ReplaceProviderForTesting( } } } - -func RegisterRedactedParams(params map[string]struct{}) { - for param := range params { - redactedQueryParams[param] = struct{}{} - } -} diff --git a/pkg/clusterversion/README.md b/pkg/clusterversion/README.md index 48a0e0508cf3..921e1dc5323c 100644 --- a/pkg/clusterversion/README.md +++ b/pkg/clusterversion/README.md @@ -46,7 +46,7 @@ graph TD; master1("M.1: Bump min supported Latest = 23.2-x MinSupported = 23.2 - version.txt = v24.1.0-alpha.y") + version.txt = v24.1.0-alpha.00000000") master1 --> master2 @@ -116,9 +116,7 @@ upgrade as an experimental feature). Once `MinSupported` is advanced, all older non-permanent version keys are no longer necessary - Cockroach code will never deal with a cluster below `MinSupported`. -**When**: It is recommended to start this process when the first release -candidate is cut (i.e. there are no open GA blockers). The main reason is to -avoid large changes on `master` which might cause merge conflicts for backports. +**When**: Any time after forking the release branch. **Checklist**: @@ -147,19 +145,13 @@ avoid large changes on `master` which might cause merge conflicts for backports. - [ ] File issue(s) to remove `TODO_Delete_` uses and simplify related code; assign to relevant teams (depending on which top-level packages use such gates). - Version checks against what is now the minimum version (e.g. `V23_2`) should - also be removed, as this version will always be active.
For the overachiever Historically, these cleanup issues have not received much attention and the code was carried over for a long time. Feel free to ping individuals or do some of - the cleanup directly (in separate PRs). - - The cleanup comes down to simplifying the code based on the knowledge that - `IsActive()` will always return `true` for obsolete gates. If simplifying the - code becomes non-trivial, error on the side of just removing `IsActive()` calls - and leaving TODOs for further cleanup. - - Example PRs: #124013, #124286 + the cleanup directly (in separate PRs). The cleanup comes down to simplifying the + code based on the knowledge that `IsActive()` will always return `true` for + obsolete gates. If simplifying the code becomes non-trivial, error on the side + of just removing `IsActive()` calls and leaving TODOs for further cleanup.
- [ ] Regenerate expected test data results as needed; file issues for any @@ -167,41 +159,26 @@ avoid large changes on `master` which might cause merge conflicts for backports. `clusterversion.SkipWhenMinSupportedVersionIsAtLeast()` so they can be removed later (as part of cleaning up the obsolete gates). -**Example PRs:** [#121775](https://github.com/cockroachdb/cockroach/pull/121775) -[#122062](https://github.com/cockroachdb/cockroach/pull/122062) -[#122244](https://github.com/cockroachdb/cockroach/pull/122244) +**Example PR:** [#112122](https://github.com/cockroachdb/cockroach/pull/112122) +(note that this particular PR required a lot of fixes that will no longer be +necessary if the current runbooks are followed). + ### M.2: Bump current version **What**: This change advances the current release series version. -**When**: Any time after M.1 and after a RC build of the previous version is public. +**When**: Any time after M.1. **Checklist**: - [ ] Add version key constant for new release (e.g. `V24.2`), equal to `Latest` -- [ ] Update `PreviousRelease` constant - -- [ ] Add start version (e.g. `V24.2Start` with version `24.1-2`) +- [ ] Add start version (e.g. `V24.2Start` with version `24.2-2`) - [ ] Update `pkg/build/version.txt` to the new version (e.g. `v24.2.0-alpha.00000000`) -- [ ] Add mixed version logictest config for the replaced version - (`local-mixed-24.1`). Make sure the new config is part of `DefaultConfigNames`. - -- [ ] Update the `scplan` rules in `pkg/sql/schemachanger/scplan/internal/rules`: - - copy the contents of `current` into a new release directory for the previous version - (e.g. `release_24_1`) - - change package name in all files (including `BUILD.bazel`), and update the - version in `current/helpers.go` - - update `rulesForReleases` in `scplan/plan.go` - - rewrite the test outputs: `./dev test pkg/sql/schemachanger/scplan/internal/rules/... --rewrite` - - rewrite `TestDeclarativeRules` output: `./dev test pkg/cli -f DeclarativeRules --rewrite` - -- [ ] Create new roachtest fixtures for the previous version (see - `pkg/cmd/roachtest/fixtures/README.md`). Note that the version used must have - the final version minted (typically the `rc.1` version or later). +- [ ] Add mixed version logictest config for the replaced version (`local-mixed-24.1`) - [ ] Create new SQL bootstrap data. This is necessary because we want code on `master` to be able to bootstrap clusters at the previous version, but we will @@ -213,8 +190,7 @@ avoid large changes on `master` which might cause merge conflicts for backports. ``` This will create a pair of files that need to be copied to `pkg/sql/catalog/bootstrap/data` on the `master` branch; it will also output - what code modifications need to be performed. Note that the BUILD.bazel will -- also need to be modified to include the new embedded files under `embedsrcs`. + what code modifications need to be performed. - [ ] Update releases file: ``` @@ -222,7 +198,7 @@ avoid large changes on `master` which might cause merge conflicts for backports. _bazel/bin/pkg/cmd/release/release_/release update-releases-file ``` -**Example PR:** [#112271](https://github.com/cockroachdb/cockroach/pull/112271) [#123650](https://github.com/cockroachdb/cockroach/pull/123650) +**Example PR:** [#112271](https://github.com/cockroachdb/cockroach/pull/112271) ### M.3: Finalize gates and bootstrap data for released version diff --git a/pkg/clusterversion/cockroach_versions.go b/pkg/clusterversion/cockroach_versions.go index 098e0b8513d4..63126abe9fa8 100644 --- a/pkg/clusterversion/cockroach_versions.go +++ b/pkg/clusterversion/cockroach_versions.go @@ -10,11 +10,7 @@ package clusterversion -import ( - "fmt" - - "github.com/cockroachdb/cockroach/pkg/roachpb" -) +import "github.com/cockroachdb/cockroach/pkg/roachpb" // Key is a unique identifier for a version of CockroachDB. type Key int @@ -181,76 +177,144 @@ const ( VBootstrapMax - // V24_1 is CockroachDB v24.1. It's used for all v24.1.x patch releases. - V24_1 - - // V24_2Start demarcates the start of cluster versions stepped through during - // the process of upgrading from 24.1 to 24.2. - V24_2Start + // V23_1 is CockroachDB v23.1. It's used for all v23.1.x patch releases. + V23_1 - // V24_2_StmtDiagRedacted is the migration to add `redacted` column to the - // system.statement_diagnostics_requests table. - V24_2_StmtDiagRedacted + // V23_2Start demarcates the start of cluster versions stepped through during + // the process of upgrading from previous supported releases to 23.2. + V23_2Start - // V24_2_TenantSystemTables is the migration that creates the system tables - // in app tenants that were previously missing due to only being present in + // V23_2_EnableRangeCoalescingForSystemTenant enables range coalescing for // the system tenant. - V24_2_TenantSystemTables + V23_2_EnableRangeCoalescingForSystemTenant + + // V23_2_UseACRaftEntryEntryEncodings gates the use of raft entry encodings + // that (optionally) embed below-raft admission data. + V23_2_UseACRaftEntryEntryEncodings + + // V23_2_PebbleFormatDeleteSizedAndObsolete upgrades Pebble's format major + // version to FormatDeleteSizedAndObsolete, allowing use of a new sstable + // format version Pebblev4. This version has two improvements: + // a) It allows the use of DELSIZED point tombstones. + // b) It encodes the obsolence of keys in a key-kind bit. + V23_2_PebbleFormatDeleteSizedAndObsolete + + // V23_2_UseSizedPebblePointTombstones enables the use of Pebble's new + // DeleteSized operations. + V23_2_UseSizedPebblePointTombstones + + // V23_2_PebbleFormatVirtualSSTables upgrades Pebble's format major version to + // FormatVirtualSSTables, allowing use of virtual sstables in Pebble. + V23_2_PebbleFormatVirtualSSTables + + // V23_2_StmtDiagForPlanGist enables statement diagnostic feature to collect + // the bundle for particular plan gist. + V23_2_StmtDiagForPlanGist + + // V23_2_RegionaLivenessTable guarantees the regional liveness table exists + // and its ready for use. + V23_2_RegionaLivenessTable + + // V23_2_RemoveLockTableWaiterTouchPush simplifies the push logic in + // lock_table_waiter by passing the wait policy of the pusher as part of the + // push request and leaving the push outcome to the server-side logic. + V23_2_RemoveLockTableWaiterTouchPush + + // V23_2_ChangefeedLaggingRangesOpts is used to version gate the changefeed + // options lagging_ranges_threshold and lagging_ranges_polling_interval. + V23_2_ChangefeedLaggingRangesOpts + + // V23_2_GrantExecuteToPublic is no longer used. See #114203. + V23_2_GrantExecuteToPublic + + // V23_2_EnablePebbleFormatVirtualSSTables enables the Pebble + // FormatMajorVersion for virtual sstables. Note that the ratcheting for the + // format major version in Pebble should have happened with + // V23_2_PebbleFormatVirtualSSTables above. + V23_2_EnablePebbleFormatVirtualSSTables + + // V23_2_MVCCStatisticsTable adds the system.mvcc_statistics + // table and update job. The table is used to serve fast reads of historical + // mvcc data from observability surfaces. + V23_2_MVCCStatisticsTable + + // V23_2_AddSystemExecInsightsTable is the version at which Cockroach creates + // {statement|transaction}_execution_insights system tables. + V23_2_AddSystemExecInsightsTable + + // *************************************************************************** + // WHERE TO ADD VERSION GATES DURING 23.2 STABILITY? + // --------------------------------------------------------------------------- + // If version gate is for 23.2 (to be backported to release-23.2): + // Then add new gate above this comment (immediately above this comment). + // If version gate is for 24.1 (upcoming 24.1 development): + // Then add new gate at the end (immediately above the "Add new versions + // here" comment). + // *************************************************************************** + + // V23_2 is CockroachDB v23.2. It's used for all v23.2.x patch releases. + V23_2 + + // V24_1Start demarcates the start of cluster versions stepped through during + // the process of upgrading from 23.2 to 24.1. + V24_1Start - // V24_2_TenantRates is the migration to add the `current_rates` and - // `next_rates` consumption rate columns to the system.tenant_usage table. - V24_2_TenantRates + // ************************************************* + // Step (1) Add new versions here. + // Do not add new versions to a patch release. + // ************************************************* - // V24_2_DeleteTenantSettingsVersion is the migration that deletes - // the `system.tenant_settings` row for the `version` setting. - V24_2_DeleteTenantSettingsVersion + // V24_1_DropPayloadAndProgressFromSystemJobsTable drop the unused payload and + // progress columns from system.jobs table. + V24_1_DropPayloadAndProgressFromSystemJobsTable - // V24_2_LeaseMinTimestamp is the earlier version which supports the lease - // minimum timestamp field. - V24_2_LeaseMinTimestamp + // V24_1_MigrateOldStylePTSRecords migrate old-style PTS records + // to the new style. + V24_1_MigrateOldStylePTSRecords - // V24_2 is CockroachDB v24.2. It's used for all v24.2.x patch releases. - V24_2 + // V24_1_SessionBasedLeasingDualWrite both session based and expiry based leases + // are written to the system.lease table under different primary indexes. + V24_1_SessionBasedLeasingDualWrite - // V24_3_Start demarcates the start of cluster versions stepped through during - // the process of upgrading from 24.2 to 24.3. - V24_3_Start + // V24_1_SessionBasedLeasingDrain all leases are forcefully renewed, so that + // a session based equivalent exists. + V24_1_SessionBasedLeasingDrain - // V24_3_StoreLivenessEnabled is the earliest version which supports the use - // of the StoreLiveness fabric. - V24_3_StoreLivenessEnabled + // V24_1_SessionBasedLeasingOnly only session based leases are written to + // system.lease. + V24_1_SessionBasedLeasingOnly - // V24_3_AddTimeseriesZoneConfig is the version that adds an explicit zone - // config for the timeseries range if one does not exist currently. - V24_3_AddTimeseriesZoneConfig + // V24_1_SessionBasedLeasingUpgradeDescriptor upgrades the leasing descriptor + // to be only session based. + V24_1_SessionBasedLeasingUpgradeDescriptor - // V24_3_TableMetadata is the migration to add the table_metadata table - // to the system tenant. - V24_3_TableMetadata + // V24_1_PebbleFormatSyntheticPrefixSuffix upgrades Pebble's format major version to + // FormatSyntheticPrefixSuffix, allowing use of virtual sstables in Pebble. + V24_1_PebbleFormatSyntheticPrefixSuffix - // V24_3_TenantExcludeDataFromBackup is the migration to add - // `exclude_data_from_backup` on certain system tables with low GC - // TTL to mirror the behaviour on the system tenant. - V24_3_TenantExcludeDataFromBackup + // V24_1_SystemDatabaseSurvivability sets the survival goal for the system + // database to be SURVIVE ZONE. + V24_1_SystemDatabaseSurvivability - // V24_3_AdvanceCommitIndexViaMsgApps is the version that makes the commit - // index advancement using MsgApps only, and not MsgHeartbeat. - V24_3_AdvanceCommitIndexViaMsgApps + // V24_1_GossipMaximumIOOverload is the version at which stores begin + // populating the store capacity field IOThresholdMax. The field shouldn't be + // used for allocator decisions before then. + V24_1_GossipMaximumIOOverload - // V24_3_SQLInstancesAddDraining is the migration to add the `is_draining` - // column to the system.sql_instances table. - V24_3_SQLInstancesAddDraining + // V24_1_EstimatedMVCCStatsInSplit introduces MVCC stats estimates during range + // splits. + V24_1_EstimatedMVCCStatsInSplit - // V24_3_MaybePreventUpgradeForCoreLicenseDeprecation is the migration step - // that checks for the core license deprecation. It checks to make sure that - // the cluster would not be unknowingly in violation of the new license - // policies. - V24_3_MaybePreventUpgradeForCoreLicenseDeprecation + // V24_1_ReplicatedLockPipelining allows exclusive and shared replicated locks + // to be pipelined. + V24_1_ReplicatedLockPipelining - // ************************************************* - // Step (1) Add new versions above this comment. - // Do not add new versions to a patch release. - // ************************************************* + // V24_1_AddSpanCounts is the migration that added the span_counts table to + // the system tenant to ensure it is a superset of secondary tenants. + V24_1_AddSpanCounts + + // V24_1 is CockroachDB v24.1. It's used for all v24.1.x patch releases. + V24_1 numKeys ) @@ -279,34 +343,49 @@ var versionTable = [numKeys]roachpb.Version{ VBootstrapTenant: {Major: 0, Minor: 0, Internal: 4}, VBootstrapMax: {Major: 0, Minor: 0, Internal: 424242}, - V24_1: {Major: 24, Minor: 1, Internal: 0}, - - // v24.2 versions. Internal versions must be even. - V24_2Start: {Major: 24, Minor: 1, Internal: 2}, - - V24_2_StmtDiagRedacted: {Major: 24, Minor: 1, Internal: 4}, - V24_2_TenantSystemTables: {Major: 24, Minor: 1, Internal: 6}, - V24_2_TenantRates: {Major: 24, Minor: 1, Internal: 8}, - V24_2_DeleteTenantSettingsVersion: {Major: 24, Minor: 1, Internal: 10}, - V24_2_LeaseMinTimestamp: {Major: 24, Minor: 1, Internal: 12}, - - V24_2: {Major: 24, Minor: 2, Internal: 0}, - - // v24.3 versions. Internal versions must be even. - V24_3_Start: {Major: 24, Minor: 2, Internal: 2}, - - V24_3_StoreLivenessEnabled: {Major: 24, Minor: 2, Internal: 4}, - V24_3_AddTimeseriesZoneConfig: {Major: 24, Minor: 2, Internal: 6}, - V24_3_TableMetadata: {Major: 24, Minor: 2, Internal: 8}, - V24_3_TenantExcludeDataFromBackup: {Major: 24, Minor: 2, Internal: 10}, - V24_3_AdvanceCommitIndexViaMsgApps: {Major: 24, Minor: 2, Internal: 12}, - V24_3_SQLInstancesAddDraining: {Major: 24, Minor: 2, Internal: 14}, - V24_3_MaybePreventUpgradeForCoreLicenseDeprecation: {Major: 24, Minor: 2, Internal: 16}, + V23_1: {Major: 23, Minor: 1, Internal: 0}, + + // v23.2 versions. Internal versions must be even. + V23_2Start: {Major: 23, Minor: 1, Internal: 2}, + V23_2_EnableRangeCoalescingForSystemTenant: {Major: 23, Minor: 1, Internal: 8}, + V23_2_UseACRaftEntryEntryEncodings: {Major: 23, Minor: 1, Internal: 10}, + V23_2_PebbleFormatDeleteSizedAndObsolete: {Major: 23, Minor: 1, Internal: 12}, + V23_2_UseSizedPebblePointTombstones: {Major: 23, Minor: 1, Internal: 14}, + V23_2_PebbleFormatVirtualSSTables: {Major: 23, Minor: 1, Internal: 16}, + V23_2_StmtDiagForPlanGist: {Major: 23, Minor: 1, Internal: 18}, + V23_2_RegionaLivenessTable: {Major: 23, Minor: 1, Internal: 20}, + V23_2_RemoveLockTableWaiterTouchPush: {Major: 23, Minor: 1, Internal: 22}, + V23_2_ChangefeedLaggingRangesOpts: {Major: 23, Minor: 1, Internal: 24}, + V23_2_GrantExecuteToPublic: {Major: 23, Minor: 1, Internal: 26}, + V23_2_EnablePebbleFormatVirtualSSTables: {Major: 23, Minor: 1, Internal: 28}, + V23_2_MVCCStatisticsTable: {Major: 23, Minor: 1, Internal: 30}, + V23_2_AddSystemExecInsightsTable: {Major: 23, Minor: 1, Internal: 32}, + + V23_2: {Major: 23, Minor: 2, Internal: 0}, + + // v24.1 versions. Internal versions must be even. + V24_1Start: {Major: 23, Minor: 2, Internal: 2}, // ************************************************* - // Step (2): Add new versions above this comment. + // Step (2): Add new versions here. // Do not add new versions to a patch release. // ************************************************* + + V24_1_DropPayloadAndProgressFromSystemJobsTable: {Major: 23, Minor: 2, Internal: 4}, + + V24_1_MigrateOldStylePTSRecords: {Major: 23, Minor: 2, Internal: 6}, + + V24_1_SessionBasedLeasingDualWrite: {Major: 23, Minor: 2, Internal: 8}, + V24_1_SessionBasedLeasingDrain: {Major: 23, Minor: 2, Internal: 10}, + V24_1_SessionBasedLeasingOnly: {Major: 23, Minor: 2, Internal: 12}, + V24_1_SessionBasedLeasingUpgradeDescriptor: {Major: 23, Minor: 2, Internal: 14}, + V24_1_PebbleFormatSyntheticPrefixSuffix: {Major: 23, Minor: 2, Internal: 16}, + V24_1_SystemDatabaseSurvivability: {Major: 23, Minor: 2, Internal: 18}, + V24_1_GossipMaximumIOOverload: {Major: 23, Minor: 2, Internal: 20}, + V24_1_EstimatedMVCCStatsInSplit: {Major: 23, Minor: 2, Internal: 22}, + V24_1_ReplicatedLockPipelining: {Major: 23, Minor: 2, Internal: 24}, + V24_1_AddSpanCounts: {Major: 23, Minor: 2, Internal: 26}, + V24_1: {Major: 24, Minor: 1, Internal: 0}, } // Latest is always the highest version key. This is the maximum logical cluster @@ -314,21 +393,13 @@ var versionTable = [numKeys]roachpb.Version{ const Latest Key = numKeys - 1 // MinSupported is the minimum logical cluster version supported by this branch. -const MinSupported Key = V24_1 +const MinSupported Key = V23_1 // PreviousRelease is the logical cluster version of the previous release. // // Note: this is always the last element of SupportedPreviousReleases(); it is // also provided as a constant for convenience. -const PreviousRelease Key = V24_2 - -// V24_3 is a placeholder that will eventually be replaced by the actual 24.3 -// version Key, but in the meantime it points to the latest Key. The placeholder -// is defined so that it can be referenced in code that simply wants to check if -// a cluster is running 24.3 and has completed all associated migrations; most -// version gates can use this instead of defining their own version key if they -// only need to check that the cluster has upgraded to 24.3. -const V24_3 = Latest +const PreviousRelease Key = V23_2 // DevelopmentBranch must be true on the main development branch but should be // set to false on a release branch once the set of versions becomes append-only @@ -341,13 +412,13 @@ const V24_3 = Latest // binary in a dev cluster. // // See devOffsetKeyStart for more details. -const DevelopmentBranch = true +const DevelopmentBranch = false // finalVersion should be set on a release branch to the minted final cluster // version key, e.g. to V23_2 on the release-23.2 branch once it is minted. // Setting it has the effect of ensuring no versions are subsequently added (see // TestFinalVersion). -const finalVersion Key = -1 +const finalVersion Key = V24_1 // Version returns the roachpb.Version corresponding to a key. func (k Key) Version() roachpb.Version { @@ -406,26 +477,3 @@ func ListBetween(from, to roachpb.Version) []roachpb.Version { } return cvs } - -// StringForPersistence returns the string representation of the given -// version in cases where that version needs to be persisted. This -// takes backwards compatibility into account, making sure that we use -// the old version formatting if we need to continue supporting -// releases that don't understand it. -// -// TODO(renato): remove this function once MinSupported is at least 24.1. -func StringForPersistence(v roachpb.Version) string { - return stringForPersistenceWithMinSupported(v, MinSupported.Version()) -} - -func stringForPersistenceWithMinSupported(v, minSupported roachpb.Version) string { - // newFormattingVersion is the version in which the new version - // formatting (#115223) was introduced. - newFormattingVersion := roachpb.Version{Major: 24, Minor: 1} - - if minSupported.AtLeast(newFormattingVersion) || v.IsFinal() { - return v.String() - } - - return fmt.Sprintf("%d.%d-%d", v.Major, v.Minor, v.Internal) -} diff --git a/pkg/clusterversion/cockroach_versions_test.go b/pkg/clusterversion/cockroach_versions_test.go index 82832bb1efd1..e7930f3e5c41 100644 --- a/pkg/clusterversion/cockroach_versions_test.go +++ b/pkg/clusterversion/cockroach_versions_test.go @@ -169,8 +169,7 @@ func TestReleaseSeries(t *testing.T) { } // Verify the latest version. - major, minor := build.BranchReleaseSeries() - require.Equal(t, fmt.Sprintf("v%s", Latest.ReleaseSeries()), fmt.Sprintf("v%d.%d", major, minor)) + require.Equal(t, fmt.Sprintf("v%s", Latest.ReleaseSeries()), build.BinaryVersionPrefix()) // Verify the ReleaseSeries results down to MinSupported. expected := Latest.ReleaseSeries() @@ -182,38 +181,3 @@ func TestReleaseSeries(t *testing.T) { require.Equalf(t, expected, k.ReleaseSeries(), "version: %s", k) } } - -func TestStringForPersistence(t *testing.T) { - testCases := []struct { - v roachpb.Version - minSupported roachpb.Version - expected string - }{ - { - v: roachpb.Version{Major: 23, Minor: 2}, - minSupported: roachpb.Version{Major: 23, Minor: 2}, - expected: "23.2", - }, - { - v: roachpb.Version{Major: 24, Minor: 1}, - minSupported: roachpb.Version{Major: 23, Minor: 2}, - expected: "24.1", - }, - { - v: roachpb.Version{Major: 24, Minor: 1, Internal: 10}, - minSupported: roachpb.Version{Major: 23, Minor: 2}, - expected: "24.1-10", - }, - { - v: roachpb.Version{Major: 24, Minor: 1, Internal: 10}, - minSupported: roachpb.Version{Major: 24, Minor: 1}, - expected: "24.1-upgrading-to-24.2-step-010", - }, - } - - for _, tc := range testCases { - t.Run("", func(t *testing.T) { - require.Equal(t, tc.expected, stringForPersistenceWithMinSupported(tc.v, tc.minSupported)) - }) - } -} diff --git a/pkg/cmd/bazci/githubpost/issues/formatter_unit.go b/pkg/cmd/bazci/githubpost/issues/formatter_unit.go index bc68131b84e4..1bfba61be06d 100644 --- a/pkg/cmd/bazci/githubpost/issues/formatter_unit.go +++ b/pkg/cmd/bazci/githubpost/issues/formatter_unit.go @@ -49,22 +49,9 @@ func (unitTestFormatterTyp) Body(r *Renderer, data TemplateData) error { data.Commit, data.CommitURL, ) - if data.SideEyeSnapshotURL != "" { - r.Escaped(`. `) - msg := "A Side-Eye cluster snapshot was captured: " - if data.SideEyeSnapshotMsg != "" { - msg = data.SideEyeSnapshotMsg - } - r.Escaped(msg) - r.A(data.SideEyeSnapshotURL, data.SideEyeSnapshotURL) - r.Escaped(`. + r.Escaped(`: `) - } else { - r.Escaped(`: - -`) - } if fop, ok := data.CondensedMessage.FatalOrPanic(50); ok { if fop.Error != "" { r.Escaped("Fatal error:") diff --git a/pkg/cmd/bazci/githubpost/issues/issues.go b/pkg/cmd/bazci/githubpost/issues/issues.go index 5306c9bad44d..3493373b8a29 100644 --- a/pkg/cmd/bazci/githubpost/issues/issues.go +++ b/pkg/cmd/bazci/githubpost/issues/issues.go @@ -257,12 +257,6 @@ type TemplateData struct { ArtifactsURL string // URL is the link to the failing build. URL string - // SideEyeSnapshotURL is the URL for accessing a Side-Eye snapshot associated - // with this test failure. Empty if no such snapshot exists. - SideEyeSnapshotURL string - // SideEyeSnapshotMsg is a message to prepend to the link to the SideEye - // snapshot. Empty if SideEyeSnapshotURL is empty. - SideEyeSnapshotMsg string // Issues that match this one, except they're on other branches. RelatedIssues []github.Issue // InternalLog contains information about non-critical issues encountered @@ -562,12 +556,6 @@ type PostRequest struct { // A path to the test artifacts relative to the artifacts root. If nonempty, // allows the poster formatter to construct a direct URL to this directory. Artifacts string - // SideEyeSnapshotURL is the URL for accessing a Side-Eye snapshot associated - // with this test failure. Empty if no such snapshot exists. - SideEyeSnapshotURL string - // SideEyeSnapshotMsg is a message to prepend to the link to the SideEye - // snapshot. Empty if SideEyeSnapshotURL is empty. - SideEyeSnapshotMsg string // MentionOnCreate is a slice of GitHub handles (@foo, @cockroachdb/some-team, etc) // that should be mentioned in the message when creating a new issue. These are // *not* mentioned when posting to an existing issue. diff --git a/pkg/cmd/cockroach-oss/BUILD.bazel b/pkg/cmd/cockroach-oss/BUILD.bazel index c617bd12eeef..731a7b5a6f75 100644 --- a/pkg/cmd/cockroach-oss/BUILD.bazel +++ b/pkg/cmd/cockroach-oss/BUILD.bazel @@ -18,3 +18,12 @@ go_binary( exec_properties = {"Pool": "large"}, visibility = ["//visibility:public"], ) + +disallowed_imports_test( + "cockroach-oss", + disallowed_list = [], + disallowed_prefixes = [ + "pkg/ccl", + "pkg/ui/distccl", + ], +) diff --git a/pkg/cmd/cockroach-sql/main.go b/pkg/cmd/cockroach-sql/main.go index ec3cc43a0303..61b7351652b1 100644 --- a/pkg/cmd/cockroach-sql/main.go +++ b/pkg/cmd/cockroach-sql/main.go @@ -87,8 +87,6 @@ func runMain() error { // Configure the command-line flags. clientflags.AddBaseFlags(sqlCmd, &copts, &copts.Insecure, &copts.CertsDir) clientflags.AddSQLFlags(sqlCmd, &copts, cfg, true /* isShell */, false /* isDemo */) - // Configure the format flag - cliflagcfg.VarFlagDepth(1, sqlCmd.PersistentFlags(), &cfg.ExecCtx.TableDisplayFormat, cliflags.TableDisplayFormat) // Apply the configuration defaults from environment variables. // This must occur before the parameters are parsed by cobra, so diff --git a/pkg/cmd/dev/build.go b/pkg/cmd/dev/build.go index 3931c23b802d..bc7b41738f5a 100644 --- a/pkg/cmd/dev/build.go +++ b/pkg/cmd/dev/build.go @@ -79,7 +79,6 @@ var buildTargetMapping = map[string]string{ "bazel-remote": bazelRemoteTarget, "buildifier": "@com_github_bazelbuild_buildtools//buildifier:buildifier", "buildozer": "@com_github_bazelbuild_buildtools//buildozer:buildozer", - "cloudupload": "//pkg/cmd/cloudupload:cloudupload", "cockroach": cockroachTarget, "cockroach-sql": "//pkg/cmd/cockroach-sql:cockroach-sql", "cockroach-oss": cockroachTargetOss, @@ -88,7 +87,6 @@ var buildTargetMapping = map[string]string{ "dev": devTarget, "docgen": "//pkg/cmd/docgen:docgen", "docs-issue-gen": "//pkg/cmd/docs-issue-generation:docs-issue-generation", - "drt-run": "//pkg/cmd/drt-run:drt-run", "execgen": "//pkg/sql/colexec/execgen/cmd/execgen:execgen", "gofmt": "@com_github_cockroachdb_gostdlib//cmd/gofmt:gofmt", "goimports": "@com_github_cockroachdb_gostdlib//x/tools/cmd/goimports:goimports", @@ -111,6 +109,7 @@ var buildTargetMapping = map[string]string{ "smithtest": "//pkg/cmd/smithtest:smithtest", "sql-bootstrap-data": "//pkg/cmd/sql-bootstrap-data:sql-bootstrap-data", "staticcheck": "@co_honnef_go_tools//cmd/staticcheck:staticcheck", + "swagger": "@com_github_go_swagger_go_swagger//cmd/swagger:swagger", "tests": "//pkg:all_tests", "workload": "//pkg/cmd/workload:workload", } diff --git a/pkg/cmd/dev/compose.go b/pkg/cmd/dev/compose.go index 21256048eab7..6b9890fd6530 100644 --- a/pkg/cmd/dev/compose.go +++ b/pkg/cmd/dev/compose.go @@ -110,7 +110,6 @@ func (d *dev) compose(cmd *cobra.Command, _ []string) error { args = append(args, "--test_output", "all") args = append(args, "--test_env", "COCKROACH_DEV_LICENSE") args = append(args, "--test_env", "COCKROACH_RUN_COMPOSE=true") - args = append(args, "--sandbox_add_mount_pair", os.TempDir()) logCommand("bazel", args...) return d.exec.CommandContextInheritingStdStreams(ctx, "bazel", args...) diff --git a/pkg/cmd/dev/generate.go b/pkg/cmd/dev/generate.go index 8fd17c17c2e7..126fefc3dbc8 100644 --- a/pkg/cmd/dev/generate.go +++ b/pkg/cmd/dev/generate.go @@ -309,7 +309,7 @@ func (d *dev) generateJs(cmd *cobra.Command) error { args := []string{ "build", - "//pkg/ui/workspaces/eslint-plugin-crdb:ts_project", + "//pkg/ui/workspaces/eslint-plugin-crdb:eslint-plugin-crdb-lib", "//pkg/ui/workspaces/db-console/src/js:crdb-protobuf-client", "//pkg/ui/workspaces/cluster-ui:ts_project", } @@ -336,14 +336,8 @@ func (d *dev) generateJs(cmd *cobra.Command) error { // Copy the eslint-plugin output tree back out of the sandbox, since eslint // plugins in editors default to only searching in ./node_modules for plugins. - err = d.os.CopyAll( + return d.os.CopyAll( filepath.Join(bazelBin, eslintPluginDist), filepath.Join(workspace, eslintPluginDist), ) - if err != nil { - return err - } - - // Generate crdb-api-client package. - return makeUICrdbApiClientCmd(d).RunE(cmd, []string{}) } diff --git a/pkg/cmd/dev/lint.go b/pkg/cmd/dev/lint.go index 2ba2f5ae7fa9..48cdc3387a35 100644 --- a/pkg/cmd/dev/lint.go +++ b/pkg/cmd/dev/lint.go @@ -59,7 +59,7 @@ func (d *dev) lint(cmd *cobra.Command, commandLine []string) error { args = append(args, fmt.Sprintf("--local_cpu_resources=%d", numCPUs)) } args = append(args, additionalBazelArgs...) - args = append(args, "--nocache_test_results", "--test_arg", "-test.v") + args = append(args, "--test_arg", "-test.v") if short { args = append(args, "--test_arg", "-test.short") } diff --git a/pkg/cmd/dev/testdata/datadriven/dev-build b/pkg/cmd/dev/testdata/datadriven/dev-build index 1f12911616fc..459b77522f1d 100644 --- a/pkg/cmd/dev/testdata/datadriven/dev-build +++ b/pkg/cmd/dev/testdata/datadriven/dev-build @@ -57,7 +57,6 @@ ls crdb-checkout/pkg/ui/workspaces/db-console/ccl/src/js/node_modules/@cockroach ls crdb-checkout/pkg/ui/workspaces/cluster-ui/node_modules/@cockroachlabs ls crdb-checkout/pkg/ui/workspaces/db-console/node_modules/@cockroachlabs ls crdb-checkout/pkg/ui/workspaces/e2e-tests/node_modules/@cockroachlabs -ls crdb-checkout/pkg/ui/workspaces/crdb-api-client/node_modules/@cockroachlabs bazel build //pkg/cmd/cockroach:cockroach --verbose_failures --sandbox_debug --build_event_binary_file=/tmp/path bazel info workspace --color=no mkdir crdb-checkout/bin diff --git a/pkg/cmd/dev/testdata/datadriven/ui b/pkg/cmd/dev/testdata/datadriven/ui index 1361779d0734..72b382c6d1b1 100644 --- a/pkg/cmd/dev/testdata/datadriven/ui +++ b/pkg/cmd/dev/testdata/datadriven/ui @@ -153,9 +153,6 @@ rm -rf crdb-checkout/pkg/ui/workspaces/db-console/ccl/src/js/protos.d.ts rm -rf crdb-checkout/pkg/ui/workspaces/db-console/dist rm -rf crdb-checkout/pkg/ui/workspaces/cluster-ui/dist rm -rf crdb-checkout/pkg/ui/workspaces/eslint-plugin-crdb/dist -rm -rf crdb-checkout/pkg/ui/workspaces/crdb-api-client/dist -rm -rf crdb-checkout/pkg/ui/workspaces/crdb-api-client/index.js -rm -rf crdb-checkout/pkg/ui/workspaces/crdb-api-client/index.ts exec dev ui clean --all @@ -169,9 +166,6 @@ rm -rf crdb-checkout/pkg/ui/workspaces/db-console/ccl/src/js/protos.d.ts rm -rf crdb-checkout/pkg/ui/workspaces/db-console/dist rm -rf crdb-checkout/pkg/ui/workspaces/cluster-ui/dist rm -rf crdb-checkout/pkg/ui/workspaces/eslint-plugin-crdb/dist -rm -rf crdb-checkout/pkg/ui/workspaces/crdb-api-client/dist -rm -rf crdb-checkout/pkg/ui/workspaces/crdb-api-client/index.js -rm -rf crdb-checkout/pkg/ui/workspaces/crdb-api-client/index.ts rm -rf crdb-checkout/pkg/ui/node_modules rm -rf crdb-checkout/pkg/ui/workspaces/db-console/node_modules rm -rf crdb-checkout/pkg/ui/workspaces/db-console/src/js/node_modules @@ -179,7 +173,6 @@ rm -rf crdb-checkout/pkg/ui/workspaces/db-console/ccl/src/js/node_modules rm -rf crdb-checkout/pkg/ui/workspaces/cluster-ui/node_modules rm -rf crdb-checkout/pkg/ui/workspaces/e2e-tests/node_modules rm -rf crdb-checkout/pkg/ui/workspaces/eslint-plugin-crdb/node_modules -rm -rf crdb-checkout/pkg/ui/workspaces/crdb-api-client/node_modules exec dev ui e2e diff --git a/pkg/cmd/dev/testdata/recorderdriven/lint b/pkg/cmd/dev/testdata/recorderdriven/lint index 37fe18f98b4f..8355e93f5eb0 100644 --- a/pkg/cmd/dev/testdata/recorderdriven/lint +++ b/pkg/cmd/dev/testdata/recorderdriven/lint @@ -7,5 +7,5 @@ bazel run //pkg/gen:code bazel info workspace --color=no bazel run //pkg/cmd/generate-cgo:generate-cgo '--run_under=cd crdb-checkout && ' which cc -bazel test //pkg/testutils/lint:lint_test --nocache_test_results --test_arg -test.v --test_env=COCKROACH_WORKSPACE=crdb-checkout --test_env=HOME=/home/user --sandbox_writable_path=/home/user --test_output streamed --test_env=GO_SDK=/path/to/go/sdk --test_env=CC=/usr/bin/cc --test_env=CXX=/usr/bin/cc +bazel test //pkg/testutils/lint:lint_test --test_arg -test.v --test_env=COCKROACH_WORKSPACE=crdb-checkout --test_env=HOME=/home/user --sandbox_writable_path=/home/user --test_output streamed --test_env=GO_SDK=/path/to/go/sdk --test_env=CC=/usr/bin/cc --test_env=CXX=/usr/bin/cc bazel build //pkg/cmd/cockroach-short //pkg/cmd/dev //pkg/obsservice/cmd/obsservice //pkg/cmd/roachprod //pkg/cmd/roachtest --//build/toolchains:nogo_flag diff --git a/pkg/cmd/dev/testdata/recorderdriven/lint.rec b/pkg/cmd/dev/testdata/recorderdriven/lint.rec index 36102a9c1a00..c3ec7d9bfae3 100644 --- a/pkg/cmd/dev/testdata/recorderdriven/lint.rec +++ b/pkg/cmd/dev/testdata/recorderdriven/lint.rec @@ -16,7 +16,7 @@ which cc ---- /usr/bin/cc -bazel test //pkg/testutils/lint:lint_test --nocache_test_results --test_arg -test.v --test_env=COCKROACH_WORKSPACE=crdb-checkout --test_env=HOME=/home/user --sandbox_writable_path=/home/user --test_output streamed --test_env=GO_SDK=/path/to/go/sdk --test_env=CC=/usr/bin/cc --test_env=CXX=/usr/bin/cc +bazel test //pkg/testutils/lint:lint_test --test_arg -test.v --test_env=COCKROACH_WORKSPACE=crdb-checkout --test_env=HOME=/home/user --sandbox_writable_path=/home/user --test_output streamed --test_env=GO_SDK=/path/to/go/sdk --test_env=CC=/usr/bin/cc --test_env=CXX=/usr/bin/cc ---- bazel build //pkg/cmd/cockroach-short //pkg/cmd/dev //pkg/obsservice/cmd/obsservice //pkg/cmd/roachprod //pkg/cmd/roachtest --//build/toolchains:nogo_flag diff --git a/pkg/cmd/dev/ui.go b/pkg/cmd/dev/ui.go index 4d34243849ff..1b5cbca9677c 100644 --- a/pkg/cmd/dev/ui.go +++ b/pkg/cmd/dev/ui.go @@ -43,7 +43,6 @@ func makeUICmd(d *dev) *cobra.Command { uiCmd.AddCommand(makeUIE2eCmd(d)) uiCmd.AddCommand(makeMirrorDepsCmd(d)) uiCmd.AddCommand(makeUIStorybookCmd(d)) - uiCmd.AddCommand(makeUICrdbApiClientCmd(d)) return uiCmd } @@ -66,8 +65,6 @@ type UIDirectories struct { protoOss string // protoCcl is the absolute path to ./pkg/ui/workspaces/db-console/ccl/src/js/. protoCcl string - // crdbJsProto is the absolute path to ./pkg/ui/workspaces/crdb-js-proto/. - crdbApiClient string } // getUIDirs computes the absolute path to the root of each UI sub-project. @@ -78,15 +75,14 @@ func getUIDirs(d *dev) (*UIDirectories, error) { } return &UIDirectories{ - workspace: workspace, - root: filepath.Join(workspace, "./pkg/ui"), - clusterUI: filepath.Join(workspace, "./pkg/ui/workspaces/cluster-ui"), - dbConsole: filepath.Join(workspace, "./pkg/ui/workspaces/db-console"), - e2eTests: filepath.Join(workspace, "./pkg/ui/workspaces/e2e-tests"), - eslintPlugin: filepath.Join(workspace, "./pkg/ui/workspaces/eslint-plugin-crdb"), - protoOss: filepath.Join(workspace, "./pkg/ui/workspaces/db-console/src/js"), - protoCcl: filepath.Join(workspace, "./pkg/ui/workspaces/db-console/ccl/src/js"), - crdbApiClient: filepath.Join(workspace, "./pkg/ui/workspaces/crdb-api-client"), + workspace: workspace, + root: filepath.Join(workspace, "./pkg/ui"), + clusterUI: filepath.Join(workspace, "./pkg/ui/workspaces/cluster-ui"), + dbConsole: filepath.Join(workspace, "./pkg/ui/workspaces/db-console"), + e2eTests: filepath.Join(workspace, "./pkg/ui/workspaces/e2e-tests"), + eslintPlugin: filepath.Join(workspace, "./pkg/ui/workspaces/eslint-plugin-crdb"), + protoOss: filepath.Join(workspace, "./pkg/ui/workspaces/db-console/src/js"), + protoCcl: filepath.Join(workspace, "./pkg/ui/workspaces/db-console/ccl/src/js"), }, nil } @@ -132,7 +128,6 @@ func (d *dev) assertNoLinkedNpmDeps(targets []buildTarget) error { uiDirs.clusterUI, uiDirs.dbConsole, uiDirs.e2eTests, - uiDirs.crdbApiClient, } type LinkedPackage struct { @@ -552,74 +547,6 @@ func makeUIStorybookCmd(d *dev) *cobra.Command { return storybookCmd } -// makeUICrdbApiClientCmd initializes the 'ui crdb-api-client' subcommand. which -// generates JS protobuf client package and hoists it to source tree. -func makeUICrdbApiClientCmd(d *dev) *cobra.Command { - return &cobra.Command{ - Use: "crdb-api-client", - Short: "Build crdb-api-client library", - Long: ``, - Args: cobra.MinimumNArgs(0), - RunE: func(cmd *cobra.Command, commandLine []string) error { - // Create a context that cancels when OS signals come in. - ctx, stop := signal.NotifyContext(d.cli.Context(), os.Interrupt, os.Kill) - defer stop() - bazelBin, err := d.getBazelBin(d.cli.Context(), []string{}) - if err != nil { - return err - } - dstDirs, err := getUIDirs(d) - if err != nil { - return err - } - - // Ensure node dependencies are up-to-date. - err = d.exec.CommandContextInheritingStdStreams( - ctx, - "pnpm", - "--dir", - dstDirs.root, - "install", - ) - if err != nil { - log.Fatalf("failed to fetch node dependencies: %v", err) - } - - args := []string{ - "build", - "//pkg/ui/workspaces/crdb-api-client:crdb-api-client", - } - - logCommand("bazel", args...) - err = d.exec.CommandContextInheritingStdStreams(ctx, "bazel", args...) - if err != nil { - log.Fatalf("failed to build crdb-api-client target: %v", err) - return err - } - - // Hoist generated output files back to source tree. - crdbApiClientSrc := filepath.Join(bazelBin, "pkg", "ui", "workspaces", "crdb-api-client", "crdb-api-client") - crdbApiClientPaths := []string{"dist", "index.js", "index.ts"} - - for _, relPath := range crdbApiClientPaths { - err = d.os.RemoveAll(filepath.Join(dstDirs.crdbApiClient, relPath)) - if err != nil { - return err - } - err = d.os.CopyAll( - filepath.Join(crdbApiClientSrc, relPath), - filepath.Join(dstDirs.crdbApiClient, relPath), - ) - if err != nil { - return err - } - } - - return nil - }, - } -} - func makeUILintCmd(d *dev) *cobra.Command { const ( verboseFlag = "verbose" @@ -697,9 +624,6 @@ func makeUICleanCmd(d *dev) *cobra.Command { filepath.Join(uiDirs.dbConsole, "dist"), filepath.Join(uiDirs.clusterUI, "dist"), filepath.Join(uiDirs.eslintPlugin, "dist"), - filepath.Join(uiDirs.crdbApiClient, "dist"), - filepath.Join(uiDirs.crdbApiClient, "index.js"), - filepath.Join(uiDirs.crdbApiClient, "index.ts"), } if all { workspace, err := d.getWorkspace(d.cli.Context()) @@ -716,7 +640,6 @@ func makeUICleanCmd(d *dev) *cobra.Command { filepath.Join(uiDirs.clusterUI, "node_modules"), filepath.Join(uiDirs.e2eTests, "node_modules"), filepath.Join(uiDirs.eslintPlugin, "node_modules"), - filepath.Join(uiDirs.crdbApiClient, "node_modules"), ) } diff --git a/pkg/cmd/docs-issue-generation/jira.go b/pkg/cmd/docs-issue-generation/jira.go index ded597e3d868..7501cb82bca4 100644 --- a/pkg/cmd/docs-issue-generation/jira.go +++ b/pkg/cmd/docs-issue-generation/jira.go @@ -78,8 +78,7 @@ func searchJiraDocsIssuesSingle( for _, issue := range search.Issues { prNumber, commitSha, err := extractPRNumberCommitFromDocsIssueBody(issue.RenderedFields.Description) if err != nil { - fmt.Printf("Error processing issue %s: %v", issue.Key, err) - continue // Skip this issue and continue with the next one + return 0, 0, err } if prNumber != 0 && commitSha != "" { _, ok := m[prNumber] diff --git a/pkg/cmd/drt-run/BUILD.bazel b/pkg/cmd/drt-run/BUILD.bazel deleted file mode 100644 index 8a9619d68a1f..000000000000 --- a/pkg/cmd/drt-run/BUILD.bazel +++ /dev/null @@ -1,38 +0,0 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") - -go_library( - name = "drt_run_lib", - testonly = 1, - srcs = [ - "config.go", - "event.go", - "http.go", - "main.go", - "operations.go", - "workloads.go", - ], - importpath = "github.com/cockroachdb/cockroach/pkg/cmd/drt-run", - visibility = ["//visibility:private"], - deps = [ - "//pkg/cmd/roachtest/operations", - "//pkg/cmd/roachtest/registry", - "//pkg/cmd/roachtest/spec", - "//pkg/roachprod", - "//pkg/roachprod/logger", - "//pkg/util/randutil", - "//pkg/util/syncutil", - "//pkg/util/timeutil", - "@com_github_cockroachdb_errors//:errors", - "@com_github_cockroachdb_logtags//:logtags", - "@com_github_prometheus_client_golang//prometheus/promauto", - "@com_github_spf13_cobra//:cobra", - "@in_gopkg_yaml_v2//:yaml_v2", - ], -) - -go_binary( - name = "drt-run", - testonly = 1, - embed = [":drt_run_lib"], - visibility = ["//visibility:public"], -) diff --git a/pkg/cmd/drt-run/config.go b/pkg/cmd/drt-run/config.go deleted file mode 100644 index 0b6e0e0d89a2..000000000000 --- a/pkg/cmd/drt-run/config.go +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Use of this software is governed by the Business Source License -// included in the file licenses/BSL.txt. -// -// As of the Change Date specified in that file, in accordance with -// the Business Source License, use of this software will be governed -// by the Apache License, Version 2.0, included in the file -// licenses/APL.txt. - -package main - -import ( - "time" - - "github.com/cockroachdb/cockroach/pkg/cmd/roachtest/spec" -) - -type workloadStep struct { - Command string - Args []string - Timeout time.Duration `yaml:"timeout,omitempty"` -} - -type workloadConfig struct { - Name, Kind string - Steps []workloadStep -} - -type config struct { - Cluster spec.ClusterSpec - Cloud string `yaml:"cloud"` - CertsDir string `yaml:"certs"` - ClusterName string `yaml:"cluster_name"` - CockroachBinary string `yaml:"cockroach_binary"` - WorkloadBinary string `yaml:"workload_binary"` - RoachtestBinary string `yaml:"roachtest_binary"` - Workloads []workloadConfig - - Operations struct { - Parallelism int - Sets []struct { - Cadence time.Duration - Filter string - } - } -} diff --git a/pkg/cmd/drt-run/config/drt-chaos.yaml b/pkg/cmd/drt-run/config/drt-chaos.yaml deleted file mode 100644 index 0f6a35ecd753..000000000000 --- a/pkg/cmd/drt-run/config/drt-chaos.yaml +++ /dev/null @@ -1,50 +0,0 @@ -workloads: - - name: tpcc-main - kind: tpcc - steps: - - command: run - args: - - --warehouses 12000 - - --active-warehouses 1700 - - --db cct_tpcc - - --secure - - --ramp 10m - - --display-every 5s - - --duration 12h - - --prometheus-port 2112 - - --user cct_tpcc_user - - --tolerate-errors - - --password tpcc - - name: kv-main - kind: kv - steps: - - command: run - args: - - --concurrency 8 - - --histograms kv/stats.json - - --db kv - - --splits 500 - - --read-percent 50 - - --cycle-length 100000 - - --min-block-bytes 100 - - --max-block-bytes 1000 - - --max-rate 120 - - --secure - - --prometheus-port 2114 - - --ramp 10m - - --display-every 5s - - --duration 12h - - --tolerate-errors - - --enum -operations: - parallelism: 3 - sets: - - filter: .* - cadence: 5m -cloud: gce -cluster: - nodecount: 6 -cluster_name: drt-chaos -certs: ./certs -roachtest_binary: ./roachtest -workload_binary: ./workload diff --git a/pkg/cmd/drt-run/event.go b/pkg/cmd/drt-run/event.go deleted file mode 100644 index c80346edfd7c..000000000000 --- a/pkg/cmd/drt-run/event.go +++ /dev/null @@ -1,192 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Use of this software is governed by the Business Source License -// included in the file licenses/BSL.txt. -// -// As of the Change Date specified in that file, in accordance with -// the Business Source License, use of this software will be governed -// by the Apache License, Version 2.0, included in the file -// licenses/APL.txt. - -package main - -import ( - "fmt" - "io" - "strings" - "time" - - "github.com/cockroachdb/cockroach/pkg/util/syncutil" - "github.com/cockroachdb/cockroach/pkg/util/timeutil" -) - -// EventType denotes the type of an event. -type EventType int - -const ( - // EventOutput is the default event type. Used for miscellaneous - // info or log lines with no other semantic meaning. - EventOutput EventType = iota - // EventStart denotes a start event, i.e. something started running. - EventStart - // EventStart denotes a finish event, i.e. something finished running. - EventFinish - // EventError denotes an error event. - EventError -) - -// EventSource denotes the type of source that generated this event. -type EventSource uint8 - -const ( - // SourceOperation denotes an operation as the event source. - SourceOperation EventSource = iota - // SourceWorkload denotes a workload as the event source. - SourceWorkload -) - -// Number of events retained in memory for every workload. -const perWorkloadEventRetention = 1000 - -// Number of events retained in memory for all operations combined. -const operationEventRetention = 1000 - -// Event represents a drt-run Event, generated by either a workload -// or an operation. Reflects a log entry. -type Event struct { - Type EventType - Source EventSource - SourceName string - Details string - Timestamp time.Time -} - -// String() implements the Stringer interface. -func (e *Event) String() string { - var builder strings.Builder - fmt.Fprintf(&builder, "[%s] ", e.Timestamp.Format(time.RFC3339)) - switch e.Source { - case SourceWorkload: - fmt.Fprintf(&builder, "workload %s", e.SourceName) - case SourceOperation: - fmt.Fprintf(&builder, "operation %s", e.SourceName) - } - switch e.Type { - case EventOutput: - fmt.Fprintf(&builder, ": %s", e.Details) - case EventFinish: - fmt.Fprintf(&builder, " finished with %s", e.Details) - case EventStart: - builder.WriteString(" started") - if e.Details != "" { - fmt.Fprintf(&builder, " with %s", e.Details) - } - case EventError: - fmt.Fprintf(&builder, " returned an error %s", e.Details) - } - return builder.String() -} - -// workloadEvents holds events for all workload workers. -type workloadEvents struct { - workloadName string - mu struct { - syncutil.Mutex - startIdx int - numEvents int - } - events [perWorkloadEventRetention]Event -} - -// eventLogger is a logger for events generated by workloads and operations -// in drt-run. -type eventLogger struct { - outputFile io.Writer - workloadEvents []workloadEvents - operationEvents [operationEventRetention]Event - - mu struct { - syncutil.Mutex - operationStartIdx int - operationEvents int - } -} - -// logWorkloadEvent logs an event in the workload worker's log. Up to -// perWorkloadEventRetention events are retained in memory for each workload worker. -func (l *eventLogger) logWorkloadEvent(ev Event, workloadIdx int) { - ev.Timestamp = timeutil.Now() - ev.Source = SourceWorkload - - we := &l.workloadEvents[workloadIdx] - we.mu.Lock() - idx := we.mu.startIdx - we.mu.startIdx = (we.mu.startIdx + 1) % perWorkloadEventRetention - if we.mu.numEvents != len(we.events) { - we.mu.numEvents++ - } - we.mu.Unlock() - - we.events[idx] = ev - io.WriteString(l.outputFile, ev.String()+"\n") -} - -// logOperationEvent logs an event in the operation log. Up to operationEventRetention -// events are retained in-memory. -func (l *eventLogger) logOperationEvent(ev Event) { - ev.Timestamp = timeutil.Now() - ev.Source = SourceOperation - - l.mu.Lock() - idx := l.mu.operationStartIdx - l.mu.operationStartIdx = (l.mu.operationStartIdx + 1) % operationEventRetention - if l.mu.operationEvents != len(l.operationEvents) { - l.mu.operationEvents++ - } - l.mu.Unlock() - - l.operationEvents[idx] = ev - io.WriteString(l.outputFile, ev.String()+"\n") -} - -// getWorkloadEvents returns workload events for a given workload worker. Up to -// perWorkloadEventRetention events are returned. -func (l *eventLogger) getWorkloadEvents(workloadIdx int) []Event { - we := &l.workloadEvents[workloadIdx] - we.mu.Lock() - defer we.mu.Unlock() - events := make([]Event, we.mu.numEvents) - j := 0 - for i := (perWorkloadEventRetention - we.mu.numEvents); i < perWorkloadEventRetention; i++ { - events[j] = we.events[(we.mu.startIdx+i)%perWorkloadEventRetention] - j++ - } - return events -} - -// getOperationEvents returns all operation events. Up to operationEventRetention -// events are returned. -func (l *eventLogger) getOperationEvents() []Event { - l.mu.Lock() - defer l.mu.Unlock() - events := make([]Event, l.mu.operationEvents) - j := 0 - for i := operationEventRetention - l.mu.operationEvents; i < operationEventRetention; i++ { - events[j] = l.operationEvents[(l.mu.operationStartIdx+i)%operationEventRetention] - j++ - } - return events -} - -// makeEventLogger creates a new eventLogger. All log entries are also -// tee'd to the supplied io.Writer. -func makeEventLogger(out io.Writer, c config) *eventLogger { - el := &eventLogger{ - outputFile: out, - } - el.workloadEvents = make([]workloadEvents, len(c.Workloads)) - for i := range c.Workloads { - el.workloadEvents[i].workloadName = c.Workloads[i].Name - } - return el -} diff --git a/pkg/cmd/drt-run/http.go b/pkg/cmd/drt-run/http.go deleted file mode 100644 index 07390ade57a7..000000000000 --- a/pkg/cmd/drt-run/http.go +++ /dev/null @@ -1,136 +0,0 @@ -// Copyright 2024 The Cockroach Authors. -// -// Use of this software is governed by the Business Source License -// included in the file licenses/BSL.txt. -// -// As of the Change Date specified in that file, in accordance with -// the Business Source License, use of this software will be governed -// by the Apache License, Version 2.0, included in the file -// licenses/APL.txt. - -package main - -import ( - "context" - "fmt" - "net" - "net/http" - "strconv" - - "gopkg.in/yaml.v2" -) - -type httpHandler struct { - ctx context.Context - w *workloadRunner - o *opsRunner - eventL *eventLogger -} - -func (h *httpHandler) startHTTPServer(httpPort int, bindTo string) error { - http.HandleFunc("/", h.serve) - http.HandleFunc("/workload/", h.serveWorkload) - listener, err := net.Listen("tcp", fmt.Sprintf("%s:%d", bindTo, httpPort)) - if err != nil { - return err - } - go func() { - if err := http.Serve(listener, nil /* handler */); err != nil { - panic(err) - } - }() - bindToDesc := "all network interfaces" - if bindTo != "" { - bindToDesc = bindTo - } - fmt.Printf("HTTP server listening on port %d on %s: http://%s:%d/\n", httpPort, bindToDesc, bindTo, httpPort) - return nil -} - -func (h *httpHandler) writeRunningOperations(rw http.ResponseWriter) { - opEvents := h.eventL.getOperationEvents() - runningOps := h.o.getRunningOperations() - - fmt.Fprintf(rw, "

Operations:

\n
    ") - - fmt.Fprintf(rw, "
\n\n") - for i := range runningOps { - fmt.Fprintf(rw, "\n") - fmt.Fprintf(rw, "", i) - if runningOps[i] == "" { - fmt.Fprintf(rw, "") - continue - } - fmt.Fprintf(rw, "", runningOps[i]) - fmt.Fprintf(rw, "") - } - fmt.Fprintf(rw, "
WorkerOperationLog entries
%didle
%s
") - for j := range opEvents { - if opEvents[j].SourceName == runningOps[i] { - fmt.Fprintf(rw, "%s
", opEvents[j].String()) - } - } - fmt.Fprintf(rw, "
") -} - -func (h *httpHandler) serve(rw http.ResponseWriter, req *http.Request) { - fmt.Fprintf(rw, "\n") - fmt.Fprintf(rw, "\n") - fmt.Fprintf(rw, "DRT Run\n") - fmt.Fprintf(rw, "\n") - - fmt.Fprintf(rw, "

Workloads


\n") - - fmt.Fprintf(rw, "

Workloads:

\n
    ") - for i, w := range h.w.config.Workloads { - fmt.Fprintf(rw, "
  • %s (kind %s)
  • ", i, w.Name, w.Kind) - } - fmt.Fprintf(rw, "
\n") - - fmt.Fprintf(rw, "

Operations


\n") - h.writeRunningOperations(rw) - - fmt.Fprintf(rw, "

Operations log history


\n") - fmt.Fprintf(rw, "
") - for _, ev := range h.eventL.getOperationEvents() { - fmt.Fprintf(rw, "%s
", ev.String()) - } - fmt.Fprintf(rw, "
") - - fmt.Fprintf(rw, "

Configuration


\n") - fmt.Fprintf(rw, "
")
-	encoder := yaml.NewEncoder(rw)
-	encoder.Encode(h.w.config)
-	fmt.Fprintf(rw, "
") - - fmt.Fprintf(rw, "\n") - -} - -func (h *httpHandler) serveWorkload(rw http.ResponseWriter, req *http.Request) { - workloadIdx := req.URL.Query().Get("id") - fmt.Fprintf(rw, "\n") - fmt.Fprintf(rw, "\n") - fmt.Fprintf(rw, "DRT Run - Workload %s\n", workloadIdx) - fmt.Fprintf(rw, "\n") - - fmt.Fprintf(rw, "

Workload %s


\n", workloadIdx) - - idx, err := strconv.Atoi(workloadIdx) - if err != nil || idx < 0 || idx >= len(h.w.config.Workloads) { - fmt.Fprintf(rw, "error when parsing workload id: %s", err) - fmt.Fprintf(rw, "") - return - } - - events := h.eventL.getWorkloadEvents(idx) - fmt.Fprintf(rw, "

Workload %s (kind: %s) events:

\n